vscode-standardjs requires peer-dependency eslint-config-standard and eslint-config-standard-jsx

When using pnpm (instead of npm) the below errors are shown in the output panel. These aren't shown when using npm because NPM flattens the hierarchy: any nested dependencies can be access by all modules and the app itself, whereas with a module manager like pnpm every dependency used had to be explicitly declared.

StandardJS version: 11.0.0
VSCode version: Version 1.23.1 (1.23.1) d0182c3417d225529c6d5ad24b7572815d0de9ac
StandardJS configuration: default
What do you have in the OUTPUT panel:

[Info  - 1:15:49 PM] JavaScript Standard Style server is running.
[Info  - 1:15:50 PM] JavaScript Standard Style library loaded from: /repro/node_modules/.registry.npmjs.org/standard/11.0.1/node_modules/standard/index.js
Error: Cannot find module 'eslint-config-standard-jsx'
Referenced from: /repro/node_modules/.registry.npmjs.org/standard/11.0.1/node_modules/standard/eslintrc.json
    at ModuleResolver.resolve (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/util/module-resolver.js:74:19)
    at resolve (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:471:25)
    at load (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:542:26)
    at configExtends.reduceRight (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:421:36)
    at Array.reduceRight (native)
    at applyExtends (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:403:28)
    at loadFromDisk (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:514:22)
    at Object.load (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config/config-file.js:550:20)
    at Config.loadSpecificConfig (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config.js:139:46)
    at new Config (/repro/node_modules/.registry.npmjs.org/eslint/4.18.2/node_modules/eslint/lib/config.js:101:14)

I can fix this error if I explicitly add eslint-config-standard and eslint-config-standard-jsx to my package.json, which in turn requires the following peer deps:
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
 WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.

So to fix all errors, I had to add the following dev dependencies to my app's package.json:
  "devDependencies": {
    "eslint": "^4.19.1",
    "eslint-config-standard": "^11.0.0",
    "eslint-config-standard-jsx": "^5.0.0",
    "eslint-plugin-import": "^2.11.0",
    "eslint-plugin-node": "^6.0.1",
    "eslint-plugin-promise": "^3.7.0",
    "eslint-plugin-react": "^7.8.2",
    "eslint-plugin-standard": "^3.1.0",
    "standard": "*"
  },

@lionello Thanks for this. Recently switched to pnpm.


drivers/input: Organize input drivers by category

Summary
This PR intends to organize the input drivers by creating new higher level categories for TOUCHSCREEN, JOYSTICK and
KEYBOARD devices. This eases the dependency filtering for a specific input subgroup.
Reference:
https://github.com/apache/incubator-nuttx-apps/pull/666#issuecomment-813711509
Impact
New configuration option added to boards that supported any of the device drivers now categorized as TOUCHSCREEN, JOYSTICK or KEYBOARD.
Testing
No functional change.

What about having the drivers select the input class instead? We also need to include the USB  HID devices for keyboard and mouse

What about having the drivers select the input class instead?

This is exactly what @patacongo suggested in the other PR.
I think this is also a good idea, although I believe that, for consistency, we would need to extend this refactor to the top CONFIG_INPUT option, changing it from menuconfig to a non-visible bool.
Currently the user is able to enable the Input subsystem without including any input driver, for which I can't understand if there is a valid use case.

Closing this PR in favor of #3475.


Move LED strip settings to config/Change Weakly-up color/General clea…

Move LED strip settings to config/Change Weakly-up color/General clean-up

Move LED strip settings to project common
Do a clean-up of imports
Using the exact same color for cluster node states "Up" and
"Weakly-Up" was confusing in the "Cluster Base" exercise
Changed "Weakly-Up" color to a darker green

@ironfish
Sure; however, with only me and Kiki having a physical cluster available to test this, this is about the only way to make progress in a rapid fashion. Also, remember that, due to the multi-step (exercises) set-up of the repo, some changes get ‘multiplied’ by the number of exercises in the project.

On 20 Mar 2018, at 03:58, Duncan DeVore<EMAIL_ADDRESS>wrote:
@ironfish approved this pull request.
I'm going to approve this one but this PR is too large. It needs to be about 1/5 of what it is currently.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/lightbend/Pi-Akka-Cluster/pull/12#pullrequestreview-105205447, or mute the thread https://github.com/notifications/unsubscribe-auth/ACrQ_BHeXeYUApc7ng52Z8svztcnnaDqks5tgHA7gaJpZM4SvN15.


Provide Format Options for JSX/TSX End of Tag Placement

From https://github.com/Microsoft/vscode/issues/16018 @VanishingDante
For the following JSX/TSX code:

The current formatting settings do nothing. There does not seem to be a way to control how the ending > is placed on lines.
We would like an additional formatting setting so that we can format the above code as:

This formatting option would be helpful for elements with many attributes.

If this gets implemented, please consider formatting the end of tag token to align with the start of the tag as per the jsx-alignment lint rule.


Vite 4 support

support the upcoming vite 4

#46 , #47 - should be covered by these changes

Sorry to direct usage away from this library that I enjoyed, but I was trying to update today to Vite 4 and found this issue, but I was able to sidestep it because my entire project just uses the most simple alias which is
import Thing from<EMAIL_ADDRESS>import { useSomeStore } from '@/store/some';
import { formatThing } from<EMAIL_ADDRESS>// ... etc

So I was able to use Vite 4 by removing vite-aliases entirely and using this instead:
// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import eslint from 'vite-plugin-eslint';
import Components from 'unplugin-vue-components/vite';
import path from 'path';

// https://vitejs.dev/config/
export default defineConfig({
    server: {
        port: 3000,
    },

    plugins: [
        vue(),

        // This raises ESLint errors into the browser
        eslint(),

        // This autoloads all components in the /src/components directory
        Components(),
    ],

    resolve: {
        alias: [{
            find: '@', replacement: path.resolve(__dirname, 'src'),
        }],
    },
});

Working with:
    "@vitejs/plugin-vue": "^4.0.0",
    "unplugin-vue-components": "^0.22.12",
    "vite": "^4.0.1",
    "vite-plugin-eslint": "^1.8.1",

If you are using TypeScript or ESLint import resolver plugin, you may find this original link useful: https://stackoverflow.com/questions/67835072/vue-3-on-vite-js-with-eslint-unable-to-resolve-path-to-module-eslintimport-no

@agm1984 this comment has been made before, the library does not support vite 4 atm so its clear that there will be issues. Using one alias is fine, but it defeats the purpose of posting it here because this library is made for other purposes mainly deeply structured projects like monorepo or generally for projects that need more in-depth orgranisation.

v.0.9.9 - now supports vite 4 (experimental)

v0.10.0 - ensures vite 4 support.


Confirm The Ending | Code works for all but one case. Pretty sure code is correct

Challenge Confirm the Ending has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

function confirmEnding(str, target) {
  var letter = str.substring(str.length - 1);
  var targetLetter = target.substring(target.length - 1);
  if (letter === targetLetter) {
    return true;
  } else {
    return false;
  }
}

confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification");

@shawnkauffman thanks for the issue but if you get stuck or have questions with a challenge in the future, please first ask questions to the Help Room.
It seems that you have misinterpreted the instructions. You want to check if the entire target string is at the end of the givenstr string. Hence, you want to "confirm the ending" of the str. I hope that helps. Closing as not an issue with the site. Happy coding!

it think u did'nt get question properly

		function confirmEnding(str, target) {
			//Create a table to contain my String every words => [0] = "Open" [1] = "sesame"
			var table = []; table = str.split(" ");
			//Save the length of the table => 1 (-1 because it give 2 in this exemple ???)
			var tableLength = table.length-1;
			//Save my target length => 4
			var targetLength = target.length;
			//Save the last world from my array
			var content = table[tableLength];

			/*if "name" == "sename".substr(-3) => "name" == "name"
			//The key is to use my target by using his length to compare the right ammont of letters against the table last word
			//So if target = "name" and table give me "sesame" at first, i reduce 4 (name) from "sesame" in reverse(because '-') and it give name so it's equal
			*/
			if(target == content.substr(-targetLength)){
				return true;
			}
			return false;
		}

		confirmEnding("Open sesame", "same");

@pocahontas123
Please don't put your solution on here. You could help people at FreeCodeCamp Chat Room or Forum. GitHub Issues are for reporting bugs on the website only.
Happy Coding!


3857-4362

有没有什么方法是能实现web墨卡托3857和4362这两个坐标系的互相转换呢

用GDAL或者QGIS可以进行坐标转换

用GDAL或者QGIS可以进行坐标转换

-哈哈用软件我都没问题，想用代码实现
在 2021-01-08 18:52:24，"sshuair"<EMAIL_ADDRESS>写道：
用GDAL或者QGIS可以进行坐标转换
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

-哈哈用软件我都没问题，想用代码实现
在 2021-01-08 18:52:24，"sshuair"<EMAIL_ADDRESS>写道：
用GDAL或者QGIS可以进行坐标转换
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

https://github.com/pyproj4/pyproj/blob/master/test/test_transformer.py
在 2021/1/8 下午7:20, 谢飞 写道:

-哈哈用软件我都没问题，想用代码实现
在 2021-01-08 18:52:24，"sshuair"<EMAIL_ADDRESS>写道：
用GDAL或者QGIS可以进行坐标转换
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sshuair/coord-convert/issues/4#issuecomment-756703031,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKC4UH7GZ3QHMFLS2ZPTJLSY3TAPANCNFSM4V2IM2LA.

https://github.com/pyproj4/pyproj/blob/master/test/test_transformer.py
在 2021/1/8 下午7:20, 谢飞 写道:

-哈哈用软件我都没问题，想用代码实现
在 2021-01-08 18:52:24，"sshuair"<EMAIL_ADDRESS>写道：
用GDAL或者QGIS可以进行坐标转换
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sshuair/coord-convert/issues/4#issuecomment-756703031,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKC4UH7GZ3QHMFLS2ZPTJLSY3TAPANCNFSM4V2IM2LA.


A user can't change their email address

When I try to change my email address I get:
Insufficient access: Insufficient 'write' privilege to the 'mail' attribute of entry 'uid=abompard,cn=users,cn=accounts,dc=example,dc=com'.

A user should be allowed to change their email, I think.

Hmm nope it does fail and I can reproduce it now.

I have found a way to fix it: add the appropriate policy to the IPA server with the following command:
ipa selfservice-add "Users can manage their own email address" --attrs mail

I think we should add this command to our setup, but I'm not sure what the best way to do it would be. Add the command to the FreeIPA ansible playbook? Add an update file in freeipa-fas? Something else?

@tiran advice here? Should this be done in the custom schema files or done using the built-in mechanism @abompard found?

Thanks for following up on this @relrod and @abompard .

Advice from @tiran .. needed. (s)
When we get it , we need to add AC  & DOD

A standard IPA user can only manage some of her/his attributes. As you have already figured out the mail attribute is not listed as self-serviceable attribute. The default list of serviceable attributes is:
dn: $SUFFIX
changetype: modify
add: aci
aci: (targetattr = "userpassword || krbprincipalkey || sambalmpassword || sambantpassword")(version 3.0; acl "selfservice:Self can write own password"; allow (write) userdn="ldap:///self";)
aci: (targetattr = "givenname || sn || cn || displayname || title || initials || loginshell || gecos || homephone || mobile || pager || facsimiletelephonenumber || telephonenumber || street || roomnumber || l || st || postalcode || manager || secretary || description || carlicense || labeleduri || inetuserhttpurl || seealso || employeetype  || businesscategory || ou")(version 3.0;acl "selfservice:User Self service";allow (write) userdn = "ldap:///self";)
aci: (targetattr = "ipasshpubkey")(version 3.0;acl "selfservice:Users can manage their own SSH public keys";allow (write) userdn = "ldap:///self";)
aci: (targetattr = "usercertificate")(version 3.0;acl "selfservice:Users can manage their own X.509 certificates";allow (write) userdn = "ldap:///self";)

The command
ipa selfservice-add "Users can manage their own email address" --attrs mail

adds a new ACI
(targetattr = "mail")(version 3.0;acl "selfservice:Users can manage their own email address";allow (write) userdn = "ldap:///self";)

to the root of the IPA database. I can easily add the ACI to the freeipa-fas plugin so it gets auto-created on install and upgrade.

I can easily add the ACI to the freeipa-fas plugin so it gets auto-created on install and upgrade.

I think that would be ideal, thanks @tiran

Hi @tiran
Your a hard man to track down :). I can't find you on IRC, chat , email.. its probably just me, still trying to figure out some things.
Just want to thank you for your work on this and finding a solution.. virtual high five :) !
However, we are blocked until the ACI is added to the freeipa-fas plugin. Can you add it? If so when? As this has been open about 12 days, @abompard does have a workaround he can use if you don't have the capacity to carry out the above task. No pressure we just need to move this forward.
If we don't hear from you by 1200 utc we will run with Aureliens work around.
Thanks again
Sarah

@abompard reviewed and confirmed this is done!


Min/Max should not scan arguments for date/time

Instead it should follow the first type rule.

Min /Max can operate on different types (numbers, decimal, DateTime)
Today, they scan all types in the arg list to determine which type. Instead, it should decide
Gate off the V1 flag since this would be language breaking.

Removing BreakingInternals flag since this should be gated on v1 feature flag instead.


Rename old installer directory to avoid confusion.

This is just a cleaner (mergable) form of #89.

I think you may have lost the reviews on this change.

@tst-ppenev The reviews are still on #89, but that shows all the changes being dragged in (maybe because of the git lfs changes), so its hard to review and would require everyone to agree.

@bradh: Yeah, this one basically needs a re-review.  It may have been worth getting the git rebase working, so we can get approvals from the people who were keeping up with it.


DOC: roadmap update

Changes to the main roadmap:

removed fft changes, those were done
moved "Windows builds" and "evolve LAPACK support" to the detailed roadmap
added "support for more hardware platforms", interest keeps growing is my impression
added "performance" as a main item on the roadmap
reordered items for importance, mainly sparse ndarrays from top to bottom, that's evolving slowly

One other topic I thought about putting at the top level is "performance". There's a lot that could be done and it was the single most frequent thing mentioned in the outreach for the NSF grant last year. Still, it's a bit less concrete than the other topics there, so not sure if it makes sense.

I think it's worth mentioning at least so that people know it's a target. It's even better if you can mention where particular pain points are, but even without that, a general "things should be faster" is worth having in there.

I think it's worth mentioning at least so that people know it's a target. It's even better if you can mention where particular pain points are, but even without that, a general "things should be faster" is worth having in there.

Done. I remembered there was text in last years' NSF proposal on performance, and that we got quite a bit of specific feedback (see some quotes in last commit message).

Any more thoughts on this? I'd like to merge it in the next couple of days.

On May 16, 2020, at 5:02 AM, Ralf Gommers<EMAIL_ADDRESS>wrote:
Any more thoughts on this? I'd like to merge it in the next couple of days.

In terms of roadmap, do we care about the size of the package?
It’s come up with David PR to accept None in the doc but the package might still be too big for some uses.
For example, AWS lambda service has a size limit. Scipy if used, takes up a large portion.
See,
https://github.com/aws/sagemaker-python-sdk/issues/1471
For an example.
Do we care about the size of the package and keeping it under a limit?
If not then it might be good to put that in the docs.
Or If the space isn’t something we consider (within reason of course) then is it worth adding a sentence to that effect in the roadmap?

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

In terms of roadmap, do we care about the size of the package?

We do, we need to pay attention to size of binaries and not let it grow too much. This is what this sentence under Cython is about: It’s not clear how much functionality can be Cythonized without making the .so files too large. This needs measuring. Although admittedly that's a bit cryptic; better to say explicitly that size of binaries/wheels is important, for example because of AWS Lambda limits.

Okay we do still have an open issue for incomplete stripping of binaries that would help (not for Lambda though, cause that needs a rebuild I believe, can't use PyPI wheels): https://github.com/matthew-brett/multibuild/issues/162

In terms of roadmap, do we care about the size of the package?

We do, we need to pay attention to size of binaries and not let it grow too much. This is what this sentence under Cython is about: It’s not clear how much functionality can be Cythonized without making the .so files too large. This needs measuring. Although admittedly that's a bit cryptic; better to say explicitly that size of binaries/wheels is important, for example because of AWS Lambda limits.

ok, thanks for clarifying. Good to know, I'll keep that in mind for future.

Let's keep the ball rolling. Thanks Ralf, all


Support JSON Schema "not"

http://json-schema.org/latest/json-schema-validation.html#anchor91

Parent: #579.

Tackling PR: #741

not is in 3.0!


Idea for Chopsticks Activity

I was working on a pure JS implementation of the Traditional Japanese Game Chopsticks for demonstration at the local School Students Meetup. It came to me that a Chopsticks Activity can be a good asset to Sugarizer.
Chopsticks is a very easy to learn and difficult to master game for small children. Originally played with both of the hands, the Activity will have two counter for each player. I have uploaded some screenshots of the current development version of the implementation. More information about the Chopsticks Game: https://www.activityvillage.co.uk/chopsticks-game .
Please let me know your thoughts @llaske ? If the activity has pedagogic element, I can work on the Sugarizer Port of my development version.

Hmmm. Seems very similar to Last One Loses activity.

ChopSticks is a fundamentally different game. The Last One Loses Activity is also played with numbers, but a lot of possibilities are there in the given game. I will request you to take a look at the source and maybe give the game a try ?
ChopGame Source
@llaske thoughts ?

More fun with hands than with a computer. Not pertinent.


resources: change net_fields to use netlog_defs

It would obviously require updating the downstream parts, but something like this should work for that TODO?
export type NetFields = {
  [Key in keyof typeof logDefinitions]: (typeof logDefinitions[Key])['fields'];
} & {
  'none': Fields;
};

If the defs are being standardized the names should probably be as well.

It's probably better to correct names upstream in netlog_defs.ts instead? Here's a minimal patch to get my suggestion to compile:
diff --git a/resources/netlog_defs.ts b/resources/netlog_defs.ts
index 74fae25a..87d65fdb 100644
--- a/resources/netlog_defs.ts
+++ b/resources/netlog_defs.ts
@@ -28,7 +28,7 @@ export type LogDefinitionMap = { [name: string]: LogDefinition };

 // TODO: build NetRegexes out of this, or somehow deduplicate.
 const logDefinitions = {
-  gameLog: {
+  GameLog: {
     type: '00',
     name: 'GameLog',
     fields: {
@@ -59,7 +59,7 @@ const logDefinitions = {
       },
     },
   },
-  changeZone: {
+  ChangeZone: {
     type: '01',
     name: 'ChangeZone',
     fields: {
@@ -71,7 +71,7 @@ const logDefinitions = {
     lastInclude: true,
     canAnonymize: true,
   },
-  changePrimaryPlayer: {
+  ChangedPlayer: {
     type: '02',
     name: 'ChangePrimaryPlayer',
     fields: {
@@ -86,7 +86,7 @@ const logDefinitions = {
     lastInclude: true,
     canAnonymize: true,
   },
-  addCombatant: {
+  AddedCombatant: {
     type: '03',
     name: 'AddCombatant',
     fields: {
@@ -114,7 +114,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  removeCombatant: {
+  RemovedCombatant: {
     type: '04',
     name: 'RemoveCombatant',
     fields: {
@@ -252,7 +252,7 @@ const logDefinitions = {
     canAnonymize: true,
     lastInclude: true,
   },
-  playerStats: {
+  PlayerStats: {
     type: '12',
     name: 'PlayerStats',
     fields: {
@@ -283,7 +283,7 @@ const logDefinitions = {
     name: 'CombatantHP',
     isUnknown: true,
   },
-  networkStartsCasting: {
+  StartsUsing: {
     type: '20',
     name: 'NetworkStartsCasting',
     fields: {
@@ -308,7 +308,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkAbility: {
+  Ability: {
     type: '21',
     name: 'NetworkAbility',
     fields: {
@@ -421,7 +421,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkDeath: {
+  WasDefeated: {
     type: '25',
     name: 'NetworkDeath',
     fields: {
@@ -438,7 +438,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkBuff: {
+  GainsEffect: {
     type: '26',
     name: 'NetworkBuff',
     fields: {
@@ -461,7 +461,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkTargetIcon: {
+  HeadMarker: {
     type: '27',
     name: 'NetworkTargetIcon',
     fields: {
@@ -510,7 +510,7 @@ const logDefinitions = {
       5: null,
     },
   },
-  networkBuffRemove: {
+  LosesEffect: {
     type: '30',
     name: 'NetworkBuffRemove',
     fields: {
@@ -555,7 +555,7 @@ const logDefinitions = {
     name: 'NetworkWorld',
     isUnknown: true,
   },
-  network6d: {
+  ActorControl: {
     type: '33',
     name: 'Network6D',
     fields: {
@@ -570,7 +570,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkNameToggle: {
+  NameToggle: {
     type: '34',
     name: 'NetworkNameToggle',
     fields: {
@@ -588,7 +588,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  networkTether: {
+  Tether: {
     type: '35',
     name: 'NetworkTether',
     fields: {
@@ -644,7 +644,7 @@ const logDefinitions = {
     firstUnknownField: 22,
     canAnonymize: true,
   },
-  networkStatusEffects: {
+  StatusEffect: {
     type: '38',
     name: 'NetworkStatusEffects',
     fields: {
@@ -684,7 +684,7 @@ const logDefinitions = {
     },
     canAnonymize: true,
   },
-  map: {
+  Map: {
     type: '40',
     name: 'Map',
     fields: {

It's probably better to correct names upstream in netlog_defs.ts instead? Here's a minimal patch to get my suggestion to compile:

I think this is a good idea, but I'd rather push off to another patch.  Because there were four copies all with different names, I wanted to try to reduce copies and then rename at the end when necessary once I could see what everything looked like.
I think the next logical patch in the sequence is to convert netregexes to use netlog_defs.ts instead of manually specifying fields.  I suspect probably there are some cases (ability vs abilityFull, gameLog variations) that may still want to manually specify the fields they care about, but most of them can be switched over to some new parseDefaultFields(params, logDefinitions.something) I hope?
However, I wasn't sure how to make that idea work and handle the params typing that you added.  I was going to ask you for advice (or if you were interested in trying to write it), and I think doing it would need to incorporate that patch above and rename any fields as needed.

I was going to ask you for advice (or if you were interested in trying to write it), and I think doing it would need to incorporate that patch above and rename any logDefinition entries as needed.

I can take a stab at it tomorrow night probably, at least to see how feasible it is. If it looks like it's reasonably easy, do you want it as a PR based on this branch? Or would you rather a patch or something you can incorporate yourself?

I was going to ask you for advice (or if you were interested in trying to write it), and I think doing it would need to incorporate that patch above and rename any logDefinition entries as needed.

I can take a stab at it tomorrow night probably, at least to see how feasible it is. If it looks like it's reasonably easy, do you want it as a PR based on this branch? Or would you rather a patch or something you can incorporate yourself?

I would say on top of #3372 (although maybe those changes won't conflict and on top of main is equivalent)?

It shouldn't conflict since there are only some additions in netlog, no deletions. But if it does I can always rebase.


Add public release documentation

📝 Description of the feature
Add the steps to release a package to the public. Should include the following:

Pre-release requirements. Draft: https://supreme-invention-8c3992a9.pages.github.io/
Following steps:

Upload to public PyPI. Optionally, upload to PyPI testing first using the PYPI_TESTING_TOKEN. Note: Both PYPI_TOKEN and PYPI_TESTING_TOKEN are only available to private and internal repositories, meaning that you must first manually upload to PyPI using the global token (either manually or automatically).
Generate a package specific token for the PyPI ansys account. Override PYPI_TOKEN in the repository.
Make GitHub repository public. This should make the GitHub pages public if the documentation is hosted in the same repository in (for example gh-pages). If documentation is hosted in a separate repository, that repo will have to be made public.

💡 Steps for implementing the feature
@jorgepiloto, improve the above description and add it to dev-guide.
🔗 Useful links and references
No response

Working on this.

This could prevent people from releasing a package without legal approval.

You're probably right. Let's make sure we have individual tokens for each project before proceeding, but I agree that we should remove it.
Let's clearly document the release procedure so people know who they can go to.


Dynamic ViewSequence

This PR adds a ViewSequence implementation for View, Option<ViewSequence>, tupels of ViewSequences and List.
To create no conflicts whith the orphan rules, this PR adds the ViewMarker trait. It lets the author decide, whether they need to implement ViewSequence for their type.
Currently it is not possible to implement a wrapper types like Adapt for ViewSequence. This would also be possible by adding a second helper trait. Like this:

trait ViewMarker {}

trait ViewImpl<T, A> {}

trait View<T, A>: ViewImpl<T, A> { ... }

impl<T, A, V> ViewImpl<T, A> for V where V: View<T, A> {}

impl<T, A, V> ViewImpl<T, A> for V where V: ViewSequence<T, A> {}

impl<T, A, V> ViewSequence<T, A> for V where V: View<T, A> + ViewMarker { ... }

This way it is not possible to impl View for a Type without it also having a ViewSequence implementation, while having the flexibility to provide both.
But i am not sure if this is the right way forward. Considering that we probably want to be generic over the element type, we could also define View as:
trait View<T, A>: ViewSequence<T, A> {}

and have a seperate TypedView trait which looks like the current View trait.
This way View only asserts that this sequence has only one element.

I want to get our container trait story worked out soon, and I have some idea what this PR is about, but I'm not yet sold. A very useful piece for me would be explaining exactly what problem this is solving and why that's worth the extra messiness of the ViewMarker.
To me, the most important next step on containers is impl ViewSequence for Vec<V: View>. I've been prototyping that a bit (actually in xilemsvg but these traits are pretty much the same), and my take so far is that actually implementing the trait is pretty straightforward, but making the container view have the correct behavior in all the cases (insert, delete, change in place, reorder) will take care.
Regarding Option<V: View>, I see a lot of value in making that impl View, where it would make the content conditional in a fairly straightforward way (much as buildIf in SwiftUI), but less in making it a ViewSequence. In fact, I can see some problems with the latter. If we allow ViewSequence to nest (as very much seems to be the case for this PR), then (A, Option<B>, C) then it's easy to see how C might lose its stable identity as the vec of widgets changes length between 2 and 3. That seems very undesirable to me.

Regarding Option<V: View>, I see a lot of value in making that impl View, where it would make the content conditional in a fairly straightforward way (much as buildIf in SwiftUI), but less in making it a ViewSequence.

I think the main distinction between View and ViewSequence is that View has a specific layout, while in the case of ViewSequence the view wrapping it has to take care of that.
For an example if we have a Cells layout, which creates a cell for every view, changing a view from Some to None does tell the Cells view to hide the specific cell. This is only possible when Option is a ViewSequence.

In fact, I can see some problems with the latter. If we allow ViewSequence to nest (as very much seems to be the case for this PR), then (A, Option<B>, C) then it's easy to see how C might lose its stable identity as the vec of widgets changes length between 2 and 3. That seems very undesirable to me.

I assume stable identity means in this case that a view is rebuild with the same widget and state even if a view prior in the sequence is added or removed.
With the current implementation of Option and tupels this is the case. In your example we have a sequence
Seq = (A, Some(B), C), the view_state State = (state_A, Some(state_B), state_C) and the widgets: Widgets = [widget_A, widget_B, widget_C]. Calling (A_new, None, C_new).rebuild(Seq, State, Widget) will first call A_new.rebuild(A, state_A, widget_A) then delete widget_B in the implementation of B::rebuild, call C_new.rebuild(C, state_C, widget_C) and finally return the state: (state_A, None, state_C) and the widgets [widget_A, widget_C]

I want to get our container trait story worked out soon, and I have some idea what this PR is about, but I'm not yet sold. A very useful piece for me would be explaining exactly what problem this is solving and why that's worth the extra messiness of the ViewMarker.

I agree, that the current design of ViewSequence is messy. My solution for this would be treating Views like lists with only one element. Like this: trait View<T, A>: ViewSequence<T, A> {}. This would remove the need for the ViewMarker trait. The current View trait would become TypedView.

To me, the most important next step on containers is impl ViewSequence for Vec<V: View>. I've been prototyping that a bit (actually in xilemsvg but these traits are pretty much the same), and my take so far is that actually implementing the trait is pretty straightforward, but making the container view have the correct behavior in all the cases (insert, delete, change in place, reorder) will take care.

Interesting. I haven't heard about it. Is xilemsvg public and how does the ViewSequence implementation of Vec<V: View> know the stable identity of the views?

stable identity

I would assume this to mean that if a widget (such as widget_B above) is removed and later re-added, it will have the same Id, and further that the Id of widget_C does not depend on whether widget_B is built. I updated #51 with some notes on stable identity which could also apply here.

Thanks for the clarification! With the current design the id of C does not change after adding or removing B. We could also preserve the Id and even state_B and widget_B and the last B in <Option as ViewSequence>::State druing the time that Option is None. I think this should be enough to guarantee stability.
Though for long lists this is probably not an option. Therefore we probably don't get around assigning new Ids when reloading the content.

This needs a deeper answer, but a few quick clarifications. I do not mean that the state of B is preserved when Option toggles between None and Some states. SwiftUI does not do that.
I was referring to the identity of C, but now see your point. My thinking was confused and I need to revisit this.
xilemsvg is not public (I haven't had time to push it). A Vec of views does not preserve their stable identity when their position in the vec is changed.


preserveAspectRatio

Hi,
Thanks for your great plugin !
Small question, how i can keep the preserveAspectRatio="none" attribute ?
I try with svgo :
removeAttrs: false,
removeUnknownsAndDefaults: false,

But i can't keep this value.
Any idea ?

Right now no :(
You can try to play with my still (!!) unfinished branch: https://github.com/Hiswe/gulp-svg-symbols/tree/svgo-removal that doesn't use SVGO :)
It seems to have fixed some problems like in #6

@stephanedemotte this plugin no longer use SVGO. Everything should be preserved!

great thanks !

@stephanedemotte you're welcome :)

Hey, I also want to keep the preserveAspectRatio attribute of the original svg.
How can I achieve that?
Thanks!

@am3000 it should be possible to do this with a custom templates with a custom transformdata function.

@am3000 a template could look like that
<svg xmlns="http://www.w3.org/2000/svg" style="width:0; height:0; visibility:hidden;"><% if(defs) {%>
  <defs>
      <%= defs %>
  </defs><% } %><% _.forEach( icons, function( icon ){ %>
    <symbol id="<%= icon.id %>" viewBox="<%= icon.svg.viewBox %>"<% if (icon.svg.originalAttributes.preserveAspectRatio) {%> preserveAspectRatio="<%= icon.svg.originalAttributes.preserveAspectRatio %>" <% }%>><% if (icon.title) {%>
      <title><%= icon.title %></title><% }%>
      <%= icon.svg.content %>
    </symbol><%
}); %></svg>

But I think I will port it to the default template


Psa more open issues

This may be more than we want in PSA v1.0 open issues section.  The thinking here is not that we want to create an entry there for every open issue or future addition we might make.  I selected a few open issues that seemed to me like things that some people would look for ways to do in PSA, but we haven't defined yet.  As long as they know we are considering adding them in the future, they may be less likely to ask, and/or more likely to help define them!

Thanks for the quick review and catching that mistake.  Merging now.


[cocoon] We should rename the devicelab stage to devicelab_android

When creating a new iOS devicelab test, it is easy to copy an android test and leave the stage as devicelab and assume it is correct (when the proper stage would be devicelab_ios). Here is an example of this mistake, but it happens often with new devicelab tests, I'm pretty sure I ran into this. To make it easier to write new devicelab tests, we should rename this stage from devicelab to devicelab_android.
Or better yet, re-think the entire stage + required_agent_capabilities settings, as it is confusing.

Yep, I'll close this as manifest.yaml is deprecated.


Bump etcd to v3.5.13

Issue #, if available:
Should fix CVE-2024-24786
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


Cross chain notifications

Description

Show pending state when a proposal is bridged.
This pr is want part of adding cross chain notifications.

Current dependencies on/for this PR:

main

PR #106

PR #110   👈

This stack of pull requests is managed by Graphite.

Closing per @alexkeating


It doesn't see imports in

I have some files with <script setup lang="ts"> and vca v.0.6.1 can't analyze them

Thank you for your issue. I'll try to fix this within the year 🙏

wow thank you
I tried to change some lines of code, but I failed

@idmytro I published v0.7.0, and this issue should be solved. Could you please try it out?

@idmytro I published v0.7.0, and this issue should be solved. Could you please try it out?

thank you I will try

It works!

Thanks!


Update 1271 endpoints

Use message_hash as private key for SafeMessage
Add created and modified to SafeMessage and SafeMessageConfirmation
Add preparedSignature field to SafeMessage
Fix swagger

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 17 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 87.904%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
6257

Relevant Lines:
7118

💛  - Coveralls

I suggest holding off on this one until we clarify the requirements on the client side.

@iamacook changes are already on staging

@iamacook changes are already on staging

Alright, thanks for letting me know!


An unexpected error has occurred.

As others have reported, while advancing through the form, the following error appears:
An unexpected error has occurred.

In this case, it appears while working on #62: after clicking on the documentation section, this error appears and one cannot continue. In the console the following additional details appear:
TypeError: Cannot read properties of undefined (reading 'fields')
    at Fs (form-90b34bc17e55a650b1de.js:1)
    at ro (framework.6c7e1c7137884130584d.js:1)
    at Bo (framework.6c7e1c7137884130584d.js:1)
    at Qu (framework.6c7e1c7137884130584d.js:1)
    at Pi (framework.6c7e1c7137884130584d.js:1)
    at _i (framework.6c7e1c7137884130584d.js:1)
    at xi (framework.6c7e1c7137884130584d.js:1)
    at vi (framework.6c7e1c7137884130584d.js:1)
    at framework.6c7e1c7137884130584d.js:1
    at n.unstable_runWithPriority (framework.6c7e1c7137884130584d.js:1)

In this case, this occurred because the next section's name was miss-typed (it's case sensitive), so it tried to retrieve fields from that section, but couldn't find the section.


psr2 constraints

Hi,
We're seeking to have a lighter open source alternative to JIRA and see this project.
We'd like to contribute to this project, but realize a consistent code style would be good to it.
Since Laravel follows PSR-2, we managed to apply PSR-2 to the whole project.

Duplicate of #127


Dead code enhancement

Given a file with the following:
void f() {
  print(true || false);
  print(true && true);
}

The first line is flagged as having dead code, but the second isn't.
We should consider whether it's useful to catch code of this form. It was requested on https://youtrack.jetbrains.com/issue/WEB-52774.

@srawlins

Great suggestion! I wonder if in general we can just perform const evaluation and report dead code as per the result. E.g. if ('hello'.length == 0) { /* dead code */ }

I think that would work for expressions that are or could be constants, but it would have to be applied to the operands of the && and || operators, not the whole expression. In your example we wouldn't want to flag 'hello'.length == 0 as dead code because that code would always be executed, even though it always produced the same value.
On the other hand, that would be a good candidate for the invariant_booleans lint, and evaluating the expression as a constant expression might be a good way to implement that lint. @pq

Great points!

On the other hand, that would be a good candidate for the invariant_booleans lint,

My only hesitation is that invariant_booleans is already quite tricky and arguably over-reporting (26 open issues 😬.)  But maybe const evaluation is a sound path forward for addressing some of them? 🤔

Not to digress too far, but yes. We might be able to eliminate a lot of the complexity by evaluating the expressions. It wouldn't cover all the cases, but it would certainly cover some of them. The lint definitely needs to be cleaned up in order to be useful, and I think that might involve simplifying it somewhat.


AVRO-3889: [Java][Build] Maven IDL Generation Modification Check

What is the purpose of the change
This change adds an up to date check to the maven plugin when generating Java classes from avro IDL. The reason for the change is to prevent unnecessary recompilation of the java source code in projects using the plugin.
Verifying this change
This change added tests and can be verified as follows:

Added tests to verify that only missing files are regenerated when processing the avro IDL files.
Altered existing tests to ensure that files are generated and not used from previous test runs.

Not sure if there are other scenarios that may be affected by this change.
Documentation
This pull request does not introduce a new feature and is not documented.

Mirrors the change in #2561 into the main branch. Did the tests differently so that there can be no possibility of a race condition if running in parallel.


Improves particle performance

Makes sure doubles in particles never are null. Particle performance test shows gain of 5%.

lgtm


ap-4615: CWA provider details poc

What
Link to story
Existing Provider Details API endpoint has been replaced with updated Provider Details API
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
The standards in the Git Workflow document on Confluence should be followed
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

This PR looks good :+1:
Obviously, deleting the old Provider Service will remove a lot of the coverage shortages


Define UX Roadmap

Summary statement
The Kai ide experience focuses on the common habits of a developer who needs to migrate a project to a new technology.
Analysis provides issues.  Issues contain incidents.  All of the incidents in all of the issues need to be resolved in order to migrate to a new technology.  The tooling should encourage the developer to focus on making changes at the issue level.  Scoping work to a single issue can help to keep both the set of changes needed at any one time smaller, and developer cognitive load low.
From an identified set of issues, the developer will commonly want to:

Fix a single issue in a single source file
Fix a single issue across all affected files
Fix all issues in a single source file
Fix all issues across all files

Fixing a single issue in a single source file is the common linter/codemod pattern.  A problem is highlighted in the editor.  Activating the code actions at that point displays more information about the issue and allows requesting a codemod to fix the issue.
Fixing a single issue across all affected files is a broader operation.  This is the current target of the Kai ide experience.
Basic information
There will exist:

An ide plugin
A static code analyzer
A Kai instance (generative AI codemod agent) for fixing issues

Questions to keep in mind:

What would a cynical developer think?
What is part of the tech preview happy path deliverable?
How is this different from using a standard linter/codemod process? (eslint, prettier)

Some wider technical assumption:

Plugin and the Analyzer/Kai are all individual components

The analyzer functionality may be provided by the Kai instance or it may be separate.  As long as the the distinct functionality of those two entities exist, the implementation specific can vary.

Analyzer and Kai are orchestrated into a cohesive user experience by the plugin
Assume a corporate environment with no admin rights and limited permissions. A few possible runtime permutations to consider:

Local portable apps from the plugin dist
Local portable apps from the user located outside the plugin dist
Local apps installed for the user (e.g. CSB package, headless windows install)
Remote apps running somewhere (e.g. Konveyor hub server)

Interaction assumptions:

Analysis forward (focus on identifying the issues to guide where to have Kai make fixes)
When waiting for an action to complete (analysis or codemod), a visual indication of “action in progress” / “working” should be displayed

Future considerations
Cascading changes?

How to include a suggested change’s potential project level code refactoring needs?
What part of a suggested change would be coming from Kai?
What additional code refactoring would be required to related files if a suggested change is applied?

User Experience/Stories/Flow
The high-level user stories are as follows:

Configuration and runtime support
Configure analysis
Startup and keep alive the analyzer/Kai runtime
Surface analysis results...

as file based problems in the normal linter/codemod pattern
as issues at the project level potentially spanning multiple files
help focus the user to select and solve a single issue

Iterate on issue resolution

### User stories
- [ ] https://github.com/konveyor/editor-extensions/issues/53
- [ ] #20
- [ ] #22
- [ ] #21
- [ ] #23
- [ ] #25

The UX roadmap for the project is available in the repo itself.
Future work items may be derived from the set of user stores and lo-fi wireframes, and defined in their own issues.


Fix tests in quarkus migration

Some tests are broken in the jakarta migration

PMML test are broken due to the fact that new version of JavaParser throws a different exception

javax is declared inside RuleUnitQuarkusTemplate

Fixed by https://github.com/kiegroup/drools/pull/5080


Make it possible to add bots from Organization settings > Bots

At present, bots can be added from Personal settings, but not from Organization settings, which can cause confusion (as reported in this CZO thread).
To address this, we should make it possible to add bots from both Personal and Organization settings. To avoid duplicating code, this can be implemented by:

Moving the form to add a bot into a modal.
Replacing the "Add a new bot" tab in Personal settings > Bots with an "Add a new bot" button that opens the modal. The button should probably be at the top.
Adding an "Add a new bot" button to Organization settings > Bots, above the list of bots in the organization.

CZO discussion thread
Related issue: #19967

@zulipbot claim

@zulipbot claim

@alya Is this issue still relevant?

Yeah, I think this one would still be good to fix.


It doesn’t work at macOS Sonoma !

MacOS is not working on Sonoma! I installed the application without any problems, but it gave an error and it did not open. Please correct the error. When I close the error and open it again, it opens and closes directly

screenshot?

Assigning myself to this since a macOS issue.

Agree.. not working on macOS Sonoma for me too

Working for me on Sonoma 14.6.1

It works on Sonora 14.6.1 but it's necessary to add manually the app in Privacy & Security > Input Monitoring and restart Mechvibes. Confirm that Mechvibes it's also activated under Accessibility.
When installing custom packs, you must to restart the app to make them work.

@mrabro @NocheVolta Please keep in mind that the creator of this issue mentioned that they got an error when trying to open the app, so if you're not seeing an error, then the issue is due to upgrading from v2.3.1 or earlier, that you must remove and re-add mechvibes from Privacy & Security > Accessibility due to a change in who's signing the app.

Is there a universal binary version of this? or arm build for Mac OS? I ripped out Rosetta 2, and I've been trying to make sure everything runs without a translation layer for a while.


External link icons used in few Products link is creating confusions.

What is the current behavior?
External link icons are used in few Products. But while clicking on those links the new page is getting loaded on the same view.
What changes are you suggesting?
Expecting to load the triggered pages in a new browser tab.
or
Remove the external link icons from those links to make it in a consistent way like other links.
Additional information

Thanks so much for opening an issue @ArunRaj6! All of the links you've underlined, have the external link icon because they send you to sites outside of docs.github.com. Do you think they should also open in a new tab?

@janiceilene  Yes. As a user when I saw these external link icons, I thought they will be load in a new browser tab.

@janiceilene  I have opened a PR for the same 6025.

Ghh
adrian


Typo in scheduling tool

Should be 'your', not 'you're'

Thank you!!!

Updated in Informational meeting too


Update project-08-molecular-representation.md

added github account

Hi @FrankWanger, thank you! Two last pieces: can you include the YouTube video ID and a link to a social media post (e.g., LinkedIn) for the project as well?

Hi @FrankWanger, thank you! Two last pieces: can you include the YouTube video ID and a link to a social media post (e.g., LinkedIn) for the project as well?

Certainly, added!

Amazing, thanks!


[Bug] git log --pretty=fuller Breaks Application

When piping a custom log format to the application, git log --pretty=fuller breaks the application since the current parser cannot handle this format.
This is a critical bug since that way, you cannot extract hidden working time from amending commits:  the time between authoring and committing is obviously working time, as well, as long as the passed duration is smaller than the configured threshold.  That way, your style of development cannot be evaluated completely by your own application, @wert007.
A possible solution is adding another parser as an alternative if the first one should produce an error for some reasons.

Hmm, this is not really a bug, since it is not specified to work by calling that (you will obviously find many configurations for git log where this application will fail). But sure, it might be a nice feature. I think it would be better to add optional fields to Commit and wherever else needed, than writing a second parser.
Since this is not my main project, nor do I have the time for it, I will not implement this for the time being.


(info.type) != (kNotInitialized)

Hi,
I'm hitting a bug, for which I can't create a small repro. I have a rather complex model with several LSTMs and attentions mixed up together, and as part of the model I have a Concat operation. When I run the model, I hit an error on line 650 in graph_executor.cc: (info.type) != (kNotInitialized). The op that fails is a Concat of four inputs, all of shape (1, 200), along the 2-st axis (one-based), with inputs coming from Embedding or FullyConnected ops, or element wise multiplication.
I added some tracing info:
CHECK_NE(info.type, kNotInitialized) << graph_.nodes[nid].name << " i=" << i << " nid=" << nid << " ord=" << ord << " total=" << graph_.nodes[nid].inputs.size() << " shape=" << info.shape << " prev node=" << graph_.nodes[topo_order_[i - 1]].name;

(ord is an extra counter that counts iterations of the for (StaticGraph::DataEntry e : graph_.nodes[nid].inputs) {)
And this is what I observe:
(info.type) != (kNotInitialized) attn_single_concat_backward i=912 nid=910 ord=2 total=4 shape=(1,200) prev node=fullyconnected106_backward

Here's where it gets interesting:

Note that the ord=2, which means that the third input to the Concat op is not initialized. If I swap the first and the third inputs to the Concat and rerun it, it still fails on ord=2. So it seems like there's nothing wrong with the second input per se, since replacing it with previously working first input still makes it fail on the same ordinal.
If I rearrange inputs to the Concat further, sometimes total becomes equal to three (in other words, a Concat op that has num_args=4 somehow only has three inputs?)

I understand that this is not enough information to debug it. So I have some questions that would help me get more info:

Inputs to the *_backward operations are the inputs to the corresponding symbol, right? If yes, what can explain the fact that I see 3 reported inputs to a Concat op that has num_args=4?
What is the meaning of kNotInitialized? The input to the op is an output of another op. Does it suggest that the corresponding output is somehow unreachable?

To add an extra data point, that I think is very relevant:
I have a smaller version of the same model that works. Here's a line from the model:
flow = mx.sym.Concat(in1, in2, in3, in4, num_args=4)

If I change this code to:
outputs.append(mx.sym.BlockGrad(in3))
flow = mx.sym.Concat(in1, in2, in3, in4, num_args=4)

It starts hitting the same issue on the Concat op. So seems like blocking grads on that particular argument starts breaking stuff. Note that I change it to:
outputs.append(mx.sym.BlockGrad(in3))
flow = mx.sym.Concat(in1, in3, in2, in4, num_args=4)

it still fails, and still with ord=2, even though the in3 is not the second argument (with ordinal=1), so it makes me suspect that ordinal has nothing to do with the order of inputs to the Concat.
Finally, if I change it to:
outputs.append(mx.sym.BlockGrad(in2))
flow = mx.sym.Concat(in1, in3, in2, in4, num_args=4)

Then it does not fail. So it is specific to in3. If I block any of in1, in2 and in4, it works, but if I block in3 it breaks. The difference in them that in1, in2 and in4 come from Embedding and FullyConnected layers, while in3 comes from a pointwise multiplication of some activations over SliceChannel output.

@tqchen Any ideas?

The last time this happens. I recall it was due to some output of slice
channel not binded for gradient and in gradient construction, the supposed
to be initialized slice channel output gradient was not initialized(
because it did not get binded)
On Thu, Jun 2, 2016 at 11:55 AM Eric Junyuan Xie<EMAIL_ADDRESS>wrote:

@tqchen https://github.com/tqchen Any ideas?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/mxnet/issues/2317#issuecomment-223387715, or mute
the thread
https://github.com/notifications/unsubscribe/ACdUIKeKTrVmufq6hVPvAwZaSUlXapbzks5qHycZgaJpZM4Is2Er
.

Can we set gradient input to any unused output to 0?

@tqchen, it seems relevant, I will try to dig there. I try to BlockGrad on all dangling outputs, but might have missed some.
I though, however, that dangling outputs result in errors before the binding starts.

I confirmed that I have no dangling outputs.
Most interesting thing is that if I replace
flow = mx.sym.Concat(in1, in2, in3, in4, num_args=4)

with
flow = mx.sym.Concat(in1, in2, num_args=2)
flow = mx.sym.Concat(flow, in3, num_args=2)
flow = mx.sym.Concat(flow, in4, num_args=2)

Then the issue doesn't repro anymore.
I have another issue that might be relevant or not. When I switch to multiple Concats  to get around the kNotInitialized error, I hit another issue:
  what():  [15:03:37] src/engine/./threaded_engine.h:306: [15:03:37] src/operator/./embedding-inl.h:85: Check failed: (req[embedding::kData]) == (kNullOp) Embedding layer doesn't support calculate data gradient 1

An extra 1 at the end is my debug output -- it's the actual type (and stands for kWriteTo). All my Embedding layers only accept mx.sym.Variable as inputs, so none of their inputs should be kWriteTo. However, some of my Embedding layers share their inputs. If I duplicate shared inputs (so that each Variable is fed to at most one Embedding), the issue goes away.
With both hacks in place my models runs, but the fact that the hacks work suggests that both issues are real bugs, and not just a result of me forgetting some dangling outputs.

@tqchen Looks like implicit copy for branching is not handled correctly for all cases?

For the second bug, it seems the embedding layer is trying to compute gradient w.r.t the data.

I think @sxjscience could be correct about the second one. Could due to the fact that the gradient aggregations is computed

@tqchen, so you suggesting that if a certain variable is fed into multiple nodes, the code that handles aggregations automatically marks it as kWriteTo, because it will compute an aggregation?
So the fix would be to change that code to recognize that all the nodes that the variable is fed into do not propagate gradient back? Do you know where the code that handles aggregations is located?

We also have a very large and complicated model, and we see the same error (info.type) != (kNotInitialized). I checked and it happens for a concat node.
I'm using the latest master branch, but we have been seeing this error since early March. The same code base was working fine for earlier builds. I believe the last Windows release that didn't have this issue was either 0229 or 0321 (I can check if necessary).
I checked the commits since then but nothing strikes me as suspicious. But given Alex's findings above, maybe this information can help?

I found a workaround for our case which definitely points to concat being the issue. We were using concat to duplicate a symbol N times on axis 1 (which worked fine for earlier builds but now fails). Now I did the same thing with mx.symbol.broadcast_axis(symbol, axis = 1, size = N) and it worked without any issues.
So, this fails:
list = []
for _ in range(0, N):
list.append(symbol)
net = mx.symbol.Concat(*list, num_args = N, dim = 1)
while this works:
net = mx.symbol.broadcast_axis(symbol, axis = 1, size = N)

My guess is that the concat op cannot handle correctly the case when the inputs contain duplicates? E.g concat(a, b) will be OK but concat(a, a) will be problematic ?

Very likely - although it used to work fine. We use concat extensively (without duplicates) but only this one seems to have an issue

@sxjscience, in my case no input was the same, but some of them depended in the same nodes.  I think toposort somehow screws up such cases.

@cemkeskin @SkidanovAlex Any update on this issue? I've tested b = mx.sym.Concat(a, a, num_args=2) and the backward seems to be correct.

I hit this issue again. I just started debugging it, and here's some early info: I am using a very simple graph: (array of 33 inputs) => concat of 33 => concat with another input => convolution => fc => softmax
Now, when I get the abovementioned CHECK_NE failure, the offending node is concat52_backward, which is the backward node corresponding to the concatenation of 33 inputs. Obviously, the backward node is expected to have precisely one input, and that input is expected to point to concat53_backward, node corresponding to the second concat in my graph. However instead it has 33 inputs, the first one indeed going into concat53_backward, and the remaining 32 going into concat52_backward, in other words it has 32 unexpected inputs pointing to itself (effectively creating a loop).
I am trying to figure out where they come from, but may be someone here who knows the code better can give me some pointers or guess possible reasons?
The second concat backward node (concat53_backward) has one input, and that input is connected to the convolution, as expected.

@SkidanovAlex Thanks for your work! It'll be really helpful if you can find a repeatable example.

The bug I'm hitting right now is in CreateGradSumNode. It only reproes if Concat concatenates at least 8 nodes (in my original repro I had a concat of 4 nodes, so it is unclear if this is the same issue).
CreateGradSumNode introduces edges between its inputs. In my case all those nodes are the same, and thus the connections that are introduced are loops. That code is wrong in a more general case: the inputs to that node might have more complex dependencies, and introducing new edges blindly can in general create loops.
Locally I just set MXNET_EXEC_INPLACE_GRAD_SUM_CAP to a larger value, I guess @tqchen is way more qualified than I to fix the fundamental issue.

@SkidanovAlex Here's the example code I get from your description. Concatenating 8 nodes will trigger the addto optimization. No such problem when AddTo is not triggered .
import mxnet as mx
a = mx.sym.Variable('a')
b = mx.sym.Concat(a, a, a, a, a, a, a, a, num_args=8, dim=0)
exe = b.simple_bind(ctx=mx.cpu(), a=(10, 10, 10))

Output
Check failed: (info.type) != (kNotInitialized)

@piiswrong I find that we still seem to have this bug in the latest master.

@sxjscience Does this PR help? #8055

#8055 fixes the example test case @sxjscience provides. I'm gonna close it for now. Feel free to reopen it


feature/basic-plotting

Description of Changes
Include a description of the proposed changes.
This PR includes a couple of things:

The addition of some basic defintions for ComputedFields, these live with the rest of the DatasetFields definitions but are objects which store a lambda function to generate the computed column.
A function to load the archived data and generate and attach all ComputedFields
Some simple plotting functions for exploratory analysis
Plotting functions wrapped into a bin script with various groupings applied.

For example, here is the pre- and post-contact average errors per page plotted against each other, and points are colored and shaped by whether or not we contacted the campaign.

In general, we would want to see lot's of blue / circle points left of the diagonal because that would mean they lowered their average errors per page after we contacted them. We don't really see that however, we see some points that follow this pattern here and there but no major trends.

On a more interesting note, but to be expected, is the errors versus vote share plots:

These plots tell us a bit more.

We plot diff_errors over vote share and see that there were a couple of campaigns that drastically reduced their total number of errors. Two of which we had contacted and one of which we did not. In general, for the "diff" plots, they are useful for seeing if anyone changed their behavior, and where they fall on the vote share. Even though it is but a single point, I want to call out that it seems a campaign removed 100+ critical errors after we contacted them.

I wouldn't try to compare the average errors per page plots against each other (pre and post), but I would like to simply note that there is visually a very minor trend of "campaigns that resulted in higher vote share having fewer average errors per page", something to explore with P values and regression. But this wouldn't be something we can claim we helped with (at least currently I don't think so) but rather something to call out in the paper / future proposals.

From the bin script code, I have also ran the above plots for subsets of different groupings (i.e. generate these plots but only for races that were open, or only for candidates that were currently in-office) but I don't want to attach too many plots to this PR so I will show them to you in meeting tomorrow.

I have returned!
Answering the "questions" left on #27

"What are the most common violations, how does it compare across races, geographies, and candidate status?"
I added a ton of new plotting methods. First let's talk "violations" you can either break this down by "violation severity" or "violation type". Severity is, was it a minor, moderate, serious, or critical accessibility issue. Type is "what rule was broken" (i.e. missing image alt text, missing header, etc.).
Violation Severity
Let's address severity first, each of the following plots will be:

a series of box plots in order, average errors (regardless of severity), then minor, moderate, serious, and critical.
each box plot will have two box plots in each "column", the blue box plot is "pre-contact" (or about two weeks before election) and the orange is "post-contact" (or after election)
all plots have the same y-axis which is set to the range of the full feature range not just the severity subset. Useful for understanding how much a severity is pulling up or down a categorical variable.

electoral position

We can't really see a major trend here. Based off the data there is a very, very, minor difference between the overall average number of errors per page between campaigns running for council positions and campaigns running for mayoral positions (with council campaigns having slightly less average number of errors per page). The one interesting thing imo, is that this seemingly gets more pronounced as the severity increases. The differences between council and mayor campaigns are minimal for minor and moderate violations when compared to serious and critical violations. But, small sample size, and the distributions are very close regardless so don't know if we can take anything away from this too much.
candidate position

This one is a bit more obvious. Campaigns who are challenging an incumbent have a much wider distribution of average number of errors than the incumbent candidate does. And incumbents generally have less accessibility violations per page. Interestingly, open races, where there is no incumbent, is imo more similar of a distribution to incumbents than to challengers. More competitive races make for more accessible races maybe?
election result

As we would somewhat expect. Candidates that win races typically have less accessibility violations per page.
location

You will first notice that this plot only has three rows! I know! It's because the other locations we monitored only had a single race (two candidates) and we can't really make a box plot with just two candidates and even then, I think we can only really look at New Orleans. But this doesn't really tell us much other than how specifically New Orleans violation severity broke down, which, since I a used "candidate position" as the column spliter again, looks very much like the prior "candidate position" plot. Not much to take from this (at least for severity).
other "categorical" break outs of severity
I am going to skip the "candidate history" plot because it is somewhat similar to the "candidate position" plot. And I am skipping the "contacted" plot because we know we didn't really have an effect with our emails as show in the prior state of this PR.
general notes
The biggest note I have is that across the board it seems like many campaigns are doing okay with minor, moderate, and critical errors, but it's rather "serious" severity violations where campaigns are failing. Let's dive into that in error type.
Violation Type
The following massive single plot, shows the most common error types. I operationalized "most common" error types as "any error type that when aggregated to the whole dataset level, it's 25th percentile value was more than 0. Basically, we don't want to look at extremely rare violations that only affect one or two campaigns, but rather the violations that typically affect campaigns.
Further, I normalized the total number of the cited error by the number of pages on a campaigns website (but you could argue that we should use total words or something else as the normalization term). Finally the same applies, each box plot will have two box plots in each "column", the blue box plot is "pre" and the orange is "post"
If you are curious as to what error is the y-axis, take the feature name and strip it of the "avg_error-type_" prefix and the "_per_page" suffix and plug it into this URL: https://dequeuniversity.com/rules/axe/3.5/X
So for example if the feature is: "avg_error-type_heading-order_per_page" go to: https://dequeuniversity.com/rules/axe/3.5/heading-order for details.

I personally think its hard to take away anything from the "electoral position", "candidate position", and "election_result", break outs.
So what can we take away, well, these are the most common accessibility violations. These 11 violations were the most numerious violations we found.
Seattle generally had more accessibility violations than the other two municipalities we monitored with numerous elections (Minneapolis and New Orleans). But all three "power houses" struggled with missing headings (page-has-heading-one), missing content landmarks (region), link names / link inner text (link-name), heading order (heading-order), and color contrast (color-contrast).
A lot of campaigns struggled with missing headings, missing landmarks, color contrast, and form labels.


feat: Plumb through data_tiering_enabled

what

Introduce var.data_tiering_enabled and plumb it through to the aws provider

why

@teikametrics needs to set data_tiering_enabled true to provision our desired node typeError: error creating ElastiCache Replication Group (bidder-redis-cluster-production): InvalidParameterCombination: When     using the cache.r6gd.xlarge node type, you must enable data tiering.
status code: 400, request id: REDACTED

This flag data_tiering_enabled doesn't currently exist in the terraform-aws-elasticache-redis module

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_replication_group#data_tiering_enabled

The build fails with message
+ echo 'Changes detected. Pushing to the PR branch'

Please, what are the changes, and what access is required to complete CI?

/test all

/test all

/test all

/test all


Post cinder adoption, volume creation failing with  DEFAULT  volume type

During cinder adoption  we are passing default_volume_type=tripleo in customServiceConfig section of CinderApi service but the configuration is not reflected in cinder service pods and volume creation failed with following message :-
[ospng@dell-r640-089 osp2]$ openstack volume create --image cirros --bootable --size 1 disk_new
The request cannot be fulfilled as the default volume type DEFAULT cannot be found. (HTTP 500) (Request-ID: req-621e986d-7220-474b-aaa2-5282a49f866c)
command terminated with exit code 1

We have merged PR#250 in the cinder-operator, so this bug should have been fixed.


Ensure workbox is available before referencing it

R: @jeffposnick @philipwalton
Fixes #1915 / #1981
Sorry to follow up with a PR immediately after the publish, but it turns out order in the template does matter, as otherwise workbox might not be defined yet (total facepalm on my part)! I feel like I probably missed implementing a test somewhere in the initial pass but I'm not sure where that should've gone, so I at least added a warning comment for now. Let me know if there's something better I could add.

Hey @jeffposnick any ETA on a new minor version release? We'd love to start utilizing this.

We just pushed out v4.3.0 which should include this fix.

I can't find this in v5.0.0, how can i use it?


WSL1: mmap throws EOPNOTSUPP on unknown flags (should ignore it)

While #10049 is still a thing, the qemu test case is becoming void because it's failing due to a different reason: mmap is throwing EOPNOTSUPP.
The specific call is
 mmap(0x1000,<PHONE_NUMBER>, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE|MAP_FIXED_NOREPLACE, -1, 0)

On an old kernel (like the 4.4 WSL1 is emulating), per https://man7.org/linux/man-pages/man2/mmap.2.html, the expected behavior is instead to just ignore the flag.
Describe the solution you'd like
Silently ignore. Sounds leaky and dangerous, but that's the expected way.
Additional context
Linux [hostname] 4.4.0-22621-Microsoft https://github.com/microsoft/WSL/issues/1610-Microsoft Fri Jan 01 08:00:00 PST 2016 x86_64 GNU/Linux

It's sad how ignored this was, quite an useful feature for WSL1 users that don't want to run a VM in the background every time they need to use a shell

Writing a straight-to-the-point report is all I can do. I expect WSL1 to provide an old-but-complete-ish emulation of Linux syscalls, but with an easier way to go (wsl2 VM) I can see why it's being neglected.
At least most of my games no longer has the anticheat bail on Hyper-V, so I can leave it on. :(
https://github.com/microsoft/WSL/issues?q=label%3Awsl1+label%3Afixed-in-wsl2


[4.0][Feature][Ready] select2_multiple for 1:n relations eg. select2_many?

Hey guys,
we currently wanted to use an 1:n relation to edit the multiple connected entities out of the "one" side.
So assume we have a User who manages multiple Groups. So Group has the foreign key user_id and we have the following relations:
In the User model:
public function groups()
{
    return $this->hasMany(Group::class)
}

and in Group model:
public function user()
{
    return $this->belongsTo(User::class)
}

Now we can easily select the User on Group edit with the select2 field.
But what we also needed was selecting the Groups on User edit, which would be a new field.
Something like select2_many?
Has anyone already achieved this? Is it worth the effort creating a new field or is this some kind of "very special case" and should not be part of backpack?
If this can be useful I could try to solve this, implement the field and create a PR.

@pxpm this was just an example to illustrate the issue ;)

Ok :)
I got your point.
In my humble opinion it's worth as 1-n relations are common.
If i can help you with something let me know.
Pedro
A Ter, 5/06/2018, 17:33, Oliver Ziegler<EMAIL_ADDRESS>escreveu:

@pxpm https://github.com/pxpm this was just an example to illustrate
the issue ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Laravel-Backpack/CRUD/issues/1442#issuecomment-394776069,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG2uv3YptK4ZDAyinkV6CArt5r_uyuujks5t5rLqgaJpZM4UbHN0
.

Is a new field type, an improvement, a non breaking change, and besides that not a marginal use case, I think definitely will be cool to have it.

So I managed to make a PR with select2_many and select2_one field types.
Would be nice if someone could give feedback.

Hmm... this is a very very good question.
My position in the past has been that an edit form should only edit that entity. I always thought it's the only intuitive way. But this use case that you've pointed out is intuitive as well. I might have been wrong. As an admin/user, I have no idea that it's a 1-n relationship and what not. So it doesn't really matter to me (admin) where the change is made, in this entity that I'm editing or in a connected entity. Plus, like you guys said, I don't think it's such a niche use case, so we should probably support it.
Thanks a lot for the excellent PR @OliverZiegler . Great work.

Let's merge all talks about this into https://github.com/Laravel-Backpack/CRUD/pull/1453
Closing the issue in the hope that we can devote some attention to this in 4.1
Thanks again @OliverZiegler ! It's much appreciated.


Newsfeed ingestion scenario

OPS Build status updates of commit e57a2e4:
:clock10: Preparing: average preparing time is 45 sec(s)

OPS Build status updates of commit e57a2e4:
:clock10: Incremental building: average incremental building time is 23 sec(s)

OPS Build status updates of commit e57a2e4:
:warning: Validation status: warnings

File
Status
Preview URL
Details

toc.json
:warning:Warning

Details

bread/toc.json
:warning:Warning

Details

building-blocks/extending-templates/toc.json
:warning:Warning

Details

docs/example-scenario/ai/media/mass-ingestion-newsfeeds-architecture.png
:white_check_mark:Succeeded
View

docs/example-scenario/ai/newsfeed-ingestion.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

includes/scenario_articles.md
:white_check_mark:Succeeded
View

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\exba\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\exba\bread\toc.json'.

building-blocks/extending-templates/toc.json

[Warning] Error happen when converting building-blocks/extending-templates/toc.json to Pdf. Details: Could not find a part of the path 'T:\exba\building-blocks\extending-templates\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

 Details: Could not find file 'T:\mbwv\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\mbwv\bread\toc.json'.

building-blocks/extending-templates/toc.json

[Warning] Error happen when converting building-blocks/extending-templates/toc.json to Pdf. Details: Could not find a part of the path 'T:\mbwv\building-blocks\extending-templates\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

 Details: Could not find file 'T:\4ojc\toc.json'.

building-blocks/extending-templates/toc.json

[Warning] Error happen when converting building-blocks/extending-templates/toc.json to Pdf. Details: Could not find a part of the path 'T:\4ojc\building-blocks\extending-templates\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\4ojc\bread\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Remove http patch requests per second metric

What does this PR do?
The counter for this metric doesn't exist and has been causing a lot of logs from being generated.

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Rather than making a new PR for this change, can we just do a revert instead?


way of allowing event overlap in the same tracker using perfetto sdk

Sorry to raise this issue again, still troubled by the event overlap issue and we want this badly to allow convient analysis purpose.
by searching the issue list I found a similar one with protobuf implemention, and seems there is walkaround.
https://github.com/google/perfetto/issues/438
Just want to make sure if this way also apply when using perfetto sdk?
I just try to change the uuid for before emit a event to make sure all event with the same trackername and different uuid.
But the output still the same.(Using perfetto v32.1 release)

Just want to make sure if this way also apply when using perfetto sdk?

If I understand correctly what you're asking, yes it should be possible to emit overlapping events with the SDK.

I just try to change the uuid for before emit a event to make sure all event with the same trackername and different uuid.
But the output still the same.(Using perfetto v32.1 release)

I'm not sure I understand. Could you expand a little bit on:

What does your code look like?
What's the result that you get in the UI?
What's the result that you instead expect/want to achieve?

Thanks!

Just want to make sure if this way also apply when using perfetto sdk?

If I understand correctly what you're asking, yes it should be possible to emit overlapping events with the SDK.

I just try to change the uuid for before emit a event to make sure all event with the same trackername and different uuid.
But the output still the same.(Using perfetto v32.1 release)

I'm not sure I understand. Could you expand a little bit on:

What does your code look like?
What's the result that you get in the UI?
What's the result that you instead expect/want to achieve?

Thanks!

I just found that I am creating a tracker with the same tracker id and after modifying the name & uuid with set_name() and set_uuid() function calls. the trace event b/e is dispatch, the problem might be I need to create a new tracker with different ids.
I changed my code a little bit.
below is what it looks like now:

It indeed has expected output of early done event finish first. but there is still another problem.
I expect all slices to fall into the perf_event tracker, but it falls into different trackers named by the cmdtype.
not sure if I missed anything, could you kindly help to provide some suggestions?

I'm not sure I understand all the context from your code and your description, but the problem might be that you're incrementing mem_trace_count for each slice that you're emitting.
Since you're constructing the Track with an id (the first parameter) of mem_trace_count + 100 + tracker_id, each time you increment mem_trace_count, you're effectively asking for a different track.
Also maybe there's some other code above that I don't see, but normally you shouldn't use TRACE_EVENT and TRACE_EVENT_END. You should use TRACE_EVENT_BEGIN and TRACE_EVENT_END.

thanks for the reminder, I just fix the trace_event_begin issue
still they  shows up on top tracker when different cmdtype trackers instead of the perf_event tracker under the specified process group.

I just did a quick test by fixing the trackerid when constructing a track, the slice overlap is not as expect, ReleaseDesc end first, then Perfdump and LoadDesc, the actual situation is just the reverse.

I will shorten the test case and provide the src for you to further later on.

please check attach test case
test1:

test2:

both case are unexpected, as the intention is to place them in the default process track with tracker name perf_event and correct event ovelapping.
event_overlap_test.cc.tar.gz

test1

This is working as intended from perfetto POV. When you emit a TRACK_EVENT_END, you cannot specify which slice you're ending, the latest one (in terms of timestamp), is ended. The right thing to do is to emit them in different tracks.

test2

I think you're close with this code. There are a couple of problems:

event_count should start from 1, not 0. perfetto::Track(0, perfetto::ProcessTrack::Current()); doesn't create a new track (the 0 is xord with the process UUID, creating the same track).
you shouldn't do desc.set_uuid. If you compile without NDEBUG, perfetto will complain about this.

with these two changes, I think you can achieve your goal.

thanks for the reminder, I will take a try.
is there other alternatives to change the uuid of a tracker?

is there other alternatives to change the uuid of a tracker?

Instead of changing the UUID of a track, you should just use a different id when creating the Track object. You were already doing that correctly by using event_count (except that it shouldn't be 0).

thanks it works as expected now.

paste the code below just in case someone has the same need in the further.
`    InitializePerfetto();
auto tracing_session = StartTracing();
uint64_t event_count = 1;
uint64_t timestamp = perfetto::TrackEvent::GetTraceTimeNs();
std::vectorstd::string event_list;
event_list.insert(event_list.end(), {"setdesc", "releasedesc", "perfdump", "runtask", "runtask", "runtask"});
for (const auto &event : event_list) {
    perfetto::DynamicString dyn_name = perfetto::DynamicString(event);
    perfetto::Track mytracker = perfetto::Track(event_count, perfetto::ProcessTrack::Current());

    perfetto::protos::gen::TrackDescriptor desc = mytracker.Serialize();
    desc.set_name("perf_event");
    perfetto::TrackEvent::SetTrackDescriptor(mytracker, desc);

    TRACE_EVENT_BEGIN("binning", dyn_name, mytracker, timestamp + +event_count * 100000);
    TRACE_EVENT_END("binning", mytracker, timestamp + 400000 * event_count);
    event_count++;
}

StopTracing(std::move(tracing_session));
return 0;`


Handle more allocation failures across the codebase

More occurrences of GdipAlloc without a check after
Some of these can be triggered with invalid data (e.g. in the headers of bitmaps) but others are rare cases. Still good to be careful though

@hughbe,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


use cgr.dev for base img make the const accessible

Signed-off-by: Batuhan Apaydın<EMAIL_ADDRESS>According to the comment here

This PR will fix the problem created by #910. Can you please check @halvards? PTAL @imjasonh

This PR will fix the problem created by #910. Can you please check @halvards? PTAL @imjasonh

Quick update here, @imjasonh fixed the problem in PR #923, so I've updated my PR to revert changes related to that fix. ☝


context menu

hi
how to open context menu?
right click?

To enable the context menu, you need to:

Set the enableContextMenu option to true
Set the different menu items (and their behavior) that you want, using the contextMenuItems options.

You can find an example on this [page](http://www.bootstrap-year-calendar.com/#Examples/Full example)
Then, you can open the context menu by right clicking on a date which contain an event.

Hi I already have enable enableContextMenu but it still not work.
Can you help?

enableRangeSelection: true,
contextMenuItems:[
{
text: 'Update',
click: editEvent
},
{
text: 'Delete',
click: deleteEvent
}
],
dayContextMenu: function(e) {
console.log(e);
$(e.element).popover('hide');
}

In example code it does not open context menu.
but it is set enableContextMenu true.
when i received answer from @Paul-DS it did not work.

Hi,
using example, all working well but context menu working abit weird, when i right click menu shows but on mouse release disapear, so i have to hold right mouse button and then left click to selected option.
Is this wanted design or im missing something ?
thanx

@corwin32  you can look #40  , it works good.


Form.Select how to use custom array options

From.Select needs to have a specific array like that :
const options = [
 { key: 'm', text: 'Male', value: 'male' },
 { key: 'f', text: 'Female', value: 'female' },
]

and using it like that :
<Form.Field control={Select} label='Gender' options={options} placeholder='Gender' />

if i want to use other array with custom keys and values like that for example :
const options = [
 { date: 'somedate', title: 'sometitle', },
 { date: 'somedate', title: 'sometitle', },
]

i am getting an error about using wrong props
my question is how can i use my own array with this Select Component thanks !

@electrozed Select is a sugar for a Dropdown with the selection prop added to it. There are lots of examples on how to use the options prop correctly there. I'd recommend starting here: https://react.semantic-ui.com/modules/dropdown#dropdown-example-multiple-selection

Your array must match the shape the component needs.  You should map() your array into the proper shape before passing it.  Take a look at the link provided above.


ofw 10.1 compatibility

Hello, I've noticed it isn't working in OFW 10.1, and I could fix the first issues by adding this two lines to ofxAudioUnit.cpp
#include "ofFileUtils.h"

template<typename T> using ofPtr = shared_ptr<T>;

but now it seems to complay of ofPolyline
/Volumes/tool/of_v0.10.1_osx_release/libs/openFrameworks/graphics/ofGraphicsBaseTypes.h:42:7: Typedef redefinition with different types ('ofPolyline_<ofDefaultVertexType>' (aka 'ofPolyline_<tvec3<float, highp> >') vs 'ofPolyline')

it would be great to have it running on 10.1
Thank you

hey @dimitre, give it a try now. Last two commits should fix it!

beautiful! thank you very much


[Feature Request] Programmatically get request name

Hello, I would like a way to programmatically get the current request name (without manually parsing the .bru files).
I want to use this for logging purposes, when https://github.com/usebruno/bruno/pull/619 lands I will start chaining requests together, and want to make it clear which request is initiating the action.

I register issue #1874 & PR #1875 with a solution to this, it is not merged


belauds, dicyclopentadienyliron

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.1
logical conflict every: 1000
sleep for: 600s
close stale after: 24 hours
[pullrequest]
requests per hour: 20
deps=[b,d]

/trunk merge