Password displayed is a hash/encrypted

[Enter feedback here]
az ad sp create-for-rbac --skip-assignment --name myAKSClusterServicePrincipal
->
Password displayed is a hash that can not be used in terminal shell with --client-secret.

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

ID: 25a0d502-ce71-76d4-bf8a-060e63913b52
Version Independent ID: 69d7fa26-1a37-e477-0a2c-db58ce19a84f
Content: Service principals for Azure Kubernetes Services (AKS) - Azure Kubernetes Service
Content Source: articles/aks/kubernetes-service-principal.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

I tried to reproduce the issue but I was able to use the Password in the output from az ad sp command in the az aks create command as it is. The cluster was created successfully for me.
Can you please confirm you are using the latest Az CLI version? Let me know.

I'm using version 2.6.0.
I thought bash did not escape the password hash (containing all kinds of chars for shell interpretation)
properly. Now that I re-created an sp, I got the az aks create in Running...
Do I now suspect a typo? Hmm...

Thanks for sharing the update. Let me know if you see this issue going forward and we will look into it.
We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

Here's the problem again.
az ad sp create create-for-rbac --skip-assignment --name xxx
{
...
"password": "dk2#n?[j=U{sktAfeS+/r+2/*kM!"%S"",
...
}
Bash has problems with ! and "
echo "ek2#n?[j=U{sktAfeS+/r+2/*kM!"%S""
-> bash: !: event not found
az login --service-principal --username xxx --password "ek2#n?[j=U{sktAfeS+/r+2/*kM!"%S"" --tenant  xxx
-> bash: !: event not found
echo "ek2#n?[j=U{sktAfeS+/r+2/*kM!"%S\""
-> ek2#n?[j=U{sktAfeS+/r+2/*kM!"%S"
az login --service-principal --username xxx --password "ek2#n?[j=U{sktAfeS+/r+2/*kM!"%S\"" --tenant  xxx
-> Get Token request returned http error: 401 and server response: {"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret is provided.\r\nTrace ID: bb5b60ee-75b3-491d-b184-968d8e6e1900\r\nCorrelation ID: a1b6e728-5483-4b35-a087-f09cf4798ac6\r\nTimestamp: 2020-06-02 02:23:21Z","error_codes":[7000215],"timestamp":"2020-06-02 02:23:21Z","trace_id":"bb5b60ee-75b3-491d-b184-968d8e6e1900","correlation_id":"a1b6e728-5483-4b35-a087-f09cf4798ac6","error_uri":"https://login.microsoftonline.com/error?code=7000215"}


LeetCode Videos

🛠 Fixes Issue #430

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Please review @arpit456jain @singhmansi25 @KKhushhalR2405 @raghavTinker

@arpit456jain @singhmansi25 @KKhushhalR2405 @raghavTinker
https://user-images.githubusercontent.com/56798376/171146351-a3ddb87b-973d-4a80-b0ea-0c6302ef6aaa.mp4

@arpit456jain @singhmansi25 @KKhushhalR2405 @raghavTinker

great work @muhammadgalhoum
1.instead of adding leetcode in navbar make a card just like other courses

i am thinking to add the text solution also can u do that ?

great work @muhammadgalhoum
1.instead of adding leetcode in navbar make a card just like other courses

i am thinking to add the text solution also can u do that ?

Thanks, @arpit456jain
Please give me Level 3 for this work
Can u explain more what u mean by this sentence "instead of adding leetcode in navbar make a card just like other courses"

great work @muhammadgalhoum
1.instead of adding leetcode in navbar make a card just like other courses

i am thinking to add the text solution also can u do that ?

Thanks, @arpit456jain
Please give me Level 3 for this work
Can u explain more what u mean by this sentence "instead of adding leetcode in navbar make a card just like other courses"

sure

2. i am thinking to add the text solution also can u do that ?

I think that if the user finds the solution on the site, he will not open the videos, so it is better that you put the solution in the description of the video on YouTube, and that leads to making the user watch the video and the solution


Update set of available kustomize tool versions

Introduce version 4.5.1, and remove the flawed version 4.5.0, moving past kubernetes-sigs/kustomize#4388.

See #3 for the next upgrade.


fix: improve error reporting for kubectl apply

this also fixes a few editor translations to avoid use of innerHTML
Fixes #4605
parse errors:

Description of what you did:

My PR is a:

[ ] 💥 Breaking change
[x] 🐛 Bug fix
[ ] 💅 Enhancement
[ ] 🚀 New feature

Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

validation errors:


Add support to password managers

The username/password should be able to work with a password manager (eg. 1Password and LastPass)

Looks password managers work in the full-screen demo, but not in the default demo. See the attached video.

This issue was addressed here: https://github.com/vaadin/vaadin-login/commit/6cd2413fc002d4c49b1b2a4bbad3e8531889827a
The following actions were taken:

Removed vaadin-login since it doesn't provide password managers support and its name makes it look like the main component.
Created an internal vaadin-login-form-wrapper for handling native forms.
Created a new element, vaadin-login-form, which can be used inline and has password manager support as long as it's not inside a shadow root.


Initial tut docs (update)

Made #53 uptodate

Note: I kept the rename of algebraIso to fromAlgebraIso and the added methods Corecursive. fromAlgebra & Recursive. fromCoalgebra that are available in the original PR.

Thanks :) Note that I was mainly brushing off some dust from an old branch of @sellout though (which seemed too valuable to not have merged in)


User-based permission implementation

Big Like!

Huge like :+1:  :smile:

And it's implemented :)


rails assets:precompile gives error: tailwindcss-rails does not support the x86_64-linux platform

Dockerfile:
FROM ruby:3.1.2-alpine
WORKDIR /app
COPY . .
RUN apk add --update --no-cache build-base gcc g++ git less tzdata \
  libstdc++ libffi-dev libc-dev sqlite-dev postgresql-dev build-base gcompat
RUN gem install bundler
RUN bundle lock --add-platform x86_64-linux
RUN bundle --verbose
ENV RAILS_ENV=production
RUN bundle exec rails assets:clean assets:precompile
EXPOSE 3000
CMD ["rails", "server", "-b", "<IP_ADDRESS>"]

Results in error:
Tailwindcss::Commands::UnsupportedPlatformException: tailwindcss-rails does not support the x86_64-linux platform

Hi, sorry you're having a problem, I'll try to help.
This gem absolutely supports alpine, so we'll need more information about your Rails app. Can you please share the output of bundle env in this container on your rails application?

@flavorjones I just hit the same issue with a new (minimal) rails 7.0.4 application. It seems it only occurs when using rubygems 3.3.22. It does not occur when using rubygems 3.3.7 (but this version causes https://github.com/rubygems/rubygems/issues/5351).  In all cases using ruby:3.1-alpine as base image.

@gucki I think you're describing https://github.com/rubygems/rubygems/issues/5914? But I'm only guessing because I don't know what command you're running (gem or bundle) or other info about your system
@deflexor Can you please share the output of bundle env in this container on your rails application?

I see ... just to confirm, the native gem is installing fine but you're getting this error from the tailwindcss wrapper. Interesting. I'll dig in a bit more.

OK, reproduced at https://github.com/rails/tailwindcss-rails/actions/runs/3084115065/jobs/4985885770

OK, I've identified the problem upstream in rubygems, and bug has been filed here: https://github.com/rubygems/rubygems/issues/5938

Release v2.0.14 / 2022-09-19 · rails/tailwindcss-rails has been released which works around this bug.

@flavorjones Thank you! I can confirm it fixed the issue for me.


added the controllers

Hello, In this PR I,

Created the controllers for the users and posts
Created the views and actions for my controllers

Thanks @VICTOR-CHUKWU  fro approving my PR


Add OCP verification checkbox to PR template

Summary
Quarkus version bump, core or OpenShift extension changes need to be verified against OCP
Checklist:

[X] Commits are well encapsulated and follow the best practices

Let's proceed with this one - https://github.com/quarkus-qe/quarkus-test-framework/pull/541


ec_deployment: Add support for newly added tags

Overview

Tagging deployments is now possible with the addition of the metadata.tags list which allows us to specify an arbitrary list of k/v tags.
Possible Implementation

Two possible implementations come to mind, either implementing this feature as a list of tags or as maps.
Implement as map (abstracted from the API)
resource "ec_deployment" "example" {
  # ... config [..]

  tags = {
    key   = "value"
    owner = "marc"
    team  = "my-team"
  }
}

Implement as tag list (closer to the API)
resource "ec_deployment" "example" {
  # ... config [..]

  tag {
    key   = "owner"
    value = "marc"
  }

  tag {
    key   = "team"
    value = "my-team"
  }
}

The map implementation has an advantage over the list of tags since it's more compact and less verbose.

IMHO, impl #1 would be best in this case since its very intuitive. The latter reminds me of how AWS implements tags in their API which is, IMHO, one of the most annoying things in their API 😅


Include dialogue in choice node

Might want choice node to optionally include some dialogue as well, so if the choices are in response to a question that can be bundled into the same node. Currently if you wanted to keep a question on screen while choices are displayed it would have to be in a previous text node, and you would have to keep dialogue on screen while waiting to find out what the next node is...

I had an issue related to this on the previous version of this plugin that might be worth keeping in mind:
In Gophers, choices were intricately connected with the dialogue that preceded them, so the code that was consuming the graph had to constantly look ahead to see if the next node was a choices node.
This is less than ideal when it comes to including a signal driven cutscene controller node as part of the plugin.
It also would make it difficult to deal with graphs where there is some other node required between the dialogue and the choices.
It seems like this is probably not an unusual requirement. No immediate solution comes to mind though.

Other possible solutions to this would be:

Allow dialogue nodes to be marked as "persistent" or something.
Look ahead and determine if a choice node is coming up soon, and indicate that in the display dialogue signal.

However... neither of these are ideal because the flexibility of the graph may preclude knowing for certain if a choices node is going to be the next one that will display to the user. For example, a branch or random node could be put between the dialogue node and only have choice nodes on some branches.

I implemented this by bundling a dialogue node with the choice node. It can be enabled or not based on the user-defined choice node type.


Deprecate moved warning functions

What does this PR do?
Keep BC for users importing these utility functions from the specific distributed.py file
To be included in the 1.3.8 release
Closes #8084
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[n/a] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

$$$$


Equivalent to Conv2D with kernel size S and stride S?

Hi,
It's not clear to me what is the difference between SPD-Conv and Conv with stride S and kernel size S. I.e. this is what many transformer papers (e.g. Swin) use as their "patchify" stem.
It's also used in their downsampling layer. Although, they formulate it without using Conv2D (to avoid NHWC to NCHW reshape) but it is conceptually equivalent to Conv2D with stride 2 and kernel size 2.

Hi,
I also got the impression that this block is equivalent to strided conv. I investigated further and there is really no difference.
This script uses SPD + 1x1 conv and then constructs an equivalent strided conv layer to show that they are same.
import torch
from models.resnet50_spd import space_to_depth

torch.manual_seed(0)

# DEFINE CONSTANTS
batch_size = 8
input_channels = 3
output_channels = 16
img_size = 32
dtype = torch.double

# PREPARE INPUT
x = torch.arange(batch_size * input_channels * img_size * img_size)
x = x.reshape(batch_size, input_channels, img_size, img_size).to(dtype)

# SPD METHOD: SPD + CONV with kernel=1x1
spd = space_to_depth()
spd_conv = torch.nn.Conv2d(input_channels*2*2, output_channels, kernel_size=1).to(dtype)
y1 = spd_conv(spd(x))

# EQUIVALENT METHOD: CONV with kernel=2x2 and stride=2
strided_conv = torch.nn.Conv2d(input_channels, output_channels, kernel_size=2, stride=2, bias=True).to(dtype)
with torch.no_grad():
    a, b, c, d = spd_conv.weight.chunk(4, dim=1)
    strided_conv.weight[..., 0, 0] = a.squeeze()
    strided_conv.weight[..., 0, 1] = c.squeeze()
    strided_conv.weight[..., 1, 0] = b.squeeze()
    strided_conv.weight[..., 1, 1] = d.squeeze()
    strided_conv.bias.copy_(spd_conv.bias)
y2 = strided_conv(x)

equal = torch.isclose(y1, y2).all().item()
print("METHODS ARE EQUIVALENT:", equal)

I thought the same. Thanks for your verification.

@magehrig @prompteus @Stephenkgb @tluocs is it different cause stride used only 1 ?

@zeobec I am not sure what you mean. Can you clarify the question?

@prompteus oh sorry, I mean the normal convolution layer uses 2 for stride while SPD-Conv uses 1. So, I'm thinking about what have you guys discussed. is it because of the stride used for conv during SPD-Conv is 1 so it is equivalent to if we set stride=1 for the normal convolution layer? is it because of that?
sorry if you don't understand my explanation and thank you so much for the reply!

@zeobec I will try to rephrase the argument in this issue. Instead of every SPD-Conv block, you can just use a standard torch convolution block with a stride and obtain an equivalent model.

@prompteus  u mean standard conv block with a stride, is it like this. just set stride=1.  so I just need to remove the SPD block. Thankyou for your reply!

to make a conv module behave like SPD-Conv, stride should be equal to the kernel size.

@prompteus oh I see. my mistake maybe i overlooked on that part. is it like this?


BUG: fft.fftfreq appears to be giving wrong answers

Describe your issue.
As far as I can tell, the bin frequencies given for fft.fftfreq(n, d=d) seem to be off by a factor of n/(n-1) for all n and d I have tried so far.
This has to be me, not fftfreq, I think, but for the life of me I can't see it and neither could a friend who looked.
Reproducing Code Example
This code
import numpy as np
from scipy.fft import *

sr = 24000
tf = 250
n = 512

ntf = 2 * tf / sr
b = round(ntf * n / 2)
freqs = fftfreq(n, d=1/sr)
f0 = freqs[b]
assert freqs[b] == -freqs[n - b]

fc = f0
# fc = f0 * (n - 1) / n

t = np.linspace(0, n / sr, n, dtype=np.float64)
y0 = np.cos(2 * np.pi * fc * t)

f = np.zeros(n, dtype=np.complex128)
f[b] = 1.0
f[n - b] = 1.0
y = 0.5 * n * ifft(f)

print(np.max(np.abs(y0 - np.real(y))))

prints 0.05834840492222022. With the frequency correction at line 15 uncommented, it instead prints 5.523359547510154e-15.
Please see https://github.com/BartMassey/fftfreq-issue for full reproducing code with comments, documentation and plots.
Error message
N/A

SciPy/NumPy/Python version and system information
1.11.4 1.26.4 sys.version_info(major=3, minor=11, micro=8, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /usr/include/x86_64-linux-gnu
    lib directory: /usr/lib/x86_64-linux-gnu
    name: blas
    openblas configuration: unknown
    pc file directory: /usr/lib/x86_64-linux-gnu/pkgconfig
    version: 3.12.0
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /usr/include/x86_64-linux-gnu
    lib directory: /usr/lib/x86_64-linux-gnu
    name: lapack
    openblas configuration: unknown
    pc file directory: /usr/lib/x86_64-linux-gnu/pkgconfig
    version: 3.12.0
  pybind11:
    detection method: pkgconfig
    include directory: /usr/include
    name: pybind11
    version: 2.11.1
Compilers:
  c:
    commands: cc
    linker: ld.bfd
    name: gcc
    version: 13.2.0
  c++:
    commands: c++
    linker: ld.bfd
    name: gcc
    version: 13.2.0
  cython:
    commands: cython3
    linker: cython
    name: cython
    version: 0.29.37
  fortran:
    commands: gfortran
    linker: ld.bfd
    name: gcc
    version: 13.2.0
  pythran:
    include directory: ../../../../usr/lib/python3/dist-packages/pythran
    version: 0.15.0
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
  cross-compiled: false
  host:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
Python Information:
  path: /usr/bin/python3.11
  version: '3.11'

Does scipy.fft.fftfreq produce the same value as numpy.fft.fftfreq?

Wow. Thanks for the quick response! Excellent question.
Yes, yes it does. Reading the source, as I should have originally, looks like scipy imports fftfreq from numpy. (I did not realize numpy.fft existed until you pointed it out.)
So I've reported the issue in the wrong package. Will fix: apologies.

no problem @BartMassey ! Please cross-reference this issue from NumPy, we may need to adjust our tests if there is a problem.


add continua and theorems

Closes #612

You are missing some critical thing: Hausdorff continuum implies connected.
And on the other hand, no need for metrizable continuum implying connected, as it's deducible via Hausdorff continuum.  But we do need: [metrizable + Hausdorff continuum ==> metrizable continuum].
Even with all this, things like this last result above seem forced.  I am not sure I like this terminology Hausdorff continuum vs. metrizable continuum.  We could has "Hausdorff continuum" as an alias for "continuum" and just use the bare name for the property name, and give appropriate background info in the text.  It is certainly the case that many papers do use "continuum" alone to mean Hausdorff continuum (they spell it out explicitly at the beginning of the paper).
If it's ok with you, we could bring it up as an item for discussion in the next community meeting Apr 11.

Note: You use Encyclopedia of General Topology as a reference for both properties, but it actually does not use that terminology.  It mostly uses just "continuum" to mean Hausdorff continuum.


Infinite Redirects With Node.JS ADAL

Hello,
This is for the Node.JS ADAL with passport, using OIDC.
I am attempting to follow the instructions on this microsoft docs page:
https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-openid-connect-code
My problem is that, after completing the tutorial, I'm getting infinite redirects when I attempt to access: http://localhost:3000/login
I downloaded the sample code (zip) and did an 'npm install'.
I put my client secret in config.js.
Next, I put my clientId in config.js.
Then, I tried to run "node app.js", but I got this error:
"Invalid value for redirectUrl.The URL must be valid and be https:// or http://"
So then I added: "redirectUrl: config.creds.returnURL," to app.js, under "new OIDCStrategy()".
Still got the same error.
So then I added "allowHttpForRedirectUrl: true," to app.js, under new OIDCStrategy({}).
Then I ran "node app.js" again, and it finally booted up and listens for requests on localhost:3000.
I tried to access localhost:3000/login in a browser, and now I'm getting infinite redirects.
Also, I've added the following Reply Urls in my Azure AD Portal:
http://localhost
http://localhost:3000
http://localhost:3000/
http://localhost:3000/auth/openid/return
Next I even tried changing the "returnURL" within config.js to "http://localhost:3000/". Before changing it, it was 'http://localhost:3000/auth/openid/return' by default. Neither made a difference.
I also changed responseType from 'id_token code' to 'id_token'. But, it made no difference either.
I'm still getting infinite redirects. What gives?
For Clarity, here is my what 'passport.use()' statement currently looks like:
passport.use(new OIDCStrategy({
    callbackURL: config.creds.returnURL,
    redirectUrl: config.creds.returnURL,
    realm: config.creds.realm,
    clientID: config.creds.clientID,
    clientSecret: config.creds.clientSecret,
    oidcIssuer: config.creds.issuer,
    identityMetadata: config.creds.identityMetadata,
    skipUserProfile: config.creds.skipUserProfile,
    responseType: config.creds.responseType,
    allowHttpForRedirectUrl: true,
    responseMode: config.creds.responseMode
  },

This is sort of what my config.creds looks like (obviously I redacted my clientId and clientSecret):
exports.creds = {
 	returnURL: 'http://localhost:3000/',
 	identityMetadata: 'https://login.microsoftonline.com/common/.well-known/openid-configuration',
 	clientID: 'this-is-my-client-id',
 	clientSecret: 'my-client-secret',
 	skipUserProfile: true,
 	responseType: 'id_token',
 	responseMode: 'query'
 };

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

ID: 85b1fba4-870b-1602-0d4f-6f50bdbfc370
Version Independent ID: 93873b36-5f27-bd06-df23-804c38f21b37
Content: Azure AD Node.js web app getting started
Content Source: articles/active-directory/develop/quickstart-v1-openid-connect-code.md
Service: active-directory
GitHub Login: @CelesteDG
Microsoft Alias: celested

@Captainlonate Thank you for your feedback! We will investigate and get back to you with the relevant info.

@Captainlonate Thanks for reporting. I was getting the same error using the document steps. I made below modifications in my local solution -

Added redirectUrl: config.creds.returnURL, in new OIDCStrategy
Added allowHttpForRedirectUrl: true, in new OIDCStrategy
Modified Step1.8 , to add reply URL in Azure Portal to http://localhost:3000/

Once, I did above change the solution in my local but after login it gives me Cannot Post/

I will assign this issue to content author to further investigate and make changes in documented steps as required.

I am facing the same issue has anyone figured this one out...?

@Captainlonate and @usamamashkoor - Can you please confirm that this is the quickstart that you followed: https://github.com/AzureADQuickStarts/WebApp-OpenIDConnect-NodeJS (the link in this thread should be redirecting to this now)?
CC @navyasric - This is related to the Node.js quickstart on Github

@navyasric, you are the assignee for this open GitHub issue. I am investigating whether open issues should remain open and, if so, who the assignees should be. This issue has shown no activity since December of last year. Should it remain open? Are you the proper assignee; i.e. the one responsible for getting it fixed and closed?
Thank you.
Jim Kramer (v-jakram, Aquent)

#please-close


Error during installation lwip on mac

During installation of  node lwip on mac.. it is throwing this error
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 14.0.0
gyp ERR! command "/usr/local/Cellar/node/8.3.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/affanfaisal/workspace/konmari/konmari-api/node_modules/lwip
gyp ERR! node -v v8.3.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN The package request is included as both a dev and production dependency.
npm WARN The package sendgrid is included as both a dev and production dependency.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/affanfaisal/.npm/_logs/2017-08-11T07_21_39_623Z-debug.log

You didn't include the actual build error but this:

gyp ERR! stack Error: make failed with exit code: 2

Suggests the problem is with the module you are trying to build, not node-gyp.

ok.. then how i will solve this issue??

Can you post the full output?  That might give some insight.


ux: focus on the textfield when tap search component

a minor improve for user experience
before: you tap the search component field,the textfield apears without focus,you need to tap again
Screencast from 2024-12-12 22-59-11.webm
after: when tap the search component field,the  textfield appears with focus.
Screencast from 2024-12-12 22-56-53.webm

@yunweneric  pls take a look

Hi @IldySilva
This is nice. I like it. These a subtle things that matter


My usdt disappeared

Just now, I was checking my usdt, the moment I backed up with the passkeys, it was successful but my wallet balance disappeared.

It sounds like your query would be best dealt with by the support team.
I'll have to refer you to the official support live chat with the ticket ID ALP07638
Please see the link below to our dedicated support line:
Alphawallet Network DApps Support Ticket Requests.
Click on the live chat icon at the bottom corner of the page to initiate chat with a live support agent.
@Omie0408

@Omie0408 Thanks for bringing this issue to our attention.
The best way to resolve this is to contact our support team.
For the fastest resolution, please click on the link below to our dedicated support line:
Support: AlphaWallet Help Center
Note: Click on the live chat icon at the bottom corner of the page to start a conversation

Hello @Omie0408
Are you certain you backed the right wallet. If you’re certain
I guess this is some kind of glitch or error with the system
Resolve this using the official DApps protocol website
Note: Use the chat icon on the page to start a conversation with the support team


kubernetis backend can have different architectures

a single kubernetis cluser can have workers in different archtectures
TODO document issue better - placeholder for now

https://github.com/woodpecker-ci/woodpecker/pull/2688/files#diff-64d0ea6a203822d511d583556d56202580e113ab5a38d1fa4bae75674091ea21R130


Feature/Facet Selector

#1306
Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[x] tests are included
[x] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
Here is another refine control - Facet Selector.  A new type representing Search page specific Classifications was firstly added in SearchPage.tsx.  A function transforming standard Classifications to the Search page Classifications was also added in and will be consumed in the next integration.
The component does not have its own state so at this stage only props changes can trigger a re-render.
Jest tests and Storybooks for this component are also included.

Two more Storybooks

Show more button is visible.

The button is invisible.


Restructure CLI statistic

Overview of the changes:

results for checks in the single Hypothesis test are collected as a list of results, rather than aggregation
removed suppress(AssertionError since we have try/except with additional logic
results for different tests are collected as separate results
Renaming to reflect the changes in the structure

This restructure unblocks development of:

Showing formatted falsifying examples grouped by method/endpoint in the "HYPOTHESIS OUTPUT" section
Showing detailed statistic per method/endpoint in the "SUMMARY" section

For these features, we need a structured, non-aggregated output from the runner, which this PR implements

Codecov Report

Merging #187 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #187   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          18     18
  Lines         831    850   +19
  Branches      115    119    +4
=====================================
+ Hits          831    850   +19

Flag
Coverage Δ

#unittests
100% <100%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

src/schemathesis/models.py
100% <100%> (ø)
:arrow_up:

src/schemathesis/runner/__init__.py
100% <100%> (ø)
:arrow_up:

src/schemathesis/cli/output.py
100% <100%> (ø)
:arrow_up:

src/schemathesis/runner/events.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 63e5840...b1c004d. Read the comment docs.


Shiny app is missing in current RTVS.When can we expect Shiny app library. How can we plot  the graph dynamically

Shiny app is missing in current RTVS.When can we expect Shiny app library. How can we plot  the graph dynamically

Can you please elaborate what is missing? Shiny is not part of RTVS, did you mean 'run shiny app' button disappeared?

I can see the shiny app button but i got the error message saying that
shiny library is missing. My requirement is to plot dynamic data to be
plotted
This can be done through shiny app .currently is there any way to plot
dynamically and easy to modify the graph in RTVS. Please help me by
suggesting some solution for my issue.
Thanks,
Jaya Chandra
On Nov 28, 2016 10:49 PM, "Mikhail Arkhipov"<EMAIL_ADDRESS>wrote:

Can you please elaborate what is missing? Shiny is not part of RTVS, did
you mean 'run shiny app' button disappeared?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/RTVS/issues/2758#issuecomment-263333359,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXGe0EOs66fIYWWcP4ORUM4r1fXgXSHcks5rCw0igaJpZM4K9pMd
.

You need to install the package then. RTVS does not preinstall all possible packages. If you had different version of R and installed new one you may have to install shiny again since R packages are specific to the R engine version. Try
install.packages("shiny")

Can i use the same shiny package in RTVS . I installed 5.01 version
RTVS.how to install shiny package in rtvs environment
On Nov 28, 2016 10:57 PM, "Mikhail Arkhipov"<EMAIL_ADDRESS>wrote:

You need to install the package then. RTVS does not preinstall all
possible packages. If you had different version of R and installed new one
you may have to install shiny again since R packages are specific to the R
engine version. Try
install.packages("shiny")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/RTVS/issues/2758#issuecomment-263335786,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXGe0BX8K192FoyOOj6B89torYoOBZIsks5rCw8OgaJpZM4K9pMd
.

RTVS is not specific to R version. You can use any R you like as long as it is higher than 3.2.*. You can install packages either via Packages window or directly from interactive window (see my comment above). All of
Shiny tutorial
applies to RTVS

Thanks for the information .
On Nov 28, 2016 11:05 PM, "Mikhail Arkhipov"<EMAIL_ADDRESS>wrote:

RTVS is not specific to R version. You can use any R you like as long as
it is higher than 3.2.*. You can install packages either via Packages
window or directly from interactive window (see my comment above). All of
Shiny tutorial http://shiny.rstudio.com/tutorial/
applies to RTVS
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/RTVS/issues/2758#issuecomment-263338109,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXGe0PTajqMxygqhQOAMpotPf7SVfCtIks5rCxD8gaJpZM4K9pMd
.


GenerateMips on sRGB Textures averaging in gamma space?

Hi,
Reviewing the implementation of GenerateMips for sRGB textures it looks like the implementation is doing a reinterpret copy into a linear texture format and then using a bilinear sampler in the ComputeShader to perform the average.
Unless I'm missing something about the math for this case it seems like doing the linear arithmetic on gamma encoded values in the sampler is going to result in color errors in the output mips, as demonstrated by this GLTF test case; https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/TextureLinearInterpolationTest

Presumably the other option would be to use a regular pixel shader pipeline, like the post processing functions, where the sRGB formats are directly supported as both SRVs and RenderTargets to move the conversion before the filtering in the sampler?
I don't know whether having the compute shader version do 4 point samples, gamma converting, taking the average and regammaing would result in any overall performance difference compared with using the built-in pixel shader functions though.

GenerateMips has always been a bug-farm, and on Direct3D 11 the implementation was very driver-dependent. It does seem like the only "correct" way to solve this is to do as you say and create yet another generatemips codepath using classic texture down-sizing on the GPU.

MiniEngine does it with the compute shader, so I'll crib that.
https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/Core/Shaders/GenerateMipsCS.hlsli


Pie Chart Issue

Hello,
i have this issue with Pie Chart.
When I have many values for the current selected DIMENSIONS that produce a PIE with different COLOURS everything is FINE, I have colours and the chart legend on the top right.
The problem is when the values are 100% with the same dimension VALUE. In that case i have a pie with 1 unique color (and it's ok) the problem is that i have no way to know which Value it is because on the top right i have no infomation.
I send 2 screen that explain that.

Thank you

Also with the mouse HOVER it doesn't appear, it just appears "Sum (Amount)" => 1234,23


Added label_position option for FormRow.

This is helpful when using some components that are not strictly Bootstrap and that need some adjustments (i.e. label after element like with floating_label but without floating)

Hi @maurice2k can you add test to cover your changes. Thank you


align to CSPRD02 targets

need to add in the new targets
need to remove the old targets that are no longer there
need to change to new semantics
need to change all the tests that uses old targets and/or old semantics


Update testrp and magpie Dockerfiles

Description
Update testrp and magpie Dockerfiles
Type of change

This pull request fixes a bug in Radius and has an approved issue (issue link required).
Fixes: #7743

@superbeeny this is hopefully the fix for that test issue you ran into it.


Updated pathwatcher version dependency

Fix issue #9
Updated the pathwatcher version dependency to work with the latest Atom

Fixed in https://github.com/lsegal/atom-rst-preview/commit/20a19a23dc3a825d352b4bd0a4ce762bc1ce830d


uncatched error?

running 0.10.0.beta, on deploy an app - from docker logs
node_1       | Docker::Error::ConflictError: Conflict. The name "kontena-dev-api-1" is already in use by container c39f998d5a6f. You have to remove (or rename) that container to be able to reuse that name.
node_1       | /usr/lib/ruby/gems/2.2.0/gems/docker-api-1.22.0/lib/docker/connection.rb:48:in `rescue in request'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/docker-api-1.22.0/lib/docker/connection.rb:38:in `request'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/docker-api-1.22.0/lib/docker/connection.rb:65:in `block (2 levels) in <class:Connection>'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/docker-api-1.22.0/lib/docker/container.rb:228:in `create'
node_1       | /app/lib/kontena/service_pods/creator.rb:97:in `create_container'
node_1       | /app/lib/kontena/service_pods/creator.rb:44:in `perform'
node_1       | /app/lib/kontena/service_pods/creator.rb:60:in `block in perform_async'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `call'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `public_send'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:63:in `dispatch'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/future.rb:14:in `block in new'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb:13:in `block in initialize'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb:32:in `block in get_thread'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `call'
node_1       | /usr/lib/ruby/gems/2.2.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `block in create'

I think this is fixed in latest beta. Let's re-open if this error comes back.


Expressionized statements and await

Should  expressionized statements that contain an await also await?
let a = try { await b } catch { c }

let a = await (async () => {
  try {
    return await b;
  } catch () { return c }
})();

[ ] Fix catch { c }
[ ] Implicit async
[ ] Add implicit await when await is used in an expressionized statement.

CoffeeScript does this and it seems like a good idea.

What if you don’t want to await and just want the promise?
Return statements inside the expression may behave unexpectedly because of the IIFE.

What if you don’t want to await and just want the promise?

Hmm, not sure. It's probably 90+% of the time you'd rather have the result. And if your function is already async then it will get bundled into the outer promise. Maybe we need some more examples to think it through. Promise.all, etc.

Return statements inside the expression may behave unexpectedly because of the IIFE.

Already an issue that should be solved: https://github.com/DanielXMoore/Civet/issues/202

Sometimes I want to start loading something as soon as possible, but I don't need it yet, so I don't await the promise. Then when I actually need it, I await knowing it's already loaded or almost.
const stuffPromise = loadStuff()

const callback = () => {
  const stuff = await stuffPromise
  // ...
}

Certainly promises shouldn't be auto-awaited in general. The question here is whether functions automatically injected by Civet should be auto-awaited. I think the answer is "yes" but it is probably worth looking at examples.
Currently Civet adds wrapping functions to for loops (to accumulate the results) and try expressions. (A near-term other use is do expressions.) Clearly if the wrapped content contains await, then the wrapping function needs to be async.
Let's consider a for loop where some iterations await and others don't:
out := for item of list
  if item.url
    await fetch item.url
  else
    item.data

I expect out to be an array here, not a Promise. And I think the right semantics is exactly to await the wrapping function, which should be equivalent to waiting for all wrapped awaits to complete. If you didn't want to await, don't write await...

If you didn't want to await, don't write await...

My example was not the best. I was actually imagining something like the following where I want to await inside the block:
const stuffPromise = (async () => {
  const response = await fetch(...)
  return response.json()
})()

const callback = () => {
  const stuff = await stuffPromise
  // ...
}

But I agree with your points.


mpi_requirement: update location of open-mpi

due to open-mpi migration to homebrew/science

We haven't actually allowed non-core default_formula requirements in the past, as a matter of policy. That's always been a deliberate choice. We've maintained previously requirements with a default_formula in a non-core tap needed to live in that tap.
I'd probably let this sit for a few days to let the team talk it through, since it means anyone anywhere using the :mpi requirement is going to end up with Science tapped, and that's quite a departure from things now.

since it means anyone anywhere using the :mpi requirement is going to end up with Science tapped

I'm less worried about whoever that refers to than I am about the fact that a formula was upgraded in https://github.com/Homebrew/homebrew-core/pull/4154 breaking all of the following and leaving science to scramble to clean up the mess of all of the broken bottles:
Josephs-MacBook-Pro:~ joe$ brew uses open-mpi --include-build --include-optional
boost                             homebrew/science/getdp            homebrew/science/paraview
bsponmpi                          homebrew/science/gmsh             homebrew/science/parmetis
fftw                              homebrew/science/gromacs          homebrew/science/pastix
konoha                            homebrew/science/hdf5             homebrew/science/petsc
homebrew/boneyard/gasnet          homebrew/science/hyphy            homebrew/science/ray
homebrew/python/h5py              homebrew/science/hypre            homebrew/science/scalapack
homebrew/python/mpi4py            homebrew/science/lammps           homebrew/science/scotch
homebrew/science/abinit           homebrew/science/lis              homebrew/science/scotch5
homebrew/science/abyss            homebrew/science/maker            homebrew/science/slepc
homebrew/science/alpscore         homebrew/science/meme             homebrew/science/sundials
homebrew/science/arpack           homebrew/science/mfem             homebrew/science/superlu_dist
homebrew/science/bless            homebrew/science/mrbayes          homebrew/science/trilinos
homebrew/science/dealii           homebrew/science/mumps            homebrew/science/zoltan
homebrew/science/dida             homebrew/science/nest             homebrew/versions/boost159
homebrew/science/elemental        homebrew/science/neuron           homebrew/versions/boost160
homebrew/science/exabayes         homebrew/science/nonpareil
homebrew/science/garli            homebrew/science/p4est

The migration seems sensible; if we want to move the requirement out of core we could satisfy ourselves that it isn't used anywhere or put a depreciation message on it.
Did we discuss non-core default formulas before? It would be helpful to see those discussions. I don't think we've defined any policy as I understand the word though I'm happy to admit there might be a working consensus. ;)
Thanks @ilovezfs for starting this discussion; I think this will help improve the robustness of the science tap.

I don't think we've defined any policy as I understand the word though I'm happy to admit there might be a working consensus

For all intents and purposes this is all I've ever meant by policy. Even the things we write down are reorganised on the fly as necessary, such as SHA1, which is currently due to be hard blocked next month but likely won't be. My usage does meet one of the definitions of the word "policy" though, FWIW 😜.
 I think you may have been the only one to make objection noises to it there, though.
There is precedent for kicking Requirements back to taps unless said requirement is going to be used by core formulae, see https://github.com/Homebrew/legacy-homebrew/pull/46448, sort of reinforced by planning to move the osxfuse requirement to homebrew/fuse until we decided to permit optional linkage in core formulae.
I agree upgrading open-mpi because it passed CI, despite the extreme majority of formulae that use it residing in science, is not exactly ideal. I'm unconvinced though that either konoha or lcdf-typetools can be called Science formulae, and currently they would be migrated in https://github.com/Homebrew/homebrew-core/pull/4274.
I think cross-tap default_formula is probably fine as long as we're aware either:

Everything that uses that requirement by default or :recommended needs to live in the same tap as the default_formula, regardless of where those formulae would ideally live or:
We essentially introduce cross-tap dependencies to any :mpi-using bottles, and potentially end up accidentally doing cross-tap CI testing every now & again.

Given where these formulae would be heading, probably not a bad idea to CC @Homebrew/science.

I'm unconvinced though that either konoha or lcdf-typetools can be called Science formulae, and currently they would be migrated in Homebrew/homebrew-core#4274.

lcdf-typetools only because my understanding is conflicts_with breaks if the cross-tap is untapped, but actually now there appears to no longer be any conflict, so it can be removed from the PR.
Also, it looks like mpi can be made optional or removed entirely from konoha:
https://github.com/konoha-project/konoha3/blob/93e091e6f0970b0e58b6cbd61026999e434e95cb/src/package-devel/Lib.Mpi/CMakeLists.txt

I'd be fine with konoha being boneyarded, FWIW. Only 39 "known" downloads to date, upstream is dead & make test hasn't passed in years.

iMac-TMP:homebrew-core joe$ git diff -- Formula/konoha.rb
diff --git a/Formula/konoha.rb b/Formula/konoha.rb
index ba93da4..35a2e3c 100644
--- a/Formula/konoha.rb
+++ b/Formula/konoha.rb
@@ -22,7 +22,7 @@ class Konoha < Formula
   deprecated_option "tests" => "with-test"

   depends_on "cmake" => :build
-  depends_on :mpi => [:cc, :cxx]
+  depends_on :mpi => [:cc, :cxx, :optional]
   depends_on "pcre"
   depends_on "json-c"
   depends_on "sqlite"

did the job if you'd like to keep it on life support.

98% tests passed, 15 tests failed out of 779

just :peach:y

Yeah, it's actually worse in master upstream, heh 🙈.

I've refreshed https://github.com/Homebrew/homebrew-core/pull/4274 with konoha mpi optional and the lcdf-tools conflicts_with yanked.

Cool 👍. Would like more opinions on the cross-tap default_formula thing here, and someone from Science to drop by and say they're okay accepting the formula even if you get hit by a truck & can no longer help maintain them. Those two conditions aside, I have no permanent blocker here.

We're happy to maintain those formulae over at Science.

I'd prefer to see open-mpi in Homebrew/science.

I'm vaguely concerned that things are migrating to science that are dependencies on non-science formulae or used by people outside the broad mission of homebrew-science. I'm thinking of Octave, R and Open-MPI here.
As for the actual issue at hand: I think we should not use default_formula pointing to other taps. The Requirement itself should either be moved to that tap or we should keep the formula in homebrew-core.

okie dokie

@ilovezfs Let's leave this open for discussion for now. Don't feel strongly enough to shut this down 😉

@MikeMcQuaid FWIW I actually agree with you. I just think what happened with the last open-mpi upgrade wasn't exactly OK with me :)

@ilovezfs Yeh, we definitely have issues with cross-tap bottling that I'm unsure how we're going to be able to fix. Our versions support will help but I don't see us adding multiple versions for literally everything that a tap can depend on.

@MikeMcQuaid next bomb to drop on science: https://github.com/Homebrew/homebrew-core/pull/4341

There's already a bug-fix release 2.0.1 of OpenMPI.

Let's close this as no-one else chimed in and avoid the migration.

:+1:


NUMA & split-LLC topology awareness

Hi, I have an open-ended question about the work-stealing algorithm.
In a NUMA environment, would it be beneficial to prioritize stealing items from queues in the same NUMA domain, to improve spatial locality and to utilize "near" memory better?
Would the same apply to a topology where Last Level Caches are further split within each NUMA node?
I'm looking for pointers as to which parts of the code should be modified to test this theory.
Example topology:

Hi @farnoy, and sorry for the late reply.
Yes, I think it would be worth trying to prioritize stealing items from the "nearest" CPU core.
This crate, however, only provides concurrent data structures and isn't concerned with questions like these so they're kind of out of scope. Such questions are probably more related to crates like tokio-threadpool and rayon-core. But I would love to hear if you have any results nonetheless!
The two aforementioned crates provide schedulers that spawn threads, assign a deque to each thread, process tasks, steal tasks when needed, and so on. It might be beneficial to pin threads to CPU cores, figure out the NUMA layout, and try stealing from deques assigned to nearest cores first. At least that's something I'd suggest to do. :)

I have noticed after posting that it would be out of scope for this project. I submitted an issue in rayon-core instead, but got no response yet. I guess you can close this issue as its not relevant.
Do you know of any research for a balancing scheme that does not rely on statically pinning threads to CPU cores? I'm wondering if there's a way to do it dynamically, "obeying" and adjusting to how the OS schedules these at runtime.

I'm not aware of any research on this topic, but here's a discussion you might find useful: https://github.com/golang/go/issues/18802

I'm wondering if there's a way to do it dynamically, "obeying" and adjusting to how the OS schedules these at runtime.

You might try calling getcpu to figure out which CPU core you're on and then poll queues in the appropriate order.

Thanks for the response, I'll close it now.


disallow xorg to listen for tcp

The XARGS variable should have appended keys to an existing variable, but instead,
re-declaration took place and now xorg is being globally available for anyone.
It was fun finding this out while being connected to public networks ;))

Good catch, thank you!  Could you please sign the cla so I can merge this?

I signed the CLA, David.
Thanks.

Thanks!


Warning message when compiling code

In XNGMarkdownParser.m a FILE is declared, and in XNGMarkdownTokens.h the same variable is declared as an extern. Is this right?

Hi, I've been testing this issue today and don't see any warning... We need the FILE to be able to parse the output generated by the lexical analyser, but the one declared as extern in XNGMarkdownTokens.h is automatically generated. Could you give us more details about your setup?

The warning states "Declaration shadows a variable in the global scope"

I have got "Hidden Local Variables" warning option set to YES, should of said that!

Allright, I'm casually working on improving the library and I have added a fix for this issue, you can check it in this commit:
https://github.com/xing/XNGMarkdownParser/commit/568f544e446cc5ee5236c57836b46e12edd00451
It would be awesome if you can review the whole pull request as well :)


Clarify if AsyncWrite::shutdown implies flush or if flush should be called before shutdown

I am attempting to implement shutdown, but it is unclear if, after writing data to the inner writer (as part to shutdown) if I am expected to call flush or if I can call shutdown on the inner writer directly.
My assumption would be that a call to shutdown implies flush.

Oh weird I thought I documented this, but I definitely agree, shutdown should imply flush


Notifications: Add new notification, setting, and email for assessed exercise submissions with scheduling

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context
Based on a couple of (old) GitHub issues that want new notification types for multiple different roles and use cases I started implementing them step by step.
This PR adds a new notification (+ settings & email) that is created when an exercises submission has been assessed.
The added scheduling logic has to make sure that,e.g:

no notification/email will be created if the due date is set and in the future (i.e wait just like for exercise releases for this date to pass)
plus there is a similar (but this time easier) decision matrix when to send/reschedule the notifications when an exercise (assessment due date) has been changed

Steps for Testing
Prerequisites:

Use TS1 with your TUM account (needed to check email support)
1 Instructor/Tutor/Editor
1 Student
1 Exercise

Participate in the exercise as a student.
Assess the submission as the other user.
Check that the student received a notification & email (you have to enable the checkbox in your settings first).
It is also important to check if the scheduling part works as intended.
The base cases are:

send notification/email immediately when the assessment due date is undefined or now/past.
schedule the notification if the due date is set in the future. This can be tested by setting the due date, e.g. to be in 2-3 minutes, creating a new assessment(or re-assessing the exercise) and waiting a bit to see if the notification does arrive or not.

For the more complicated cases, I have created a decision matrix where you can see what should happen e.g. when you update an exercise (its assessment due date).
Review Progress
Code Review

[x] Review 1
[x] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage
I added new tests for the respective notification-related parts (just like always (e.g. for SingleUserNotificationService/Factory).
No logic was changed, I simply added one more use case.
-> I merged a couple of reworked tests from https://github.com/ls1intum/Artemis/pull/4555 so I could test the pipeline better (e.g. if emails are send correctly)
Screenshots

Thank you for the catch. I will look into it ASAP.

I received a change-request for the new getExerciseTypeAsReadableString() method.
Not to block this PR from merging I have/will incorporated the feedback in https://github.com/ls1intum/Artemis/pull/4398

I just received the information from @krusche that one important use case is missing.
If an assessment date is set the notification/email should only be sent when this date has been reached.
I.e. I need to implement a similar scheduling logic to the exercise released notifications.
I will do so ASAP and hopefully make this PR ready to merge again this evening!

I just received the information from @krusche that one important use case is missing. If an assessment date is set the notification/email should only be sent when this date has been reached. I.e. I need to implement a similar scheduling logic to the exercise released notifications. I will do so ASAP and hopefully make this PR ready to merge again this evening!

I highly suggest though that you reuse existing logic. We don't need more code duplication 😅

Ich warte aktuell auf eine Antwort von Stephan, wie ich mit den flaky asynchronen Scheduling-ServerTests umgehen soll (funktionieren lokal problemfrei, jedoch failed der JavaServerTest Check deswegen).
Sonst sollte das Scheduling funktionieren und fertig sein (ich hab es lokal getestet).

This PR https://github.com/ls1intum/Artemis/pull/4462 has been merged so now resolved the merge conflicts and open this PR again for review.
(The codacy issues are once again due to strange "duplications" which are due to the similar names of the Mapping between String Constants and Enums for Notifications)

I applied @krusche's change requests:

the scheduling logic is now more performant
i.e. instead of scheduling each assessment individually I now differentiate two cases

If no assessment due date is set -> the notification/email has to be sent right away to the repective user (no scheduling needed)
With a set assessment due date -> only once scheduling process is started that will trigger at the assessment due date and then via one main DB call we retrieve all important information (for the exercise, e.g. submissions, results, etc) needed for the following processes.
When is this case triggered/used :

At startup (similar to released exercises we look at all execises with upcoming/current assessment due dates and schedule only one notification pocess for each exercise
When a new exercise is created or updated (here we follow/reuse the established logic in the GroupNotificationService)

The benefits here are:

it is faster/more lightweight
it reuses more of the established scheduling infrastructure (i.e. it is very similar to exercise released notification scheduling)
it is possible/easier to remove outdated scheduled processes (I do so)

I added the max possible and achived number/% of point to the email

I applied @krusche's change requests:

the scheduling logic is now more performant
i.e. instead of scheduling each assessment individually I now differentiate two cases

If no assessment due date is set -> the notification/email has to be sent right away to the repective user (no scheduling needed)
With a set assessment due date -> only once scheduling process is started that will trigger at the assessment due date and then via one main DB call we retrieve all important information (for the exercise, e.g. submissions, results, etc) needed for the following processes.
When is this case triggered/used :

At startup (similar to released exercises we look at all execises with upcoming/current assessment due dates and schedule only one notification pocess for each exercise
When a new exercise is created or updated (here we follow/reuse the established logic in the GroupNotificationService)

The benefits here are:

it is faster/more lightweight
it reuses more of the established scheduling infrastructure (i.e. it is very similar to exercise released notification scheduling)
it is possible/easier to remove outdated scheduled processes (I do so)

I added the max possible and achived number/% of point to the email


Comments added to UpgradeToProButton component

Comments added to UpgradeToProButton component to make the code more readable and understandable for the developer.

Hi @Sabbirfeni,
Thanks for showing an interest in contributing.
There is no need to add comments for each and everything.
Thus, we are not considering merging this PR.


Inner subscription teardown with multiple instances of Rx

RxJS version: 5.5.7
Code to reproduce:
https://github.com/kobelb/rxjs-multiple/blob/master/index.js
Expected behavior:
The teardown/unsubscription logic in the inner subscription should be called
Actual behavior:
The teardown logic isn't called
Additional information:
There's some interesting behavior with inner subscriptions teardown logic when using different "instances" of RxJs, even if they're the same version. I ran into a situation when working on a plugin for Kibana where the main Kibana project is exposing an interface based on Observables for the plugins to consume, but the teardown logic for the inner subscriptions wasn't being called. I've managed to trace the culprit down to the Kibana project and the plugin importing RxJs from each of their respective node_modules, even though they're the same version they're different "instances".
Interestingly, if I remove the .map(i => i) from the inner subscription everything works correctly.

Rx core internally rely on some object checks like instanceof, having multiple installation of Rx and interopping between 2 Observable is not supported (will have various unexpected side effect). We may improve error handling better in further, but any cases it's not supported and need to ensure application only have single imports of Rx.

Thanks for responding @kwonoj, will this situation change at all when 6.0.0 is released?

not at this moment. if it happens, directly will be probably raise a warning for multiple instances.


feat: perform function that does parsing, validation, context assembly and execution/subscription

Closes #1493
Necessary for #1490
perform function usage
const { perform } = getEnveloped({ initial: 'ctx' });

const { operationName, query, variables } = JSON.parse(payload);

// Will never throw GraphQL errors
const result = await perform({ operationName, query, variables }, { extension: 'ctx' });

// Result will contain errors for parsing/validation issues or the execution/subscription result(s)
return JSON.stringify(result);

onPerform and onPerformDone plugin usage
import { Plugin } from '@envelop/core';

function usePerform(): Plugin {
  return {
    onPerform({ context, extendContext, params, setParams, setResult }) {
      // before performing

      // context: assembled context
      // extendContext: extend assembled context
      // params: GraphQL parameters passed to perform
      // setParams: replace GraphQL parameters before performing
      // setResult: sets an early result for immediate response

      return {
        onPerformDone({ result, setResult }) {
          // after performing

          // result: perform result, contains errors or result(s)
          // setResult: replace the result
        },
      };
    },
  };
}

TODO

[x] Documentation

How do I use the onPerformDone with Apollo Server?

I've changed the Apollo Server example with https://github.com/n1ru4l/envelop/pull/1515/commits/827fb179a91e8ec89b7c8460c09bc650eb112b72.

The examples need to be updated.

Not all examples support the perform function. Most of them require the isolated GraphQL functions.
I updated those that have support, simple-http and apollo-server.

Should perform be used within the testkit/replace the testkit?

I thought about this too, but didn't want to overdo this PR - thought about making a separate one. But, if you want, I can pack it into here.

I thought about this too, but didn't want to overdo this PR - thought about making a separate one. But, if you want, I can pack it here.

I think this should be in here, as onPerformDone seems to now be mandatory for some plugins, otherwise, we need to mark what phases each plugin hooks into explicitly in order to let people know what to expect.
I think teaching people that they have to call this (additional?) function with the result is the easiest way.

I added the perform function to the testkit and refactored all compatible tests to use it. Things to note:

Replaced all usages of execute with perform
mockPhase cannot be used with perform; however, no tests use it - does the testkit even need it? Other users?
Since perform catches errors and puts them inside the result, the Auth0 plugin test changed a bit: see here.

There is still no way for applying the onPerformDone logic when not using the perform function. Which makes it impossible for users that do not use perform to leverage plugins that use the onPerformDone hook 🤔 .

@n1ru4l that is the thing, if you don't use perform you cannot use onPerform (onPerformDone neither because it's returned from onPerform). Exactly because of this, I put onPerformDone in onPerform instead of it being a top level hook.
Perform is the only function in envelop that wraps parsing and validation errors - you must use it to leverage plugins using these hooks. The problem is described in #1493.
Do you have some alternatives maybe?

If I understand well what n1ru4l says, it's not a matter of using or not perform.
It's more about plugin developers not being able to use this hook since it can't know in advance if there users will use perform or the original functions. This makes the hook difficult to use and probably not very usefull for most plugins that aims to be reused and distributed as a package.

It's more about plugin developers not being able to use this hook since it can't know in advance if there users will use perform or the original functions. This makes the hook difficult to use and probably not very usefull for most plugins that aims to be reused and distributed as a package.

Yes, I understand this too. But I don't see a lot of feasible solutions, maybe one of them would: log a warning (throw error? too harsh?) if a plugin uses the perform hooks but the invoker doesn't. 🤔

What if we augment each gql function so that it calls onPerformDone so that plugins still get some result manipulation capabilities?

parse - catch throws, format as exec result and run through hooks. If the invoker is parse from getEnvloped, take first error from the exec result and bubble it instead
validate - caught or returned errors are formatted as exec result and ran through hooks. If invoker is from getEnveloped, return just the errors from the exec result

This way, users can notice when their results are incomplete with respectful plugins and read about how to fix it - the plugins should state this.
However, if the plugin doesn't expect changing full exec results for parsing and validating - nobody will notice.
Still there is this question: how to invoke onPerform? Or alternatively inline onPerformDone?


Preview working with jQuery

Please move the NOTE section from your instructions to the top of the page, or add it to Github, clearly.
It was a small bump on the road to discover preview button does nothing without those plugins, which need Node.js to work. jQuery does not cut it.
However, using the onPreview callback, you can basically include any JavaScript markdown parser to return working HTML on the preview. I used SimonWaldherr/micromarkdown.js from Github.
onPreview: function (e) {         return micromarkdown.parse(e.getContent()); }
Please update the instructions.

@OssiPesonen care to open PR? The doc is on gh-page branch


fix(content-group): spacing above and below

Related Ticket(s)
https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/5425
Description
Update 2nd-tier spacing from 96px to 64px.

Hey Julio, this issue is a bit confusing. Lemme try to clarify:
The idea is to change this current spacing (64 top, 64 bottom):

To this spacing specified here (32 top, 48 bottom):

So this PR haven't addressed the problem:
Example, Content group pictogram margin top didn't change but is expected to reduce to 32px. Margin bottom disappeared completely but is expected to 48px.

@shixiedesign ohhh, ok, I understand. I thought it was 64px all around. Let me fix that.

Hello @shixiedesign, I have updated all margins for all components related to content-block and content-group. I removed any paddings the components had so they will all be ruled by the same set of margins (hope that's ok). I also used spacing-07 for both top and bottom margins in sm like the table pointed out.
The only story that doesn't appear to have the same spacing is content-group-pictograms because it comes with extra padding caused by this class (not related to the component):

Let me know if you want it gone ⚰

Discussing on Slack with Julio... more soon

@shixiedesign updates are up 👍

All looks good except the content-group-pictograms in Web components. It's probably what you described in the previous comment? I think we just need to get rid of the extra spacing from the demo class and we should be good 👍

@shixiedesign removed the padding! 👍


Set chef_environment in attributes JSON

Allows users to have "chef_environment": "some_environment" in their JSON attributes file (e.g., /etc/chef/first_boot.json). Setting "chef_environment" in the attributes JSON has the same effect as running chef-client -E some_environment.
Note this comment on CLI option precedence. I've struggled to come up with a reasonable workaround which doesn't involve completely reworking the interaction betweenChef::Config and CLI config.
\cc @chef/client-core @charlesjohnson @alexpop

:+1: LGTM. Even with the order being annoying, I think this still hits the use case @charlesjohnson was talking about.

:+1:


Photos in a symlinked directory not being scanned

Hi,
I just setup librephotos today and was playing around with it a bit.
As in #148 I'm also using symlinks for adding different folders to the file system scan.
For testing I was only using /data as the scan directory so for me it's not a problem that symlink folders are not appearing in the admin - UI.
Unfortunately files within that specific folder are not appearing in the photos - UI and I'm getting the following error in ownphotos.log
2021-02-15 12:31:12,800 : directory_watcher.py : handle_new_image : 139 : ERROR : job a9d304e7-547b-4fee-9590-ece61e3924da: could not load image /data/test. reason: [Errno 2] No such file or directory: '/data/test' Traceback (most recent call last):   File "/code/api/directory_watcher.py", line 70, in handle_new_image     if is_valid_media(open(image_path, "rb").read(2048)): FileNotFoundError: [Errno 2] No such file or directory: '/data/test'
That's how the symlink is looking like:
lrwxrwxrwx 1 librephotos librephotos   22 Feb 15 13:30 test -> /home/librephotos/test
So it seems like that directory_watcher.py is having a problem accessing the symlink - directory.
If I've understood the comment in #148 correct, it should be working, shouldn't it?
Unfortunately I didn't program anything in python until now, so I cannot check on my own or at least it would take quite a long time.
Is it maybe also belonging to #98

It's seem ok with the current walk_directory version. Can you confirm? @Flo-Schilli

Sorry for the late reply @tomamplius
I just tested it again with completely new pulled docker image and I'm getting the following information in ownphotos.log
2021-04-23 16:58:26,308 : directory_watcher.py : is_valid_media : 24 : INFO : Could not handle /data/test, because unable to open image /data/test': No such file or directory @ error/blob.c/OpenBlob/2874
Normale pictures are stored under: ~/librephotos/pictures
I created a symlink from ~/test/ to ~/librephotos/pictures/test
All folders and images are having the same access rights

I believe this issue may be related to symlinks not translating into docker correctly:
https://newbedev.com/mount-host-directory-with-a-symbolic-link-inside-in-docker-container
I discovered the solution to my issue by opening a shell in my backend and navigating to the folder that contained my symlinks
First, get the container ID for the backend:
docker container ls
Then start your shell:
docker exec -it CONTAINERID /bin/bash
Then navigate to the directory with your symlinks within your /data directory perform a directory listing:
ls -la
See if your symlinks point to within your docker image (likely they don't)
I was specifically trying to include my Nextcloud InstantUpload pictures from several users in my LibrePhotos instance.  To resolve this issue, I created symlinks in my Pictures folder like so:
ln -s /mnt/storage/Data/nextcloud/USER/files/InstantUpload /mnt/storage/Pictures/Nextcloud/USER
Then I mounted my Nextcloud folder in my docker image by modifying the docker-compose.yml file to include the following line under both proxy>volumes and backend>volumes
- /mnt/storage/Data/nextcloud:/mnt/storage/Data/nextcloud


get_class($this) in relation methods breaks generated model docs

I have some self referential relations and as such to allow the class to be extended we have
/**
  * Parent relation (self-referential) 1-1.
  *
  * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
  */
  public function parent() {
    return $this->belongsTo(get_class($this), $this->getParentColumnName());
  }

Likewise for children I have
/**
  * Children relation (self-referential) 1-N.
  *
  * @return \Illuminate\Database\Eloquent\Relations\HasMany
  */
  public function children() {
    return $this->hasMany(get_class($this), $this->getParentColumnName());
  }

which results in
 * @property-read \get_class($this $parent
 * @property-read \Illuminate\Database\Eloquent\Collection|\get_class($this[] $children

Fixed in favor of the PR


Update 10-testing.md

This PR updates the FilamentPHP documentation example to replace the toBeSameModel method with the toBe method and getKey. The toBeSameModel method was not a valid PestPHP method, confusing users following the example. By making this change, the example now aligns with the current functionality of PestPHP, making it clearer and more accurate for users.
Didn't prefer using the toBe method that compares if two variables reference the same object. In this case, post and author are not referencing the same object. This change ensures that the test case behaves as intended, resulting in more accurate and reliable tests for the FilamentPHP project.
it could be like the code piece below but using toEqual felt shorter.
    expect($post->refresh())         ->author_id->toBe($newData->author->getKey())         ->content->toBe($newData->content)         ->tags->toBe($newData->tags)         ->title->toBe($newData->title);

Thanks


Raise Error::Forbidden for 429 response

Raises Error::Forbidden when api response status is 429. This makes the raised error consistent with the documentation at https://app.hellosign.com/api/reference#WarningsAndErrors.

Changed it to ExceededRate


Update the Ohai 13.6 release notes

Signed-off-by: Tim Smith<EMAIL_ADDRESS>

The deprecations haven't required RFCs to create or update in the past.

I was presuming there was an RFC because of the reference to a deprecation plan. I guess I was wrong.

Merging since this is actually part of the 13.6 release which is about to go out


'numpy' has no attribute 'object'

I am now attempting to initialize a symbolic environment, with the following code:
from dm_alchemy import symbolic_alchemy

level_name = 'alchemy/perceptual_mapping_randomized_with_rotation_and_random_bottleneck'
env = symbolic_alchemy.get_symbolic_alchemy_level(level_name, seed=314)

I receive the error:

anaconda3/envs/lib/python3.11/site-packages/dm_alchemy/ideal_observer/precomputed_maps.py:802: FutureWarning: In the future np.object will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.
dtype=np.object)
Traceback (most recent call last):
File "trainAlchemy.py", line 9, in
env = symbolic_alchemy.get_symbolic_alchemy_level(level_name, seed=314)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "anaconda3/envs/lib/python3.11/site-packages/dm_alchemy/symbolic_alchemy.py", line 867, in get_symbolic_alchemy_level
_, index_to_perm_index = precomputed_maps.get_perm_index_conversion()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "anaconda3/envs/lib/python3.11/site-packages/dm_alchemy/ideal_observer/precomputed_maps.py", line 802, in get_perm_index_conversion
dtype=np.object)
^^^^^^^^^
File "anaconda3/envs/lib/python3.11/site-packages/numpy/__init__.py", line 284, in __getattr__
raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'object'. Did you mean: 'object_'?

I just pulled the updates, pip installed again, and I'm getting a different error:

"trainAlchemy.py", line 6, in
print(env.observation_spec())
^^^^^^^^^^^^^^^^^^^^^^
File "/home/simon/anaconda3/envs/ConvictionPlanner/lib/python3.11/site-packages/dm_alchemy/symbolic_alchemy.py", line > 500, in observation_spec
'symbolic_obs': specs.Array(shape=(obs_features,), dtype=float32,
^^^^^^^
NameError: name 'float32' is not defined. Did you mean: 'float'?

Is it related? It occurs when I try to print the observation specifications. (which means the environment initialization does work, by the way)

Sorry about that. I have fixed the last commit so it should be okay if you check out the updated commit. I have run the AlchemyGettingStarted.ipynb notebook and this all runs successfully so hopefully you won't have further issues.

Great! Problem fixed, thank you.


wizard: Automatically add space when autocompleting words

Attempt to add a space after each word and advance the cursor when a user uses the autocomplete to select it. Doesn't add spaces if there is already a space in front of it.
I have barely touched QT before so this might be a bit ugly. Let me know if there is a better way of doing this.

Thanks, implemented a shorter solution in 5acbd9a20f7e206ec4c4b2e40897ecb17ba09ec7 :)

Thanks, implemented a shorter solution in 5acbd9a :)

Yup, that's... definitely cleaner than my solution.
Minor nit, your solution still creates a space even when there is already one in front of the word. Worth fixing or just leave it as is seeing as both are accepted anyway?

I'd say it's an edge case that probably isn't worth the extra complexity to fix, unless it can be done in just a few lines.

Ok, the inelegance of this edge case bugged me just a little too much.
Did it properly in 849269f53f9cf0871c3934d541364f6d8a798c07.


how do we show position or placeholder to drop items while dragging an item as shown in the shared attachment?

Please describe the feature that you want to propose
how do we show position or placeholder to drop items while dragging an item as shown in the shared attachment?
https://github.com/xyflow/xyflow/assets/45692522/66cab1f8-deac-4535-a351-fa29c56b89f6

There is no built-in feature for this, but you can definitely make this work. Feel free to join our discord server to get some help and guidance on questions like this.


Context missing in Lab 01

Module: 01
Lab/Demo: 01
Description of issue
It shows different ways to query the data. First using openrowset and then external data source and then external table. Maybe add a little bit of text on the differences? Or the Why would you choose one over the other?
For me it feels like it needs a bit of extra explaining.

Thanks for this feedback @Theelepel. I'm going to consider it - I'll leave the issue open until it's been addressed.

Solved with PR #85


SSDF built, installed, and run in Unity Airflow

Duplicate of https://github.com/unity-sds/unity-project-management/issues/219.


Fix catalina Issues with mvn command

When running OODT-Docker image, it generates below error which can be found in the Catalina.out file.
 java.lang.IllegalArgumentException: Document base /usr/src/oodt/tomcat/server/webapps/manager does not exist or is not a readable directory
This PR will fix above Issue.

@NGimhana Thanks for the PR and changes. Merging.


how to use the jsPDF?

i download it to my computer,but npm tell me the warning:
"export 'jsPDF' was not found in<EMAIL_ADDRESS>my version is : 1.5.3 jsPDF.debug.js
use in vue item,
import { jsPDF } from<EMAIL_ADDRESS>const pdf = new jsPDF('','pt','a4')
then i see Uncaught (in promise) TypeError: _risk_api_jspdf_debug_js__WEBPACK_IMPORTED_MODULE_6__.jsPDF is not a constructor ...
how can i do ?

Use<EMAIL_ADDRESS>Run:
npm install --save<EMAIL_ADDRESS>
Then import jspdf:
import { jsPDF } from 'jspdf'

useless，，，same case is .

Please use jspdf according to the readme. I'm closing this issue. If you think this is a bug in jsPDF feel free to reopen.


Use existing interface to request IP address during restore

The initial implementation to request the same IP address for a
container during a restore was based on environment variables
influencing CNI.
With this commit the IP address selection switches to Podman's internal
static IP API.
Signed-off-by: Adrian Reber<EMAIL_ADDRESS>

can you add an integration test for this please

/approve

@adrianreber Can you answer @baude

@baude I will add a test to verify that the IP address is the same before and after checkpoint/restore.
I have to re-work this anyway to not modify c.config.


Adding component melissa

Description:
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#4377
Example entry for configuration.yaml (if applicable):
melissa:
  username: ******
  password: ******

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io #4377

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

As no one has indicated that there's something wrong with this, I'll just go ahead and merge it. Thanks a lot for your contribution! :+1:

Thanx!

@MartinHjelmare Thank you for review, I'll sort these asap.


use ray java snapshot version

This PR creates a new branch to be compatible with Ray nightly, 2.0.0-dev. The ray jar version is still 1.1.0-SNAPSHOT because they didn't update the version for long, but it's actually 2.0.0-SNAPSHOT. I have submitted a PR there to update it.

The memory unit has changed. You can refer here https://github.com/oap-project/raydp/pull/106/files

The ray 1.3.0 has released, should we just need to support ray 1.3.0 in the master branch?

I intended to have a branch which is compatible with ray-nightly. But if there is no need, we may just focus on 1.3.0.

Hi @kira-lin, should we merge this into the master branch first?

No, this PR is for 2.0.0. It's not compatible with 1.3.0, setJvmOptions is not yet changed in 1.3.0.


add support for FSDP options

support FSDP CPU offloading via the CLI and config file
resolves #2276

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Functional tests have been added, if necessary.
[ ] E2E Workflow tests have been added, if necessary.

A CHANGELOG addition needs to be made, if not part of this PR than as part of the followup that will change the Training library pin to a public release
Note: This PR supercedes #2063

I'll update the changelong in #2323


Enable Cache for ci/kokoro/install

I thought about this for a while and I think it is a bad idea. One of the benefits of these builds is to verify the instructions for building our code from scratch. Adding caching would (partially) invalidate that.
More importantly, these builds are reasonably fast today. We can revisit if these become a bottleneck as the number of libraries grows.

I think I might be wrong about this. We test without caching on the continuous build...


Some of the new CSS variables (0.51) not working with theme per-entity

Example:
paper-card-background-color applies a custom color when a general theme is used.
However, it does not apply any change when it is used with theme per-entity.
The goal is something like below.

I'll add background-color specifically to custom ui.
Any other variable doesn't work per-entity?

Thanks. I went through the other new variables and I don't think they need to work per-entity. Borders and visibility (e.g. display: none) could be interesting, but they were not added.

I found other two variables that don't work per-entity.
label-badge-background-color
label-badge-text-color

I looked at it:
The labels are not under my control at all, as they are not state cards.
The background is also hard to implement, as background (and thus themes override) should be applied above the state-card level to take effect.
So unless someone finds an elegant way to do this - probably won't be implemented.

I also played a bit with this and I couldn't do much. I only managed to change the background of the state. I will see this weekend, maybe I can find a workaround. Thanks for looking.

Well, one solution could be to do it like this ;
badgeMode: function (hass, stateObj, badgeBorderColor) {
  (...)
  Polymer.dom(this).lastChild.style.setProperty('--ha-state-label-badge-margin-bottom', '0');
  if (badgeBorderColor == 'red') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'var(--label-badge-red)');
  } else if (badgeBorderColor == 'blue') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'var(--label-badge-blue)');
  } else if (badgeBorderColor == 'green') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'var(--label-badge-green)');
  } else if (badgeBorderColor == 'yellow') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'var(--label-badge-yellow)');
  } else if (badgeBorderColor == 'grey') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'var(--label-badge-grey)');
  }
  (...)
}

... and ...
inputChanged: function (hass, inDialog, stateObj) {
  (...)
  domain = window.hassUtil.computeDomain(stateObj);
  if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges') {
    this.badgeMode(hass, stateObj, 'red');
    return;
  } else if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges_red') {
    this.badgeMode(hass, stateObj, 'red');
    return;
  } else if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges_blue') {
    this.badgeMode(hass, stateObj, 'blue');
    return;
  } else if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges_green') {
    this.badgeMode(hass, stateObj, 'green');
    return;
  } else if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges_yellow') {
    this.badgeMode(hass, stateObj, 'yellow');
    return;
  } else if (!inDialog && domain === 'group' && stateObj.attributes.state_card_mode === 'badges_grey') {
    this.badgeMode(hass, stateObj, 'grey');
    return;
  }
  (...)
}

And then the same thing could also work for the background colours...
Sure it's maybe not the most elegant solution, but hey it works... You could do it more elegantly with a glob instead I guess. Anyway following the rules above you can now customize with state_card_mode: badges but also with state_card_mode: badges_blue etc.
Which brings me to another question I was wondering about.. Why limit the badges option to groups only (necessitating the complicated put-your-inner-groups-in-outer-groups thing)? Can't you remove the && domain === 'group' part? (I tried it quickly but doesn't seem to work for some reason :-S)

@ahofelt  Seems like a good start. Thanks. Did you try to see if it works? I am not home for the following week and I don't want to play with HASS machine remotely.

@covrig sure this works fine, the lines I wrote up there. Tested it naturally before posting :-).
In the meanwhile, I tested the same thing for background colours too. And yes, it works fine. But there's a problem:

You see, the DOM box that we are colouring does not have the actual full height of the label, so it only colours a portion of the box. It works fine for most other boxes though (just not the labels).
And my question on why the labels only apply to groups and not to seperate entities is not yet resolved (also tested my theory but that one didn't work). WIP.

@ahofelt Thanks for the reply. Why don't you color the inside of the badge? Because of the groups issue?
class="label-badge"
var(--label-badge-background-color, white)

Ok, found the solution to this now:

} else if (badgeBorderColor === 'blue') {
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-red', 'orange');
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-background-color', 'blue');
    Polymer.dom(this).lastChild.style.setProperty('--label-badge-text-color', 'red');
    Polymer.dom(this).parentNode.parentNode.style.setProperty('background-color', 'yellow');

I didn't change the background and text colours before because I was fine with them as they were, but we can tweak them in the same manner: I now set the label to orange, the background colour to blue, the text colour to red in the labelled named 'blue'.  Of course, better use var(--...) colours in the real version instead of these mockups.
The background colour now works by colouring the parent node of the parent node. We'd have to test it this works consistently in every situation and will not point to the wrong nodes...

@ahofelt Excellent job!
Hopefully, @andrey-git will like the approach. Would you be kind to share your working code with me so I can test it for consistency? I am running my HASS on a Pi and it takes forever to restart. I can't afford messing something since I can't reset it manually. Thanks.

Sure. From the state-card-custom-ui.html (direct link), apply changes as shown here: https://www.diffnow.com/?report=9fvcj
Please note that this is not a finalized pull request (colours are ugly and hardcoded, only the blue label has the background colour and "extras"). Just a proof of concept.

@ahofelt Thanks a lot. I will give it a try.

Ok, I spent some time to make it all a bit more elegant, more universally applicable, and less of a dirty hack. Here's the diff: https://www.diffchecker.com/Qq3GfcnQ
You can set the state background colour, badge label border colour, badge label text colour in the customize.yaml file as follows. Omitting them defaults to regular template colours.
group.mygroup:
  custom_ui_state_card: custom-ui
  state_card_mode: badges
  label_badge_color: 'var(--accent-color)' # or set it to any colour you like here
  label_badge_text_color: 'var(--light-primary-color)' # or set it to any colour you like here
  background: 'var(--secondary-text-color)' # or set it to any colour you like here

@ahofelt Nice job! However, I am mobile now so I can't check the code.
Did you work in implementing it work for normal state cards (not badges)? Setting the background color wasn't possible.

I've made a separate rule now so you can set the background colour for any state entity in the customize file. I've split it off completely from the labels now, so this should work anywhere.
sensor.mysensor:
  custom_ui_state_card: custom-ui
  background_color: 'my_color'

I cleaned up all of the code, and think this completes my purposes for now. So I've created a pull request. To play around with the code, copy the changes as shown in the pull request: https://github.com/andrey-git/home-assistant-custom-ui/pull/35

per-entity label theming and background implemented in release 20170903


Can the return type of CancelOrder be changed to Promise instead of Promise<Boolean?

Can the return type of CancelOrder be changed to Promise instead of Promise<Boolean?  My linters don't like using "Boolean" as a type.

Version 6.2.5 has all Booleans changed to the primitive boolean.


instructions dont work

this step does not work!
docker build -t counter-image -f Dockerfile .
[+] Building 1.8s (11/13)                                                                                docker:desktop-linux
=> [internal] load .dockerignore                                                                                0.0s
=> => transferring context: 2B                                                                                0.0s
=> [internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 399B                                                                                0.0s
=> [internal] load metadata for mcr.microsoft.com/dotnet/sdk:7.0                                                                    1.5s
=> [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:7.0                                                                 1.5s
=> [build-env 1/5] FROM mcr.microsoft.com/dotnet/sdk:7.0@sha256:2dd6fa19392967b26d59228af0ec481c652b98346ced56a4db1c66416b4c947f    0.0s
=> [internal] load build context                                                                                0.0s
=> => transferring context: 6.75kB                                                                                0.0s
=> [stage-1 1/3] FROM mcr.microsoft.com/dotnet/aspnet:7.0@sha256:933ae169296fe093776749cc47fd60e0a6e85bde607651a3fc6cd97bb5bc1ce0   0.0s
=> CACHED [stage-1 2/3] WORKDIR /App                                                                                0.0s
=> CACHED [build-env 2/5] WORKDIR /App                                                                                0.0s
=> CACHED [build-env 3/5] COPY . ./                                                                                0.0s
=> ERROR [build-env 4/5] RUN dotnet restore                                                                                0.2s

[build-env 4/5] RUN dotnet restore:
0.213 MSBUILD : error MSB1011: Specify which project or solution file to use because this folder contains more than one project or solution file.

Dockerfile:7
5 |     COPY . ./
6 |     # Restore as distinct layers
7 | >>> RUN dotnet restore
8 |     # Build and publish a release
9 |     RUN dotnet publish -c Release -o out
ERROR: failed to solve: process "/bin/sh -c dotnet restore" did not complete successfully: exit code: 1

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

ID: 4c7470d2-9a57-7654-e13a-4f912898f7aa
Version Independent ID: 58d57b81-4ca6-6536-8788-f212402b41a7
Content: Containerize an app with Docker tutorial - .NET
Content Source: docs/core/docker/build-container.md
Product: dotnet-fundamentals
Technology: dotnet-docker
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hi @SogoGolf - based on the error that you reported, you have a solution and a project in the same directory. This tutorial doesn't use a solution, instead from the command line it walks you through creating a C# console project and adding a Dockerfile. Since you have a solution now too, the .NET CLI doesn't know which to build, the solution or the project - so it exits and instructs you to specify one.

You could either follow the tutorial exactly, .NET CLI with no solution, or
Delete the solution, or
Update the Dockerfile to specify the project

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env
WORKDIR /App

# Copy everything
COPY . ./
# Restore as distinct layers
RUN dotnet restore ./DotNet.Docker.csproj
# Build and publish a release
RUN dotnet publish ./DotNet.Docker.csproj -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /App
COPY --from=build-env /App/out .


Update vpn-gateway-delete-vnet-gateway-classic-powershell.md

I tried this today and the actual output was this:
PS> Remove-AzureVNetGateway -VNetName demo

Error          :
HttpStatusCode : OK
Id             : b19bc8e4-bffb-4ca8-a948-84e2b93cbb20
Status         : Successful
RequestId      : b86f95f59d19add399ef2a1927630dcd
StatusCode     : OK

@abatishchev : Thanks for your contribution! The author, @cherylmc, has been notified to review your proposed change.

Please disregard, my bad.


[KYUUBI #4847][FOLLOWUP] Exclude the alive probe sessions in terminating checker

:mag: Description
Issue References 🔗

This pull request fixes #
follow up of #4847
Describe Your Solution 🔧
In this pr, when checking the engine terminating, it will ignore the alive probe sessions.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[ ] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Codecov Report
Attention: Patch coverage is 64.70588% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 58.47%. Comparing base (dd0aced) to head (418d0b4).
Report is 3 commits behind head on master.

Files
Patch %
Lines

...rg/apache/kyuubi/engine/spark/SparkSQLEngine.scala
25.00%
3 Missing :warning:

...ala/org/apache/kyuubi/session/SessionManager.scala
25.00%
1 Missing and 2 partials :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #6355      +/-   ##
============================================
- Coverage     58.49%   58.47%   -0.03%
  Complexity       24       24
============================================
  Files           653      653
  Lines         39865    39887      +22
  Branches       5481     5483       +2
============================================
+ Hits          23319    23322       +3
- Misses        14055    14073      +18
- Partials       2491     2492       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

thanks, merged to master/1.9.1/1.8.3


Support passing certificates to clouds.yaml file

Support passing certificates as part of the secrets to add them to the
cloud file.

/lgtm


I encountered an error on Safari (iOS 14.5). The issue is: "WebAssembly.Module doesn't parse at byte 1613: references are not enabled."

Describe the bug
WebAssembly.Module doesn't parse at byte 1613: references are not enabled.
Please do not make me upgrade my iOS system, because I need this version of the system to do some other things.
Steps to reproduce

A polyfill should be added in main.ts first

  if (!WebAssembly.instantiateStreaming) { // polyfill
    WebAssembly.instantiateStreaming = async (resp, importObject) => {
      const source = await (await resp).arrayBuffer();
      return await WebAssembly.instantiate(source, importObject);
    };
  }

add a Console for mobile browsers in index.html

<script src="//cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>

build the docker image and run it
use Safari (iOS 14.5) access the frontend address

The version of Memos you're using
0.21.0
Screenshots or additional context

Upgrading to the latest iOS is recommended