npm ci -> 3 vulnerabilities (2 high, 1 critical)

Same setup as in #414; in addition to the problems there, there was also this message at the end of npm ci: 3 vulnerabilities (2 high, 1 critical).
npm audit reports:
# npm audit report

json5  <2.2.2
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix`
node_modules/@babel/core/node_modules/json5
node_modules/adjust-sourcemap-loader/node_modules/json5
node_modules/file-loader/node_modules/json5
node_modules/json5
node_modules/mini-css-extract-plugin/node_modules/json5
node_modules/posthtml-loader/node_modules/json5
node_modules/resolve-url-loader/node_modules/json5
node_modules/thread-loader/node_modules/json5
node_modules/vue-loader/node_modules/json5
node_modules/yaml-loader/node_modules/json5
  loader-utils  <=1.4.2
  Depends on vulnerable versions of json5
  node_modules/loader-utils

qs  6.5.0 - 6.5.2
Severity: high
qs vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-hrpp-h998-j3pp
fix available via `npm audit fix`
node_modules/request/node_modules/qs

3 vulnerabilities (2 high, 1 critical)

Is this... something to be expected?

Yes, it's quite common for there to be some vulnerabilities listed for dependencies. Feel free to open a PR to resolve them if you wish.


Generalize "region" to account for an arbitrary number of grouping variables

Grouping variables may include: season, geography, demographics, etc. Two possible strategies are:

a column for every foreseeable grouping variable, with dummy entries when not provided
a dictionary of data frames, where the dictionary keys are the grouping variables and the values are (date, estimate) data frames

Discuss a strategy, pick one, and systematically replace the "region" placeholder with the chosen strategy.
Also, don't use the word "region" since it means something specific in certain applications.

Completed via PR #53


add ZPM support to increase usage

Cool! And once you republish it on OEX (with ZPM checkbox on), everyone will be able to install the package with " zpm install "fitlib-framework"


Basic documentation for adding a new task under new heirarchy

Can we get a brief writeup of how to add a new task under the new structure? I've attempted to add a new task. I created a new task file based on another task and added it to PreferenceUtilities.vb. It shows up in the Edit task list dialog. I cannot get it to show up in the Tasks tab. I have a couple of tasks I would like to add, but I'd like to get them in cleanly using the new and improved structure. I looked through the rest of the project and I don't see any other logic building the tasks list, though I'm not usually a VB.Net user so I may be overlooking something.
You can see what I've done in my RegenFlatModel branch if it helps: https://github.com/ChrisNeCle/SolidEdgeHousekeeper/tree/RegenFlatModel

Adding it to BuildTaskListFromScratch() like you did is what I would have suggested.  As you know, I started the task list updates but got interrupted and haven't finished.  I'm dying to do so, but it will be a while, unfortunately.
In the mean time, when I get a chance I'll dig around and see if I can at least get you going.

What happens if you delete task_list.json in the Preferences directory?

That seemed to do the trick. It's working now. I'll put together another PR once I can get through some more testing. I can also start an issue for the task list not updating between updates if that would be helpful.

Sounds good.  Looking forward to seeing your handywork!
Yes, please add an issue about the task list not updating.  It shouldn't be hard to fix, but might be hard (for me) to remember.

No, that's where I left off.  It lets you make changes on the form, but does not yet update the real task list.

Getting back to the original request, I added a quick note in Form1.vb, just below the Property Declarations.  It's more of a placeholder for now, but if you think of anything I should add, please don't hesitate to let me know.

Closing as complete.


Russian localization gives an error.

Hi. Russian localization gives an error.
https://imgur.com/a/UCqrv

The ruRU file isn't properly written.
See: https://github.com/anhility/BestInSlotRedux/pull/24

That is really weird that it don't encode some of the strings. Will look into it.

Found the error. On the CurseForge translations page so had each strings a newline at the bottom so the end so the addon encoded the characters wrongly. Fixed them and I'll push a new release later today.


Interest in getting these benchmarks easier to run across systems / NPUs

Just today, Intel's CEO said:

"AI PC benchmarks are needed. We don't have proper comparisons yet."

Just marking my interest in helping get these benchmarks to run well across a variety of systems. This month my concrete goal is to try to get a benchmark to compare the Coral (supposedly 4 TOPS, tops) to the Hailo-8L (supposedly 13 TOPS).
It'd be nice if there were some benchmarks we can run that compare different NPUs somewhat fairly using real world scenarios, like what this repository does. Geekbench, Cinebench, etc. are decent for what they are, and this could be added to the testbench for all the upcoming 'AI PCs', 'Copilot+' PCs, Edge AI boxes, whatever.

Hey! Yes, these scripts were written — evolved really over the course of a number of articles — and aren't really set up to be automated, are fiddly to run, and they have no tests. I wrote them at a time when there was no standard benchmarks for models, and honestly I still think that the real world(ish) scenario I use here is far more illustrative of performance than some of the fancier and (in theory) more complete benchmarks.
One thing I'd desperately want to keep is simplicity, one of the things that these benchmarks don't do is (much) optimisation. They take an image, throw it at a model, and measure the result. The code is simple, and what it measures at that point is comparable to the performance an average developer doing the task might get, rather than a machine learning researcher than understands the complexities and limitations of the models and how to adapt them to individual platforms.

Ping (perhaps?) @petewardenand @dansitu for their comments?
Pete, Dan! These are the scripts (and models and the original image) I used back when I benchmarked accelerator hardware back in 2019. The code is slightly out of date, but changes to get it working again are probably fairly minimal — although installation of coralpy and other supporting things is somewhat problematic these days — Jeff and I have been discussing the need for a "real world" benchmarking for NPUs. We seem to have a fresh batch of nextgen NPUs popping up right now, e.g. Hailo and others. Thoughts?

I guess the first step is getting the code working again before a proper refactor.

So, dropping AI2GO as a framework as it's no longer available the frameworks used would be,

TensorFlow
TensorFlow Lite
OpenVINO (on Intel hardware)
Edge TPU (or Coral hardware)
TensorRT (on Nvidia hardware)

Hardware to test against would be,

Raspberry Pi
** ~Raspberry Pi 3, Model B+~ (no longer relevant?)
** Raspberry Pi 4
** Raspberry Pi 5
Intel
** ~Movidius Neural Compute Stick~ (no longer relevant?)
** Intel Neural Compute Stick 2
Nvidia
** Jetson Nano
Coral
** USB Accelerator (using USB3 only?)
** M.2 Accelerator A+E key (should get same result?)

What new hardware should we be looking at, and what frameworks does it need? Presumably Hailo, what else?

I'd also like to see in general how other new platforms touting built-in NPUs fare—so like Apple M4, Intel Lunar Lake, Snapdragon X, and AMD Strix Point... some of these platforms are hard to come by (and may also be a bit weird), but hopefully have bindings we could use.
I think the shorter term goal is just making the tests simple and reproducible (make it really easy to run, maybe even a convenience script). Then making the depth of support grow if that first goal's met!

I'd also like to see in general how other new platforms touting built-in NPUs fare—so like Apple M4, Intel Lunar Lake, Snapdragon X, and AMD Strix Point... some of these platforms are hard to come by (and may also be a bit weird), but hopefully have bindings we could use.

That's going to heavily depend on software support. Just running TensorFlow on a lot of these platforms will work, but be unaccelerated by whatever built-in NPU the platform has onboard. I had started to look at the Beaglebone AI board, which had just been pre-announced as I went to work for Pi, but the software just wasn't there, and it seemed unfair to run unaccelerated TensorFlow models on the board and get a really bad result. Things seem more mature there now, and there does seem to be software, but it's all based on TI's TIDL framework.
Poking around the Hailo docs it looks like there are python bindings to the HailoRT framework. So we should be able to take the benchmark's TensorFlow model and convert it to HEF format for that family of hardware at least.
But this is the thing that really annoys me. Every manufacturer feels like they need to reinvent the wheel. Every new hardware platform has a new software framework. Even Google created a whole framework (two, first edgetpu and then pycoral) on top of TensorFlow Lite (which is their own software!) before you can use their Coral hardware. That means you have to jump through hoops to convert a normal TensorFlow model into whatever weird format you need this time around. Getting things working on Intel hardware with OpenVINO was especially hard!

I think the shorter term goal is just making the tests simple and reproducible (make it really easy to run, maybe even a convenience script). Then making the depth of support grow if that first goal's met!

Agreed. I'm trying to decide whether then "what platform am I on" decision should be made as close to inferencing as possible, or right at the start. The obvious architecture would be to ingest a TensorFlow model and then do the model conversion automagically. So the user just throws an arbitary model at the script and it figures out what architecture its on, converts it to the right format, and runs the benchmark. But that's almost certainly going to be impossible, converting a model is a very manual affair in most cases as it takes knowledge of the model internals.

Spun up an issue #2 to keep track of Hailo support.

I wonder if there's any value in working with tinymlperf on merging/extending these benchmarks?
https://mlcommons.org/2021/06/mlperf-tiny-inference-benchmark/

I'd also like to see in general how other new platforms touting built-in NPUs fare—so like Apple M4, Intel Lunar Lake, Snapdragon X, and AMD Strix Point... some of these platforms are hard to come by (and may also be a bit weird), but hopefully have bindings we could use.

Apple M4 uses arm's SME so it should be possible to test that with CPU code that has appropriate optimisations. Maybe using something like TinyGrad or lama.cpp

The Beaglebone AI board

There's now also a Beaglebone AI64. The Jetson Nano is also now EOL replaced by Jetson Orin Nano.

But this is the thing that really annoys me. Every manufacturer feels like they need to reinvent the wheel. Every new hardware platform has a new software framework.

Does it make sense to add a generic OpenCL/Vulkan compute test framework? Most small edge devices that have a GPU have the potential to do OpenCL if the drivers support it.


UnixPB: Only Install CMake on mac where not already present.

This should fix the failing GHA, as the MacOS 14 runner, already has cmake installed.
Checklist

[X] commit message has one of the standard prefixes
[X] VPC/QPC not applicable for this PR

I think the location is different for x64 and aarch64, although given that we're only seeing the problem on one of them (AFAIK) I'm ok with this for now.
I'm curious though - do we know why this causes the problem? I'd have hoped that state: present would make it do the right thing and only install if it's not there - almost feels like cmake has been installed on the runners in a manner which isn't compatible with brew. We should also consider that if it's an "unofficial" install we've no idea where it came from or what version it is.

@sxa Im not sure how the github runners are constructed, Im assuming without ansible, but I can ask the question upstream, on my bug... an alternate solution for the github action is to remove it from the runner, so the playbook can install the correct version, as this only occurs on the github runner, it works as expected everywhere else.

Going to quickly test the removal from the runner, and allowing the playbook to run normally :)

Removing cmake from the runner is not straightforward, so the ansible check is currently a tidier solution, I'll ask some questions upstream.

Ran the Mac OS X 11 action twice but I can't see the clear reason for failure.

Also a quick note that the macos-11 runner will be deprecated from 28th June see https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
The macos-11 label has been deprecated and will no longer be available after 6/28/2024.

Also a quick note that the macos-11 runner will be deprecated from 28th June see https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
The macos-11 label has been deprecated and will no longer be available after 6/28/2024.

I'd just kill it, maybe switch it out with macos-13?

Also a quick note that the macos-11 runner will be deprecated from 28th June see https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
The macos-11 label has been deprecated and will no longer be available after 6/28/2024.

I'd just kill it, maybe switch it out with macos-13?

Yeah if it's being deprecated that seems like a reasonable course of action


JS SDKs: take env variables for instantiation

Currently, the Langfuse SDK is not able to take environment variables for configuration. Instead, it relies on options on the constructor.
We want to have one function, which takes params: { publicKey?: string; secretKey?: string } & LangfuseCoreOptions and returns the same type.

This function should have the following behavior:

check if values for publicKey, secretKey, or variables within LangfuseCoreOptions were provided.
If not, check the environment variables and take values from there.
If still no variable was defined, log an error if the input param was required but not provided by either the constructor or the env variable. No exception is thrown.

use existing getEnv utility to access environment variables
the following variables are available:

LANGFUSE_RELEASE
LANGFUSE_PUBLIC_KEY
LANGFUSE_SECRET_KEY
LANGFUSE_DEBUG
LANGFUSE_HOST

Please adjust all environment variables in the CI and tests to reflect the change.
The function should be called as first action in the two Langfuse objects (https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse/src/langfuse.ts#L20, https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse-node/src/langfuse-node.ts#L28) and LangfuseWeb (https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse/src/langfuse.ts#L76-L77)

As of there, the values returned from that function will be used internally

Overview over all constructors:

Langfuse: constructor(params: { publicKey: string; secretKey: string } & LangfuseOptions)

https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse/src/langfuse.ts#L20
extends LangfuseCore and is the object exposed to SDK users for the backend

Langfuse (node): constructor(params: { publicKey: string; secretKey: string } & LangfuseOptions)

https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse-node/src/langfuse-node.ts#L28
Backend SDK for users on old node versions, also extends LangfuseCore

LangfuseCore: constructor(params: { publicKey: string; secretKey: string } & LangfuseCoreOptions)

extends LangfuseCoreStateless
Contains additional logic to the LangfuseCoreStateless class to improve developer experience

LangfuseWeb: constructor(params: { publicKey: string } & LangfuseOptions)

https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse/src/langfuse.ts#L76-L77
extends LangfuseWebStateless
This is the SDK which our users can use in react applications

LangfuseWebStateless: constructor(params: { publicKey: string } & LangfuseCoreOptions)

extends LangfuseCoreStateless

LangfuseCoreStateless: constructor(params: { publicKey: string; secretKey?: string } & LangfuseCoreOptions)

https://github.com/langfuse/langfuse-js/blob/04a75b406010368326bf3e12336f2a9bb9d4c210/langfuse-core/src/index.ts#L100
LangfuseCoreStateless is extended by LangfuseCore
LangfuseCoreStateless contains all API calls to our server

Hey Max! Can i give it a go?

Hi @maxdeichmann,
Quick question: It states that we should adjust environment variables in the CI and tests to reflect implemented change, kindly provide an insight on how we can efficiently test functions that take { publicKey?: string; secretKey?: string } & LangfuseCoreOptions as params.


Orcish Fury triggering every time

Not sure if I have this set up properly, but orcish fury is presenting me with a dialog every time on my barbarian.
I have an attribute (tertiary) set up as "Orcish Fury" with a short/long rest recharge.
When I attack, it triggers the orcish fury dialog. I click yes, use OF. Midi-QOL's cards show the orcish fury damage, but not the main damage.

Then, it keeps asking me if I want to use OF, even if the attribute count is 0/1.
Here's how I have it set up:

I also get negative uses in the attribute field if I continue to use it.

Thoughts?

I will look into this over the weekend, thank you...

it's still not showing the base damage. It flashes for a split second, then disappears. And it's still offering to use orcish fury, even after its set to 0/1 in the resources section.

Have fixed the issue of it continuing to call orcish fury every time. (see my edit in the macro...) but have not figured out why it's not hiding the base damage... how do you have midi configured to show damage cards?

Ok. have also found out it's an issue with how midi displays the damage cards. If either merge rolls to one card or condense attack/damage rolls are checked, it will not display the base damage done.

more on this. I see you've taken @tposney's new Midi.QOL.DamageOnlyWorkflow from his divine smite example. But that's hiding the base damage for some reason. Working on this one.

I have re-opened this issue since it seems like you are seeing something I do not.
I do not see a proposed change to the macro, save a copy of your macro and put the extension txt on it, and attach it to a message please.  make sure to give yourself credit at the top of the header for the fix.  I will review and integrate it.   I only use midi for the damage cards which you see as my example above.

thanks for your reply. I'm not sure what is happening... I also noticed that your macro won't work if you don't have the [hints] on the damage roll for Midi, so I added some work on that as well. My modified macro is here:
`console.log("args: ", args)
/*****
Orcish Fury
USEAGE : AUTOMATIC
This item should be placed on the character that has the Orcish Fury Feat.
Until used, during each melee attack the player will be prompted if they
want to use this ability.
MANEUVER DESCRIPTION:
When you hit with an attack using a simple or martial weapon, you can roll one
of the weapon’s damage dice an additional time and add it as extra damage of
the weapon’s damage type. Once you use this ability, you can’t use it again
until you finish a short or long rest.
v0.2 April 12 2022 jbowens #0415 (Discord) https://github.com/jbowensii/More-Automated-Spells-Items-and-Feats.git
*****/
// make sure the attempted hit was made with a weapon attack
if (!["mwak","rwak"].includes(args[0].item.data.actionType)) return;
if (args[0].macroPass === "preDamageRoll") {
const pcActor = MidiQOL.MQfromActorUuid(args[0].actorUuid);
const target = await fromUuid(args[0].hitTargetUuids[0] ?? "");
// check to make sure only one target is selected
if ((args[0].targetUuids.length < 1) || (args[0].targetUuids.length > 1)) {
	ui.notifications.error("You need to select a single target.");
	return;
}

// Find Superiority Dice Resource
let orcishFury = await findSheetResource(pcActor, "Orcish Fury");
if (!orcishFury) {
	ui.notifications.error("Could not find a resource labeled 'Orcish Fury'...");  // fixed typo on resource
	return;
} else if (orcishFury.value < 1) return; // here is the change needed for the value.

// create a dialog and prompt to spend a superiority die
let dialog = new Promise((resolve) => {
	new Dialog({
		// localize this text
		title: "Orcish Fury:",
		content: "
Use Orcish Fury for extra damage?
",
		buttons: {
			one: {
				icon: '

</>',
				label: "
Yes
",
				callback: () => resolve(true)
			},
			two: {
				icon: '

</>',
				label: "
No
",
				callback: () => {resolve(false)}
			}
		},
		default: "two"
	}).render(true);
});
let choice = await dialog;

if (!choice) return;

// if YES subtract a superiorty die
await decrimentSheetResource (pcActor, "Orcish Fury", 1);

// get the live MIDI-QOL workflow so we can make changes
const diceMult = args[0].isCritical ? 2 : 1;
let die = "";
let baseDice = (1 * diceMult);
if (args[0].item.data.damage.parts[0][0].includes('[')) { // here we check if there are hints or not
	die = args[0].item.data.damage.parts[0][0].split('[')[0]; // everything before the [
} else {
	die = args[0].item.data.damage.parts[0][0].split('+')[0];
}	die = die.toLowerCase();                                        // convert the string to lower case
let baseDie = die.split('d')[1];                                //everything after the 'd' the die size and any mods << this needs work
let furyRoll = (baseDice+"d"+baseDie);                          // assemble the FuryRoll
const damageType = args[0].item.data.damage.parts[0][1];        // get teh damage type from the weapon in use

console.log("diceMult: ", diceMult);
console.log("baseDice: ", baseDice);
console.log("die: ", die);
console.log("baseDie: ", baseDie);
console.log("furyRoll: ", furyRoll);
console.log("damageType: ", damageType);

// roll the damage and add it to the workflow
let furyDamage = await new Roll(furyRoll).roll();
console.log("damageRoll.total: ", furyDamage.total);
new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, damageType, target ? [target] : [], damageRoll, {flavor: "Orcish Fury", itemCardId: args[0].itemCardId});
return;

}
//---------------------------------- MY FUNCTIONS -------------------------------------
// Test for available resource
// Return resource object
async function findSheetResource (testActor, resourceName) {
let resources = Object.values(testActor.data.data.resources);
let foundResource = resources.find(i => i.label.toLowerCase() === resourceName.toLowerCase());
return foundResource;
}
// Decriment available resource
async function decrimentSheetResource (testActor, resourceName, numValue) {
let actorDup = duplicate(testActor.data._source);
let resources = Object.values(actorDup.data.resources);
let foundResource = resources.find(i => i.label.toLowerCase() === resourceName.toLowerCase());
foundResource.value = foundResource.value - numValue;
await testActor.update(actorDup);
return;
}`

this is what i'm seeing on a hit.

I will definitely look at this tomorrow morning, I am running The Dungeon of the Mage mage in a couple of hours for 8 folks and have to finish prepping.  Thank you... John

Last night I ran the game that used this macro... thank you for the spelling and .value fix... :)  I added your name to the top of the macro btw, hope you do not mind.
From the characters perspective this is what I get:

and from the GMs:

Even with multiple effects like colossus slayer and oricish fury I see them all...

I am halfway done documenting my game settings online... I am interested if you see anything.  https://github.com/jbowensii/FOUNDRYVTT-DnD5e-Base-Game-Configuration

Tim Poseny helped me with a fix... thank you Tim.
Point to note, this was a race condition, this is what Tim wrote:
I can think of 3 solutions:

Delay the orcish fury macro to a later time in the workflow (e.g postActiveEffects), which will pretty much ensure the chat card update will have been completed before the user can push yes on the use of Orcish fury.
Create a new chat card for the orcish fury damage (specify itemCardId = new and pass an item - probably orcish fury - to the new DamageWorkflow so it can create an item card).
Turn the Orcish Fury into a DamageBonusMacro, rather than an actorOnUseMacro, since that guarantees to play nicely with the original workflow. It's almost identical.

DamgeBonusMacros are pretty much exactly intended for this sort of feature.
Sneak attack, for example, is a DamageBonusMacro

closed with release 0.7.0


Improvement for module/feature compatibility

As there is a dependency list in module.txt, there should exist a restriction list.
If this list is maintained in the module.txt file, it would contain all the features which should not be enabled to allow actual feature to run correctly. If one of these feature is enabled, it should not be possible to enable any module/feature referencing it in its restriction list.
As an example: 2 different sub-systems dealing with same process but incompatible for an eCommerce package which can't be activated on the same time in the same orchard instance (ordering/payment or shipping ).

I think this is more a question on how you develop your module, as it shouldn't interfere with other modules in a wrong way. In your particular case rather the two modules should have subfeatures for e.g. payment so they won't clash since you can select which one to enable.

In my modules that's the case but who can prevent someone to validate 2 Paypal Payments features or 2 order management ?

Again this is something that IMO should be solved with better module design so two developers don't implement clashing features, unaware of each other. BTW even with your suggestion of adding features in the module manifest to disable the authors of the two modules would need to know about each other and each other's module. So even if the technique would solve some scenarios it depends on developers to communicate with each other.

And how to avoir 2 paypal payments??? And There are hundred other colliding areas.
The idea behind all this Is to have better classification of features. Si no necessity of impossible communication between implementors. You just add a keyword for your module fonctionnal area. May be the category could a used and extended, a kind of singleton for features.

Ah I think I see what you mean. There could for example be a field in Settings.txt called "Domain". When two features are of the same domain, only one of them can be enabled. I think this could be useful, but maybe even better would be to make Settings.txt extensible. That way you could implement this regardless of whether others find this useful or not. I believe there's an issue on module manifest extensible already.

"There could for example be a field in Settings.txt called "Domain". When two features are of the same domain, only one of them can be enabled."
Yes you got it.
The optional keyword could be 'Domain' with an optional modifier as 'Exclusive'.
But if this is only a proprietary extension for one's modules, it is a nonsense.

True, it would have to be a framework feature, otherwise all modules that want to handle this would need to share the same code.

I have another simple use case of where this would be useful.
Orchard comes with TinyMce but we created a module for CkEditor as we have clients who prefer it. The two are in direct conflict and it would be nice if the framework can support the notion of allowing just one of these to be enabled.

Yes and this could drive to some reorg concerning features are defined.
may be we could start to create a global list of business features or validate some existing taxonomy for it


Map 'degrees' to defaultTemperature unit

Update from previous version that mapped 'degrees' to 'Farenheit

I created the stable-0-5 branch, can you cherry-pick/rebase your patch on top of that branch and update this PR? You should also do a yarn upgrade to pick up the latest version of ThingTalk.


Priority switch for processes

Description of the new feature / enhancement
Currently to change process priority you need to open Task Manager, search for the process you need, then move to details and then select the priority.
It would be very handy to do it with just a key shortcut, like Win + 1,2,..,n where 1 is highest prio and n is lowest.
Scenario when this would be used?
Recourse consuming tasks and gaming.
Supporting information
No response

this isn't something PowerToys would directly be able to do BUT .... it is great bit of feedback but would go to Windows Feedback hub.
Can you do me a favor and file this on Windows Feedback hub and give me a link?  :)

this isn't something PowerToys would directly be able to do BUT .... it is great bit of feedback but would go to Windows Feedback hub.
Can you do me a favor and file this on Windows Feedback hub and give me a link? :)

Hello, below you can find a link to feedback.
https://aka.ms/AAhxktn

I upvoted it :)


Added Spiral Matrix Solution and fixed some problem in data.json

Hacktoberfest! 🎊🎈
🎉 Have you read the Contributing Guidelines? 🤔
Yes
📝 Description
I found that data.json was having some problem so I fixed it. And added a spiral-matrix-puzzle solution to the code
🔧 Fixes
NA
✅ Checklist

[x] I've read the contribution guidelines. 📚
[x] I've checked the issue list before deciding what to submit. 🔍
[x] I've edited the README.md and linked to my code. 📄

🔗 Related Issues or Pull Requests
NA

Hi there!
I am the Mentor of this project.
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:

Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.

Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


Provide More Information About Runner Results In Status Endpoints

Context
Hazeltest's /status endpoint provides information on the internal status of each runner, such as the number of maps (or queues), the number of runs, and whether the runner has finished.
Problem

Apart from whether the runner is done, the information available on the status endpoint is a subset of each runner's configuration, hence querying it doesn't add a lot of value beyond knowing whether the runners are done
More specifically, the information the status endpoint currently provides is not sufficiently exhaustive and detailed to have reporting built on top of it

Solution

Make the runner's test loops gather much more information:

Internal status (e.g. How many runs out of x has this runner done?)
Results of operations on Hazelcast (e.g. In this queue runner, how many of x put attempts made thus far have been successful, and how many have been rejected because the target queue was already full?)

Offer information on status endpoint

Additional Remarks

The kind of aforementioned information on the runner's test loop's results is the foundation for reporting logic -- the same result might translate to test success in one team, but might constitute test failure in another, depending on the configuration of their Hazelcast clusters --> It would be futile to attempt to provide this reporting logic in Hazeltest itself
To record every step each runner makes will likely impact application performance and increase resource usage, both in terms of CPU and memory --> Providing the full set of information in cases where it is not required would be inefficient
Hence, it may be useful to provide different "granularity settings" for the status gathering, for example, basic, intermediate, and full mode

basic mode could include only the information available today, in which the only dynamic piece of information is whether the runner has finished --> sufficient to build simple reporting (All tests done?) and has no impact on application performance and resource usage
On the other extreme side, full mode  could gather information on every single action each test loop of each runner performs, and record whether this action was successful --> necessary if one were to implement very sophisticated reporting, but would come at the cost of slower test loop execution and a heavier resource footprint

In this way, a user can decide how much information is required, and configure status gathering functionality accordingly; it might even be useful to allow status gathering to be disabled altogether
The foundation for more flexible status gathering has been laid in Improve Test Loop Status Data Gathering

First Chaos Monkey now available. Add more information about monkey, too?

Test loop status for both batch and boundary test loops should be exposed, too.


lint: add almost all annotations to pass mypy --strict

One remains, for a context manager's exit:
adafruit_tinylora.py:240: error: Function is missing a type annotation for one or more arguments  [no-untyped-def]

Not sure how this should be annotated, but it's not annotated in upstream cpython 3.12 either.
Added type aliases bytearray2, bytearray4, etc to signal that the bytearrays passed must be 2 bytes, 4 bytes, etc.
In adafruit_tinylora_encryption.py, there's a "state" matrix for the AES implementation there. It was mixing str and byte/int, which apparently works fine on circuitpython but fails on cpython. Change the state matrix to a bytearray, as was likely intended.

@tekktrik PR all ready for me, and CI passing now; let me know if anything else needed!


Unable to override primaryKey in Swift 2.0

According to the documentation, adding a primary key is done by writing:
override static func primaryKey() -> String? {
        return "primaryKey"
    }

However, doing so in my model gives me the error invalid redeclaration of 'primaryKey()'.
I have tried with class func and with and without the ? as well. Same error on all of them.
Realm: 0.95.3 for Swift 2
Xcode: 7.0.1

Seems to magically work now. Seems like inconsistencies in Xcode and the Swift-compiler. And I even tried cleaning my build folder before as well as restart Xcode.


docker thefuck

It's already handled by permission denied pattern in sudo rule.

Oh, cool thanks.


Code Organization and Entities Code Placements and Versioning

I'm configuring my Rails app to support multiple API versions. I have my api structure like this for now:
├── app/
│   ├── api
│   │   ├── api
│   │   │   ├── v1
│   │   │   │   ├── categories.rb
│   │   │   │   ├── customers.rb
│   │   │   │   ├── root.rb
│   │   │   ├── v2
│   │   │   │   ├── customers.rb
│   │   │   │   ├── root.rb
│   │   │   ├── root.rb
...

# api/api/root.rb
require 'grape-swagger'
require 'v1/root.rb'
require 'v2/root.rb'

module Api
  class Root < Grape::API
    mount Api::V2::Root
    mount Api::V1::Root
  end
end

# api/api/v1/root.rb
require 'grape-swagger'

module Api
  module V1
  class Root < Grape::API
    prefix 'blabla/api'
    version ['v2', 'v1'], using: :param
    format :json

    mount Api::V1::Categories
    mount Api::V1::Coupons

    add_swagger_documentation api_documentation: { desc: 'Reticulated splines API swagger-compatible documentation.', hidden: true }
  end
end
end

# api/api/v2/root.rb
require 'grape-swagger'

module Api
  module V2
    class Root < Grape::API
      prefix 'blabla/api'
      version 'v2', using: :param
      format :json

      mount Api::V2::Customers
    end
  end
end

I didn't use grape-transformations gem to structure my code, but I don't know what's the best way to put my Entities classes without scattering them above each API class. For example:
# api/api/v1/categories.rb
require 'grape-entity'

module Api::V1
  module Entities
    class Category < Grape::Entity
      expose :description
      expose :id
      expose :name
      expose :thumbnail
    end
  end

  class Categories < Grape::API
    resource :categories do
      desc "List all Categories"

      get do
        categories = Category.all
        present data: Api::V1::Entities::Category.represent(categories)
      end

    end
  end
end

Few months ago, I've tried different types of way to locate my entities by separating it into files, created one /entities directory, which all of them don't work(method/class not found error etc, because my Category entity were not defined in other classes before mounting Api::V1::Categories, etc). Now the codebase is building up fast so I'll have to re-organize my entities to different files within a directory, perhaps under api/api so that other versions of API can use the same entities as well. How to organize the Entities in such way?
By the way, for swagger_doc how do I configure such that one Swagger API displays both v1 and v2 documentation in one Swagger UI, or can different versions of API documentation displays in different routes? I tried put swagger_doc in both root files of v1 and v2, but only v2 documentation loaded up.

I'm still doing the versioning configurations. I've been following your blog and I made it work when params are passed, but how do I configure it such that the default API version is still v1? Because this API is used for mobile application development, so the API have to be backward compatible with the previous versions of mobile app, which they don't provide extra parameter while sending request.

You should bring separate questions up on the mailing list, please. I'll close this.

Swagger doesn't support the same UI over different APIs, versions are very much different APIs. I am sure you can build a custom UI that points to two different swagger doc endpoints with a bit of work if you want to let users switch.

You want v1 to be the default and explicitly select v2? I wonder whether the easiest way is to inject a default Accept header in a middleware, not sure.


Dictionary logging to automatically remove strings from the installed image

I have been trying to use the dictionary-based logging feature because my target device has only 64KB ROM. My client creates a log in the flash which can be examined if a device is returned from the field. They currently fill half the space with strings used at run time, and with those same strings stored in the log. A dictionary solution which removes the strings entirely is highly desirable. This is what they assumed the Zephyr feature offers. It doesn't. It should.
When I first looked at this, the strings could not be removed at all, so the feature only reduced the amount of data in the log. This is only half a solution. A recent merge means that the strings are now stored in a section called "log_strings_sections" which can be removed, presumably with objcopy. Sadly, that section is placed by the linker in the middle of the ROM. Removing it has no effect on the footprint of the installed image.
A secondary issue was that removing the section with objcopy led to a warning about an "empty loadable section - was this your intention?", or words to that effect. That's disconcerting.
A tertiary issue is that there was little useful documentation about any of this potentially wonderful feature. There are just some comments that the feature exists, and an example program.
The simplest solution might be to reorder the standard linker script so that "log_strings_sections" is last in the ROM image, or not "loadable" (not sure of the right term), or outside of the physical ROM. The ELF contains a bunch of DWARF debug sections which are not installed on the device. Can we achieve something like that?
I wrote my own dictionary-based logger without much difficultly, but my client wants a Zephyr-only solution. I used a hash for the string IDs rather than an address/reference/offset (whatever Zephyr does). This meant that my dictionary section was simply optimised out of the image. Granted this is not super helpful if you want to read the dictionary, but I figured I could grab it from an unoptimised ELF or something - we'll see.

@nashif, @carlescufi do you know who can help from linker side?

@nashif, @carlescufi do you know who can help from linker side?

@tejlmand or maybe @dcpleung

Any progress on this ? This would be really helpful for the footprint reduction.

We also need this feature.
Are there any plans to implement this in the future?
What is currently the biggest blocker/challenge? I would expect, that if the strings are already in their own section, it should be possible to configure it in a way, such that they do not end up in the final binary?

A manual way is to create a linker script where the log format string section is outside of usable memory ranges. The log strings still have addresses associated with them for parsing, but the section does not (and actually cannot) get copied onto the ROM since it's outside of usable memory ranges. Depending on the tool to generate the final flash-able binary, you can do a objcopy to remove the section, or the tool can generate a .bin file without the section. Of course, one needs to make sure none of the format strings are being used in other part of the app.
The problem with doing this automatically is where to put the log format string section. There is no generic/universal way of doing this in generic linker script in the tree because there is no way of universally declare a hole in the address space as each boards/platforms has their own different address space.

A manual way is to create a linker script where the log format string section is outside of usable memory ranges. The log strings still have addresses associated with them for parsing, but the section does not (and actually cannot) get copied onto the ROM since it's outside of usable memory ranges. Depending on the tool to generate the final flash-able binary, you can do a objcopy to remove the section, or the tool can generate a .bin file without the section. Of course, one needs to make sure none of the format strings are being used in other part of the app.
The problem with doing this automatically is where to put the log format string section. There is no generic/universal way of doing this in generic linker script in the tree because there is no way of universally declare a hole in the address space as each boards/platforms has their own different address space.

Thanks for the explanation.

Might it be possible to solve it in a generic/universal way with the processor instead of the linker?

Currently, the memory addresses of the strings act as the identifiers of those strings. So the strings need to be present during linking (and thus assigned addresses). Using these addresses as the identifiers is (possibly) the least intrusive way of doing dictionary logging, but does require some post processing for the whole end-to-end solution.
The other possibility is to pre-hash the strings before compiling the source code. This would require us to write a source code parser (even after code is preprocessed by the compiler) to identify those strings and transform (i.e. modify) the source code file during build (by replacing call to logging subsystem with hashed version). This gets complicated and will require constant maintenance if logging subsystem are modified.

PR is opened. @clamattia @UnicycleBloke can you take a look at #64424 if that works for you?

@nordic-krch Could you please expand on what exactly is meant by formatting the string?  Or present me an example of it.
I presume that is done only in rare cases? Does this include adding a timestamp in front of the log?

@optical-o Formatting a string is a process of analyzing string content in search for format specifiers and replacing format specifiers with arguments provided to the string, e.g. LOG_INF("string %d %s", 100, str) is a string with 2 arguments (and 2 format specifier in fmt string).
In dictionary logging string is not formatted in the target but rather pointer to that string and arguments are sent to the host and host is parsing this data. In that case, target is never looking into the string but only needs a pointer to that string.

Just one last question.
The LINKER_DEVNULL_MEMORY will be excluded during the size calculation? So we can have firmware size + devnull to be larger than the target flash memory. Just to be sure that the firmware is buildable and will not fail on some build system checks.
Otherwise, it sounds perfect. Great work.

DEVNULL_MEMORY create additional "virtual" memory region of configurable size (default 256k) next to ROM. So if code+devnull content exceed "real" flash size it won't fail to build.

PR is opened. @clamattia @UnicycleBloke can you take a look at #64424 if that works for you?

Very nice 💪 I am not so familiar with linker scripts. As far as I could tell, it is exactly, what we would have needed. Great work.

How do you configure this feature when the dictionary output is dependent on the LOG_OUTPUT ?

It works with UART dictionary frontend, this configuration: https://github.com/zephyrproject-rtos/zephyr/blob/c1f037fc5b38e9de76cd4f6be6c51f7e4e2c4a9c/samples/subsys/logging/dictionary/sample.yaml#L30

Is there any reason why would the stripping not work when the user uses only the log_output_dict part?
Most of the log_backends do have the option to use the dictionary output. Or that is a different functionality that the UART Dictionary frontend ?

@optical-o you are right. I opened #67510 to allow string stripping for dictionary backends.


Segfault on many rapid connections/disconnections

Include the following information (where applicable):

What operating system are you running?

Linux

What platform/language are you using?

C++

Are you using SSL, if so, how?

SSL via µWS or Node.js

I tried to start working on the 100% cpu issue I posted, but when I updated to the current version of this repo I started getting segfaults.
Specifically, I get a segfault on one of the two lines:
https://github.com/uWebSockets/uWebSockets/blob/master/src/Group.cpp#L94
https://github.com/uWebSockets/uWebSockets/blob/master/src/Group.cpp#L125
The socketData->next->data dereference is fine, but the data->prev fails because data is nullptr. I tried checking for data to be non-null, but then the same line somehow gives a segfault with non-null values for data.
The segfaults occur during a specific phase of my code where my server receives a large number of incoming connections and closes them almost immediately. I'm pretty stumped about what could be causing this, do you have any ideas?

 Makes sense since I recently added those functions and they might be messing with the SocketData or something.

I think last commit solves this and #433

I will test if it solves #443

Yes, it works just fine now! I've tested quite thoroughly. Good job with finding the bug! :)

That's awesome. I think 0.13 is starting to get stable now. Thanks for testing and reporting


Tuple doesn't support newlines between items

Should be a trivial fix. See fp-ts-std/Function::fork.

https://github.com/samhh/tshm/commit/f21a227937ec3f869a9d6e5c6c968a9695ffa2a5


make elevation behavior compatible with opengl>4.0

This will fix issue #1327
By specified the input type edge0 in smoothstep function, elevation.frag is now compatible with opengl>4.0.
before

after

@mp-007 This PR does not fix this problem - https://github.com/kivymd/KivyMD/issues/1327

@mp-007 This PR fix the smooth of shadow.

You are right. I have made the change in my comment.


Less polling

Description

stop polling on claim screen
fix and optimize gatherstats trigger on claim screen (not showing stats when button is in green mode)
refactor wallet tx handling
reduce wallet blockchain polling

@julianpolcode @lkilaszewski please review


Add "percentage to charity" like Humble Bundle has

I thought @mattbk or someone talked about this before, but I'm not finding it by searching for "charity" in this repo. Gittipay 1.0 really took off when we combined charitable giving to diversity activists with more pragmatic giving to open source projects. Can we do the same under Gratipay 2.0, adapted to our new project focus?
One implementation possibility is the Humble Bundle model, where charitable giving is tacked on as a percentage of the total bill. Diversity-focused charities are still probably a good place to start, since that is a pressing concern in the tech industry.

http://www.blackgirlscode.com/
https://www.girldevelopit.com/
https://watsi.org/

It wasn't me. The closest I can think of is when I suggested something like a giving pool, where you could give to a general pool that could be opted into by a team/project. Somewhat different than a curated bundle, this would essentially be TWYW but at the project level.

This is now potentially evolving into a tax(!): https://github.com/gratipay/inside.gratipay.com/issues/637#issuecomment-263590417.

TWYW but at the project level

@mattbk I should have commented in your original issue, and maybe the following has been mentioned already. IMO TWYW is based on mutual respect and understanding. It might be feasible in a small circle like our own team, but I imagine it would cause more conflicts than harmony among different and maybe sometimes completing projects.

This is now potentially evolving into a tax

Are we considering switching our model? If there's a explict tax, will it decrease the direct giving to Gratipay?

I'm against a tax that isn't opt-in.
Could we reward people for opting in with something? Social capital?

Yeah, I'm not sure a "tax" makes sense since this is optional giving in the first place, and that's kind the whole point. :-)

So how do you give to charity on here? In fact, isn't there a support ticket like this? Is there a way for charitable organizations to create teams? Or for teams to partner with charitable organizations?

This organizations need official status, so we need to import list from somewhere. https://www.charitynavigator.org/ looks like a good start.

If your nonprofit makes an arrangement with a business to receive a percentage of sales – or if a business offers that deal to your nonprofit – beware. In at least 22 states that’s a regulated activity that may require a special registration filing. - See more at: https://www.councilofnonprofits.org/tools-resources/commercial-co-ventures-and-cause-related-marketing#sthash.6xXMhpEf.dpuf

https://www.councilofnonprofits.org/tools-resources/commercial-co-ventures-and-cause-related-marketing

Also https://www.quora.com/How-do-for-profit-companies-that-raise-funds-for-non-profits-and-causes-make-money


Investigations of failures to provision the ARM cross builders

As noted in #274, we are failing to install the ubuntu packages 'g++-arm-linux-gnueabihf' & 'g++-aarch64-linux-gnu' in GCE.
Just now, I did an apt-get upgrade on the cross builders (as I noticed that they had failed to autoupdate) and got:
root@ip-172-31-34-111:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libstdc++-4.8-dev-armhf-cross : Depends: libstdc++6-armhf-cross (>= 4.8.4-2ubuntu1~14.04.1cross0.11.1) but 4.8.2-16ubuntu4cross0.11 is installed
 libstdc++6-armhf-cross : Depends: gcc-4.8-arm-linux-gnueabihf-base (= 4.8.2-16ubuntu4cross0.11) but 4.8.4-2ubuntu1~14.04.1cross0.11.1 is installed
E: Unmet dependencies. Try using -f.
root@ip-172-31-34-111:~#

cc @edunham @aneeshusa

It's a known packaging bug: https://bugs.launchpad.net/ubuntu/+source/gcc-4.8-armhf-cross/+bug/1557205
Running the following appears to be the recommended temporary solution:
sudo apt-get -o Dpkg::Options::="--force-overwrite" install -f

We can do this on the builders if we need to, but this would require some hackery to add to Travis. From what I understand from a Vagrant session we'd need to try installing and then run the command to fix the packages; least hacky way would be editing our .travis.yml to add a conditional to install and run the fix on the cross builder before running the highstate.
I'd like to avoid doing this if possible, but if it's a priority I can put in a PR. (I'm hoping this gets fixed upstream quickly.)

@edunham and I chatted and we agree to just wait for upstream to fix it.
The main thing in the meantime is that we have to check the travis log failures carefully by hand.


Error: Cannot find module 'exists-sync'

osx: El Captain,
node: v 6.2.2,
npm: v 3.10.3
Angular cli created new project well, but when I using ' ng server ' to start the server following error comes out. Anybody knows how to solve?

Error: Cannot find module 'exists-sync'
at Function.Module._resolveFilename (module.js:440:15)
at Function.Module._load (module.js:388:25)
at Module.require (module.js:468:17)
at require (internal/module.js:20:19)
at Object. (/Users/Mars/Google Drive/Front-End/Project1/hello/node_modules/angular-cli/node_modules/ember-cli/lib/models/project.js:11:26)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)

Running this command fixed the issue for me. It will install the missing module 'exists-sync':
npm install --save exists-sync

@swfree
Thx! But after installing the module it stiil crashed when I try to start the server. This time the error message looks like

(node:7087) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
Livereload server on http://localhost:49152
Serving on http://localhost:4200/
The Broccoli Plugin: [BroccoliTypeScriptCompiler] failed with:
Error: Typescript found the following errors:
.../Project1/hello/tmp/broccoli_type_script_compiler-input_base_path-dvBqPqwe.tmp/0/src/typings.d.ts (5, 1): File '.../Project1/hello/tmp/broccoli_type_script_compiler-input_base_path-dvBqPqwe.tmp/0/typings/browser.d.ts' not found.

@Marswang92
This seems to be an error related to how typings was configured. Maybe it can be solved by creating a browser.d.ts file in your typings folder. I'm not too sure though, so you might be able to find a solution by looking at responses to some other similar issues:
https://github.com/typings/typings/issues/151
https://github.com/angular/angular/issues/5807
https://github.com/Microsoft/TypeScript/issues/7369

@Marswang92
I also received the same error when running 'ng serve' after creation of a new project with angular-cli. To solve this, I ran the "npm install" command from within the new project's folder. I was then able to run "ng serve" successfully.

I had similar issues while running:
npm version 2.14.12
node version 4.3.0
After updating to node version 6.2.2 and npm 3.9.5 all is working OK.
Maybe worth giving that a shot?

Duplicate of #1186. This should be closed.

Run npm install in the angular-cli global directly and then ng -v to check if working. After you have created a new project with the ng new command and ng serve should not work until you go into node_modules and angular-cli in your root project and npm install again.


Enable response mimetype validation for non-error responses

Addresses a todo left in the code.
We only validate the mimetype if the spec defines which mime-types it produces, and only for non-error responses.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

13 of 13 (100.0%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 92.489%

Files with Coverage Reduction
New Missed Lines
%

connexion/middleware/response_validation.py
1
98.61%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
3288

Relevant Lines:
3555

💛  - Coveralls


Add Timing API

Relates to https://github.com/amphp/http-client/issues/193.

I won't use this anymore for http-client, given https://github.com/amphp/http-client/pull/220, but we might still want to merge this (in the future).

This isn't something that should be in the base package.


Download documentation as PDF link is broken

The link http://flask.pocoo.org/docs/flask-docs.pdf throws an error 404 page

This belongs under either pocoo/metaflask#7 or pocoo/metaflask#43 or mitsuhiko/flask-website#16.


Add Websocket to process details page for live updates

[x] connect to websocket endpoint.

[x] Fallback to http call on websocket error.

[x] Authorization with access token.

[ ] handle forms.

[ ] reauthication gracefully and reconnect silently.

forms are shown when given in the step data but going back to the process tab it does not update and gives Can't perform a React state update on an unmounted component error.


Log MAGICC7 errors more prominently

Use LOGGER.warning and LOGGER.error for MAGICC's logged errors and MAGICC's stderr for calling errors, respectively.
I didn't add tests, documentation or examples because it feels like none are applicable. I didn't add a changelog line because the changelog says it contains only notable changes, and I don't think this is particularly notable. If you disagree with any of that, I'll be happy to add any of those as well.
Regarding the existing tests: I only have MAGICC 7.5.3 at hand, and it seems the tests require MAGICC 7.5.1, at least I get failures if I just update the required version to 7.5.3.

[ ] Tests added
[ ] Documentation added
[ ] Example added (in the documentation, to an existing notebook, or in a new notebook)
[x] Description in CHANGELOG.rst added (single line such as: (`#XX <https://github.com/openscm/openscm-runner/pull/XX>`_) Added feature which does something)

CI started

Linting test is broken. Looks like the fix is bumping black to v22.3.0 https://github.com/psf/black/issues/2964. I'll do a MR to fix that now

I rebased on top of the updated master branch, and at least locally make checks is happy now. CI needs manual start again...


PHPBrew PHP-7.2.2 sodium not working

Output
Hi,
I´ve compiled PHP-7.2.2 with the option "--with-sodium" but It when testing it with a php file we get:
PHP Fatal error:  Uncaught Error: Call to undefined function sodium_crypto_pwhash_str() in /tmp/test.php:3
Stack trace:
#0 {main}
thrown in /tmp/test.php on line 3
Fatal error: Uncaught Error: Call to undefined function sodium_crypto_pwhash_str() in /tmp/test.php:3
Stack trace:
#0 {main}
thrown in /tmp/test.php on line 3
when doing "php -m" we can see sodium enabled, "php -i | grep libsodium" gives us:
libsodium headers version => 1.0.8
libsodium library version => 1.0.8
but it simply doesn´t work. We tried the old and the new namespaces, both won´t work.
Expected Result
libsodium working
Command
phpbrew ext install libsodium / or compile with "--with-libsodium"

Platform
OS: Ubuntu 16.04
Running PHP: 7.2.2
Content of test.php:
<?php

sodium_crypto_pwhash_str(
    'test',
    SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
    SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);

Anyone any ideas? It works on the mac of the developer (brew and php-7.2.2)
Thanks in advance
Simon

I can reproduce the issue but I it doesn't look caused by PHPBrew. I compiled PHP manually --with-sodium and I see the same behavior as described above (same PHP, libsodium and Ubuntu versions).
Additionally, similar functions to what you're trying to use are available:
↪ php --re sodium | grep sodium_crypto_pwhash_
    Function [ <internal:sodium> function sodium_crypto_pwhash_scryptsalsa208sha256 ] {
    Function [ <internal:sodium> function sodium_crypto_pwhash_scryptsalsa208sha256_str ] {
    Function [ <internal:sodium> function sodium_crypto_pwhash_scryptsalsa208sha256_str_verify ] {

Which makes me think that either this function requires some additional dependencies or it's been removed from the extension for some reason.

We installed php v7.2.2 via ppa:ondrej and there it is working.

Hi,
we managed to get it working :)
We had libsodium-dev in version 1.0.8 installed, as I read for sodium with PHP-7.2 you need to have a version greater than 1.0.8 installed. So we upgraded to 1.0.16 and it works :)
Regards
Simon

Cool. So there's no problem here. Thanks for letting know @simonkulessa.

just FYI , on ubuntu 18, i found that when i installed libsodium-dev it got installed as sodium.so in my
~/.phpbrew/php/php-7.3.9/lib/php/extensions/no-debug-non-zts-20180731

folder so php was not finding the extension correctly.
I just symlinked it to make it work
$ ln -s sodium.so libsodium.so


Ability to silently move windows to first available empty workspace or select i-th active workspace (similar to Gnome)

Description
Hi all,
I am not sure if this functionality can already be implemented with the various features in hyprland such as dispatchers, but it would nice to have an option to have workspaces behave a bit like Gnome when it comes to silently moving windows to an empty workspace.
For example, let us say you have workspaces 1 2 3 5 open.  What would be nice would be to automatically move the windows on workspace 5 to workspace 4 such that there is never an empty workspace in between two active ones. In the end, we would have workspaces 1 2 3 4 open. I think Gnome does this silently when you move workspaces rather than forcibly drag your windows to another workspace as you're using it.
The main use-case is that I sometimes work with multiple workspaces and as I close windows, I end up with a workspace layout like 2 4 5 7, and it would be nice to have that automatically "convert" to 1 2 3 4.
Is there a way to do this with the current functionality in hyprland? Maybe is there a way to map a pressing the number i  to move to the i-th active workspace rather than literally to the i-th workspace?
Thanks all,
João

?

I'm not sure how to use this to recursively go over all active workspaces and move them to empty. emptyn, empty+2 etc

Maybe this gif will better explain what I mean about the workspace behavior (there may be some weird green artifacts, but the focus is on the workspace bar)

not achievable, as empty workspaces in the middle disappear, which conflicts how hyprland works.


Processing Risk Factors

Story
As a public health lab, to reduce transcription errors caused by handwritten order data, I need risk factors included as part of the electronic order.
Pre-conditions

[ ] The risk factors are included as part of a single, incoming order.

Acceptance Criteria

[ ] The risk factors are included in the OML order transmitted to the public health lab.
[ ] Risk factors must be support NBS card options used by MN, AL, & TX. (e.g. NICU, premature, on medications, transfusion, transfusion date, antibiotics, birth defects, deceased siblings, family history of NBS disorder, Meconium Ileus)

Tasks
Research

[ ] Determine ways to represent these data elements in both HL7 and FHIR
[ ] Research work needed to complete the story
[ ] Foundational: High-level research that will support this and future efforts

Engineering

[ ] Engineering work needed to complete the story
[ ] Foundational: Technical runway work to support this and future efforts

Definition of Done

[ ] Threat model updated
[ ] Code refactored for clarity and no design/technical debt
[ ] Adhere to separation of concerns; code is not tightly coupled, especially to 3rd party dependencies.
[ ] Source code is merged to the main branch.
[ ] Unit test coverage of our code >= 90%
[ ] Code is reviewed or developed by pair; 1 approval is needed but consider requiring an outside-the-pair reviewer.
[ ] Build process updated
[ ] Feature toggles created and/or deleted.  Document the feature toggle.
[ ] Source code documentation created when the code is not self-documenting.
[ ] API documentation generated
[ ] Code quality checks passed
[ ] Security & privacy gates passed
[ ] Load tests passed
[ ] Documentation and diagrams created or updated
[ ] API(s) are versioned
[ ] Debug logging

Research Questions

Optional: Any initial questions for research

Decisions

Optional: Any decisions we've made while working on this story

Notes

Optional: Any reference material or thoughts we may need for later reference

closed.  will be part of #495


Add support for compiling to WebAssembly using Emscripten.

Add support for compiling to WebAssembly using Emscripten.
Tested with ./configure:
CHOST=wasm32 emconfigure ./configure --static
make
and CMake:
emcmake cmake . -DCMAKE_C_COMPILER_TARGET=wasm32 -DBUILD_SHARED_LIBS=OFF
cmake --build .
Signed-off-by: Piotr Sikora<EMAIL_ADDRESS>

Does it work using configure without any changes?

Nice! It would be good to add a CI configuration for CMake Git Hub Actions.

Does it work using configure without any changes?

./configure fallbacks to arch/generic instead of arch/x86 like CMake, so this works just fine:
CC=emcc CHOST=wasm32 ./configure --static --zlib-compat && make

Perhaps the correct fix would be to make CMake fallback to arch/generic as well, but that's a breaking change.

@PiotrSikora I think the main reason why using specific arch instead of generic one is better is when the arch requires specific flags for compile to work correctly... This way for example it can raise error if incompatible option is used.

@PiotrSikora I think the main reason why using specific arch instead of generic one is better is when the arch requires specific flags for compile to work correctly... This way for example it can raise error if incompatible option is used.

Sure, but this results in inconsistent behavior between ./configure and CMake for the unsupported architectures.

Is it possible to do sudo apt-get install enscripten? If so it can be added as packages:.

@nmoinvaz There is "emscripten" package at least in Ubuntu 18.04

@nmoinvaz @mtl1979 That package is way too old, Ubuntu has Emscripten 1.22.0, which is from 2014, whereas Emscripten and WebAssembly are very actively developed nowadays, so using it is pretty much pointless.

@PiotrSikora Didn't comment anything about usability of the package... The best would be if Emscripten developers would try to get newer package added to Ubuntu repositories... Seems like GitHub requires quite a few workarounds before the newer package works...

@mtl1979 I agree it would be much better if we could simply install emscripten package, but since that's not the case, we have to deal with what we have now. It seems to work now.

@PiotrSikora I'm all about adding new supported platforms and compilers to zlib-ng build system, especially ones that are still in use... As the workarounds are only needed for GitHub CI, it's not such a big issue... When you finish experimenting, you should squash all the commits...

@mtl1979 squashed. Thanks!

LGTM

This should be good to merge, I don't think that I can fix the coverage.

@Dead2 will merge after two long-time contributors approve...

We could make emcc generate JavaScript wrappers for the binaries and use nodejs to test the generated binaries, but I think that is best to implement in another pull request...

(I removed duplicate -DBUILD_SHARED_LIBS=OFF since it's hardcoded later on for all targets)

I wonder if the CI changes would be better as it is own workflow, because it skips testing, code coverage, etc.

Could someone re-run CMake / Ubuntu MinGW i686? It timed out in one test.

@nmoinvaz Adding testing of WebAssembly requires extensive changes to parts unrelated to Emsripten, so it's better to leave to next pull request... Basically we need emcc to create JavaScript wrappers that nodejs can execute as WebAssembly code can't be run directly from command-line.

I wasn't suggesting adding testing. I suggested that perhaps since there are enough large changes in the cmake yaml that it should be broken out into its own yaml workflow.

@nmoinvaz I know, I was suggesting adding testing, as then we know the compiled binary actually works as expected...

I agree that this should probably be in a separate CI workflow. Could you fix that @PiotrSikora or do you need any assistance?

@Dead2 done.

Basically we need emcc to create JavaScript wrappers that nodejs can execute as WebAssembly code can't be run directly from command-line.

.js wrappers are already generated for the test targets, and using emcmake sets CMAKE_CROSSCOMPILING_EMULATOR to node binary that is installed as part of Emscripten SDK, so ctest is aware of it, but there is some mangling happening, and ctest tries to execute e.g. "/path/to/emsdk/node/12.18.1_64bit/bin/node";/path/to/zlib-ng/build/minigzip.js;-c;-k, which it cannot find (note the ; between emulator and test executable). This is probably easy to fix, but I don't see where this mangling is happening.

@PiotrSikora ";" is list separator... It's not passing it as space-delimited like it should.

@PiotrSikora this usually happens when converting a list to a string in CMake. Is it possible to just call cmake with -DCMAKE_CROSSCOMPILING_EMULATOR=node?

@nmoinvaz that works, thanks!
It looks that most of the tests are failing:
26% tests passed, 39 tests failed out of 53

Total Test time (real) =   6.09 sec

The following tests FAILED:
          6 - minigzip-fireworks-R (Failed)
          7 - minigzip-fireworks-h (Failed)
          8 - minigzip-fireworks-T (Failed)
          9 - minigzip-fireworks-0 (Failed)
         10 - minigzip-fireworks-1 (Failed)
         11 - minigzip-fireworks-4 (Failed)
         12 - minigzip-fireworks-5 (Failed)
         13 - minigzip-fireworks-F (Failed)
         14 - minigzip-fireworks-6 (Failed)
         15 - minigzip-fireworks-9 (Failed)
         16 - minigzip-fireworks-f (Failed)
         17 - minigzip-lcet10-R (Failed)
         18 - minigzip-lcet10-h (Failed)
         19 - minigzip-lcet10-T (Failed)
         20 - minigzip-lcet10-0 (Failed)
         21 - minigzip-lcet10-1 (Failed)
         22 - minigzip-lcet10-4 (Failed)
         23 - minigzip-lcet10-5 (Failed)
         24 - minigzip-lcet10-F (Failed)
         25 - minigzip-lcet10-6 (Failed)
         26 - minigzip-lcet10-9 (Failed)
         27 - minigzip-lcet10-f (Failed)
         28 - minigzip-paper-100k-R (Failed)
         29 - minigzip-paper-100k-h (Failed)
         30 - minigzip-paper-100k-T (Failed)
         31 - minigzip-paper-100k-0 (Failed)
         32 - minigzip-paper-100k-1 (Failed)
         33 - minigzip-paper-100k-4 (Failed)
         34 - minigzip-paper-100k-5 (Failed)
         35 - minigzip-paper-100k-F (Failed)
         36 - minigzip-paper-100k-6 (Failed)
         37 - minigzip-paper-100k-9 (Failed)
         38 - minigzip-paper-100k-f (Failed)
         39 - minigzip-detect-text-A (Failed)
         40 - minigzip-detect-binary-A (Failed)
         47 - GH-361 (Failed)
         48 - GH-364 (Failed)
         49 - GH-382 (Failed)
         53 - GH-751 (Failed)
Errors while running CTest

I imagine that at least some of it is because of an argument passing and/or stdin/stdout interactions, but unfortunately I don't have time to dig further into it this right now.
Let me know how do you want to proceed.

@PiotrSikora I think it's better to hold back merging until you have more time to investigate why the tests fail... Because we are quite close to first public release, it makes no sense to merge in work-in-progress code...

@PiotrSikora When I said separate workflow, I meant separate workflow files too 😄
configure-emscripten.yaml and cmake-emscripten.yaml for example.
I think the tests should probably be fixed before we merge this, otherwise we only have compile tests and those don't really tell us whether things work. And I will hold this until after Stable release.
I like this though, and I hope you fix the remaining issues 👍

Please rebase and split out into separate workflow file.
Hope you have time to look into the failing tests as well 😄

Will this be able to use the x86 SSE instruction set when that is enabled in emscripten?
https://emscripten.org/docs/porting/simd.html#compiling-simd-code-targeting-x86-sse-instruction-set

LGTM. It work for WASI-SDK toolchains.

It looks like Emscripten doesn't support binary data via stdin/stdout very well. That is while most of the tests that aren't from test_compress.cmake succeed. The only way I can see to fix the tests would be to add ability to specify output file, but gzip command doesn't originally support this. Another option is simply disable those tests if doing Emscripten.

Merged in #1329.


Revert "gh/workflow: Run GKE workflow in matrix strategy"

Reverts cilium/cilium#25364 due to CI failures:
The network "default" does not have available private IP space in <IP_ADDRESS>/9

https://github.com/cilium/cilium/actions/runs/4983577990/jobs/8920912559
https://github.com/cilium/cilium/actions/runs/4983089307
https://github.com/cilium/cilium/actions/runs/4983592830
https://github.com/cilium/cilium/actions/runs/4983122154
@nbusseneau mentioned we will need to create ad-hoc subnetworks to prevent this

force-pushed to add sign-off

I see this was suggested by @nbusseneau on Slack, and it seems like it should help to stabilize CI for this job. Seems safe since we were previously running successfully with the earlier version. Given that this is a revert for a PR that we believe is breaking CI, I think this is reasonable to merge as-is without further testing or review. CC @brlbil @viktor-kurchenko


Connect-IPPSSession fails with error on Linux

After upgrading to Exchange Online Powershell V3 I cannot connect to Security & Compliance.
Connect-IPPSSession throws the following error.
ResourceUnavailable: Processing data from remote server ps.compliance.protection.outlook.com failed with the following error message:
ERROR_WSMAN_INVALID_SELECTORS: The WS-Management service cannot process the request because the request contained
invalid selectors for the resource.  For more information, see the about_Remote_Troubleshooting Help topic.
I've removed and re-installed PSWSMan and I am not able to connect to Exchange Online using the -UseRPSSession (this did not work until I re-installed WSMan)
Below is a verbose attempt to connect:
Connect-IPPSSession -UserPrincipalName<EMAIL_ADDRESS>-Verbose    VERBOSE: Returning precomputed version info: 3.0.0
VERBOSE: ModuleVersion: 3.0.0
VERBOSE: [ThreadID: #] Trying to get a new token from AAD
VERBOSE: [ThreadID: #] Trying to acquire token silently as UPN is given
VERBOSE: [ThreadID: #] Successfully able to force refresh a token in user based flow either because token is expired or claims is passed silently.
VERBOSE: [ThreadID: #] Successfully got a token from AAD
VERBOSE: Importing cmdlet 'Add-EXOClientTelemetryWrapper'.
VERBOSE: Importing cmdlet 'New-CmdletLogger'.
VERBOSE: Importing cmdlet 'New-EXOClientTelemetryFilepath'.
VERBOSE: Importing cmdlet 'Push-EXOTelemetryRecord'.
VERBOSE: Importing cmdlet 'Clear-ActiveToken'.
VERBOSE: Importing cmdlet 'Get-ConnectionContext'.
VERBOSE: Importing cmdlet 'Get-ConnectionInformation'.
VERBOSE: Importing cmdlet 'Get-EXOBanner'.
VERBOSE: Importing cmdlet 'Get-HelpFiles'.
VERBOSE: Importing cmdlet 'New-EXOModule'.
VERBOSE: Importing cmdlet 'New-ExoPSSession'.
VERBOSE: Importing cmdlet 'Test-ActiveToken'.
VERBOSE: ConnectionContext Removed
ResourceUnavailable: Processing data from remote server ps.compliance.protection.outlook.com failed with the following error message:
ERROR_WSMAN_INVALID_SELECTORS: The WS-Management service cannot process the request because the request contained
invalid selectors for the resource.  For more information, see the about_Remote_Troubleshooting Help topic.

@Clifra-Jones, you should open a support ticket. Report back here with any information that can help improve documentation.

@Clifra-Jones Considering the nature of the issue, as advised, please open a service ticket in your tenant and follow with them for the resolution. We proceed to close it as here we are limited to documentation fixes and improvements only.
We will be very happy if you can share the outcome or resolution with us if you see documentation update is required. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Camera.ignore / except

let me introduce the situation:
I'm creating an animation splash scene, there is a lot of animation and camera effects like zoom shake pan, and I want to add a SKIP button on top of the screen...
yes you'll think that it's easy to solve...
I'm currently using the way of camera to solve:
cameras.add(btnX, btnY, btnW, btnH).setScroll(btnX, btnY);    // so only the btn is displayed in the second camera
cameras.main.ignore(btn);

it works, but... the button corner is rounded, so the content of the main camera is still rendered in the second camera and you can see through from the corner.
and the other way: use another scene
this can solve the problem 'perfectly', but actually a little bit waste, it will create a few of plugins which are unnecessary because there is only 1 button will be added into the new scene...
so, I'm wondering is it possible to add a method similar with ignore to the camera class, like camera.except, so only the objects specified will be rendered?
this is only a thought, if it's not possible, I'll use the way of createing new scene for the button, I know you are really busy.   :smiley:

emmm, actually a bit contradictory.
because textures are globally cached, so in the new scene I only need to set the InputPlugin available like this:
    const key = 'tmpSkipScene';
    const sceneObj = {
        plugins: ['InputPlugin'],
        create: () => {
            this._skipScene = this.scene.scene.get(key);
            this._skipButton = this._skipScene.add.image(this.scene.scale.width - 260, this.scene.scale.height - 180, "home", "skipBtn").setDepth(99999).setAlpha(0).setOrigin(0);
            this.scene.tweens.add({
                targets: this._skipButton,
                alpha: 1,
                ease: "Linear",
                duration: 500,
                onComplete: () => {
                    this._skipButton.setInteractive().on(Phaser.Input.Events.POINTER_UP, this.onSkip, this);
                }
            });
        }
    };
    this.scene.scene.add(key, sceneObj, true);

and, yes this actually is acceptable.

Not something done usually, but you could select cameras using the camera ID:
https://github.com/photonstorm/phaser/blob/e82e7c6ba0214b1dd9a3a7211c0ebaa6d2797dca/src/cameras/2d/BaseCamera.js#L124
Maybe this example will help:
https://labs.phaser.io/edit.html?src=src\camera\camera filter.js
You could have the second camera ignore all objects first, afterwards apply the above example.

Thank you for opening this feature request (all those months ago!). As the development of Phaser 4 has now started I am tidying-up the repo and closing off old issues that won't be directly fixed or implemented in Phaser 3 by me. I would still consider community PRs that address this issue, however, and have left the GitHub tags intact so others can track them if they wish to get involved. However, I'm afraid this is no longer a feature that will be added to v3.


Revert "[SourceKit] Add InterfaceGen test case for pure Swift system module"

It seems it doesn't work for iOS target.
Reverts apple/swift#24685

@swift-ci Please smoke test and merge


Symlink data science stuff (to avoid duplicating code)

Fixes #33.
This is just to demo one way of solving this. I’d suggest doing it this way, because it minimises the merge conflicts for the data scientists (an alternative would be to move folders about, but that will create merge conflicts).

I hadn't pushed it because I was trying to do Docker-related bs but I've done this with absolute imports here without having to modify the content of health_misinfo_shared.

I hadn't pushed it because I was trying to do Docker-related bs but I've done this with absolute imports https://github.com/FullFact/health-misinfo-shared/pull/48/ without having to modify the content of health_misinfo_shared.

Sounds good (though there was no need to modify the contents of health_misinfo_shared here, either – I just did that for neatness).
Happy to close this in favour of #48.


⚠ Bofrost.at has degraded performance

In 1412ccf, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2226 ms

Resolved: Bofrost.at performance has improved in c246dd7.


feat: added the initial files for the Avatar Component

I think it makes sense to assume that if the user passes a src attribute, he wants to render an image avatar.

Also currently the component doesn't support icons.

I think it makes sense to assume that if the user passes a src attribute, he wants to render an image avatar.

so do you think if the user passed both src and children, the priority will be for the image?

I think it makes sense to assume that if the user passes a src attribute, he wants to render an image avatar.

so do you think if the user passed both src and children, the priority will be for the image?

Yes, in that case the children is just a fallback in case of the image failed to load.

I think it makes sense to assume that if the user passes a src attribute, he wants to render an image avatar.

so do you think if the user passed both src and children, the priority will be for the image?

Yes, in that case the children is just a fallback in case of the image failed to load.

agreed :+1:


cblas_srotmg

I follow the documentation here:
https://software.intel.com/sites/products/documentation/doclib/iss/2013/mkl/mklman/GUID-D6A2FFBB-116D-4A37-A278-47F163915E34.htm
srotmg(fortran code) leaves a result that I can't understand:
inputs:
d1: 3
d2: 9
x1: 1
y1: 2
outputs:
d1: 8.31
d2: 2.77
x1: 2.17
param: 1.00   0.00   0.17   0.00   0.50

I can't understand why
[0.00, 0.00; 0.17, 0.50] * [1 * sqrt(3); 2 * sqrt(9)] = [2.17; 0].

Where the outputs d1 and d2 come from?

param [0] == 1.00, does this mean flag == 1, H = [h11, 1; -1, h22]?. Then why
[0.00, 1; -1, 0.50] *  [1 * sqrt(3); 2 * sqrt(9)] = [2.17; 0]?
And why the param[2] is 2.17

ok, i'm now starting to catchup on things

so i'm looking at the documenation on https://software.intel.com/en-us/node/520742#9EA3F8DD-FE3F-4A8A-BA12-EC25FABDA6E6  and i'm now going to talk out my understanding, and then i'll work through your example so we can understand whats going on
srotmg computes a 2x2 givens rotation matrix, H, which is represented as a 5 element array, whose first slot is a flag that takes the values 0, 1, -1, -2
crucially, for the flag values 0,1,-2, "In the last three cases, the matrix entries of 1., -1., and 0. are assumed based on the value of flag and are not required to be set in the param vector.".
So the values that are aren't variables in those 3 scenarios you shouldn't even read! (because the choice in flag value determines what they should be, which is sort of over optimizing, but that seems to be the specified behavior).
i need to catchup on a few more things and do the computation steps/checking myself, and i'll do that in the next day


Forge: Book doesn't build, patterns don't recognize (1.0.2)

Book doesn't build and patterns don't recognize in the forge version
This issue is not present in the fabric build
What I assume is the relevant part of log is in the pastebin
https://pastebin.com/trQTKm1r

If relevant, I tried this with and without Clockwork + Create installed; otherwise the only mods installed were dependencies

I uhhh swapped the order of assemble one and assemble mutiple ;-;

also I forgot to apply the pos fix to joml

fixed in dev I LOVE JOML

reopen issue please, happens in 1.0.3

but also. PLEASE INCLUDE LOGS

fixed in 1.0.4


Update client3:circe, client3:core, ... to 3.7.0

Updates

com.softwaremill.sttp.client3:circe
com.softwaremill.sttp.client3:core
com.softwaremill.sttp.client3:json4s
com.softwaremill.sttp.client3:slf4j-backend
com.softwaremill.sttp.client3:spray-json

from 3.6.2 to 3.7.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.softwaremill.sttp.client3" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.softwaremill.sttp.client3" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #189.


libvirt: the default virtual network cannot be removed

Describe the bug
The default virtual network for libvirt cannot be persistently removed or disabled.
To Reproduce
Steps to reproduce the behavior:

Enable libvirtd with virtualisation.libvirt.enable = true;.
Verify that the default network exists with: virsh net-list.
Remove the 'default' network with virsh net-destroy default && virsh net-undefine default.
Verify that the default network has been removed with: virsh net-list.
Restart libvirtd: systemctl restart libvirtd.
Notice that the default network has reappeared.

Expected behavior
I expected the 'default' network to still be gone after a restart of libvirtd.
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.3.10, NixOS, 19.09.1223.cb2cdab7136 (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3`
 - channels(root): `"nixos-19.09.1223.cb2cdab7136, home-manager-19.09"`
 - channels(alex): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: libvirt
# a list of nixos modules affected by the problem
module: libvirtd

I guess, network changes which are suppose to survive daemon restart or reboot, should be made declaratively.
Probably in virtualisation.libvirtd.extraConfig or virtualisation.libvirtd.extraOptions
Otherwise a new option should be introduced.

changes made in brides using brctl are restored on libvirtd restart too

This is still an issue.

Unstale; I'll try to find the time to poke at this since I've been doing a little work on the libvirt package.

Unstale; I'll try to find the time to poke at this since I've been doing a little work on the libvirt package.

Still an issue.

Caused by this: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/libvirtd.nix#L194

still annoying to me

Fixed by @amarshall in #186358. Thanks!

I've stumbled upon this when trying to figure out how to set a default network. Now that it is not set automatically, how can I set it?


Master to Live

Docs Build status updates of commit fb7e14f:
:clock10: Full build: the average full build time is 17 min(s) 31 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit fb7e14f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Get-ComplianceSearch.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-ComplianceSearch.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-IRMConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-Mailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Allow bin/coffeelint to accept a directory

Includes limiting checks to files ending with .coffee by default (option added)

Now realizing that this would fix the closed issue #3, so I'd understand if you don't accept the pull, but, hey! free code!


[10.x] Add MissingWithout and MissingWithoutAll validation rules

Add validation rules MissingWithout and MissingWithoutAll in the same style as other pre-existing *Without and *WithoutAll rules.

Great Job 👏🏼
I added a fix for missing_if, missing_unless, missing_with, and missing_with_all not running against nested array data PR, I see you had fixed it also 🚀  . The Fix missing Validation rules not working with nested array PR  should be closed after your PR is Merged.

@aabadawy  Fantastic teamwork! This morning, I was struggling to validate a nested array with this "missing" validation, which I needed to implement some workarounds to go through. Keep up the great work! 🌟🚀

I honestly feel like the amount of dependent rules is just getting crazy. 😬

We need to either add all of the "missing" validation rules of this style in one PR or stop sending them IMO.


Adding ability for user to enter content in a 'table' or three-column format on a slide

@IronRunes as discussed on slack, we want to deprioritise this one


"Network Sites - Prometheus" Grafana dashboard "uplink uptime" panel needs a site query

When I added a second site to my installation, the "Uplink Uptime" panel in the "UniFi-Poller: Network Sites - Prometheus" dashboard started complaining that it needed a query that returned only one value.  The query is unifipoller_site_uptime_seconds but is missing the site filter, so should be unifipoller_site_uptime_seconds{site_name=~"$Site"}

Thanks! I'll fix this.


[PDI-11595] - DatabaseMeta addOptions method has MySQL/Infobright spe…

…cific code

Rewrite of #510 to only include the fix for PDI-11595. Closing #510

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f core/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/src/org/pentaho/di/core/database/BaseDatabaseMeta.java
  core/src/org/pentaho/di/core/database/DatabaseInterface.java
  core/src/org/pentaho/di/core/database/DatabaseMeta.java
  core/src/org/pentaho/di/core/database/InfobrightDatabaseMeta.java
  core/src/org/pentaho/di/core/database/MySQLDatabaseMeta.java
  core/test-src/org/pentaho/di/core/database/DatabaseMetaTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.database.BaseDatabaseMeta

Complexity Change:  + .09%
Instruction Change:  + .01%
Line Change:  + .04%
Method Change:  + .02%

org.pentaho.di.core.database.DatabaseMeta

Instruction Change: -.73%:small_red_triangle_down:
Line Change: -.59%:small_red_triangle_down:

org.pentaho.di.core.database.MySQLDatabaseMeta

Complexity Change:  + .21%
Instruction Change:  + .03%
Line Change:  + .16%
Method Change:  + .13%

org.pentaho.di.core.logging.KettleLogStore.new TimerTask() {...}

Branch Change:  + 50.00%
Complexity Change:  + 33.33%
Instruction Change:  + 75.68%
Line Change:  + 83.33%
Method Change:  + 50.00%

org.pentaho.di.core.logging.LoggingBuffer

Complexity Change:  + 1.72%
Instruction Change:  + 1.09%
Line Change:  + 1.53%
Method Change:  + 3.45%

org.pentaho.di.core.plugins.DatabasePluginType

Branch Change:  + 12.50%
Complexity Change:  + 4.55%

org.pentaho.di.core.plugins.PluginRegistry

Branch Change: -3.33%:small_red_triangle_down:
Complexity Change: -2.80%:small_red_triangle_down:
Instruction Change: -2.43%:small_red_triangle_down:
Line Change: -2.21%:small_red_triangle_down:
Method Change: -5.26%:small_red_triangle_down:

org.pentaho.di.core.row.value.ValueMetaPluginType

Branch Change:  + 4.55%
Complexity Change:  + 3.70%

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on core/src/org/pentaho/di/core/database/InfobrightDatabaseMeta.java. Found 2013. Was expecting 2017

:heavy_exclamation_mark: Copyright year is not the current year on core/src/org/pentaho/di/core/database/MySQLDatabaseMeta.java. Found 2016. Was expecting 2017

:heavy_exclamation_mark: Copyright year is not the current year on core/test-src/org/pentaho/di/core/database/DatabaseMetaTest.java. Found 2016. Was expecting 2017

@mbatchelor Can you fix the license headers?
Aside from that, looks good to me.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f core/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/test-src/org/pentaho/di/core/database/DatabaseMetaTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.database.BaseDatabaseMeta

Complexity Change:  + .09%
Instruction Change:  + .01%
Line Change:  + .04%
Method Change:  + .02%

org.pentaho.di.core.database.DatabaseMeta

Instruction Change: -.73%:small_red_triangle_down:
Line Change: -.59%:small_red_triangle_down:

org.pentaho.di.core.database.MySQLDatabaseMeta

Complexity Change:  + .21%
Instruction Change:  + .03%
Line Change:  + .16%
Method Change:  + .13%

org.pentaho.di.core.plugins.DatabasePluginType

Branch Change:  + 12.50%
Complexity Change:  + 4.55%

org.pentaho.di.core.plugins.PluginRegistry

Branch Change: -3.33%:small_red_triangle_down:
Complexity Change: -2.80%:small_red_triangle_down:
Instruction Change: -2.43%:small_red_triangle_down:
Line Change: -2.21%:small_red_triangle_down:
Method Change: -5.26%:small_red_triangle_down:

org.pentaho.di.core.row.value.ValueMetaPluginType

Branch Change:  + 4.55%
Complexity Change:  + 3.70%


added bg.ml - BG snark verification outside the SNARK circuit

Thank you for contributing to Coda! Please see CONTRIBUTING.md if you haven't
yet.
Explain your changes here.
Explain how you tested your changes here.
Checklist:

[ ] Tests were added for the new behavior
[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

Closes #0000
Closes #0000

This is BG verifier outside the snark circuit.


Example Data Downloader on Google Colab

Issue related to this: https://github.com/googlecolab/colabtools/issues/4298

As of today it is working


Try "overflowing" the final function argument when it's a closure

This means that we try formatting the last argument of a function call with block indentation instead of visual indentation when it is a closure and its first line fits on the same line as the first arguments.
This closes https://github.com/nrc/rustfmt/issues/263.

Nice! Happy to see this land


refactor: make the node in relay edges non-null

I had to do some front-end work today and felt like this would be better. The spec doesn't say if it has to be nullable or non-nullable. Same with the Edge, I don't think it would make sense to have null values as edges.
I couldn't think of a situation where we would actually return null for a node, pls correct me if I'm wrong.

Oh, wait I think you've used list instead of non null 😂

Oh, wait I think you've used list instead of non null 😂

Oh, yeah, copy paste 🤦♂ will fix

🚀 Thank you for your contribution! 🚀


my first revup food

Topic: foo

Reviews in this chain:
└https://github.com/dukeofcool199/revup/pull/1 my first revup food

#
head
base
diff
date
summary

0
8dc284c6
311ff10d
diff
Oct 26 10:10 AM
1 file changed, 1 insertion(+)


Improve subset download modal scrolling

Fixes https://github.com/VEuPathDB/web-eda/issues/1207
~Requires https://github.com/VEuPathDB/CoreUI/pull/86~ Merged 👍
The two columns scroll separately now, and the full modal doesn't scroll. Definitely would like feedback on the new modal layout. Should I bring it up at a UX meeting?

The layout stuff does look good. I noticed a strange behavior though while playing around. The lock icon in the variable selection tree toggles the "starred variable" functionality.
To reproduce:

Open up the modal with any entity
Click the lock icon of a required column in the variable selection tree (not in the required columns container)
You'll notice this toggles the starred variable

Not immediately clear why this happens, but it's unlikely a desired result despite being a rather obscure edge case!

The layout stuff does look good. I noticed a strange behavior though while playing around. The lock icon in the variable selection tree toggles the "starred variable" functionality.
To reproduce:

Open up the modal with any entity
Click the lock icon of a required column in the variable selection tree (not in the required columns container)
You'll notice this toggles the starred variable

Not immediately clear why this happens, but it's unlikely a desired result despite being a rather obscure edge case!

Thanks for reviewing it @jernestmyers! I noticed that problem as well and tried to fix it but didn't find a fix that would be worth the trouble. I'll try again to make sure though.

@jernestmyers Fixed it this time!

@chowington does this require using the branch from CoreUI #91?

@chowington does this require using the branch from CoreUI #91?

Yep!

got all the npm-packing to work! The new subtitle styling looks great!
I'm not convinced that the compact title is necessary in this case, but if others have a strong preference that's good with me.

got all the npm-packing to work! The new subtitle styling looks great!
I'm not convinced that the compact title is necessary in this case, but if others have a strong preference that's good with me.

I think this is a good case for it since the vertical space is necessarily limited, personally!