Add no-compile option to tsconfig

Some users want to use the built-in compilation of their IDE, but some want to use grunt or gulp. If you want to use grunt or gulp for compilation, you need to disable compilation in your IDE. Since a big team can use multiple IDEs, I think this should be implemented in tsconfig.json.
Suggestion: Add a new option to tsconfig.json to disable the compilation in the IDE ("compile on save"), which defaults to false.
Example:
{
    "disableCompileOnSave": true,
    "compilerOptions": {
        "module": "commonjs",
        "noImplicitAny": true
    },
    "files": [
        "foo.ts",
        "bar.ts"
    ]
}

If an IDE finds a config file with this option, it shouldn't compile the project, but it should give auto completions, type errors, etcetera. If a build tool sees this option it should ignore it, because you use an IDE always for writing, sometimes for building and you use a build system always for building.

You mean full build not compile on save right? Compile on save is already toggleable in VS and using (or not using) --watch on the command line. It sounds like you want something similar to this https://github.com/Microsoft/TypeScript/issues/2294 but provided in tsconfig?

Yes, that's what I meant. It should be something like disableIdeCompilation or disableCompilation then.

Your IDE build is triggered by the msbuild targets in your project file. if you want to stop that, open your project file, and comment out the reference to Microsoft.TypeScript.Targets, and no build will occur. no need for a different file here :)

@mhegazy Unless someone else in your team uses another editor, like Atom. You can disable it in Atom, but defining it once in tsconfig would be better.

Related: TypeStrong/atom-typescript#175 and ivogabe/gulp-typescript#65

As I understand it this switch would support those users who are using Gulp or Grunt to do their TypeScript compilation and they don't want Visual Studio / atom-typescript / sublime etc to get involved in doing a build.
As @mhegazy says we can already cater for this in Visual Studio by tweaking the project file.
As regards atom-typescript etc I understand there's a an agreement that we can extend the tsconfig.json file already (as long as we don't conflict with existing settings.
That being the case I'm not sure this needs an official tsconfig.json flag (although I guess it'd be nicer?)  Is it enough if we just extend it unofficially?
@basarat - do you have a view on this?

@johnnyreilly That's a good summary. There is a big advantage for this to be official, since if it's official, all editors should support it. That makes it easier for these users: they can configure this option once and it will be disabled in all editors. That's very useful if you have a big team or an open source project.

I'm inclined to agree. If enough people want this in enough different scenarios then there's value in just standardizing the name of the flag rather than having some people use noCompile and someone else use skipCompile and someone else use yet another option.

I recommend compileOnSave (default true). Atom-typescript already supports this as a package option, that you can even configure per project : https://github.com/TypeStrong/atom-typescript/blob/master/docs/packages.md#manage-your-projects
:+1: on moving this into tsconfig.json. I'll do that.
PS: Having a negative like disable in a variable name is a bad idea. Double negation is not easy for the human brain. "disableCompileOnSave": false,. I've done this myself too and sometimes it does make sense, so no judgement :heart:

https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#compileonsave

@basarat I chose for disable since it can then default to false, and undefined is false-ish. But I can also life without disable. As pointed out by @danquirk compileOnSave might not be the right name for it, since that would mean that Visual Studio should only disable automatic compilation, not the compile button. I'd call it something like ideCompilation, or maybe better: externalCompilation, which defaults to false and doesn't have a double negotiation. externalCompilation: true would mean you're using Gulp, Grunt, Jake etcetera.

@danquirk compileOnSave might not be the right name for it, since that would mean that Visual Studio should only disable automatic compilation, not the compile button

I specifically want to disable "compile" OnSave. For Atom-TypeScript build is an explicit option triggered by the user. If they don't trigger it, it doesn't happen. Compile on save is what happened as a side effect of saving and so it needed configuration.
I guess you want to disable all IDE compile. That seems like a Visual Studio / exclude from MSBuild problem, not related to other other IDEs. At the very least don't see it as an option we need to read in Atom-TypeScript.

@ivogabe perhaps compileOnBuild for visual studio ?

@basarat Do you mean adding two different options to tsconfig.json? I think it would be better to make these two one, especially because many (all?) users want to enable them both, or disable them both. I think disabling a build option hidden in a submenu isn't a problem, since setting this option means you shouldn't compile TypeScript from an editor since a build system should do that.

I think it would be better to make these two one, especially because many (all?) users want to enable them both

I agree. ideBuild? : disables compile on save and compile on build.

I think ideBuild, editorBuild, or even vsBuild is a fine option name with the default being true for IDEs or Visual Studio in particular.  I wrote up "some" (probably too many) thoughts on this here https://github.com/Microsoft/TypeScript/issues/2294#issuecomment-86068211 , but the bottom line is that the ability to disable Visual Studio's TypeScript build functionality while retaining the ability to use the TypeScript build properties UI would be really useful.

I previously went with compileOnSave at root. https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#compileonsave
After discussion with @Zoltu here https://github.com/TypeStrong/atom-typescript/issues/324 I'll be moving to :
"ide": {
    "compileOnSave" : boolean
}

Please leave a comment if you disagree. Note that in my opinion build and onsave are different events.

After letting it sit in my brain I dislike my proposal. Perhaps for the user the option is important for gulp to read. Really it belongs in something like "atom" key and then the user should lookup what options are supported by their ide / build tool.
At the moment I'll leave the options I have as they are. If I do something wonky (tsconfig for me has been fairly stable) I'll do it under atom from this point on.

Does not seem that there is an action item here per se. switching it to discussion from suggestion.

For VS 2015 we have included the TypeScriptCompileBlocked msbuild element, this will block tsc from being invoked during a build.

Any progress on this? I'm using Atom and bundle my code with webpack.

@gyzerok Atom-typescript has an unofficial extension to tsconfig.json for this: compileOnSave.
https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#compileonsave

@nycdotnet thanks bro!

Hi @mhegazy, @danquirk,
I've recently switched to the workflow of writing TypeScript and emitting es6 whilst using Babel to perform the transpilation to es5. I do this using Webpack which runs in watch mode, compiling as I save files and rerunning my tests continually in an ncrunchy style.
In this context the editor/IDE triggering compilation makes no sense as it creates .js files which aren't used and clutter up the source directory.
Since I'm using atom-typescript I can rely on the compileOnSave flag to disable this which is fantastic. However, as @ivogabe has alluded to, because this is non standard it cannot be relied upon if another developer is working on the code and wants to use vscode / sublime / visual studio etc.  It won't prevent them from working on the project but it will mean they will either have to ignore the "clutter files" or they will have to find their own way to disable the build.
I think there would be some value in standardising this in the tsconfig.json. The name of the flag doesn't have to be compileOnSave  - it could be something else. But this would reduce friction as developers wish to use different editors / IDEs on a project and would minimise "editor lock-in".
What are your thoughts?

compileOnSave seems like a fine property name to standardize on. we are currently looking into #5287, and we will need a way to make this honored in VS. so +1 for compileOnSave.

Sounds like something that would be more appropriate in something like .editorconfig? tsconfig.json is primarily designed to drive the compiler and compilation context... just my $0.02

Just a quick comment on this - it looks like much of the conversation here is centered around enabling/disabling compile-on-save for all typescript in a project - i.e. on the use case where only one tsconfig.json exists in the project. However, that's not the only use case for this:
In my case, I have more than one tsconfig.json within a single Visual Studio project, with one specifying compile options for the app code, and another for compiling some custom tslint rules.
To avoid an overly complicated build setup, I would strongly prefer to only use gulp to compile my app code, while just relying on compile-on-save for other things, such as custom tslint rules or gulp tasks.
I just wanted to point out this use case, so it doesn't get lost in the conversation :-)

After discussing this with @paulvanbrenk, VS should honor the compileOnSave property in tsconfig if present.

Yay!

compileOnSave should be in for 1.8 final, I checked it in.

I've been experiencing difficulties with it... See https://github.com/Microsoft/TypeScript/issues/6782

See also https://shauntm.com/notes/entries/231

How about compile on save for just some files? my files should not be compiled on save as I use gulp to do that. but I actually write my gulpfile as a typescript file and I need that file to compile on save.

How about compile on save for just some files? my files should not be compiled on save as I use gulp to do that. but I actually write my gulpfile as a typescript file and I need that file to compile on save.

have to tsconfig.json files, one at the root for your gulpFile, and one in a source directory for your sources. the top one allows compile on save, the other one does not.
regardless, i do not think you can rely on compile on save for your gulp file, as you want it to run on a CI server for instance that does not have an editor. consider using something like ts-node instead.


Add test-id's for VMI migration and lifecycle testcases

Signed-off-by: Kedar Bidarkar<EMAIL_ADDRESS>
What this PR does / why we need it: Add test-id's for VMI migration and lifecycle testcases
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer: Add test-id's for VMI migration and lifecycle testcases
Release note:

NONE

/lgtm

/lgtm

/approve

Minor test-id's stuff, will mark this as approved.
/approve


Print Travis CI url from Node.js project.

Going to print the issue from any project by using the current .git repo to get the GitHub repository name.


Maximum transaction time-out for Hyperledger Fabric exceeds provided time-out

For each callback there is the possiblity to provide a time-out value to invokeSmartContract(). For Hyperledger Fabric that time-out value is exceeded by a maximum of 55 seconds.
Context

For Hyperledger Fabcir invokeSmartContract() calls e2eutils.invokebycontext(). This function then calls several functions to which a time-out value can be provided.
These are: channel.sendTransactionProposal(proposalRequest, timeout * 1000)  link  ,setTimeout(() => reject(new Error('Timeout')), newTimeout); link  and await channel.sendTransaction(transactionRequest)  link .
The first time-out receives the time-out provided by the user. The second and third ones receive a maximum of 10 seconds and 45 seconds respectively. For the third time-out channel.sendTransaction(transactionRequest) no time-out is provided so the default request-timeout is supplied by the Fabric node-sdk which is 45 seconds.
For a user supplied timeout of 30 seconds this means that the maximum duration of a Fabric transaction is almost three times higher than expected.
Expected Behavior

I expect Caliper to honor the user-provided time-out for the entire duration of a transaction. Not just the gathering of transactionProposal responses.
Actual Behavior

Caliper applies the time-out provided by the user to the gathering of transactionPorposal responses only.
Possible Fix

I would suggest that invokebycontext returns a promise and that a time-out is triggered according to the user-provided time-out which rejects the aforementioned promise.
Steps to Reproduce

Existing issues

[ ] Stack Overflow issues
[ ] GitHub Issues
[ ] Rocket Chat history

Context

Trying out caliper with high input-rates.
Your Environment

Version used: N/A
Environment name and version (e.g. Chrome 39, node.js 5.4): Node 8+
Operating System and version (desktop or mobile): Linux
Link to your project:

The problem I had was sending an http.request at invokeSmartContract () and forcing no response
commUtils.log('  >>> Into invokeSmartContract >>>>');
args.forEach(function(item,index) {
let con = require('../../benchmark/uchains_simple/uchains.json');
let restApiUrl = con.uchains.network.restapi.url;
let configPort = con.uchains.network.restapi.port;
const http = require('http');
let options = {
hostname:restApiUrl,     //此处不能写协议，如 ： http://,https://  否则会报错
port:configPort,
path:'/UChains/poe/poe/transaction',
method:'POST',
headers: {
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length':Buffer.byteLength(item.acount)
}
};
commUtils.log('Send__',restApiUrl,configPort);
let req ;
try{
req = http.request(options,function(res){
commUtils.log('success_');
commUtils.log('STATUS:'+res.statusCode);
commUtils.log('HEADERS:'+JSON.stringify(res.headers));
res.on('data',function(chunk){
commUtils.log('BODY:'+chunk);
});
});
}
catch(err) {
commUtils.log(err);
}
req.write(item.acount);
req.end();
commUtils.log('  >>>index>>>>');
});

@zsh122958 I don't see how that's related to Fabric's invokebycontext exceeding the users' timeout value.

@RobertDiebels Good catch :+1:  Although wrapping everything in a promise with a timeout is kind of against the principle of "Don't throw exceptions during Tx processing".
So the initial timeout has to be properly propagated through the transaction's lifecycle. I'll look out for this in the new adapter, thx :sweat_smile:

@aklenik Agreed. You could also just return the invokeStatus instead of rejecting but I'll leave the implementation up for the Caliper maintainers to decide 😄.

@RobertDiebels The new adapter has been merged. Can you confirm that it handles your use case correctly?

@aklenik I've looked at the code instead because I don't have to time to do a full testing round. Won't this bit of code and this bit still cause the total time for a transaction to exceed the timeout provided by a user?
Since it potentially adds another 100 seconds to the total time taken.

@RobertDiebels I meant the fabric-ccp adapter in src/adapters/fabric-ccp/fabric.js :)

@aklenik Looked through the code. Lgtm 👌


Add qlkube Helm charts

Description
This PR adds the generated helm charts for the deployment of qlkube.

Hi @giorio94, thanks for your review. I added the serviceAccount (I think). Is it correct?
I'm going to start working on the crownOps PR asap

Hi @giorio94, thanks for your review. I added the serviceAccount (I think). Is it correct?
I'm going to start working on the crownOps PR asap

The serviceAccount seems ok to me. You just have to reference it to the deployment

I guess I also have to set rolebinding and role somewhere? I'm getting documented about that

I guess I also have to set rolebinding and role somewhere? I'm getting documented about that

No, in this case you do not need to create them, although typically you would (getting the openAPI schema requires only to be authenticated, and does not need specific authorizations)

/deploy-staging

/deploy-staging

/merge


Accessibility and keyboard navigation

Hello all,
Is there anything that can be done to be able to scroll a virtualized list / table with the keyboard's arrows up/down?
If you focus an item and then try to maintain an arrow, it stops scrolling at some point and lose the focus. This issue doesn't seem to be present on react-virtualized.

I had a similar issue implementing keyboard controls.
In my case, the issue was because the virtual rows had the tabIndex={-1} attribute set on them, so they focused when clicked on. The keyboard controls scrolled the list up and down without changing the focus, and the row lost focus as it moved outside of view and was removed.
I worked around this by removing tabIndex from the rows, and adding it to the list container. This way the entire list was focused instead of the individual rows.

I think @parkertomatoes is a good workaround for now. We're definitely looking for ways to improve the accessibility and keyboard-friendliness of the virtualizers in the future, so any suggestions are welcome.

@parkertomatoes Can you provide a sample please?

Any additional information would be useful, can anybody provide some samples for this workaround?

How to use Virtual Scroll + Roving focus pattern

I write like this
  const rowVirtualizer = useVirtualizer({
    count: items.length,
    getScrollElement: () => viewportRef?.current,
    estimateSize: () => LIST_ITEM_HEIGHT,
    getItemKey: index => index,
    onChange: e => {
      const virtualItems = e.getVirtualItems();
      const itemKeys = virtualItems.map(({ key }) => key);

      if (itemKeys.includes(Number(focusedItemIndex))) {
        return;
      }
      const firstItem = virtualItems[0];
      if (firstItem) {
        setFocusedItemIndex(`${firstItem.key}`);
      }
    },
  });

when change virtual items, check my focused element in virtual items key
and if not change focusedItemIndex


Unexpected errors when comparing a model

Issue and tracking information
Developer's time Estimated effort to fix (hours):
Developer's Actual time spent on fix (hours)
Issue reporter to provide a detailed description of the issue in the space below
When comparing an AXCIOMA model with Papyrus Compare, many "Unexpected error" entries appear in the Error Log.
Although the user may continue to do the comparison, it is not clear if they are harmless or not.
Steps to reproduce
(This assumes that you have the CX4CBDDS git repository added in the git perspective and the 'papyrus' branch checked-out).

Import the BasicPubSub_new project from the CX4CBDDS git repo 'examples' folder into the workspace
Open the BasicPubSub_new model (BasicPubSub/ModelFiles/BasicPubSubPapyrus)
Open the assembly diagram (In the Model Explorer navigate to /BasicPubSub/assemblies/BasicPubSub_asm/BasicPubSub_asm and double click on the "NewCompositeStructureDiagram" item to open it)
Make some changes to the diagram, like moving a part.
Save the model.
Open the Git perspective (Window > Perspective > Open Perspective > Other... > Git)
Go to the "Git Staging" view.
Stage the /BasicPubSub/ModelFiles/BasicPubSubPapyrus.notation file (and the BasicPubSub/ModelFiles/BasicPubSubPapyrus.uml file if it appears). You may need to click the "Refresh" button in the top-right of the "Git Staging" view.
Go back to the Papyrus perspective (Window > Perspective > Open Perspective > Other... > Papyrus)
Open the Error Log view (Window > Show View > Error Log)
Delete the current log entries (right-click on the "Delete Log" button, a red [X] on the top-right of the Error Log view).
Right click on /BasicPubSub/ModelFiles/BasicPubSubPapyrus and select "Compare With > Index)
If prompted to switch to the Synchronization perspective, click on [Yes] (and optionally check the "Remember my decision" checkbox)
In the Synchronization view on the left, unfold BasicPubSub/ModelFiles, right-click on BasicPubSubPapyrus.notation and select "Open in Compare Editor"

Expected result
The Compare Editor opens and shows the Model differences, and no errors are logged.
Actual result
The Compare Editor opens and shows the Model differences, and many errors are logged. See the attached log file.
exceptions.log

The main exception is this:
org.eclipse.papyrus.infra.core.resource.NotFoundException: No root defined in the model
	at org.eclipse.papyrus.uml.tools.model.UmlModel.lookupRoot(UmlModel.java:114)
	at org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService.addRootProfileDecorationIfRequired(ProfileDefinitionService.java:140)
	at org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService.startService(ProfileDefinitionService.java:121)
	at org.eclipse.papyrus.infra.core.services.internal.ServiceEntry.startService(ServiceEntry.java:154)
	at org.eclipse.papyrus.infra.core.services.internal.StartStartupEntry.startService(StartStartupEntry.java:83)
	at org.eclipse.papyrus.infra.core.services.ServicesRegistry.startServices(ServicesRegistry.java:1022)
	at org.eclipse.papyrus.infra.core.services.ServicesRegistry.startRegistry(ServicesRegistry.java:490)
	at org.eclipse.papyrus.compare.diagram.ide.ui.internal.ServicesRegistryInitializingHook.preLoadingHook(ServicesRegistryInitializingHook.java:37)
	at org.eclipse.emf.compare.ide.internal.utils.NotLoadingResourceSet.load(NotLoadingResourceSet.java:390)
	at org.eclipse.emf.compare.ide.internal.utils.NotLoadingResourceSet.create(NotLoadingResourceSet.java:155)
	at org.eclipse.emf.compare.ide.ui.internal.logical.ComparisonScopeBuilder.createScope(ComparisonScopeBuilder.java:519)
	at org.eclipse.emf.compare.ide.ui.internal.logical.ComparisonScopeBuilder.createMinimizedScope(ComparisonScopeBuilder.java:487)
	at org.eclipse.emf.compare.ide.ui.internal.logical.ComparisonScopeBuilder.build(ComparisonScopeBuilder.java:182)
	at org.eclipse.emf.compare.ide.ui.internal.logical.ComparisonScopeBuilder.create(ComparisonScopeBuilder.java:271)
	at org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewer.compareInputChanged(EMFCompareStructureMergeViewer.java:1518)
	at org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.EMFCompareStructureMergeViewer$CompareInputChangedJob.run(EMFCompareStructureMergeViewer.java:223)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

This occurs when opening a comparison, and as can be seen in the trace, when running a job of the EMFCompareStructureMergeViewer.
The exception originates in this piece of code:
	public EObject lookupRoot() throws NotFoundException {
		if (resource == null || resource.getContents().isEmpty()) {
			// The root doesn't exist.
			throw new NotFoundException("No root defined in the model");
		}

		return resource.getContents().get(0);
	}

which is in class org.eclipse.papyrus.uml.tools.model.UmlModel. The particular instance is of type org.eclipse.papyrus.uml.tools.model.ExtendedUmlModel, which is loaded by Papyrus into its "modelSet", along with several other models, all of which have resource set to null, resulting in the above function throwing the NotFoundException.

The lookupRoot function throwing the exception is arrived at from org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService.startService(), which starts by obtaining the ExtendedUmlModel, but since its resource is null, the code guarrantees that the execution path ends in the throw statement of the lookupRoot function.
This strongly suggests that it is a bug in Papyrus itself.

A more detailed account of this error:
The error occurs when a comparison starts and the EMFCompareStructureMergeViewer creates a "comparison scope" which creates a NotLoadingResourceSet containing the Papyrus model files (.notation and .uml) to be compared. When creating this resource set, it loads these files but just before loading them it obtaind matching "pre-load hooks", which in this case includes the hook provided by Papyrus Compare: org.eclipse.papyrus.compare.diagram.ide.ui.internal.ServicesRegistryInitializingHook.
This hook creates a Papyrus ExtensionServicesRegistry, and then starts it. When starting the ServiceRegistry, a service entry for org.eclipse.emf.transaction.TransactionalEditingDomain is initialized (initService) which tries to get an instance of the ModelSet serivice, which creates an instance of the model service, specifically an org.eclipse.papyrus.infra.services.resourceloading.OnDemandLoadingModelSet. This results in a call to org.eclipse.papyrus.infra.core.resource.ModelsReader.readModel(ModelSet) which reads models declared via an extension point: org.eclipse.papyrus.infra.core.model.
The models read are actually instantiated when processing the extension. The extension provides a class name which is loaded by the current class loader (presumably the one that loaded the Papyrus infra.core). Then this class is instantiated, and the new instances (such as an instance of org.eclipse.papyrus.uml.tools.model.ExtendedUmlModel which is a subclass of class org.eclipse.papyrus.infra.core.resource.uml.UmlModel) have their resource set to null, which eventually causes the exception.
After all these models are loaded, starting the service registry resumes by starting the services that have been added. In particular the problem occurs when starting the service org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService. This looks for the model with id org.eclipse.papyrus.infra.core.resource.uml.UmlModel, which is the instance of org.eclipse.papyrus.uml.tools.model.ExtendedUmlModel loaded with via the org.eclipse.papyrus.infra.core.model extension point. As this instance has its resource  attribute set to null it goes on to call org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService.addRootProfileDecorationIfRequired(UmlModel) passing this model as argument. This calls org.eclipse.papyrus.uml.tools.model.UmlModel.lookupRoot() which throws a NotFoundException when the resource is null.
It looks like the code for org.eclipse.papyrus.uml.tools.service.ProfileDefinitionService.startService()  is incorrect as it necessarily leads to the exception:
	public void startService() throws ServiceException {
		final UmlModel umlModel = (UmlModel) modelSet.getModel(ExtendedUmlModel.MODEL_ID);
		try {
			if (null != umlModel.getResource() && umlModel.getResource().getContents().isEmpty()) {
				// ...
			} else {
				addRootProfileDecorationIfRequired(umlModel);
			}
		} catch (NotFoundException e) {
			Activator.log.error(e);
		} catch (ServiceException e) {
			Activator.log.error(e);
		}
	}

The first line obtains the model with resource set to null, as the model was instantiated from the extension point without initializing its attributes. Hence execution necessarily goes to the "else" clause and calls addRootProfileDecorationIfRequired:
	private final void addRootProfileDecorationIfRequired(final UmlModel umlModel) throws NotFoundException, ServiceException {
		final EObject rootElement = umlModel.lookupRoot();
		// ...
	}

... which starts by calling lookupRoot:
	public EObject lookupRoot() throws NotFoundException {
		if (resource == null || resource.getContents().isEmpty()) {
			// The root doesn't exist.
			throw new NotFoundException("No root defined in the model");
		}
		return resource.getContents().get(0);
	}

... so the exception is necessarily thrown for models loaded via the extension point.
This means that this is a Papyrus bug, unless this code (the ProfileDefinitionService) was not designed to consider the case of models being loaded and instantiated dynamically via the org.eclipse.papyrus.infra.core.model extension point.


[Bug] [UI]

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
After modifying a few of fields on a dependent task form and canceling the task modal, these values of fields wouldn't be reset. When opening this modal one more time, you can also see those modified values.
Open a dependent task modal and choose a new project name for the dependent task:

Then cancel the modal and open the task again:

What you expected to happen
When canceling the task modal all modified values should be restored.
How to reproduce
Open a dependent task modal and choose a new project name for the dependent task. And then cancel the modal and open the task again. You'll see this issue.
Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

good job @calvinjiang , please add a title for this issue, thx


Playlist extractor error, or user error?

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

I am new to YT-dl and have run into an issue downloading this playlist. Individual items in the playlist can be downloaded separately. The links are active and working in my browser. Am using --download-archive, have tried --yes-playlist and --playlist-start 1, -i, and using only the RD6Vb_uA0Xvn8 portion of the address. All are coming back with errors at the same lines in extractor code. Since no one else is reporting an issue at these lines I presume I am passing the wrong cmd options.
b:\xxx\Music>youtube-dl.exe --download-archive archive.txt --verbose "https://www.youtube.com/watch?v=6Vb_uA0Xvn8&list=RD6Vb_uA0Xvn8"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--download-archive', 'archive.txt', '--verbose', 'https://www.youtube.com/watch?v=6Vb_uA0Xvn8&list=RD6Vb_uA0Xvn8']
[debug] Encodings: locale cp932, fs mbcs, out cp932, pref cp932
[debug] youtube-dl version 2020.11.17
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[youtube:tab] RD6Vb_uA0Xvn8: Downloading webpage
ERROR: An extractor error has occurred. (caused by KeyError('contents',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\extractor\common.py", line 532, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\extractor\youtube.py", line 2843, in _real_extract
KeyError: 'contents'
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\extractor\common.py", line 532, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\extractor\youtube.py", line 2843, in _real_extract
KeyError: 'contents'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\YoutubeDL.py", line 797, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpa0zbt1ts\build\youtube_dl\extractor\common.py", line 545, in extract
youtube_dl.utils.ExtractorError: An extractor error has occurred. (caused by KeyError('contents',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

play this video - https://www.youtube.com/watch?v=6Vb_uA0Xvn8&list=RD6Vb_uA0Xvn8
click on the badge next to the videos name, click playlist - view full playlist, copy the link
and paste into a terminal

this is a mix playlist, https://github.com/blackjack4494/yt-dlc can extract all the videos in playlist

YT-dlc worked for this with the given cmd line options. Thank you. YT-dl does work on other playlists, just not the Mix list. +1 to merge.
@october262 I don't see a "badge" next to the name of a video?

YT-dlc worked for this with the given cmd line options. Thank you. YT-dl does work on other playlists, just not the Mix list. +1 to merge.
@october262 I don't see a "badge" next to the name of a video?

it's the little picture with a pair of headphones & controller inside of it
click on it to get to the playlist page.

AH I see. You mean go into the uploader's profile to get the playlist. This mix is auto generated by youtube, not by the creator/uploader, so there is no playlist under the user profiles. Thanks though.


Problem with superscript/subscript

The documentation states PDFALTO recognises superscript/subscript.
First, how does GROBID format superscript/subscript? I have not seen  or  in the output.
Second, in my practice, superscript/subscript is printed with space even in formula blocks in the form of H 2 O with no effect. Is it the intended behaviour?
Third, I noticed that superscript/subscript is sometimes misplaced. For example, MnO2 film is printed as MnO film 2. I can share examples but cannot upload the PDFs as I am not the copyright holder.
I use GROBID 0.7.2 using the command:
curl -sS --form<EMAIL_ADDRESS>--form segmentSentences=1 --form includeRawCitations=1 \
--form includeRawAffiliations=1 --form teiCoordinates=persName --form teiCoordinates=figure \
--form teiCoordinates=ref --form teiCoordinates=biblStruct --form teiCoordinates=formula \
<IP_ADDRESS>:8070/api/processFulltextDocument > output.xml

@keto33 Pdfalto recognises superscript/subscript, indeed. Grobid too, but it does not yet output them (the change is currently worked in PR #936). The change is quite complex and will take some time to be merged in master, but you can try it out nevertheless.

@lfoppiano, I had seed #936 before when I was looking for issues related to subscript. However, I did not quite catch how to implement it. Is it already implemented in 0.7.3?

Hi @keto33

I had seed https://github.com/kermitt2/grobid/pull/936 before when I was looking for issues related to subscript. However, I did not quite catch how to implement it. Is it already implemented in 0.7.3?

Serialization of superscript/subscript in the TEI XML is implemented in PR #936, but it is foreseen to be merged in version 0.8.0, not 0.7.3. The superscript/subscript should be working well, but in this branch serializing bold/italic is more complicated and require more tests.

Second, in my practice, superscript/subscript is printed with space even in formula blocks in the form of H 2 O with no effect. Is it the intended behaviour?

Currently yes.

Third, I noticed that superscript/subscript is sometimes misplaced. For example, MnO2 film is printed as MnO film 2. I can share examples but cannot upload the PDFs as I am not the copyright holder.

It's possible yes, some document editor/publication generate PDF where PDF element flow is not the reading order for some special tokens.
In pdfalto, blocks can be re-ordered based on their spacial distribution, but within a block currently the PDF flow order is not modified because re-ordering this flow creates much more errors that it solves. However we could have a special process in pdfalto just for superscript/subscript if it's more frequent on these specific elements.
Could you maybe share the landing page of the articles where you saw these problems? I might have a subscription to access them and reproduce the error.

@kermitt2, thanks for following up. I encountered the problem of subscript/superscript in several papers. More complicated subscripts (e.g., 1+x) are often totally ignored.
This paper https://doi.org/10.1016/S0167-2738(00)00327-1 has most of the problems I mentioned. You just need to take a look at the abstract. If you do not have a subscription, I can post it here. I just didn't want to upload copyrighted materials on your project page without your permission.
And if you are interested in more examples, I can provide them.

@keto33 There is a version that is accessible without subscription here: https://zenodo.org/record/1259881
In general, the subscripts are recognized, however, it does depends on how the PDF document was constructed. Are these papers all from Elsevier?
In this particular case, it seems that the subscripts are placed in a separate line, and not in the correct order.
See the picture below, you can see it by highlighting and you can see that the subscript are sorted after the line and not within:

This issue should be added in Pdfalto If I'm not wrong


Do not pass in undefined onOutsideClick to the OutsideClickHandler

Fixes https://github.com/airbnb/react-dates/issues/1227
So I know we have https://github.com/airbnb/react-dates/pull/1239 open, but as an alternative, I wanted to propose this option instead as it wouldn't add the document event listeners at all (which seems preferable?).
As for regression tests, @ljharb, we render withPortal datepickers in tests, shouldn't the proptype error show up there?
to: @ljharb

@ljharb in fact, they do show up, but as warnings and not as errors? Is there any way to change that?

Coverage increased (+0.03%) to 84.671% when pulling 5a985ebf98d4526f68444c9896059a58f345a67d on maja-address-on-outside-click-errors into 2c45275bc4ac925fbbfffe348f38076790fe727a on master.


link support in new .html() method

Thanks for the really promising .html() new method. I see that all links in the examples in examples/html2pdfget rendered in color but are not clickable. Is there a way to have them clickable?
The docs show you can pass options to .html(): which options are available?

How is this a duplicate? @Uzlopak
Nothing about clickable links there.

That's impossible, since html() uses html2canvas and the canvas API does not support hyperlinks. You may try the jsPDF.link or jsPDF.textWithLink functions to make your links clickable afterwards.


Getting original commit hash from Github PR

On https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml:
There is a documented variable Build.SourceVersion that should hold the commit hash. But for Github pull request it does not contain the HEAD of the PR branch, but the hash of the PR's merge commit. The documentation is missing of how to get the actual commit hash.

@tomasfejfar You're right, Build.SourceVersion returns the commit hash of the merge commit of the PR branch. You'll need to use a custom script to get the actual commit hash of the HEAD of the PR branch.

Wouldn't it be nice if pipelines would be able to give me the actual commit in a different variable?

@tomasfejfar -- Tomáš, thank you for your suggestion.  Please add it here:

Developer Community


Segregated Witness as hard fork

SegWit got deleted from bitcoin classic https://github.com/bitcoinclassic/bitcoinclassic/pull/8.
Is anyone already working on SegWit as a hard fork?
Since we are forking hard anyway why not integrate it now?

If we are going to do a hard fork we should pull in any non-controversial hard fork wishlist changes as well.

Merge window is open only for 2 MB HF stuff.
We do not have the developer resources to dedicate to writing a SW hard fork for you.
No hard fork or soft fork changes that would break compatibility with thin wallets will be allowed at this time.
If the developers of SegWit wish to collaborate on making a combined hardfork a reality, we can hold a vote about reversing the 2 MB HF merge window rule.


Changed naming of contracts to be more telling

Description
As agreed with team Joules and @Sondergaard we have renamed our contract names to better reflect future events.

References

#0000

Public interfaces should be alligned internally in team prior to be exposed. Why are the events needed ? And do we expose internal properties ? (MeteingPointId, TransactionId)

I have aligned it with other teams, with the architect and with the business. We can have another internal talk if needed :)


Pulling needs cleanup

Ideally:

Probably shouldn't use the distancejoint (even though it's useful for me for debugging).
Combine its 4 systems into 1.
Remove the statemanagementsystem.
Remove the GetComponents everywhere because these have a tendency to cause runtime exceptions very easily.


over-restrictive CGM_BASE_DIR requirement

CGM_BASE_DIR is required in the Makefile for any kind of make operation, including those which shouldn't really require the cgm installation (such as cleans, sphinx builds/edits, etc.). I propose this this is altered so that only the .o and mcnp2cad targets require it to be defined.

This might need a little thought than #17 :

some Makefile magic, or...
upgrade to autotools/CMake

Yes. I'm not entirely sure how to go about this one.. maybe a dependent make target? I'll take a look at this and #17 tomorrow.

Addressed in #19


review G54/G55 switching

Why aren't we just staying on G54? This system seems over-complicated and might have been to compensate for early issues in the original Planner architecture

Taking a step back, the G54/G55 scheme is probably fine as it keeps the Grbl object canonically in machine coordinate system. The real confusion is that WCS corrections are done outside of the Grbl object in the ScalarMM. I've moved it over to Grbl
Additionally I've cleaned up the constant caching code


Unable to connect to host through K8s plugin

Trying to run MZBench through helm deployment on AWS machine (using K8s cloud_plugin)
Running the Test Case throws host allocation error;
[error] [ API ] <0.630.0> Stage 'pipeline - allocating_hosts': failed
Benchmark has failed on allocating_hosts with reason:
{badmatch,{error,[]}}
Running Sample MZBench test gives;
Benchmark has failed on allocating_hosts with reason:
{unknown_cloud_name,local}

@AhmarRG MZbench has a notion of providers, of which, the k8s cloud plugin is one.  These providers have names associated with them.
When you run a benchmark, you specify the provider that is to execute your benchmark.  From the output you shared, your benchmark is looking for the local provider.  Which does not exist in your current configuration.  Review your server config, or share it here, to find the name that currently assigned to the k8s provider.

Hi, thanks for the reply @pulltab
I'm using the same config given in the helm package (with my docker image)
     {cloud_plugins, [
        {k8s, #{module => mzb_k8s_plugin,
                % by default context and namespace are read from kubernetes:
                % https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-api-from-a-pod
                % you can overwrite it from here
                % context => "<empty>",
                % namespace => "<empty>",
                namespace => "default",
                pod_user => "root",
                pod_spec => [
                  {image, "ahmarrg/mzb:latest" },
                  {cpu, "500m"},
                  {memory, "128Mi"}
                ]}
        }
     ]}
    ]}].

The error i get running my test case is
[error] [ API ] <0.630.0> Stage 'pipeline - allocating_hosts': failed
Benchmark has failed on allocating_hosts with reason:
{badmatch,{error,[]}}


Unattended Installation Fails with 1.0-stable

Building an unattended ISO installation with the 1.0 branch fails during installation.
Build process:

A copy of image config full.json was created and modified to only contain the "CBL-Mariner Full" SystemConfig.  New json file name full-auto.json
ISO was built using the following command line (note tools had previously been build when creating an attended ISO): sudo make iso REBUILD_TOOLS=n REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full-auto.json UNATTENDED_INSTALLER=y
Build was successful - log attached

Run time environment:
Hyper-V Server 2019
VM Configuration (Gen 2):
4 vCPUs
8GB RAM
1 vhdx (127GB)
2 vNICs
UEFI settings set to secure boot/MS UEFI Certificate Authority
I've attached the console output (as much as I can get).  If other logs are required please advise (including if possible how to extract them from the run time image inside the VM)
Side Note: I see nothing in the document of how to customize the unattended installation (i.e. default hostname, user account, partition structure, etc).  Is this supported and/or am I just missing something blindingly obvious :( ?
Attached
buildlog.log

The config file you specified might not have enough info for unattended installation.
Your config file is missing storage definition, something like:

"Disks": [
    {
        "PartitionTableType": "gpt",
        "MaxSize": 2048,
        "Artifacts": [
            {
                "Name": "core",
                "Type": "vhd"
            }
        ],
        "Partitions": [
            {
                "ID": "boot",
                "Flags": [
                    "grub"
                ],
                "Start": 1,
                "End": 9,
                "FsType": "fat32"
            },
            {
                "ID": "rootfs",
                "Start": 9,
                "End": 0,
                "FsType": "ext4"
            }
        ]
    }
],

And mount points. See "imageconfigs/core-legacy.json" for examples.

Thank you very much - I scanned through a number of image configs (especially in the demo project) for pointed but clearly not this one.  I figured it must be something like this.  I'm going to do a pull request for build documentation to add something for this as currently it simply says "use UNATTENDED_INSTALLER=y and ensure only a single SystemConfig".  Alternatively, is the format of the imageconfig json files governed by a document somewhere that perhaps I missed?

Sorry for the delay in replying - I've been OOO.  Here's a sample file of how I made it work.  The principal thing I had to do was add the "Disks" section of the configuration as well as the PartitionSettings and Users sections of SystemConfigs.
auto.txt


[vb] add .bas extension for VBA source code

Hi @eshizhan, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks @eshizhan !


compose: Use em for enter send setting font size.

The changes aren't super visible below 20px, but it seems good to scale it regardless.

12px before and after

14px before and after

18px before and after

20px before and after

Merged, thanks @evykassirer!

For before/after screenshots, it would be super helpful if they were minimally different. That way one can open them in separate tabs, and go back and forth to review the differences. I think @karlstolley would have advice on how to do this.

Is this an "after" screenshot? The "Return" icon does not look vertically centered.

No, that's the after screenshot. Sorry about that, I'll put up a followup to fix that. And I'd love to get some advice on taking screenshots that are minimally different!

It's worth investigating your operating system to see if it allows you to set and capture a region of the screen (vs. freehanding a selection for each shot).

If the OS doesn't, surely there's an app that does. I use CleanShot on my Mac, which has a "Capture previous area" button.

I'll look more into that and also consider buying CleanShot. I will say that might not be as relevant for this particular kind of work though, because the capture area increases as the font size increases.


Script to run tutorials in docker container that can see GPU

@martinkim0 maybe we can use redun for this and run it manually (or via github actions with a aws key secret)


SP5 Blazor: Display cookbook recipes online

Now that there's a Blazor control #2960 it would be great if we could get all the cookbook examples working in it
After this is the case I can automate build/deployment to the ScottPlot.net website so each cook recipe could have a "try online" button
Here's a minimal example showing the current state of the blazor control:
https://swharden.com/tmp/sp/02/

HI @swharden,
I checked out the link, looks impressive.
The only thing is that the performance is an order of magnitude lower than "native". If you make such an online mode, there should be well-defined limitations on the performance of the browser mode. So that newcomers do not have a false impression of performance. Otherwise it can become anti-advertising.


Update Sprig to v3.2.1

GoCSV is currently using Sprig v3.1.0. The latest Sprig is v3.2.1, which notably has math functions for floats (3.1.0 only has integer math functions).

Upgraded to Sprig v3.2.3 in 5fa735200fa31a49babc1d6787c0323c50294a42, now in release v1.0.2.


Update and improve wacom-tablet.rb

Update wacom-tablet to version 6.3.11w3
Change license to gratis
Update bundle identifier used by :pkgutil statement
Remove '/Applications/Wacom Tablet.localized' during uninstall.
Some things in this folder are not removed by the :pkgutil statement
so an explicit delete is necessary.
Add zap stanza to delete user preferences
Rename kext to 'com.wacom.kext.ftdi'

Great contribution, thanks!


KAP-59: Use variable 'plexilar.integration.var' for all integration test where a Subscription is created

To be addressed on KAP-58


add user profile page for other users

Currently users can view only their own user profile.
Add a page where users can view others too.

yay


Feature: Allow mergerfs.balance to balance against a specified amount of free space per disk

2 - Allow mergerfs.balance to balance disks against a target of total free space or total used space, similar to mfs/lfs policies.
Use case:
disk1 8TB, 50% full (4TB)
disk2 12TB, 50% full (6TB)
disk3 12TB, 75% full (9TB)
disk4 12TB, 0% full (0TB)
Currently, running balance would get each disk to be 2% apart in usage, winding up in this situation:
disk1 8TB, 43% full (3.45TB)
disk2 12TB, 43% full (5.18TB)
disk3 12TB, 43% full (5.18TB)
disk4 12TB, 43% full (5.18TB)
If possible, I'd like to be able to balance against a value of free space similar to empfs's behavior. IE: mergerfs.balance knows there are approximately 25TB free across all disks, so it will balance until there is approximately free space / number of disks, or in this case 25/4 = 6.25TB free on each disk, leaving us here:
disk1 8TB, 21.8% full (1.75TB)
disk2 12TB, 48% full (5.75TB)
disk3 12TB, 48% full (5.75TB)
disk4 12TB, 48% full (5.75TB)
This would then allow net new data (in a mfs policy scenario) to write alternating across all four drives. Without this, data would go to disk2, disk3, and disk4 until they each had 4.55 TB of free space, similar to disk1 in the current state.

Hi,
I replace the method "freespace_percentage" by:
def freespace_percentage(srcmounts):
    lfsp = []
    total_fs = 0
    for srcmount in srcmounts:
        vfs = os.statvfs(srcmount)
        avail = vfs.f_bavail * vfs.f_frsize
        total_fs += avail
        lfsp.append((srcmount,avail))

    lfsp = [(x[0], x[1] / total_fs) for x in lfsp]
    return sorted(lfsp, key=lambda x: x[1])

This sum the available freespace, then create a percentage by disk against it.
The effect is that it will balance using a "mfs" rules.


HMR not reloading on wsl2 docker environment

Vite HMR works on browser by setting up vite.config.js
export default defineConfig({
  server: {
    hmr: {
      host: '<IP_ADDRESS>'
    }
  }
}

but when I use yarn vite-tauri dev app works good but HMR does not hot reload tauri web view

Can you share more info about your setup? Are you running docker inside wsl2? if you can, provide a minimal repro.


Bump swift-tools-version to 5.2

Hi.
I just took the liberty of update the PackageDescription to 5.2.
This is a insignificant update, doesn't contributes with anything important, feel free to deny it

Thanks for the PR. Looks good for me.


terminate called after throwing an instance of 'nix::EndOfFile'

nix run github:nix-community/nixos-anywhere -- --flake '.#thinkpad-t420s' --option pure-eval false --build-on-remote --print-build-logs --debug<EMAIL_ADDRESS>
+ echo '### Building the system closure ###'
### Building the system closure ###
+ nix_copy --to 'ssh-ng://root@<IP_ADDRESS>?remote-store=local?root=/mnt' '.#nixosConfigurations."thinkpad-t420s".config.system.build.toplevel' --derivation --no-check-sigs
+ NIX_SSHOPTS='-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /tmp/tmp.nVckaJyRR0/nixos-anywhere '
+ nix copy --extra-experimental-features 'nix-command flakes' --no-write-lock-file --option pure-eval false --option substituters https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store -L --substitute-on-destination --to 'ssh-ng://root@<IP_ADDRESS>?remote-store=local?root=/mnt' '.#nixosConfigurations."thinkpad-t420s".config.system.build.toplevel' --derivation --no-check-sigs
trace: warning: system.stateVersion is not set, defaulting to 24.05. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.
Warning: Permanently added '<IP_ADDRESS>' (ED25519) to the list of known hosts.
[903 copied (125793.2 MiB), 29.1 MiB DL] copying 11860 pathsToo many root sets

/nix/store/mcs3xh1796znybj8f4px5l3q552w1pw7-nixos-anywhere-1.2.0/libexec/nixos-anywhere/nixos-anywhere.sh: line 203: 614226 Aborted                 (core dumped) NIX_SSHOPTS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i $ssh_key_dir/nixos-anywhere ${ssh_args[*]}" nix copy "${nix_options[@]}" "${nix_copy_options[@]}" "$@"
+ rm -rf /tmp/tmp.nVckaJyRR0
terminate called after throwing an instance of 'nix::EndOfFile'
  what():  error: unexpected end-of-file

Is it possible that this is caused by the USB disk having too little capacity? I encountered this problem when I tried to build a nixos system (thinkpad-t420s) configured with more software in a nixos livecd (no-os), but I installed it successfully after minimal configuration (thinkpad-t420s-minimal).
Then I ran nixos with this minimal configuration (thinkpad-t420s-minimal)
Then pass sudo nixos-rebuild switch --flake .#thinkpad-t420s \          --target-host<EMAIL_ADDRESS>--verbose --show-trace --impure
The original purpose was achieved.

This may be an issue with upstream nix

https://github.com/NixOS/nix/issues/7359


Fix config/environment.js to not affect app

This project uses semver, please check the scope of this pr:

[ ] #none# - documentation fixes and/or test additions
[x] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Fixed config/environment.js to no longer impact consuming app environment (resolves #108)

Approved

Changes Unknown when pulling bc27f1c00f8543779ac551a2cae80de5e1c0dbf1 on job13er:fix-environment into ** on ciena-frost:master**.


Fix C# single-job distribtests jobs when version has no suffix (on master branch)

Same as https://github.com/grpc/grpc/pull/28912, but on master branch.

Applied the "RELEASE BLOCKER" label to make sure this fix gets applied before the 1.45.x branch gets cut.


Improve state handling in cases of memory allocation failure

Many lines of code assume that malloc will not fail. In cases it does, sometimes the program does not know, and as a result, memory can leak and more disasterous consequences can happen before the program ultimately finds something is wrong and then calls exit();
This PR aims to better handle memory in these cases

Also, did you know what checking for NULL before realloc is not necessary? If ptr is NULL, realloc will behave like malloc.

@AtariDreams The NULL behavior with realloc wasn't part of C89, which is why so much of the CUPS code protects against it. Some semi-supported platforms (Solaris in particular) don't support this, so we'll be very conservative when accepting changes like this for CUPS 2.x. For CUPS 3.x we are targeting C99 and higher which cleans up a lot of legacy behaviors...

Addressed @michaelrsweet


[BugFix] fix nvptx not supported by device_enabled error

Fix Issue https://github.com/apache/tvm/issues/9513.
I think this bug was mistakenly introduced by https://github.com/apache/tvm/pull/8032.

@junrushao1994
I think thir pr needs further review, because another error occurs in ci https://ci.tlcpack.ai/blue/organizations/jenkins/tvm/detail/PR-9585/1/pipeline/267.
Quoted error is

E             File "/workspace/src/target/llvm/codegen_nvptx.cc", line 146
E           TVMError: Do not support sync shared.dyn

This error is raised because of shared.dyn not supported by "nvptx" target.
And it was previously covered by device_enabled("nvptx") returning False in the last few months.
https://github.com/apache/tvm/blob/0a4cc89faf85c474df15bf3ba82ccac89e785fdc/tests/python/unittest/test_tir_ir_builder.py#L499-L552
I have tried to fix it by this commit https://github.com/apache/tvm/pull/9585/commits/a8d14b1890709df8fa3b20a40ea6ac3f54cfb060, and it works fine on my 2080ti gpu card.
But I am not sure if it is really OK.

Yeah I think it's reasonable to handle dynamic shared memory this way for now

Thank you so much for the fix! @ZQPei


[api]: LGS Sync-API fails when sending duplicate Content-Type header values

Describe the bug
The issue was discovered when an Apache reverse proxy was set up between a sending batch system and the LGS processor. For whatever reason, the proxy does not correctly recognize the HTTP header Content-Type: application/json and adds its own duplicate of it.
This results in LGS replying with the message:
{
    "timestamp":
        "2024-03-06T11:59:39.007+00:00",
        "status":415,
    "error":
        "Unsupported Media Type",
    "message":
        "Invalid mime type \"application/json, application/json\": Invalid token character ',' in token \"json, application/json\"",
    "path":
        "/api/v1/sync/partial/person-data"
}

Version of LGS:

LGS Version: 2.0.4

What happened:
For a project, I tried to run a partial LGS sync to verify the correct configuration between our application and LGS. For networking reasons, a direct access from the batch application (sender) cannot directly access LGS, but has to go through an Apache reverse proxy instead. This resulted in the error message displayed in the bug description.
The issue does not exist without any network component between the systems, as we know this from different projects.
I did not yet analyse the outgoing traffic of our batch application, since the issue doesn't exist without proxying. Of course, I will do so if requested.
What you expected to happen:
I expect LGS to comply with RFC7230 and to accept a comma separated list of MIME-Types.
How to reproduce it (as minimally and precisely as possible):
Just run the proposed cURL Command from the README.md with two comma separated MIME-Types:
curl --request PUT \
--url http://<HOST>/api/v1/sync/full/trigger/start \
--header 'Authorization: token <API_KEY>' \
--header 'Content-Type: application/json, application/json'

Anything else we need to know:
A workaround for Apache is to just rewrite the Content-Type header for the according location, so only the first entry is left: RequestHeader edit Content-Type "^application\/json\\,\ " ""

@Ghabi-ISC sorry for being unclear. As far as I understand, the header from the error message uses a correct notation and is not wrong.
I read from the error message that the header value application/json, application/json is not accepted because of the containing comma (,), but according to RFC7230, comma separated lists of multiple MIME types i.e. header values in general should not be an issue.
I assumed therefore that the used class (MediaType?) is not fully compliant with the standard. If I misread the standard or failed to consider other sources of information, let me know.

I would divide the problem into two parts:

What is expected:
The API supports only one content type: "application/json". Therefore any other content type, or using more than one content type could eventually lead to an error. Hence, the service is still working correctly and there is no need to change it.

Why are we getting the error:
This is a different story. it appears to be a bug in the underlying controller, similar to what I could find in multiple reports online. Ideally, this bug will be solved with the next upgrade of the framework.

--> At the moment, no fix will be provided to this bug. We will keep an eye on this behavior with the next upgrade of the stack.

At the moment, no fix will be provided to this bug. We will keep an eye on this behavior with the next upgrade of the stack.

I agree that this is not urgent, nor solely a problem of the LGS. I will also conduct some network analysis to reconstruct how the header ends up in this way. If you want a documentation of the analysis, let me know.


Subclasses

@jfjlaros The subclasses I think are an improvement. I tested this branch with the SocketInterface and made some minor fixes to get it working.

Yes, that looks good to me. I merged your changes in the subclasses branch.

I noticed that only calling _get_methods does not set the method attributes on the class. I just pushed an other proposal.

I tried running the latest and got the error below. Revised the proposal to get things working.
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 40, in _open
    self._connection.open()
  File "/usr/local/lib/python3.5/dist-packages/serial/urlhandler/protocol_socket.py", line 58, in open
    raise SerialException("Port is already open.")
serial.serialutil.SerialException: Port is already open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 184, in __init__
    self.open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 190, in _auto_open_wrapper
    result = f(self, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 212, in open
    super().open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 104, in open
    self.methods = self._get_methods()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 189, in _auto_open_wrapper
    self._open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 42, in _open
    raise IOError(error.strerror.split(':')[0])
AttributeError: 'NoneType' object has no attribute 'split'
>>> i = simple_rpc.SocketInterface('socket://<IP_ADDRESS>:10000')
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 40, in _open
    self._connection.open()
  File "/usr/local/lib/python3.5/dist-packages/serial/urlhandler/protocol_socket.py", line 58, in open
    raise SerialException("Port is already open.")
serial.serialutil.SerialException: Port is already open.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 184, in __init__
    self.open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 190, in _auto_open_wrapper
    result = f(self, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 212, in open
    super().open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 104, in open
    self.methods = self._get_methods()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 189, in _auto_open_wrapper
    self._open()
  File "/usr/local/lib/python3.5/dist-packages/simple_rpc/simple_rpc.py", line 42, in _open
    raise IOError(error.strerror.split(':')[0])
AttributeError: 'NoneType' object has no attribute 'split'

I tested this new wrapper with python and simple_rpc interfaces for both WiFi and serial and they seem to work.

I tested this new wrapper with python and simple_rpc interfaces for both WiFi and serial and they seem to work.

Then I will proceed to merge the changes.

Then I will proceed to merge the changes.


587- remove duplication of values from must contains

Description
When a profile contains an anyOf or an if constraint, the values in the conditions would be duplicated by the inclusion of mustContains.
Changes

Ensure that must-contains values are only emitted if not previously emitted

Additional notes
Does not address whether must contains should be used in full-sequential nor random generation modes (see #586)
Issue
Resolves #587
Resolves #439

I think I could benefit from a few more javadoc comments/explanations in place to show what the new code provides.

Closed as duplicated by #679


Several samples output EXECUTION ERROR #552: COMMAND_ALLOCATOR_SYNC

On my Asus G551JM laptop, running the samples D3DHelloTriangle, D3D12HelloFrameBuffering or D3D12HelloTexture, I get spammed with the following D3D12 error when the NVIDIA GPU is used ( GTX 860M driver 361.91 ):
D3D12 ERROR: ID3D12CommandAllocator::Reset: A command allocator is being reset before previous executions associated with the allocator have completed. [ EXECUTION ERROR #552: COMMAND_ALLOCATOR_SYNC]
The error does not appear if I use the WARP device or hack the sample to use the Intel HD 4600 adapter.
dxcap -info

System32 Info
=============
DxCap.exe                       : 10.0.10586.11 (11/13/15 6:52 AM) 869 KB
DxCaptureReplay.dll             : 10.0.10586.11 (11/13/15 6:51 AM) 8,374 KB
DxToolsMonitor.dll              : 10.0.10586.11 (11/13/15 6:55 AM) 176 KB
DxToolsOfflineAnalysis.dll      : 10.0.10586.11 (11/13/15 6:53 AM) 1,049 KB
DxToolsReportGenerator.dll      : 10.0.10586.0 (10/29/15 8:12 PM) 95 KB
DxToolsReporting.dll            : 10.0.10586.11 (11/13/15 6:57 AM) 156 KB
perf_gputiming.dll              : 10.0.10586.0 (10/29/15 7:34 PM) 338 KB
VsGraphicsCapture.dll           : 10.0.10586.11 (11/13/15 6:54 AM) 154 KB
VsGraphicsExperiment.dll        : 10.0.10586.11 (11/13/15 6:53 AM) 711 KB
VsGraphicsProxyStub.dll         : 10.0.10586.0 (10/29/15 7:37 PM) 88 KB
VsGraphicsRemoteEngine.exe      : 10.0.10586.11 (11/13/15 6:50 AM) 5,433 KB
d3d11_3sdklayers.dll            : 10.0.10586.0 (10/29/15 7:12 PM) 1,308 KB
d3d12SDKLayers.dll              : 10.0.10586.0 (10/29/15 7:13 PM) 979 KB
d3d12warp.dll                   : 10.0.10586.0 (10/29/15 7:28 PM) 3,216 KB
d2d1debug3.dll                  : 10.0.10586.0 (10/29/15 7:30 PM) 420 KB
dxgidebug.dll                   : 10.0.10586.0 (10/29/15 7:37 PM) 337 KB

It certainly sounds like a driver issue.  Thanks for reporting it!  I'll try to get a repro in-house to send over to NVidia.

Great, thanks!

If swapchain buffer count == 2 will has [EXECUTION ERROR #552: COMMAND_ALLOCATOR_SYNC], but swapchain buffer count == 3 no problem.
So why? any one can explain it?

I have the same problem. Suddenly I started to receive this messages, thought everything worked ok before. Even in HelloWindow sample I have GT 740M adapter with 368.22 driver, Windows 10 Pro 1511 build 10586.318.
  You should only ever see this on a laptop with both a discrete and an integrated GPU in it.  We have a fix for this timing issue and it should be available in the Windows Update coming out next week.  Look for KB 3163018 on Patch Tuesday (next week).

Thanks @bobbrow, I'll wait for this patch. And will post the result here and here (#162).

Hi, I'm confirming that KB 3163018 removed this warning for me. I tested HelloWorld samples - all works fine.

Yeah, that did the trick, thanks!

Thanks for verifying!


When executing a mutation, the onCompleted callback should be called AFTER the onError callback.

Describe the bug
As a developer executing a mutation request
When I receive an error from the server
Then I should be able to react to this error in the onError callback, before the onCompleted callback is run.
Example use case:
In my app, I allow the user to update his/her username. And then I Navigator.of(context).pop to the previous route after the mutation. But I don't want to pop the screen if there's an error. Instead I want to be able to show some kind of error message.
To Reproduce
Steps to reproduce the behavior:

Create a mutation using a Mutation widget
Ensure you add an onError and onCompleted params to MutationOptions
Run the mutation and receive a server error from your api.

Expected behavior
I expect the onError callback to be run first. In this callback you can save the error to the widget state.
When the onCompleted callback runs, it can check against this state, enabling us to run any branching logic if an error exists or not.
Relevant code:
https://github.com/zino-app/graphql-flutter/blob/master/packages/graphql/lib/src/core/query_options.dart#L181
Submitted PR:
https://github.com/zino-app/graphql-flutter/pull/681

consolidating into #643


Crystalite Armor's Regen effect doesn't work as intended

Issue and Steps to Reproduce
While wearing the Crystalite Armor set, its regen effect doesn't seem to work. The other status effects that the armor pieces give seem to work just fine.
To reproduce:

Create a new Minecraft 1.17.1 instance
Install Fabric Loader, BetterEnd, and dependencies
Create a new world
Take damage until at half-health and unsufficient hunger to disable natural regeneration
Wear Crystalite Armor set.

Versions

Minecraft Version: 1.17.1
Fabric Loader 0.11.6
bclib-0.2.4
better-end-0.10.5-pre
fabric-api-0.37.1+1.17

Expected
The player should be gaining health.
Actual
The player isn't gaining health.
Additional Details

Regeneration from other sources (e.i. from potions, /effect commands, etc.) works normally. I'm guessing it's the duration of the regen effect given by the armor that is causing the bug.
I would've tried to fix it myself, but I'm not familiar with the net.minecraft.* package, so I have no idea where to start.

Duplicate of #262


allow _mult to return early if zero

unless you're intentionally not returning early. I know some algorithms, intentionally do all steps to prevent against timing attacks. I don't think that's the case here, but just in case, mentioning it


Relative paths in compare_* broken

I was testing out #14, but ran into a lot of problems with how relative paths are used in the compare_* scripts under tests/.
When I run from inside the tests/ directory, I get
$ python compare_methods_coupled.py
Traceback (most recent call last):
  File "compare_methods_coupled.py", line 14, in <module>
    import differential_correction
ModuleNotFoundError: No module named 'differential_correction'

When I run from the repository root, I get
$ python tests/compare_methods_coupled.py
Loading the periodic orbit family from data file x0_tpcd_deltaE0.1_coupled.dat

Traceback (most recent call last):
  File "tests/compare_methods_coupled.py", line 165, in <module>
    x0podata = np.loadtxt(data_path + po_fam_file)
  File "/home/jtk/.python/envs/uposham/lib/python3.7/site-packages/numpy/lib/npyio.py", line 968, in loadtxt
    fh = np.lib._datasource.open(fname, 'rt', encoding=encoding)
  File "/home/jtk/.python/envs/uposham/lib/python3.7/site-packages/numpy/lib/_datasource.py", line 269, in open
    return ds.open(path, mode, encoding=encoding, newline=newline)
  File "/home/jtk/.python/envs/uposham/lib/python3.7/site-packages/numpy/lib/_datasource.py", line 621, in open
    encoding=encoding, newline=newline)
FileNotFoundError: [Errno 2] No such file or directory: '../data/x0_tpcd_deltaE0.1_coupled.dat'

The problem is that sys.path.append('./src/')  and data_path = "../data/" don't agree.
The correct solution here is two-fold:

You shouldn't need to do the sys.path hack, if you make the package properly installable. i.e., your setup.py should define a module named uposham, so that once you've run setup.py install you can import uposham.differential_correction from anywhere.
All other paths, everywhere in the repository, should be constructed based on the magic __file__ variable (see https://stackoverflow.com/questions/9271464/what-does-the-file-variable-mean-do).

I imagine this will impact many of the scripts under examples/ as well.
(Part of https://github.com/openjournals/joss-reviews/issues/1684)

I see the problem and here is what I understand.
Using the setup.py install, we can make the methods importable which is congruent with python style. However, testing the methods requires importing the system-specific script (this has the definition of the vector field) from the examples directory and the initial condition in the data directory. So setting the relative paths with respect to the root directory of the package is where the __file__ variable comes into play. I'm taking your suggested approach along with the advice here: https://docs.python-guide.org/writing/structure/#test-suite to fix this.

@Shibabrat sounds right to me!


6 bug fixes

3rd point isn't a fix, it creates a bug

It is not create a bug, it is a running bug

I will open another one

fxxk


Add an Istio test to verify poxy redirection

We need to extend test coverage for scenarios such as - https://github.com/cilium/cilium/pull/14271, where proxy redirection can break.
@jrajahalme : "The test scenario is that there are two incoming TCP connections for an Istio POD destination, both with the same source address and port. The second one would get misclassified as HOST due to SNAT using the destination host address (not sure if loopback, though). Allowed traffic could be dropped, and at worst denied traffic could be allowed since we allow everything from HOST!"

The destination port has to be different, otherwise the the 5-tuples would collide already at the source. The point is that iptables REDIRECT changes the destination port to a specific value, necessitating SNAT to keep 5-tuples distinct.


chore: release main

:robot: I have created a release beep boop
@arroyodev-llc/prisma-model-types: 0.1.2
0.1.2 (2023-05-31)
Bug Fixes

model-types: Do not create ambient module (a3fa6a4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/BradenM/prisma-utils/releases/tag/%40arroyodev-llc/prisma-model-types-v0.1.2 :sunflower:


Plugin not support on Latest Community Builds from git

The plugin has an upper bound of 172.* - however the community repository has moved onto version 173.*

BashSupport incompatible with PyCharm professional 2017.1.13
please advise

@talios Is there already an EAP build of 173.x available? Do you build the community version from source?

@sbecker11 Sorry, I don't understand. There is no 2017.1.13 as far as I can tell. BashSupport should be listed under Settings>Plugins>Browse repositories.
If it's not available please post more details about your version of PyCharm and why you think that it's not supported.

@jansorg I build/track from git source yes.

@talios I see, I usually provide a new version as soon as a new public EAP is available. I don't have the time atm to build against current trunk of IntelliJ.


Add host networking doc

Signed-off-by: Zenghui Shi<EMAIL_ADDRESS>Related-Issue: https://issues.redhat.com/browse/USHIFT-640
Related-Issue: https://issues.redhat.com/browse/USHIFT-663

@zshi-redhat, could you add a reference to this doc from the top-level README.md?

/assign @mangelajo

/approve on contents, waiting on @ggiguash comments

@zshi-redhat, could you add a reference to this doc from the top-level README.md?

added.

/lgtm


Reorganize test_bash_actions.py

Please

Move the test out of the class.
Remove the class and the bottom __main__ part.

You also need to remove class TestActions(unittest.TestCase): since it is no longer needed.

Now, install a tool called pyflakes (pip install pyflakes) and then run
pyflakes test/test_actions.py

and fix the file according to the warnings.
Then install isort, and run it over the file. isort will sort the imports.
Then install yapf, and run
yapf -i --style "{based_on_style: chromium, indent_width: 4}" test/test_actions.py

which will format the file...
These are tools to keep source files clean and in consistent style.

Note that you can set yapf as your default formatter in VS Code. You will need to set {based_on_style: chromium, indent_width: 4} as Python > Formatting: Yapf Args to apply the same style to all files.

some of the warnings are about how the variable 'script' is unused. The tests previously did not come with assert statements that used this variable. Is it enough to remove the script variable assignment and just have execute_workflow, or are there assert statements I should be testing?

Yes, remove the assignment if the assigned variable is unused.

Some tests are good enough to have a single execute_workflow call because they meant to test if SoS can handle them without raising an error.

Okay, I ran both test_actions.py and test_bash_actions.py through pyflakes, isort, and yapf.

Thanks. You could write a small script to do all these, although fixing warnings have to be done manually.


React.pureComponent ignored (React v15.3.0)

Using eslint-plugin-react v6.0.0 "react/prop-types": ["error"] rule does not generate error for React.PureComponent which is added in react v15.3.0.
Example:
"react/prop-types": ["error"]
import React from 'react';

export default class extends React.PureComponent {
  render() {
    return (

        {this.props.no}

    );
  }
}

Thanks for the report! I think we need to update some of our utility methods to better detect these new things. e.g. https://github.com/yannickcr/eslint-plugin-react/blob/763382f8d4ec5961c765bbb71cd2698016da5b53/lib/util/Components.js#L195
@ozum would you be interested in submitting a PR for this?

Unfortunately,I don't have enough React experience for this PR. This is my first week with React.

Working on it


Internal Incident Management Process

Backlog Task
Develop an internal incident response process.
Completion Criteria

[ ] Our incident response process has been documented somewhere accessible to the team and the CDC.

Tasks

[x] Ask for incident management process from CMS QPP program. - @halprin
[x] Ask for incident management process from CMS MPSM program. - @halprin
[x] Brainstorm what we want in an incident management process. - @jcrichlake, @halprin

Look up CMS Partners, and QPP Program, MPSM Program as inspiration.

@jcrichlake and I did some brainstorming on what should be included in the incident management process.

Common Azure Log Workspace search queries or query fragments.
"So an incident happened and you were woken up, what do I do?"

Incident roles and their expectations.  E.g. the incident commander.
Expected communication to those outside our team.

There will be times that there are outages, and who do we tell that this is happening.

Schedule blameless postmortem.

The concept of, "Your job is to get production back and running, not triaging and root-cause the issue.  That comes later."
Do we need a product person on the rotation?
Process for handing incidents over to ReportStream or at least looping in a ReportStream engineer.
Have to goal of first awareness of an issue coming from an automated process.  Maybe we include this concept in the blameless postmortem so we ask ourselves we could automate the alert for next time.
Do we come up with a severity for these incidents?
The incident manager will spin-up a Zoom (or Gather).  Peter can make a dedicated Zoom meeting link.
Blameless postmortem template.
Dedicated incident Slack channel.
Incident log template.
No required rubber stamps.  We are able to do what we need to do.
What happens if a code change is required to bring prod back, but a code changes  are required, but that requires another dev approval to merge the PR.  How do we get around that?
List of helpful links.
Runbooks if we have identified "common" failure scenarios.

The symptoms.
Ways to confirm that the incident is indeed due to this failure.
Ways to fix this failure.

May be useful to define different on-call schedules with behaviors set according to severity level (at BEDAP we had schedule groups for 9-to-5 vs 24/7 depending on severity). Also need to define escalation policies (e.g. what happens when the on-call person doesn't ack the incident in x minutes?)

Miro brainstorming session can be found here: https://miro.com/app/board/uXjVNtisWTU=/


openxray: update package description

Motivation for this change
To correspond the current project description.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Everything is fixed.


ravenjs cdn blocked by https://github.com/lightswitch05/hosts

remove the whole list, most likely it's full of false positives.

@Deprofets if you have issues with my list, you are welcome to open a ticket. In fact, there is even link to it in the readme. This is a very active project and I don't want to add to the noise.
If you are interested in my opinion on ravenjs, you can read a conversation about it here: https://github.com/lightswitch05/hosts/commit/6a256c58cc46b43e5961373c3e5640743c178932#commitcomment-29581997
And related ticket: https://github.com/getsentry/sentry/issues/8918
I hope that clears things up :1+:

@Deprofets Daniel @lightswitch05 has steered this to the right place, so I'm closing this now.


update diceyclock

just for prsnl use

I would like to emphasize the fact that the user needs to insert his own token.

You should not leak your token this way. Anyone getting a hold on the token can control your bot!


[experimental] Cache all internally created Printers

More invasive version of #52382 which gets rid of the rest of the createPrinter calls at the cost of changing our internal API to accept handlers too.
This isn't a totally clean approach, but I want to see how it goes.

@typescript-bot perf test this

Oh, yeah, I forgot that there was one pesky test.


Aida famine new

@huard What's the story with this PR and #174?

That's the branch used by Aida for her project. Its necessary to keep this branch alive for reference, but the PR can be closed.


Titler

A picture tells a thousand words
Before this PR

After this PR

Coverage decreased (-1.2%) to 46.693% when pulling 1b5820a008688d500c105af73163f2305aca0297 on bjornreppen:titler into eede7d867442a2876bc03e00acc0204acd9e2133 on Artsdatabanken:master.


Raise time threshold for 4xx alerts

At present we get plenty of unactionable, flapping alarms. So far, they
have shown us nothing of value. Raise the time consecutive errors need
to be seen before we alert.

Merged in 276645b.


fixes issue with stderr when there was "]" character.

Fix log message handling for messages with ']' character (Issue #48924)
This commit resolves the issue where log messages containing the ']' character were incorrectly processed due to the explode function splitting the log string on this character. This issue was traced to the explode function in ServeCommand.php, which removes the DateTime from the actual log message.
https://github.com/laravel/framework/blob/20085feef61119b58fef540cba79595b4a85a89a/src/Illuminate/Foundation/Console/ServeCommand.php#L290
Previously, a log message like [2023-11-11 10:08:06] local.ERROR: [Test] This is a test error log entry
P.S. The framework prepends  DateTime. It's not part of user input
That was split into an array, with only the second element being printed, leading to the loss of part of the log message.
// Result after  explode('] ', $line);

Array
(
    [0] => [2023-11-11 10:08:06
    [1] => local.ERROR: [Test
    [2] => This is a test error log entry
)

https://github.com/laravel/framework/blob/20085feef61119b58fef540cba79595b4a85a89a/src/Illuminate/Foundation/Console/ServeCommand.php#L291
The fix involves replacing the explode logic to handle log messages with  ']' characters, ensuring complete and accurate logging. The updated code now processes log messages correctly, preserving the full content.

@nikopeikrishvili This is a good fix, thank you! I'm wondering, though... this still relies on all output lines starting with something in brackets, that is, a specific log format, right?
There are currently two problems with the way artisan serve handles process output. One, it essentially wraps the built-in PHP webserver, which doesn't report the request URL, so the serve output simply shows dots and the request time in seconds.
Two, it assumes developers don't touch the logging config.
This issue got me thinking if it really has to be that way. If there was an ad-hoc "serve" log channel that would wrap all output to stderr in JSON, we could solve both issues: On requests, issue a specific log message with the request details, so serve could display the URL (like Octane does); and on application-generated log messages, print the output without any truncation. This would even allow using different styling based on the severity.
@taylorotwell would you be interested in a PR that enables proper logging integration for serve, such that it would show request URLs and format messages according to their severity in the output?

@Radiergummi Taylor doesn’t sees comments on closed prs so your best bet is to just send in a pr for him to review.


Intellij Plugin set to Google (internal) always removes trailing commas

My team just migrated from ktlint to ktfmt where we are leveraging the Gradle Plugin https://github.com/cortinico/ktfmt-gradle in CI. It is configured with the option googleStyle(). With the Gradle plugin, all trailing commas are left intact. However, when developers use the Intellij plugin to reformat the code, with the Code style set to Google (internal), the plugin seems to strip away all trailing commas.
The only way to keep the Gradle plugin's behavior consistent with the Intellij plugin's behavior is to use the default Code style for both. But then continuation indents require 4 spaces and we'd have to reformat our entire code base again.

Closing this since it appears it was the ktfmt Gradle plugin that was not properly adhering to the Google Style.

https://github.com/cortinico/ktfmt-gradle/issues/260


Readme

Please add more informative readme. With redirection and iframe usage.

This library is the Laravel binding of the Amazon Pay API SDK, so please refer to the Amazon Pay API SDK documentation.


Adding RequesterId and RequesterEmail to Application CSV

Added

Adding RequesterId and RequesterEmail to Application CSV
Delivers #148008039

✋  REVIEW ONLY DO NOT MERGE

@EvanBarbour3


rewrite Trail.compare to use nodes instead of indices

Promoting TODO to issue where we weren't reindexing before looking at indices. @jonathanolson said it would be better to upconvert to look directly at Nodes anyways.

Implemented above, the tests for trail comparison are working, and we were able to get rid of the reindexing assumption ( though I still kept the assertion in because it seemed nice to do until we needed to remove it to compare on an stale-indexed trail. @jonathanolson please review.
Note that this implementation heavily relies on this assertion:
https://github.com/phetsims/scenery/blob/b827f5295b3972db2aebc707f71c09571bd92638/js/util/Trail.js#L825
This is because I use i-1 in comparison, and if the first node in each trail is not the same, then we will get an out of bounds exception.
Anything else here? Do you like this better than indices?

Looks great, and very clean. The assertion about trails having the same root node seems quite necessary. Thanks!


Additions to Doc: Local VM Install

some additions to get through the installation on debian jessie

Great, thanks!


feat(Enterprise Usage Reports): add service to project

PR summary
This PR adds the Enterprise Usage Reports service to the project, including examples and integration tests.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

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


We need a float: right type buttons

The new UI needs a close button that has the float: right style.
Because of this, function psgeoGenericMenuButton() needs to accept one more parameter: buttonId

Aaaand,
done.


:warning: Action Required: Replace Deprecated gcr.io/kubebuilder/kube-rbac-proxy

This issue was raised because we found the imagegcr.io/kubebuilder/kube-rbac-proxyin the files of this repository.
Description
:warning: The image gcr.io/kubebuilder/kube-rbac-proxy is deprecated and will become unavailable.
You must move as soon as possible, sometime from early 2025, the GCR will go away.

Unfortunately, we're unable to provide any guarantees regarding timelines or potential extensions at this time. Images provided under GRC will be unavailable from March 18, 2025, as per announcement. However, gcr.io/kubebuilder/ may be unavailable before this date due to efforts to deprecate infrastructure.

If your project is using gcr.io/kubebuilder/kube-rbac-proxy, it may fail to work when the image can no longer be pulled. If not, nothing is required, and you can close this issue.
Using the image gcr.io/kubebuilder/kube-rbac-proxy?
kube-rbac-proxy was historically used to protect the metrics endpoint. However, its usage has been discontinued in Kubebuilder. The default scaffold now leverages the WithAuthenticationAndAuthorization feature provided by Controller-Runtime.
This feature provides integrated support for securing metrics endpoints by embedding authentication (authn) and authorization (authz) mechanisms directly into the controller manager's metrics server, replacing the need for (https://github.com/brancz/kube-rbac-proxy) to secure metrics endpoints.
What To Do?
You must replace the deprecated image gcr.io/kubebuilder/kube-rbac-proxy with an alternative approach. For example:

Update your project to use WithAuthenticationAndAuthorization:

You can fully upgrade your project to use the latest scaffolding provided by the upstream versions of  Operator-SDK or Kubebuilder tools or manually make the necessary changes. Refer to the FAQ and Discussion or migration guide for detailed instructions on how to manually update your project and test the changes.

Alternatively, replace the image with another trusted source at your own risk, as its usage has been discontinued in Kubebuilder.

:bulb: The section How can I manually change my project to switch to Controller-Runtime's built-in auth protection? at FAQ provides guidance on how to manually update your projects and test it out.

For further information, suggestions, and guidance:

📖 FAQ and Discussion
💬 Join the Slack channel: #kubebuilder.

NOTE: This issue was opened automatically as part of our efforts to identify projects that might be affected and to raise awareness about this change within the community. If your project is no longer using this image, feel free to close this issue.

We sincerely apologize for any inconvenience this may cause.
Thank you for your cooperation and understanding! :pray:

This project doesn't use kube-rbac-proxy, this value is just in static test data.

I think all are in the samples/testdata: https://github.com/search?q=repo%3Aredhat-openshift-ecosystem%2Fopenshift-preflight gcr.io%2Fkubebuilder%2Fkube-rbac-proxy&type=code
So mainly you might to sort it out by just removing it


Playbackrate more than 1 won't finish the song (experimental branch)

Describe your bug here.
When I played any song that Playbackrate more than 1 (lower than 1 won't happen) It won't end the song. the result like this in the picture (Psych Engine 0.7b latest git)

Command Prompt/Terminal logs (if existing)
-

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no

hmm, I'mma see if I can reproduce the issue


How to get some credits and multi-chain wallet?

Hello,
I am new to this repo, I read some documents, and I found many API calls
need credits, I am now in free plan, I want to do more testing before I
can subscribe to a paid plan.
So, how can I get some credits to use those API calls which need credits?
Finally, I want to have one wallet, which I can have at least the following
4 network addresses:
Ethereum, BSC, Solana and Tron.
I want to be able to receive cryptos in the multi-chain wallet, and able
to send the cryptos from my wallet to other wallet address.
For example: I want to be able to receive USDT from another address via
Ethereum(ERC20) network, and able to send USDT from my wallet address to anoter
address via BSC(BEP20) network.
Let me know if I can use the repo to do this?
To create multi-chain address wallet which can cross 4 different networks,
how many addresses I have to create?
I think 3 will be enough, right?
One address for both Ethereum and BSC, another one for Solana and yet
another one for TRON network.
Let me know if I can do this with the repo and if yes, how to proceed.
One final question: how can I find the gas fees before I send cryptos out of my multi-chain wallet?
Thanks

Hello @zydjohnHotmail,
Can we please move the discussion to https://discord.com/channels/847940290903932939/914832388431958036
I'll be able to answer all of your questions related to use cases there. Github issues it more for technical issues with the SDKs and not so well suited for support discussions.
As for the question the free plan comes with unlimitted credits but you can only make 5 requests per second.
Multi currency wallet needs to be implemented on your side from separate wallets as this SDK is not supporting this scenario at the moment.