GUACAMOLE-770: Support for clearing TOTP data

This implements support for two options:

Clear out the TOTP secret.
Set the TOTP status back to unconfirmed, prompting the user to re-confirm.

Hello,
I really would like to use this feature. Is it possible ? Is there something in configuration files to enable it?
Regards,
Red.

@red-erik: It has not been merged, yet, so it isn't available in the main code. If you want to use it you'd have to grab the diff of this pull request (https://github.com/apache/guacamole-client/pull/495.diff) and apply it to the code base, re-build, and re-deploy.  That said, it is in development and could change before it is accepted/merged into the main code, so no guarantees it'll be the same in the future.

Hello,
thank you for your answer but I'm not able to do something like re-build and re-deploy. I solved temporary by editing the MySql backend and setting "guac-totp-key-confirmed" to false for the needed user but I really believe this is an important update and feature that should be available to administrative accounts.
Regards,
Red.

@red-erik : Understood - it'll likely be a while before this is released.  It is not slated to go in 1.3.0, which we're working on finalizing, now, so it'll likely have to wait until the next release.

Thank you, I'll wait but really is common to have to change Google authenticator device, loosing previous tokens so being able to have a TTOP Qrcode again is required.
Regards,
Red.

editing the MySql backend and setting "guac-totp-key-confirmed" to false for the needed user

I needed to do that after I accidentally deleted the profile from my phone app by mistake.
Didn't have any mysql login working in the terminal or otherwise (localhost denied for all users, etc...) so that was annoying.
I installed on Ubuntu 20.04, but with guac itself installed under tomcat9, from this: script from MysticRyuujin.
I was really wary to force a mysql password change directly since I had just entered in a few client connections and they were working on a complicated internal network.
So I installed Adminer and PHP in the OS, manually edited the mysql.cf file, under mysqld heading inside to include "--skip-grant-tables" and restarted the mysql service to gain mysql login via Adminer. This was a temp action.
User (missing the QR) had id of "2", set flag to "false" as Red suggested, commented the appended line in the mysql.cf file, restarted mysql, restarted ufw and was able login with the user in question via Guacamole admin.
The QR code prompt appeared instantly after password login as expected for the user. Scanned the QR, entered into phone app, logged into Guacamole like a champ, with no risk to the initial mysql setup.
thanks @red-erik ! I hope this helps someone in the future...at least until the feature is considered for inclusion as a feature request.


Fix next being undefined for getReset call

'next' is undefined for getReset call in user controller. This PR fixes it.

Thanks!


getOrNull for Either

it would be nice to have getOrNull in Either class, similar to getOrdElse

@cranst0n i think that @radoslawsobies didnt mean to have it as a getter, but instead to be able to call it with .getOrNull(), am I right?
in case I'm right, I'd like to open a pr for that since this is my first time contributing to some project :)


add supplementary lemmatizer

Hi, instead of manually overruling lemmatization for words like "Europa" I thought about adding a lemmatization layer. It changes the results a bit, hopefully for the best!

Hey, thanks! I will this PR open, since it may confuse people who are just looking at the graph. I mainly re-used some old code form 2019, and I couldn't find a better lemmatizer back then.

Don't you want to re-run it to see if it changes something in the visualization? I can also do it if you prefer.
There is no line actually saving the data to data.csv in the notebook by the way. Did you just dump df_comp as CSV?

The data is saved with this line
df.to_csv('data.csv', index=False)

I manually copy & paste the line from df_comp to the R notebook.
Since I already published the visualization, I can't change it. But I will look into it the next election. ;)

https://www.reddit.com/r/de/comments/pujwxr/analyse_der_wahlprogramme_was_sind_die_häufigsten/
https://twitter.com/fil_ter/status/1441392914991620097

OK I get it now ;)

Since I already published the visualization, I can't change it. But I will look into it the next election. ;)

Yes please! I'm eager to know what simplemma is worth in such contexts.

I will look into it, for sure. ;)


[AMBARI-23052] Extend service actions dropdowns with namespace-specific items

What changes were proposed in this pull request?

User should be able to apply the service action (if it can be executed for certain components only) to the given namespace
Add Restart NameNodes item

How was this patch tested?
Tested manually
Unit tests:
21510 passing (22s)
48 pending

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/755/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/764/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/778/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/785/
Test FAILed.
Test FAILured.

Build failure is neither caused by nor related to these changes. Ambari Web is built successfully.


Firefox automatically select first menu item on Space for opening menu

🐛 Bug report
Current behavior
Firefox automatically select first menu item on Space for opening menu. it actually occurs when we release Space.
Steps to reproduce the bug
with Firefox go to menu action example https://reakit.io/docs/menu/#menu-actions

put focus on the Menu
press space on the menu button
on release of space it automatically select first menu item so it closes the menu

Expected behavior
like chrome it must just open the menu and not select any item
Possible solutions
Environment
Please, run the command below inside your project directory.
$ npx envinfo --system --binaries --browsers --npmPackages "{react*,reakit*}"

  System:
    OS: Linux 5.9 Arch Linux
    CPU: (4) x64 Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
    Memory: 7.88 GB / 11.13 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 15.5.0 - /usr/bin/node
    npm: 6.14.10 - /usr/bin/npm
  Browsers:
    Firefox: 84.0.1
  npmPackages:
    react: ^17.0.1 => 17.0.1
    react-dom: ^17.0.1 => 17.0.1
    reakit: ^1.3.2 => 1.3.2

Thanks for reporting it @h4m3d!
This actually also happens on Chrome, but you need to press Space for a little longer.
I haven't tested it yet, but my guess is that we should check for event.repeat here:
https://github.com/reakit/reakit/blob/bf3fdfdfa511f8f09edf8f5c55ed691a9b592ad8/packages/reakit/src/Clickable/Clickable.ts#L86-L88

Thanks for reporting it @h4m3d!
This actually also happens on Chrome, but you need to press Space for a little longer.
I haven't tested it yet, but my guess is that we should check for event.repeat here:
https://github.com/reakit/reakit/blob/bf3fdfdfa511f8f09edf8f5c55ed691a9b592ad8/packages/reakit/src/Clickable/Clickable.ts#L86-L88

This should be fixed in the latest version of @ariakit/react.


Cannot run in no-git env

Because of this code:
export const BUILD_ENV: BuildEnv = {
  isCi: envs.isCi,
  pwd: 'root' in envs && envs.root ? envs.root : process.cwd(),
  platform: process.env.PERFSEE_PLATFORM_HOST ?? 'https://perfsee.com',
  upload: !process.env.PERFSEE_NO_UPLOAD && envs.isCi,
  git: gitEnvPromise.then((gitEnv) => (gitEnv ? Promise.resolve(gitEnv) : getGitEnv())),
}

in init, will call getGitEnv and fetch git context, but its not good in some no-git environment for example: vercel deploy.
Maybe we should get this variable when we use it?

or add a catch block if not get git environment..

Because we need to read information such as commits, branches, tags, etc. from git, this information is necessary for uploading artifacts.
The vercel build environment provides a series of system environment variables, perhaps we can use the information. https://vercel.com/docs/concepts/projects/environment-variables#system-environment-variables

Because we need to read information such as commits, branches, tags, etc. from git, this information is necessary for uploading artifacts.
The vercel build environment provides a series of system environment variables, perhaps we can use the information. https://vercel.com/docs/concepts/projects/environment-variables#system-environment-variables

My scene is deploy with cli command  vercel deploy, not github app.
And in some case we not need it in init.
I resolve it with require:
if (PREF_REPORT) {
  const PerfseePlugin = require('@perfsee/webpack').PerfseePlugin;
  plugins.push(
    new PerfseePlugin({
      project: 'xxxxxxx',
    })
  );
}

but will lose type.

I claim this issue because in esm, standard import is import xxx from 'xxx' or import('xxx').then(...), no way to sync import module(i know i am in node runtime, just hate use require in typescript)

Thanks for you remind, and we definitely should avoid reading required information & computing during lib importing. We will work on it and solve this issue asap.

This works on Vercel https://github.com/perfsee/perfsee/commit/81d012fa10df292279d41f8ddd64858f7218a64b


Transformation: Modified OBR-4.3 codingSystem

CA Transform: OBR-4.3 Modification
Modified file so that ORUs passed through ReportStream will be modified to always have 'CDPHGSPEAP' on OBR-4.3.
Issue #1243
Checklist

[x] I have added tests to cover my changes

Do we want the alternate identifier to be emptied out if it is not specified in the transform definition? I ran a message through with this OBR:
OBR|1|7241234515^FormNumber||54089-8^NB Screen Panel Patient AHIC^OBR43VALUE^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F
After the transform, the final result looks like this:
OBR|1|189609160^HospOrdNumber||54089-8^NB Screen Panel Patient AHIC^CDPHGSPEAP^^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F
Note that OBR-4.4 is now empty.
CA is only sending OBR-4.1 and OBR-4.2, so it shouldn't matter for the current requirement, but it could make a difference if we receive messages that use the alternate in the future.
@dbgolson

Do we want the alternate identifier to be emptied out if it is not specified in the transform definition? I ran a message through with this OBR:
OBR|1|7241234515^FormNumber||54089-8^NB Screen Panel Patient AHIC^OBR43VALUE^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F
After the transform, the final result looks like this:
OBR|1|189609160^HospOrdNumber||54089-8^NB Screen Panel Patient AHIC^CDPHGSPEAP^^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F
Note that OBR-4.4 is now empty.
CA is only sending OBR-4.1 and OBR-4.2, so it shouldn't matter for the current requirement, but it could make a difference if we receive messages that use the alternate in the future.
@dbgolson

Discussed with @dbgolson and @luis-pabon-tf on 9/6/2024 and updated the task. We agreed that the transform should retain the original values for subfields OBR-4.4 through 4.6.

As it is now, all tests pass with full coverage on the new code. Approval pending verifying the original values...

The commit I just made adds a new unit test for the empty OBR-4.4 case and updates the transform. We still need to run a new end to end test. I will do that in the morning.


Change corev1.Handler to corev1.ProbeHandler

This patch is same with networking repo's https://github.com/knative/networking/pull/638/commits/17259750a8d2abfaf95d4534de990cdc22bdc53b.
This change is necessary to pass https://github.com/knative-sandbox/net-gateway-api/pull/263.
/cc @dprotaso @ZhiminXiang @carlisia

/retest
/lgtm
/approve


Add CR filtering functionality

Coming from https://github.com/giantswarm/azure-admission-controller/pull/216#issuecomment-841073290
Motivation
We want that azure-admission-controller only validates and mutates CRs that belong to clusters from "legacy" non-CAPI releases, because CRs from new CAPI cluters will be validated and mutated by upstream webhooks, our new admission controller, and Kyverno.
What's in the box?

New pkg/filter package with IsCRProcessed (context.Context, client.Client, metav1.Object) (bool, error) function which checks if the CR belongs to a cluster from a legacy non-CAPI release.

Release is considered to be "legacy" if it contains azure-operator.

Caching release components for 24 hours, as this will be used in all admission controller requests.

I would like to add few more tests around release component caching, but feel free to review this already.


Please read before posting issues

Hi chaps,
a lot of people are here to help you - however, sometimes it's a tough call because information is missing in what you describe to be an issue. Please make sure that you include the following information when posting an issue:

Description of the hardware you are using
The version of the software that you are using
exact steps to reproduce the issue

That would speed up things for us to help you and in a next step include a fix in the code
Many thanks and btw - happy new year ;-)

Happy new year 🥂
https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository

I was gonna suggest that too. Templates are definitely the best solution, then you make sure people give you as much information as possible to help them out
I still don't see them implemented though 😏👀

@omersiar I would like to setup the issue templates in order to make it easier to open issues and to remove this one.
Following the docs: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository I guess I need some additional permission? Can you help me, please?


Company should work in use-package :bind forms

I don't get completion for functions because of the macro syntax of use-package.

Fixed in 844eaed07459347fc476ec9007687aeb5a20c0a5.


Fix CZUnzipEntryOpen() failed

Codecov Report

Merging #4 into master will increase coverage by 0.08%.
The diff coverage is 95.83%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   85.34%   85.42%   +0.08%
==========================================
  Files          41       41
  Lines        2681     2703      +22
==========================================
+ Hits         2288     2309      +21
- Misses        393      394       +1

Impacted Files
Coverage Δ

Sources/CoreZipArchive/CZUnzip.c
85.92% <100%> (+0.98%)
:arrow_up:

Sources/ZipArchive/Unzip.swift
64.28% <100%> (ø)
:arrow_up:

Sources/CoreZipArchive/CZUnzipEntry.c
89.9% <88.88%> (-0.1%)
:arrow_down:

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 88e0f36...f464f75. Read the comment docs.


BUG: fix computation of hyp2f1 near integer values

Reference issue
Closes gh-6491
What does this implement/fix?
Constrain input parameters, and certain differences of input parameters, to be exactly integers whenever the values are tested to be nearly integers (within EPS).  This prevents incorrect results with certain inputs.  Unit test behavior is unchanged.
Additional information

@steppi I added a test case and verified it fails on main and succeeds on the updated code.

Hi @femler0, it looks like you've accidentally undone the changes from your first commit in your second commit. If you're using the git command line ui, one way to fix this is to run
git RESET HEAD~
to undo the most recent commit, but leave your files unchanged. Then run
git restore <path to>/special/cephes/hyp2f1.c
to bring hyp2f1.c back to the state from your first commit. Then you can stage and commit test_hyp2f1.py again. After that, you will need to force push back to this branch by running git push with the -f option. Let me know if you have any questions. I can do these steps on my local copy of your branch to fix things up if you like.
I have some review suggestions to make, but first let's get your branch back into shape.

Sorry about that, I had been going back and forth between main and the feature branch to verify not fixed vs. fixed and somehow screwed up.  I use git every day, but am new to github development/forks/pull requests/etc.
Anyway, I fixed the commit and also rebased on top of the latest upstream/main.

Sorry about that, I had been going back and forth between main and the feature branch to verify not fixed vs. fixed and somehow screwed up. I use git every day, but am new to github development/forks/pull requests/etc.
Anyway, I fixed the commit and also rebased on top of the latest upstream/main.

No worries @femler0. That can happen to anyone, especially when working on several branches at once. Thanks for fixing things up.
I think you're approach is sound, but based on some quick numerical investigations, it looks like we'll also want to be more strict when determining whether one of a, b, c - a, or c - b is a negative integer.
Using the script from the details section below, I generated the following table:

import argparse
import itertools as it
import numpy as np
import pandas as pd
import scipy.special as sc

from mpmath import mp

parser = argparse.ArgumentParser()
parser.add_argument("epsilon", type=float)
args = parser.parse_args()

# Seed generated with np.random.SeedSequence.entropy
rng = np.random.default_rng(
<PHONE_NUMBER>87121422766798348511263005334
)

X = np.arange(-10, 1, 0.1)
# Negative int value for a peturbed by small amount
A = np.arange(-10, 0) + args.epsilon
B = 2**np.arange(0, 5) + rng.normal(scale=0.1, size=5)
C = 2**np.arange(0, 5) + rng.normal(scale=0.1, size=5)
B = np.hstack([-B, B])
C = np.hstack([-C, C])

errors1 = []
errors2 = []
for a, b, c in it.product(A, B, C):
    observed1 = sc.hyp2f1(a, b, c, X)
    observed2 = sc.hyp2f1(a, b, c, X.astype(complex))
    expected = []
    for x in X:
        expected.append(float(mp.hyp2f1(a, b, c, x)))
    expected = np.asarray(expected)
    rel_error1 = abs(expected - observed1) / abs(expected)
    rel_error2 = abs(expected - observed2) / abs(expected)
    errors1.append(rel_error1)
    errors2.append(rel_error2)

errors1 = np.hstack(errors1)
errors2 = np.hstack(errors2)

quantiles1 = np.quantile(
    rel_error1, [0.25, 0.5, 0.75, 0.9, 1]
)

quantiles2 = np.quantile(
    rel_error2, [0.25, 0.5, 0.75, 0.9, 1]
)

rows = [quantiles1, quantiles2]
df = pd.DataFrame(rows)
df.index = ["This PR", "Strict"]
df.columns = [
    "25%", "50%", "75%", "90%", "max"
]
print(df.to_markdown(mode="github"))

25%
50%
75%
90%
max

This PR
1.12378e-14
1.70925e-14
2.09497e-14
2.26192e-14
2.37308e-14

Strict
1.23521e-16
1.90563e-16
3.45869e-16
5.32193e-16
1.42505e-15

This gives various percentiles for relative error over 110,000 test cases where a is equal to a negative integer plus 0.99e-14. The first row uses the implementation from this PR, and the second uses the hyp2f1 implementation for complex numbers, which requires the exact condition a == round(a) to consider a to be an integer.
We're losing precision by considering hyp2f1 to be constant in a when a is near a negative integer. It seems like the standard series and transformations are handling these cases fine though. I should have some time to finish my review tomorrow evening.

That's good analysis.  My solution was definitely a band-aid solution, rather than a comprehensive one.  I think the hierarchy of integer vs. non-integer tests, where the test is performed at different levels, is the source of the current bug.  I could go back and reason about it more carefully, but I think the changes would end up being more extensive.  The reason I didn't attempt that solution was I thought the risk vs. reward was too great, especially for my first scipy contribution.  But loss of precision is a realized risk, so I miscalculated.
Would it be better to wait for the complex-valued case to be completed and then use whatever decision tree that is using in the real-valued case as well?

Would it be better to wait for the complex-valued case to be completed and then use whatever decision tree that is using in the real-valued case as well?

No need to wait. Let's get a fix in. It'll be good to have two sets of eyes on it. (The logic for this is already settled for complex numbers, but we may want to do things a little differently here). I'll go through now and check if there would be any unintended impact if we set lower thresholds to consider a, b, c, etc... to be integers.

In principle, it seems like we might be able to get away with just changing to define EPS 1.0e-15, on top of the changes you've already made. We'd need to test this very thoroughly though. It's not clear to me why this threshold was chosen.
There's a limiting formula used when x > 0.9 and c - a - b is within EPS of 0, which will not work when one of a or b is a negative integer.
	    /* Psi function expansion, AMS55 #15.3.10, #15.3.11, #15.3.12
	     *
	     * Although AMS55 does not explicitly state it, this expansion fails
	     * for negative integer a or b, since the psi and Gamma functions
	     * involved have poles.
	     */

and I suspect this might be involved in the choice of cutoff, but I didn't see any issues when setting EPS=1.0e-15for the handful of relevant cases I checked. We have a somewhat comprehensive benchmark suite forhyp2f1` for complex values [here] that could be adapted for real values.
Adjusting EPS seems fairly involved. If you're interested, we can follow up with that later. I think it might be OK just to apply the band-aid solution for now. I'll look into that a little more the next time I have a chance, probably over the weekend.

@femler0
Let's try to get this fix in, but first let's test it thoroughly. There's a script in scipy/special/_precompute which exhaustively tests hyp2f1 for complex numbers. This takes way to long to run to be part of the ordinary test suite. We should make a similar script for real values. We can change the directory structure to have scipy/special/_precompute/hyp2f1, and have hyp2f1_data_complex.py and hyp2f1_data_real.py within this parent folder, with the former being the existing script.
In hyp2f1_data_real.py let's add a set of test cases where one or more of a, b, c - a, c - b either equal to a negative integer, less than 1e-13 from a negative integer, or just more than 1e-13 from a negative integer. When one of a orb is a negative int, they should vary across orders of magnitude. At or very near powers of 2 from 2 to 128 sounds reasonable. For c - a or c - a a negative int, I think it's OK to just have a few different values. x can take values in a grid from -2 to just before 1.
This will be a lot of test cases. We can select maybe 5-10 of them randomly to include in scipy/special/test/test_hyp2f1.py.
Would you be interested in working on this?

@steppi
TL;DR  version:  Yes, I can write up a test script and execute it.  I haven't looked at your example in detail yet.  Around negative integers it seems like using this function could be useful.  My suspicion is that I will find many other cases of paradoxical behavior.  At that point, it might make the most sense to examine the handful of "endpoints" in the code (i.e., where the recursion ends) individually to see where they fail.  I haven't lost interest in this yet (though I've come close several times :smiley: ).
Long version:
I have tried several times to move stuff around in hyp2f1 in an effort to unravel how it works and what needs to be fixed.  The last time I tried (yesterday) was most successful.  I put some modified code here.  Note that it is WIP and I'm not proposing using it.  But I think I was on the right track in making the web of transformations easier to understand (I was using the Pearson, et al reference mentioned in the complex-valued case as a guide).
In the modified code I had taken out the within EPS test for negative integers and the way I had rearranged things, the result for the test case we added was a seg fault (due to infinite recursion) rather than the paradoxical evaluation to infinity.
Looking at the call stack:
#0  0x00007fffe107dd9a in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=2.9999999999999001, x=0.090909090909090939) at scipy/special/cephes/hyp2f1.c:90
#1  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=1.25, x=0.90909090909090906) at scipy/special/cephes/hyp2f1.c:221
#2  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=2.9999999999999001, x=0.090909090909090939) at scipy/special/cephes/hyp2f1.c:221
#3  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=1.25, x=0.90909090909090906) at scipy/special/cephes/hyp2f1.c:221
#4  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=2.9999999999999001, x=0.090909090909090939) at scipy/special/cephes/hyp2f1.c:221
#5  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=1.25, x=0.90909090909090906) at scipy/special/cephes/hyp2f1.c:221
#6  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=2.9999999999999001, x=0.090909090909090939) at scipy/special/cephes/hyp2f1.c:221
#7  0x00007fffe107e822 in cephes_hyp2f1 (a=2.2499999999999001, b=1, c=1.25, x=0.90909090909090906) at scipy/special/cephes/hyp2f1.c:221

the code is both trying to make a a negative integer and making x < 0.9.  In the original code, I think the issue is that it was deciding to evaluate the x=0.90909... case but then it didn't converge so the result was infinity.  I think the approach I added (adding error to the input a or b by rounding so that a polynomial can be evaluated), is an OK one, but the conditions for applying that fix will need to be examined in detail.  It would be great if there were theoretical results on what a small change to the input parameters does to the output result, but I'm guessing those don't exist.
I've gone through a good portion of AMS55 and the Pearson, Olver, Porter reference.  Seems like there's no end to the complexity.  I think for this bug fix, I'd like to draw the line at not writing new "endpoints" in the code, but only change the conditions in which those endpoints are reached and maximize accuracy and sanity within those constraints.
Regardless, the first step is to write the test suite you mentioned, using the existing one as a baseline.  Sounds like the results it generates are too big to share, so I'll share the test suite code once complete.

TL;DR version: Yes, I can write up a test script and execute it

Great! I was determined to clean up the issues with hyp2f1 but ended up taking on a more demanding job and had a lot of other things going on. If you're set on this, I'd be happy to help review your PRs. The key thing is to only work on a little bit at a time, and test things very thoroughly.

It would be great if there were theoretical results on what a small change to the input parameters does to the output result, but I'm guessing those don't exist.

The topic you're interested in here is Backwards error analysis, if you weren't aware of the name. It would be helpful to know the partial derivatives with respect to a and b. There unfortunately aren't closed forms for these just somewhat messy series expansions. The ones from this link are valid for $-1 < z < 1$, and they would get even messier outside this range because we'd have to differentiate through the standard transformations. In any case, tests based on numerical calculations should be sufficient here.

Regardless, the first step is to write the test suite you mentioned, using the existing one as a baseline. Sounds like the results it generates are too big to share, so I'll share the test suite code once complete.

Right, that's the first step and it's what I did first when working on the complex case. Once you get a similar test suite working, feel free to submit a PR for it and I can review.

OK, thanks.  It's going to be best if I don't make future contributions.  I didn't really "study" any other implementations, more like "glanced."  I'm confident there's not a true issue there, though I agree the appearance of impropriety is also an issue.  The larger issue is that I don't have the right kind of mind for this type of work.  I tend to obsess about problems like this and spend an unhealthy amount of time investigating things that aren't helpful to the project or my mental state.  I'm unable to focus on specific issues because of this, so I'm not a good collaborator.  I wanted to give back, but it's just not a good idea for anybody.
Wrapping up:
Re: script and test case I don't have much more to add  beyond what's in the linked branch.  I went back and made a "better" version that centered around integer-valued cases rather than the random number generation in the linked branch but it ended up taking inordinate amounts of time to run b/c mpmath struggles at near-integer cases.
Best wishes.

OK, thanks. It's going to be best if I don't make future contributions. I didn't really "study" any other implementations, more like "glanced." I'm confident there's not a true issue there, though I agree the appearance of impropriety is also an issue. The larger issue is that I don't have the right kind of mind for this type of work. I tend to obsess about problems like this and spend an unhealthy amount of time investigating things that aren't helpful to the project or my mental state. I'm unable to focus on specific issues because of this, so I'm not a good collaborator. I wanted to give back, but it's just not a good idea for anybody.
Wrapping up: Re: script and test case I don't have much more to add beyond what's in the linked branch. I went back and made a "better" version that centered around integer-valued cases rather than the random number generation in the linked branch but it ended up taking inordinate amounts of time to run b/c mpmath struggles at near-integer cases.
Best wishes.

I’m sorry to hear that @femler0. I don’t think the results of your investigations were unhelpful. You’ve provided valuable info in the comments above. Work on special is slow at the moment, due to limited available time from maintainers and contributors with relevant expertise. I can see how slow and cautious development timeline could be tough for someone who tends to obsess over problems. You should definitely put your mental state first.
I plan to create an omnibus issue with a checklist of hypergeometric function issues, where hypergeometric function development could be discussed. Your input would be appreciated there if you have more thoughts to share. I’ll give you a ping after I create it.
I’m actually unsure to what extent your ability to contribute could be impacted by glancing at GPL’d implementations. If you change your mind about contributing I would defer to a more experienced maintainer in that case.
Thanks again for your PR and the suggestions above.


Fix broken Dockerfile

Nope, still broken
cmake -B build . -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at cmake_find/boilerplate.cmake:50 (message):

  Run cmake with an explicit -B buildpath
Call Stack (most recent call first):
  CMakeLists.txt:6 (include)

-- Configuring incomplete, errors occurred!
See also "/app/CMakeFiles/CMakeOutput.log".
Makefile:7: recipe for target 'cmake' failed
make: *** [cmake] Error 1
The command '/bin/sh -c make' returned a non-zero code: 2
user@xhpi:~/eimgfs$

the problem seems to be that docker uses a really old version of cmake : 3.10.
apparently the -B option is missing, and also the FetchContent module.
I don't know enough about docker why this happens.

ah, maybe it is because it says 'ubuntu:bionic'  in the dockerfile,  which is an old version of ubuntu

other things missing in the dockerfile:

git
libboost-date-time-dev
possibly the amd64 variants: libssl-dev:amd64  and libstdc++6:amd64

then it still has problems - git has problems verifying the https certificate of github.

and I also noticed that  you need to 'clean'  before creating the docker container, otherwise your local build directory will pollute the one in the docker container.
maybe you should not COPY,  but git clone eimgfs from github directly

my suggestion: delete the Dockerfile (it is confusing for somebody who is walking into this repo thinking it is working, it is 100% not working)
my 2nd suggestion:
I like how you have invested the time to try to make this compile on so many different operating systems. However...
In order to bootstrap Win32 CMake files... you need make... make is very uncommon on Win32 MSVC VisualStudio setup (nmake), you need MinGW environment extra. Then, when you do that, it collides with like gcc and all sorts of things.
I had 0 success on trying to get Win32 to build and I put a ton of time into it. I appreciate you maintaining this and making it open source, just wanted to give the feedback. MinGW make to bootstrap MSVC Cmake to maybe call NMake is pretty confuisng
Also, if you are interested https://github.com/KodaSec/wince-decompr/issues/4


Fix typo on DatatemplateSelector page

fixes #222

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

File
Status
Preview URL
Details

docs/Xamarin.Forms/DataTemplateSelector.xml
:white_check_mark:Succeeded

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


iot-hub-devguide-messages-c2d: Message Feedback section is ambiguous

The Message Feedback section discusses both C2D messages and feedback messages, and there is sometimes ambiguity between which one is being discussed.
Specifically, the EnqueuedTime property ("Timestamp indicating when the message was created") does not specify if it reflects the time at which the original C2D message was enqueued into the hub by the service app, or the time at which the feedback message was enqueued onto the feedback endpoint.

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

ID: d717e5b9-8c2e-6d20-c0e3-fdc8dbc2aac3
Version Independent ID: eeeb33d9-e372-b003-7951-9bfdfe3a826f
Content: Understand Azure IoT Hub cloud-to-device messaging | Microsoft Docs
Content Source: articles/iot-hub/iot-hub-devguide-messages-c2d.md
Service: iot-hub
GitHub Login: @dominicbetts
Microsoft Alias: dobett

@pemj Thanks for your feedback. We will investigate update as appropriate.

End user is seeking clarification of IoT Messaging, as the Dev Guide discusses C2D feedback messages a section before the topic on C2D messages sent from an IoT Hub. Also, there is a JSON sample of a Feedback Message but, the 'EnqueuedTime' property is not present in the JSON sample. This is causing some confusion and hard to follow.

Hi @pemj
Thanks for the question - the EnqueuedTime property for a feedback message is the time that the feedback message was enqueued on the hub, not the time that the original C2D message was enqueued.
I'll make an update to the article shortly to clarify this.
Thanks,
Dominic

#sign-off

I was talking with Arun from the IoTHub team, and he seemed to indicate that the feedback message did include the time that the original C2D message was enqueued. So, there might be some dialogue that needs to happen there before this is resolved, just so everyone's on the same page?


[bug] sourcemaps.mapSources fail with loadMaps: true + target file didn't have sourcemap

a source file didn't have sourcemap
.pipe(sourcemaps.init({loadMaps: true,}))
.pipe(sourcemaps.mapSources(function(sourcePath, file) {return '../../../demo/ts/' + sourcePath;}))

when target file has source map, sourcemaps.mapSources work as expected

Expected behavior:
{
"version":3,
"sources":["../../../demo/ts/index.js"],
...
}

Actual behavior:
{
"version":3,
"sources":["index.js"],
...
}

code
import gulp = require("gulp");
import source = require('vinyl-source-stream');
import uglify from 'gulp-uglify-es';
import sourcemaps = require('gulp-sourcemaps');
import ts = require("gulp-typescript");
import filter = require('gulp-filter-each');

const tsProject = ts.createProject('../../../../tsconfig.json');

gulp.task("default", function () {
	return gulp
		.src('../../demo/ts/index.js')
		.pipe(filter((content, filepath) => {
			console.log(filepath);
			return true
		}))
		.pipe(sourcemaps.init({
			loadMaps: true,
		}))
		.pipe(sourcemaps.mapSources(function(sourcePath, file) {
			console.log(sourcePath, file);
			return '../../../demo/ts/' + sourcePath;
		}))
//		.pipe(sourcemaps.identityMap())
		.pipe(uglify({
			compress: {
				dead_code: false,
				global_defs: {},
				ecma: 8,
				inline: true,
				keep_classnames: true,
				keep_fnames: true,
				keep_infinity: true,
				passes: 2,
				pure_getters: false,
				unused: false,
				warnings: true,
			},
			/*
			sourceMap: {
				url: "includeSources",
				includeSources: true,
			},
			*/
			ecma: 8,
			output: {
				beautify: true,
			},
			keep_classnames: true,
			keep_fnames: true,
		}))
		//.pipe(sourcemaps.write())
		.pipe(sourcemaps.write('./'))
		.pipe(gulp.dest("dist"))
		;
});

It is by design that mapSources only works on files with sourcemaps, otherwise the plugin would fail.  You can see the condition at https://github.com/gulp-sourcemaps/map-sources/blob/master/index.js#L9
If there's some other bug, please submit a minimal failing test to https://github.com/gulp-sourcemaps/map-sources so we can fix the issue.


Find all references and rename

Fixes #699
Fixes #454
Fixes #577
Fixes #645
Fixes #477
Fixes #829
Fixes #729
Fixes #830
Fixes #843
Fixes #865

Adds definition and reference tracking to ILocatedMember.
Eliminates creation of LocationInfo up front instead relying of remember originating expressions.
Add LocatedMember base to python types.
Track 'parent' definition of imported variables so there is definition in the current file (the import statement) and there is parent definition in the imported module (to go to on F12 in the import statement definition). There may be a chain of parents.
Instances do not track location.
Open, parse and inspect imports for candidates.
Load and analyze candidate files.
Analysis is now disposable and upon dispose cleans references to the module variables.
Tests.

Although the change is large, 90% is plumbing ILocatedMember to types. The remaining is calling ILocatedMember.AddReference in strategic places.

In this test case, going to the definition of compile goes to the wrong place in the file.
import re

x = re.compile(r'hello', re.IGNORECASE)

If you have master merged, you should also remove the references/rename item from the known issues list in TROUBLESHOOTING.md. If not, we can just remove it in another PR.

In a folder with just these two files:
a.py:
foo = 123
bar = "xyz"
baz = 1.23
fux = 1j

def cool():
    """This is cool"""
    return 123

x = ["foo"]
y = ["bar"]
z = ["fux"]

__all__ = x + y + z
__all__ += ["cool"]

b.py
from .a import cool

cool()

cool is shown to have 19 some references in b.py, many of which are broken.

I understand this fixed several issues like https://github.com/Microsoft/python-language-server/issues/577, but I guess it hasn't been released yet, right?
Where can I check releases to know when it is available (and if it is the case that I have a problem in my own environment)?

It is released in the daily channel, but not in beta or stable yet as we'd like a bit more testing.

Ok, thank you.


update e2e docs

fix typos, update star counts and so on.

How about replacing these with badges so we don't have to update the page again:
![Stars](https://img.shields.io/github/stars/verdaccio/verdaccio?label=⭐)

How about replacing these with badges so we don't have to update the page again:
![Stars](https://img.shields.io/github/stars/verdaccio/verdaccio?label=⭐)

Good idea!

@gweesin I just noticed Bun also uses verdaccio and is not at the list
https://github.com/oven-sh/bun/commits/main/test/cli/install/registry/verdaccio.yaml in case you want to PR

Yes, I will make the commit in a few hours.


Support Java 11 algorithms for ciphers and key exchanges

Java 11 includes JEP 324 (support for X25519 and X448) and JEP 329 (support for ChaCha20 and Poly1305) which allow for SPI implementations on Java 11+ for #2 and #1 respectively.

Included in main.


unpack_yuy2_cuda_helper assert when running d415 color max resolution

Required Info

Camera Model
{ D415 }

Firmware Version
(<IP_ADDRESS>)

Operating System & Version
{ Ubuntu 18.04 (NVidia Jetpack 4.4)

Kernel Version (Linux Only)
(4.9)

Platform
NVIDIA Jetson (NVidia Jetpack 4.4)

SDK Version
{ 2.30 && 2.31 }

Language
{C++ }

Segment
{ others }

Issue Description
We are using the cuda implementation of the realsense library to read frames for our project. When we are using the color sensor with the default resolution (1280x720), everything is fine. However, when we try to switch to get the high res mode working :
cfg.enable_stream(RS2_STREAM_COLOR, 1920, 1080, RS2_FORMAT_RGB8, 15);
cfg.enable_stream(RS2_STREAM_DEPTH, 1280, 720, RS2_FORMAT_Z16, 15);

We sometimes end up with this assert in the librealsense sdk :
../src/cuda/cuda-conversion.cu:240: void rscuda::unpack_yuy2_cuda_helper(const uint8_t*, uint8_t*, int, rs2_format): Assertion result == cudaSuccess' failed.`
While debugging, I found that the reported cuda error code was a 700 (out-of-bounds access).
It is not a 100% repro case on my end when starting from a new instance of my app. It sometimes work at first and everything is fine. But when this error occurs once, it will fails 100% on every other restart of my app. The interesting part : when I unplug the usb-c cable, it might start to work again fine.
I've already implemented the hardware_reset method on the devices upon start of my application to no avail. I've also tried without success to lsusb_reset the cam before starting my application.
We are not lacking cpu/gpu memory on the device.
I never see this problem while running with :
cfg.enable_stream(RS2_STREAM_COLOR, 1280, 720, RS2_FORMAT_RGB8, 15);
cfg.enable_stream(RS2_STREAM_DEPTH, 1280, 720, RS2_FORMAT_Z16, 15);
Here's my cmake flags :
cmake -GNinja
-DBUILD_SHARED_LIBS=ON
-DBUILD_EXAMPLES=OFF
-DBUILD_UNIT_TESTS=OFF
-DBUILD_PYTHON_BINDINGS=OFF
-DBUILD_MATLAB_BINDINGS=OFF
-DBUILD_OPENNI2_BINDINGS=OFF
-DBUILD_NODEJS_BINDINGS=OFF
-DBUILD_CSHARP_BINDINGS=OFF
-DBUILD_UNITY_BINDINGS=OFF
-DBUILD_WITH_TM2=OFF
-DBUILD_WITH_CUDA=ON
-DBUILD_PYTHON_DOCS=OFF
-DBUILD_NETWORK_DEVICE=OFF
-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc
-DANDROID_USB_HOST_UVC=OFF
..
I've also tried to run without the cuda implementation. It runs fine, but our overal fps drops halfway without the cuda implementation and we are then below our fps target.
We are then blocked in our development and can't ship our product while not using the full resolution of the camera. It is a critical moment for us we really need this to be resolved.

Hi @jeffeDurand   I'm not sure that the assert CUDA error provides a direction to the exact cause of the problem and may be more like a general "CUDA failed" message.  This is because virtually the same error occurred in the past with a seemingly unrelated issue where CUDA was not working properly if an internet connection was not present.
https://github.com/IntelRealSense/librealsense/issues/4997#issuecomment-547836802
You may not also need to define that full list of CMake flags in a CMake build instruction, since a number of them will be False by default anyway.  The link below describes the default state (true or false) of the flags.   It likely will have no influence on your CUDA problem but making the list shorter will be more convenient.
https://github.com/IntelRealSense/librealsense/wiki/Build-Configuration
As a starting point, may I ask if you encounter the same problem if you run color and depth at 30 FPS instead of 15 please?

Hi MartyG. Thanks for replying.
I already saw that previous issue and didn't find nothing useful with it.
I'm aware that some cmake flags are already false/true by default. But it helps me to have them defined when I need to turn them off/on without having to go such again in the documentation to know their names. I've put them there in here to just make sure we don't lose time around the question "what flags do you pass to cmake".
I've already tried with fps at 30. Same issue. Any other things I could try?

May I ask which Jetson board you are using, please (e.g Xavier).

Xavier Nx

And do you start with 1280x720 color and switch it later to 1920x1080 whilst the program is running, or is color always set to 1920x1080 from the start?

It starts with the wanted one. Never switching res during runtime.

I recall a situation on Jetson somewhat similar to this, where the RealSense user had no problems when using 1280x720 for both color and depth but the program froze when using 1920x720 for color.  In their case, they found that disabling USB auto-suspend in the usbcore parameters solved their problem.
https://github.com/IntelRealSense/librealsense/issues/6395#issuecomment-631484469

I've tried to disable auto-suspend, but it didn't yield results. However, I've tried running RS2_STREAM_COLOR without running RS2_STREAM_DEPTH and the problem disappeared.
Also, setting the option RS2_OPTION_EMITTER_ENABLED to 1 (laser) while running RS2_STREAM_DEPTH seems also to bypass the issue. Using RS2_OPTION_EMITTER_ENABLED either 2 (autolaser) or 3 (+led) seems to recreate the issue.

Good to hear that you had positive results.
In regard to laser settings for the IR Emitter: 0 is Off, 1 (laser) is the normal On mode, 2  (laser auto) is deprecated and 3 (led) I have never seen a description for its function

I replied to fast yesterday. We still get the issue when the emitter is on. But never when it's turned off. Can it be related to alignment block with the cuda implementation while depth/color would be not of the same res size?

Perhaps you could put an error catch into your program that performs a hardware_reset() instruction to perform a hardware reset of the camera when the error occurs.
If the program works fine without CUDA except for the FPS drop, another approach would be to drop CUDA and use the SDK's GLSL processing blocks instead.  This performs a similar function to CUDA, offloading work from the CPU to the GPU.  It is vendor-neutral, meaning that it should work with any GPU brand, though it may not provide a noticeable improvement on low-end devices.
https://github.com/IntelRealSense/librealsense/pull/3654
There is an example program called rs-gl here:
https://github.com/IntelRealSense/librealsense/tree/master/examples/gl

Thanks MartyG, I will try that.

Hi @jeffeDurand   Do you require further assistance with this case, please?   Thanks!

Hi MartyG, at the moment, we switched back to the cpu version of the sdk with the lowest depth resolution until I have more time to investigate the assert problem. I've looked at tHe GLSL processing blocks, but I guess this would not help the case since the assert happens before while rs2 sdk is doing the cuda conversion, and not after. My next attempt will be to try to get the raw input from the cam and do the conversion using the hardware jetson<s yuv to rgb conversion instead.

Thanks very much for the update @jeffeDurand  - please do update here when you have some more news.  Good luck!

Hi @jeffeDurand   Do you have an update for me about this case please?   Thanks!

We have switch to the cpu version instead of cuda. We have also use the opencv yuv to rgb conversion which is faster than the rs2 implementation and using the jetson hardware conversion. I guess we will stick with this for now.

Okay, thank you very much for the update!

Hi @jeffeDurand   Do you still require assistance with this case pleae?  Thanks!


Replaced DefaultModal

Code update so it will work for Chrome, IE and Firefox.

Thanks, Angela! I will test today to confirm this PR fixes issue #1 and then merge it.

Confirmed that this works in Chrome for Aras SP9. Will accept and merge the pull request.


AngularFire2 Auth Subscription angular5

Version info

Angular: 5.0.0 stable
Firebase: 4.5
AngularFire: 5.0.0.rc-2
Other (e.g. Ionic/Cordova, Node, browser, operating system):
How to reproduce these conditions
Failing test unit, Plunkr, or JSFiddle demonstrating the problem
https://stackblitz.com/edit/ng-firebase-subscribe?file=app%2Fuser2.service.ts

i want logged in user`s uid to be available everywhere
i have a simple service
import { Injectable } from '@angular/core';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class UserServiceTwo {

  x;
  constructor( private afAuth: AngularFireAuth ) {
     afAuth.authState.subscribe( data => this.x = data.displayName);
   }

}

then in component
import { Component } from '@angular/core';
import { UserServiceTwo } from './user2.service';

@Component({
  selector: 'my-app',
  template: `{{x}}`
})
export class AppComponent  {
  x;
   constructor( public us: UserServiceTwo ) {}

  ngOnInit(){
    this.x = this.us.x;
  }
}

Expected behavior

x should be uid...
Actual behavior

x should be the UID of logged in user. check the stackblitz provided.
or i am having some trouble with Observable.
it worked in angular v4.4.2
Note: the service is in provider array of app module
Also, if i create a observable from array it works like here https://stackblitz.com/edit/ng5-service-subscribe?file=app%2Fapp.component.ts

Hey @fearless23!
Don't assign class properties inside of observable subscriptions. They are async in this case and you won't know when they are populated. Assign the class property to the observable and use the async pipe.
import { Injectable } from '@angular/core';
import { AngularFireAuth } from 'angularfire2/auth';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';

@Injectable()
export class UserServiceTwo {

  x;
  constructor( private afAuth: AngularFireAuth ) {
     this. x = afAuth.authState.map( data => data.displayName);
   }

}

import { Component } from '@angular/core';
import { UserServiceTwo } from './user2.service';

@Component({
  selector: 'my-app',
  template: `<div>{{x | async}}</div>`
})
export class AppComponent  {
  x;
   constructor( public us: UserServiceTwo ) {}

  ngOnInit(){
    this.x = this.us.x;
  }
}

i need uid value everywhere in my project, like for getting user projects from /users/${uid}/projects as all of my database in divided on user UIDs.  I dont to write component logic inside this.x.subscribe( x => {
fetchProject(x),
})
how can i access value of x inside component.ts or another service.

Use an authentication guard to resolve data into routes.
@Injectable()
export class RedirectGuard implements Resolve<any> {

  constructor(
    private readonly afAuth: AngularFireAuth,
    private readonly router: Router) {
  }

  resolve(): Observable<boolean> {
    return from(this.afAuth.auth.getRedirectResult())
      .do(data => {
        if(data.user !== null) {
          this.router.navigate(['/list']);
        }
      });
  }
}

Then in your component you can grab the snapshot.
@Component({ })
export class MyComponent implements OnInit {
  constructor(
    private readonly route: ActivatedRoute
  ) { }

  ngOnInit() {
    const user = this.route.snapshot.data;
  }
}

Make sure to declare the route:
import { Routes, RouterModule } from '@angular/router';
import { MyComponent } from './my.component';
import { ResolveGuard } from './resolve-guard';

const ROUTES: Routes = [
  { path: '', component:  MyComponent, resolve: [ResolveGuard] },
];

export const AppRoutes = RouterModule.forChild(ROUTES);

actually, i was asking for firestore collection or document link like afs.collection(' users/${uid}/projects')
here i need uid to pass from a service say projects.service or a component, i have to do this:
this.userService.uid.subscribe( (uid) => /* then grab the collection from firestore )

because if i do
ngOnInit {
  this.proProjects = this.projectsService.getProjects( userUID,  'pro' );
}

/* Inside Service */

getProjects( userUID,  category) {
  this.afs.collection( 'users/${userUID/projects/${category} ' );
}

this will throw error or do nothing because i can`t get value of UID outside of uid observable subscription.
Other Way is: i can import AngularfireAuth in each component...
i don`t have a use case for uid | async in HTML template as you mentioned..
Do i have to subscribe to observable and run my function inside obsevable.subscribe block

Using the snapshot data from the Activated route you can get the uid and do whatever you want with it.
Here's a sample of code that I used:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';
import { Note } from '../note-list/note-list.component';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/do';

@Component({
  selector: 'app-list-page',
  template: `

Notes

      <app-note-list
        [notes]="notes | async"
        >
      </app-note-list>

        <input #text type="text" placeholder="New Note">
        <button (click)="add(text.value)" class="button button-outline">Add</button>

  `,
  styles: []
})
export class ListPageComponent implements OnInit {
  notes: Observable<Note[]>;
  notesCollection: AngularFirestoreCollection<Note>;

  constructor(
    private readonly route: ActivatedRoute,
    private readonly afs: AngularFirestore
  ) { }

  ngOnInit() {
    const user = this.route.snapshot.data;
    this.notesCollection = this.afs.collection(`users/${user.uid}/notes`);
    this.notes = this.notesCollection.valueChanges();
  }

  add(text: string) {
    this.notesCollection.add({ text });
  }

}

ngOnInit() {
    const user = this.route.snapshot.data;
    console.log(user.uid);
 }

console output ::: undefined


Create buntcharlie.is-cool.dev.json

Requirements

[x] You have completed your website.
[x] The website is reachable.
[x] You have put a full stop (.) at the end of each of the CNAME, MX and NS records.
[x] The CNAME record doesn't contain https:// or /.
[x] There is sufficient information at the owner field.

Description

Link to Website

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.

I have read the CLA Document and I hereby sign the CLA

You can retrigger this bot by commenting recheck in this Pull Request

Still working on my site locally and so not yet uploaded and my CNAME record has no full stop at end just foo.is-cool.dev does it need to be foo.is-cool.dev.    ?


Plan to Consolidate with net/http @ 1.22?

Go 1.22 has released Enhanced routing patterns; I wonder if there's been any thoughts phasing this library to be more compatible with stdlib, such as leveraging the http.Request object for the path params, or supporting the stdlib path param patterns, etc.
This router is already awesome. I think it would even greater if it can allow a stdlib ServeMux with path params to seamlessly transition to httprouter with a speed upgrade.
Thanks for the consideration!

I haven't looked too closely, but it seems like updating https://pkg.go.dev/github.com/julienschmidt/httprouter#Router.Handler and https://pkg.go.dev/github.com/julienschmidt/httprouter#Router.HandlerFunc to just call https://pkg.go.dev/net/http#Request.SetPathValue in addition to the existing behavior would be the primary thing that's needed.  Could be easily guarded in a separate file with a build tag to only do this in 1.22+.
I wonder if that change and updating the readme to mention it is all that is needed?  If so that's a pretty simple update. @julienschmidt would you be open to a PR on this?


Document our approach to PageModels in the docs/PageModels.md inside of the Dfe.Testing.Pages

Agreed to document in docs/PageModels
docs/PageModels.md
TODO DependencyInjection uses
TODO Documenting common components? Should we be guarding for ids being duplicated or is that a consumer concern
TODO should these PageModels be GDS bound reusable components. TableComponent, TextInput etc. Ids would need to be system agnostic here?

TODO document GDS components


add code coverage to tests

Noticed you had code coverage on the todo list, so thought I'd add it!

Thanks!


bug(COMPONENT): mat-tab-group tab looses focus when hidden and then shown

Is this a regression?

[x] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
13.3.7
Description
The user has a list of tab labels inside a mat-tab-group that exceed the width of the header so pagination controls (left and right arrows) show up, and one of the tabs that is outside of the first set of tabs has been selected.
If the mat-tab-group is hidden using CSS property display: none, and shown again, the previously selected tab is still selected, but the menu has "scrolled" back to the first set of tabs, and thus the selected tab is not visible.
The issue starts appearing in 13.3.8
Reproduction
Steps to reproduce:

Make the browser window small enough so that the list of tab labels inside a mat-tab-group that exceed the width of the header so pagination controls (left and right arrows) show up.

Click on one of the very last tabs on the right, say 'Sixth'

Click the button to hide all tabs

Click the button again to show all tabs.

Notice that the tabs "scrolled" all the way to the very first tab and the one previously selected tab is not in focus, even though it is still selected.

StackBlitz: stackblitz.com/edit/angular-a5k54d
Expected Behavior
The menu keeps the focus on the selected tab
Actual Behavior
The menu "scrolls" back to the first set of tabs, leaving the selected tab out of focus
Environment

Angular: 14.2.0

CDK/Material: 14.2.0

Browser(s):

Chrome version 96.0.4664.45
Chrome version 104.0.5112.101
Firefox version 91.7

Operating System (e.g. Windows, macOS, Ubuntu): CentOS 7, macOS Monterey 12.5.1

It seems what's causing this is _scrollDistance being set to 0 in paginated-tab-heaader.ts. Scroll distance is the "distance in pixels that the tab labels should be translated to the left."
Looking at a diff between version 13.3.7 (works fine) & 13.3.8 (breaks), the new  _itemsResized() might be what's causing this.


Create a selection tree component

The selection tree is a hierarchical list of options that can be selected.
It can for example be:

a multiple selection
single selection

https://shoelace.style/components/tree#selection-modes

See discussion: https://github.com/swisspost/design-system/discussions/2286
See FigJam: https://www.figma.com/file/VCqYBzMqYh76RQtS5TXCfL/Untitled?type=whiteboard&node-id=0%3A1&t=zuBDDHADee78Wj2R-1

Create design for new component, also relevant https://mui.com/material-ui/react-checkbox/#indeterminate

https://www.figma.com/design/xZ0IW0MJO0vnFicmrHiKaY/Components-Post?m=auto&node-id=16691%3A55892&t=ep03ClwyIdOjG3Dl-1

Design os ready for review

@alizedebray is this implemented in a project? Do we need it for v1 or can it go to v2?

@gfellerph It can go to v2, the project used PrimeNg Tree in the meantime.


High CPU usage on Fedora 40

Steps to reproduce

Open one log file, here is an example of mine, the complete file size is about 250M
log.txt
Press Ctrl-D to continue scrolling down.
CPU usage reaches 100%

flamegraph:

Expected behaviour
CPU usage should be at a low level.
Version of Vim
9.1.309
Environment
OS: fedora 40
terminal: gnome-terminal-3.50.1-6.fc40.x86_64
$TERM: xterm-256color
Logs and stack traces
No response

git bisect shows that 9148ba8a46baa3934c44164989cdcdec5d01d9e3 caused this problem.

ping @luukvbaal

Vim with --clean and the LargeFile plugin (available from
here and here) may also help:
vim --clean -Nu NONE '+set pp=~/.vim rtp=~/.vim' log.log

Hmm almost missed this despite the ping because of the nondescript issue title.
We just spend a lot of cycles in plines_m_win() with limit_winheight == FALSE. We need to count until w_height + count so limit_winheight == TRUE doesn't work. Could add a new argument to plimes_m_win() to that end.


Fix to handle invalid char in MIME type

With new selenium grid when a request received we see mime with encoding. (ex:- plaintext; UTF-8) This addition of encoding is breaking the code. Here is the function that is causing issue. To handle I am stripping encoding if present
    private static boolean valid(final String s) {
        for (int i = 0; i < s.length(); i++) {
            final char ch = s.charAt(i);
            if (ch == '"' || ch == ',' || ch == ';') {
                return false;
            }
        }
        return true;
    }

@echoAlexey can you please merge above changes too?
This is caused because we use classes from org.apache.httpcomponents.httpcore
Special char check with httpcore -4.4.6
    public static ContentType create(final String mimeType, final Charset charset) {
        final String normalizedMimeType = Args.notBlank(mimeType, "MIME type").toLowerCase(Locale.ROOT);
        Args.check(valid(normalizedMimeType), "MIME type may not contain reserved characters");
        return new ContentType(normalizedMimeType, charset);
    }

Special char check not present with httpcore-4.4.5
 ContentType(
            final String mimeType,
            final Charset charset) {
        this.mimeType = mimeType;
        this.charset = charset;
        this.params = null;
    }

httpcore -4.4.6 implicitly  coming from selenium-server dependency. Now recent selenium-server comes with new httpcore-4.4.6 and  that checks for specialchars. This check was not present in httpcore < 4.4.5 and introduced in 4.4.6. To get away with i am striping off the  encoding part. If I hardcode the dependency to 4.4.5 when our servlet is running under seleniumgrid it picks 4.4.6 as selenium grid dependencies override this dependency. So stripping off the encoding in contentTYpe is the right fix at the moment.

Coverage increased (+0.06%) to 71.654% when pulling 800e2c92e13bfe7d8f61f78b0cc29e32053cceb7 on shankarkc:master into 7f35df036db64a2946326c790910ac0dfdc1906f on sterodium:master.

Thanks @ehoAlexey. I don't see 0.7 artifacts in maven repo. Will it take some time to get pushed there? How do I get release binaries?


How to install the dropdown list plug-in on UNIX

Hi! I was watching the introductory videos and noticed that there was a plug-in installed on the terminal which had dropdown list suggestions where you can easily tab out longer command lines (for eg. just by typing "System" the entire "System.out.print()" can be auto-filled immediately). I know IDEs like intelliJ has this built-in function but how can i get this function for my mac terminal? Or is this not allowed for students in this course

You can search for the vim javacomplete plugin.  However, during the labs and assessment, this plugin will not be available... nor is it necessary.


Update astropy-helpers to v2.0.2

This is an automated update of the astropy-helpers submodule to v2.0.2. This includes both the update of the astropy-helpers sub-module, and the ah_bootstrap.py file, if needed.
This is intended to be helpful, but if you would prefer to manage these updates yourself, or if you notice any issues with this automated update, please let @bsipocz or @astrofrog know!

Coverage remained the same at 75.009% when pulling ab16855124e9dff560881b7e3ea04814613d5022 on bsipocz:update-helpers-v2.0.2 into f757d60da3fd93ed71a4cfa176e725d4262034f7 on pyvirtobs:master.


Allow conditional compilation of separate modules

Modules should be split into entirely separate conditionally compiled components, e.g.:

[ ] Core (current ::models and ::internal) (required)
[ ] WS (::client::gateway)
[ ] REST (::client::rest)
[ ] Client (the rest of ::client)
[ ] Utils (::utils)
ext is already conditionally compiled

So, WS/REST should not be under Client's module.

Done in v0.2 branch.


ja: Make docs/concepts/workloads/controllers/deployment.md follow v1.17 of the original text

This is a Feature Request

What would you like to be added
Update docs/concepts/workloads/controllers/deployment.md to follow v1.17 of the original (Englist) text.
Why is this needed
content/ja/docs/concepts/workloads/controllers/deployment.md is outdated.
Comments
/language ja
File to update
https://github.com/kubernetes/website/blob/dev-1.17-ja.2/content/ja/docs/concepts/workloads/controllers/deployment.md
Original
https://github.com/kubernetes/website/blob/release-1.17/content/en/docs/concepts/workloads/controllers/deployment.md
diff between translated and v1.17
https://gist.github.com/9e9b05871de947e9040a7219ad8ace86
Note
Currently, we use dev-1.17-ja.2 branch. Please open a PR targeting the branch.
ref
How To Contribute
翻訳スタイルガイド
If you have a question, feel free to ask us at slack.k8s.io #kubernetes-docs-ja channel.

現時点でどこまで反映されているか確認が難しい。後で自分でやる。
/assign

duplicate #21497
/close


[build] update build scripts and add multi-radio (TREL) CI build checks

This commit updates toranj/build.sh script for posix based builds to
generate CLI executable. It also updates the posix platform to provide
log functionality when LOG_OUTPUT is set to LOG_OUTPUT_APP.
This commit also adds CI build checks for multi-radio and TREL build
configurations under posix platform.

This is related to https://github.com/openthread/openthread/issues/6472.

@jwhui just a quick note on this. This have now two commits (which I guess we can squash when merging). Thanks.


Test failure on GHC7.8.4

## TESTING command
## BUILD command -j4
# ghc (for output/command/shake_helper)
[1 of 1] Compiling Main             ( shake_helper.hs, shake_helper.o )
  Linking shake_helper ...
# shake_helper (for timeout)
# shake_helper (for large)
# shake_helper (for failure)
# shake_helper (for capture)
# shake_helper (for stdin)
# shake_helper (for capture)
# shake_helper (for async)
# shake_helper (for timer)
Command output/command/shake_helper took 2.828e-3 seconds
# shake_helper (for file)
# shake_helper (for file)
Error when running Shake build system:
* file
ASSERTION FAILED: File contents are wrong: output/command/file.txt
WANT: foo
bar
baz

GOT: foo
baz
bar

TESTS FAILED
Test suite shake-test: FAIL
Test suite logged to: dist/test/shake-0.15.1-shake-test.log
0 of 1 test suites (0 of 1 test cases) passed.

I tested this on NixOS, and the latest version from Hackage(0.15.1)

I've seen this once or twice, but never managed to reproduce it reliably - my best guess is a timing issue in flushing pipes. Does it reproduce reliably for you?

To be clear, I think this is a bug in the test requiring too precise results, rather than an issue with the code in Shake itself.

Hmm, I just got this again on Travis.

Fixed as https://github.com/ndmitchell/shake/issues/264.


probe-domain TypeError in response data (warnings)

Python 3.10.12
resolve-hosts 0.2.0

$ probe-domain solntsepek.ru
Traceback (most recent call last):
  File "/opt/shared/bin/probe-domain", line 8, in <module>
    sys.exit(probe_domain())
             ^^^^^^^^^^^^^^
  File "/opt/shared/pipx/venvs/resolve-hosts/lib/python3.11/site-packages/resolve_hosts/cli.py", line 130, in probe_domain
    domain_reg = get_domain_summary(domain)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/shared/pipx/venvs/resolve-hosts/lib/python3.11/site-packages/resolve_hosts/whois.py", line 17, in get_domain_summary
    "error in domain lookup: %s", "\n".join(resp_data["warnings"])
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, list found

Closed with #7.


Add a static site buildpack, useful for react and vue apps, can be nginx or other web server

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
If this feature is related to an existing issue, please provide a link to that as well
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
It can be detected via if has folder build or dist,
if yes then should add nginx with SPA/pushstate config
Seems useful because frontend static apps currently are hard to run in google buildpacks

Also there is already an nginx buildpack as utils.
And the detect script can also detect an nginx.conf and apply it instead for further customization

I'm assuming that you're building your react/vue apps in CI/CD pipeline, and you just want to deploy the compiled files using a static site buildpack?

There is no CI CD,
Basically, The pack build command runs npm run build by default as it should, and then runs npm start.
It should in my opinion check via some env param if it is an SPA frontend and if so then instead of npm start should serve the dist/build folder

Ah okay, that makes a lot of sense. We've been seeing this kind of use case/request a lot. It could similarly help with easily serving markdown-generated HTML sites  (e.g. Hugo, Jekyll), or pre-compiled applications (e.g.

Yes indeed could be useful, will this issue be in like a roadmap or something?
I would have tried coding it yet have no knowledge about buildpacks


fix(android): change UPDATE_CURRENT_POSITION value not zero , will co…

…nflict with post message

Codecov Report

Merging #330 into develop will decrease coverage by 4.36%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #330      +/-   ##
===========================================
- Coverage    67.00%   62.64%   -4.37%
===========================================
  Files          212      212
  Lines        11542    11542
===========================================
- Hits          7734     7230     -504
- Misses        3808     4312     +504

Impacted Files
Coverage Δ

framework/tests/dataSource/ipList.h
0.00% <0.00%> (-100.00%)
:arrow_down:

framework/tests/demuxer/demuxerUnitTest.cpp
0.00% <0.00%> (-100.00%)
:arrow_down:

framework/tests/decoder/decoderUnitTest.cpp
0.00% <0.00%> (-93.62%)
:arrow_down:

framework/tests/dataSource/dataSourceUnitTest.cpp
0.00% <0.00%> (-93.39%)
:arrow_down:

framework/tests/demuxer/demuxerUtils.cpp
0.00% <0.00%> (-76.00%)
:arrow_down:

framework/base/OptionOwner.h
33.33% <0.00%> (-66.67%)
:arrow_down:

framework/data_source/ffmpeg_data_source.cpp
7.50% <0.00%> (-57.50%)
:arrow_down:

framework/demuxer/AVBSF.cpp
25.27% <0.00%> (-42.86%)
:arrow_down:

framework/data_source/curl/CURLShareInstance.cpp
69.44% <0.00%> (-27.78%)
:arrow_down:

framework/data_source/curl/CURLConnection.cpp
55.81% <0.00%> (-11.34%)
:arrow_down:

... and 12 more

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 d091136...0e2d306. Read the comment docs.


Undefined variable: PAGE

Hi, my Shaarli master latest container logs are containing many of the following lines, it looks like something is not present in the header template that is being used. Maybe related to #117? I know you do some checks to avoid displaying the FAB on the add form, for example, but it's just a guess.
2020/11/13 04:53:51 [error] 11#11: *44 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: _PAGE_ in /var/www/shaarli/tmp/page.header.c04e6db3e3da5484d981ebaa00b75abc.rtpl.php on line 3" while reading response header from upstream, client: <IP_ADDRESS>, server: , request: "GET / HTTP/1.1" ...

Hi @immanuelfodor, it is a variable I use to know what is the current page so that I don't display the add link button if it doesn't make sense.
@ArthurHoaro any idea how I could now do to detect current page identifier from within templates?

Ah ah, this was a bug not a feature: shaarli/Shaarli#1551
More seriously, this variable was injected by the plugins manager and wasn't designed to be used in theme. So with a better code division, it's no longer accessible.
I can inject the template name (= filename) in the rendering function, so it would be accessible in included template files. It would be effective in the next release. Would that work for you?

I found an alternative which is creating myself a variable in each template containing its name (example: https://github.com/kalvn/Shaarli-Material/blob/support-v012/material/linklist.html#L4).
So what you propose would totally work for me but if you prefer not to do it, I'm fine too :)

I've rebuilt my Shaarli using the support-v012 branch, and now the PAGE related errors are gone. Thank you for the unnoticed changes in November :)


graylogPlugins: update existing plugins

graylog-plugin-aggregates: 2.0.0 -> 2.3.0
graylog-plugin-auth-sso: 2.3.0 -> 2.4.2
graylog-plugin-dnsresolver: 1.1.2 -> 1.2.0
graylog-plugin-internal-logs: 2.3.0 -> 2.4.0
graylog-plugin-jabber: 2.0.0 -> 2.4.0
graylog-plugin-slack: 2.4.0 -> 3.1.0
Motivation for this change
Bugfixes (compatibility) and new features.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

@GrahamcOfBorg build graylogPlugins

Success on x86_64-darwin (full log)
Attempted: graylogPlugins
Partial log (click to expand)
/nix/store/4s6z891grkjvivkxlr0821x25957hdbl-graylog-ipanonymizer-1.1.2
/nix/store/fvnsl37rprmfzys1iynaknrpjdnsydxh-graylog-jabber-2.4.0
/nix/store/r696grfhc14xgdmmabssh8aw9ipwwmxc-graylog-metrics-1.3.0
/nix/store/yj0dppmgcgyzz1w51pnndnx3k08kmshn-graylog-mongodb-profiler-2.0.1
/nix/store/262c27kxp4lz9fhhws90rdlwirnlkpq2-graylog-pagerduty-1.3.0
/nix/store/nb40ffdva6iz7k623vczazjp8gfvm4zi-graylog-redis-0.1.1
/nix/store/ahxa6xm7p7chgwn1bcb6r88w37f2cm1a-graylog-slack-3.1.0
/nix/store/gwg42g3m9yraql6b74d6b06is9nz4za4-graylog-spaceweather-1.0
/nix/store/a4gnrfp1gfplgxmq7w3rmcdxyw023f7a-graylog-twiliosms-1.0.0
/nix/store/pazhbx8i28914fh0z08d8kkk017xd1x2-graylog-twitter-2.0.0

Success on x86_64-linux (full log)
Attempted: graylogPlugins
Partial log (click to expand)
/nix/store/s5gfzyjn6h2lzf9ns2npk65dj6w84gay-graylog-ipanonymizer-1.1.2
/nix/store/6r13hb1xvrd0yy6imxhxcsg56cdda4v2-graylog-jabber-2.4.0
/nix/store/x913krh3kskzjpan8wwcdgk4mny1ay21-graylog-metrics-1.3.0
/nix/store/fzff8va2x995nkkrhpl2dagd302whrmv-graylog-mongodb-profiler-2.0.1
/nix/store/3vs2gwa5ngxqy08dp8l8csl24q4ssvdm-graylog-pagerduty-1.3.0
/nix/store/6yb92gi3v31nnr2gsw93gli3nmxs0qv3-graylog-redis-0.1.1
/nix/store/vz2334xfc1l0s9cm3zfwx66dx79ikv4q-graylog-slack-3.1.0
/nix/store/zl7f15h8pwy8wizv3si7lkl6zbi6j5fm-graylog-spaceweather-1.0
/nix/store/9r3x0mq489nf1hz2av5vyypy79n8n5yx-graylog-twiliosms-1.0.0
/nix/store/jml8avx02bsh2xjvn8h5vjxnbj8l29b1-graylog-twitter-2.0.0

Success on aarch64-linux (full log)
Attempted: graylogPlugins
Partial log (click to expand)
/nix/store/5blgq379sj8zacgphizrkiz89w0dcq1f-graylog-ipanonymizer-1.1.2
/nix/store/lcxggdmkqkdwwyqajdci38rlb9nzmr04-graylog-jabber-2.4.0
/nix/store/dm4vip30v1as1s20d3sl0wsp0xls6j57-graylog-metrics-1.3.0
/nix/store/qkf8ihc6swm040my3i04g3dwkzgs2pr4-graylog-mongodb-profiler-2.0.1
/nix/store/bgry9ay3j5hynfmmh6frn40x8qd39q2w-graylog-pagerduty-1.3.0
/nix/store/8zww088k0kvq4dh7dam7y88z28yik753-graylog-redis-0.1.1
/nix/store/3b04xp6jmmbz90n6fnvdxc5ih3li7scx-graylog-slack-3.1.0
/nix/store/3bb5c66v7qni563jzsrkh49mlah78fbs-graylog-spaceweather-1.0
/nix/store/nljk378glgdw8jprcn6w030q6w48ys5f-graylog-twiliosms-1.0.0
/nix/store/5mbipdasi0f3iqlhv4h96yxhvjz13gck-graylog-twitter-2.0.0


[fix] [txn]: fix transaction buffer recover BrokerMetadataException close topic

Motivation
When TopicTransactionBuffer recover fail throw BrokerMetadataException, we should close this topic, if we don't close the topic, we can't send message because TopicTransactionBuffer recover fail

Modifications
When recover fail by BrokerMetadataException, close topic
Verifying this change
add test for it
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

This PR introduced a very flaky test that blocks CI . Master branch is basically broken at the moment.
@congbobo184 Please fix #14844 asap so that CI gets unblocked.


Change the utility for optimisation

Hi
I am trying to  change the utility function in PyPortfolioOpt.
Package is currently using a utility function that looks like:

would it be possible to implement something like:

With γ being the investors aversion against ESG risk and ESG_all being the ESG risk measured as the standard deviation between the ESG score from the four different providers we have access to. So, the ESG_all variable is a vector with the standard deviation between the different providers ESG score for each company.
i have changed the code so the EfficientFrontiere class and the objective function also contains the vector of ESG_all.
Hope one of you guys can help change the code in the objective function for quadratic_utility

Basically the idea is to maximise the SR and at the same time the ESG risk aversion

Hi again,
i will elaborate a bit:
Hi,
I have come up with the following utility function for the portfolio optimisation:
U=(E[r]-r_f)/E[σ^2] -γ·ESG_all
With γ being the investors aversion against ESG risk defined by ESG_all which is the ESG risk measured as the standard deviation between the ESG score from four different providers. So, the ESG_all variable is a vector with the standard deviation between the different providers ESG score for each company.
The point of departure is that for an investor which is not concerned about ESG risk the gamma value would be zero and he would simply seek to invest in the tangency portfolio, under the constraint of being ESG compliant. For the investor who are concerned about the ESG risk the gamma value would increase and we define an investor to be a ESG Risk-concerned investor with a gamma value of XX.
The level of ESG is not a part of the utility but will be a constraint to the portfolio so the investor does not care about the level of ESG if the portfolio is compliant which is defined by the constraint added to the portfolio optimization problem. So, the investor only cares about maximising his utility which is a tradeoff between the return per unit of risk and the ESG Risk.
So fare have I looked at the package PyPortfolioOpt which is great. But I simply can't implement a convex problem that the package can use in the optimisation. Can any one help with formalising a convex objective function the package can use ?

You have a non-linear objective, it's not a conxex problem. You may be able to try the non-convex optimiser that is part of the base optimiser class. However, I don't know if scipy is capable of using non-linear objectives. You'd have to create a function that uses a solver and constraint structure capable of dealing with non-linear objectives.
You could also try a transformation similar to the one done for the sharpe ratio, if you go to the docs for the max sharpe ratio optimisation there's a link to the paper describing it, where they transform the numerator into a constraint, transform all the constraints, and change the objective function to minimise only the denominator instead of the division.

Yeah in general it's not easy to modify the Sharpe objective because of the transformation required to make it a convex problem. But this is also addressed in #444, so maybe the solution therein will help!

Thank you guys!


Link to get more info is broke - https://go-client.chromadb.dev/auth/

On the code page there is this.
We invite users to visit the docs site for the library for more in-depth information: Chroma Go Docs
this link gets a 404
Also, is there an example on how to make this work with ollama?

@anguianoa, GH breaks the page ref to the domain for some reason. I'll investigate further.
Regarding Ollama (assuming you are talking about using embedding models) - https://go-client.chromadb.dev/embeddings/#ollama

Closing. Let me know if the ollama integration I linked above is what you needed?


Runtime error when using in React project

Hi,
Followed the instructions on integrating the SDK programmatically to call "validate" on various QR artifacts but running into below error:
TypeError: Cannot read property 'signals' of undefined
Further stack trace details below. Upon encountering this issue in my JS React project, I converted (just the essentials) it to TS and the tsconfig.json is straight from CRA.  It seems others have encountered this signals issue and I tried some tweaks reported elsewhere (such as commonjs, etc.) but not able to resolve.
Platform is MacOS 10.14.x Mojave with the Intel processor
Thanks.

Further stack trace below:
normalizeSignal
src/signals.js:28
25 |   forced = false,
26 |   standard,
27 | }) {

28 |   const {
29 |     signals: { [name]: constantSignal },

...
getSignals
src/signals.js:10
8 | export const getSignals = function() {
9 |   const realtimeSignals = getRealtimeSignals()
...
getSignalsByName
src/main.js:9
...
./node_modules/health-cards-validation-sdk/node_modules/human-signals/build/src/main.js
src/main.js:23
...

Thanks for this report. Are you looking to run this code directly in the browser, as part of your compiled React app? (@ljoy913 may be able to comment -- I'm not sure whether in-browser usage is a supported scenario today.)

Yes, wanted to try that first to save cycles on server back and forth. Any reason it shouldn't work ?

Currently, running the sdk in the browser does not work. My initial attempts to bundle all the node dependencies has failed with cryptic errors at runtime and I haven't had the chance to track down the failing component(s).
So, for now, client-side react usage is not supported.  Sorry.

Got it. I'll close this issue then.
While you both are here, can you comment on compatibility with the QR code issued by California. I have one (issued on the CA state portal) and it doesn't seem to work. Errors out trying to get the numeric and jws string.  I need to look into it more, but it seemed to report some partial info correctly.

Thanks -- let's keep this issue open until we add a FAQ note in the README to capture this

can you comment on compatibility with the QR code issued by California

California's implementation has been validated against this very SDK, and should support Health Cards in a totally spec-compliant way. If you're seeing specific errors with your QR, feel free to reach out to me on https://chat.fhir.org (send me a PM, or consider joining the #smart/health-cards channel) and we can track this down.

Try checking your CA-QR code at : https://demo-portals.smarthealth.cards/VerifierPortal.html
It uses this SDK for validation.

Works perfectly (on third attempt). Pulled the FHIR bundle, all info looks good. Cool. Super work.


x/tools/gopls: suggest testing.F if function name starts with Fuzz*

$ go version -m ~/go/bin/gopls
/Users/hakim/go/bin/gopls: devel go1.17-3fa42437b5 Wed Jun 23 16:05:25 2021 +0000
        path    golang.org/x/tools/gopls
        mod     golang.org/x/tools/gopls        v0.7.0  h1:JQBHW81Gsyim6iDjUwGoPeSpXrSqwen3isPJLfDfaYU=
        dep     github.com/BurntSushi/toml      v0.3.1  h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
        dep     github.com/google/go-cmp        v0.5.5  h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
        dep     github.com/sergi/go-diff        v1.1.0  h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
        dep     golang.org/x/mod        v0.4.2  h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
        dep     golang.org/x/sync       v0.0.0-20210220032951-036812b2e83c      h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
        dep     golang.org/x/sys        v0.0.0-20210510120138-977fb7262007      h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=
        dep     golang.org/x/tools      v0.1.3-0.20210608163600-9ed039809d4c    h1:Pv9gNyJFYVdpUAVZYJ1BDSU4eGgXQ+0f3DIGAdolO5s=
        dep     golang.org/x/xerrors    v0.0.0-20200804184101-5ec99f83aff1      h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
        dep     honnef.co/go/tools      v0.2.0  h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE=
        dep     mvdan.cc/gofumpt        v0.1.1  h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
        dep     mvdan.cc/xurls/v2       v2.2.0  h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A=

Would like to work on this cc/ @hyangah

And I wonder if gopls can handle autocomplete specially for f.Fuzz since its function signature itself is not very informative, but it is meant to take only function type arg of a special form.  And analyzer on this param would be nice. @findleyr  do you want to keep track of this as a separate feature request?

cc @katiehockman

And analyzer on this param would be nice. @findleyr do you want to keep track of this as a separate feature request?

That is a very good idea, and easy to implement! Please open a separate issue, in gopls/on-deck. It can be help-wanted too as this should be straightforward to add.

I completely forgot about this issue, will work on this over the weekend, thanks for the ping :)

Sorry for the huge delay on this.
@hyangah while looking into this, I realized we don't show/order completions based on the function name, please correct me If I'm wrong here.
Based on the above, I tried a very brittle implementation which essentially compares the enclosing function with all the shortlisted candidates and orders them accordingly. The output looks something like this:

Bench*
Fuzz*

It does the same for Test* too but again, the heuristic is relatively straightforward. I can polish this up and raise a CL for the team to review for further discussion.
https://github.com/danishprakash/tools/commit/bc8097d9e3a3b1251dd103d8d60a701d9263aa93
cc: @findleyr

I'm unclear on what's being requested/proposed in this issue. In a test file, after the '.', there's only one legal completion in
'TestFoo(t *testing.)', 'TestMain(t *testing.)', 'BenchmarkFoo(t *testing.', or 'FuzzFoo(t *testing.'.  So the top gopls suggestion then should be 'T', or 'M', or 'B' or 'F'. This seems doable, but doesn't save the user much.
Best would be to offer to complete the whole signature after the user types the '(', but gopls does not generate completions when it sees '('.
Intermediate would be to offer ' *testing.T' when the user types the formal parameter in 'func TestFoo(t' (and ' *testing.F' for 'FuzzFoo(f' etc).

Throughout typing, I've never seen testing.F suggested as top candidates. Ideally, it would be nice if testing.F was presented as soon as I start typing inside () or after t *. (gopls v0.8.0-pre.1 with go1.18beta2)

As @danishprakash found out, there is no specialization for test/bench functions either so same problem exists for testing.T. testing.B may be just lucky one because it's one of the first candidates in alphabetical order.

I would definitely like to see this completion list prioritized to put the "right" struct type at the top; I suggested using snippet completion on above CL (to complete the full signature with an empty placeholder or something), but for those that don't use snippet completions, the sorting would be a marked improvement. For me, it's definitely more useful than "doesn't save the user much" would imply.


[bazel] Add fixes for --incompatible_load_cc_rules_from_bzl

Starting with Bazel 1.0 (September 2019), C++ rules will need to be
loaded from the @rules_cc repository. This change adds the required
loads for that. For full compatibility, we will need versions of
googletest and google-benchmark that also includes these loads.

@suertreus Thanks for looking at this! I see some tests are failing but I can't access the logs to see what's happening here. Is there anything that I need do to get the tests to pass?

@Yannic - Nothing you need to do. The version of Bazel on our Windows and MacOS test instances is just a bit old. We will need to upgrade, but then we can accept this. Thanks.

@derekmauro I saw there were changes to the CI script on master, so I merged them into this PR. Can we re-test this?

Yes, the changes were for this PR. The tests now pass. LGTM.


API versioning

How can we handle API versioning with this boilerplate?

Depends how are you handling the versioning.
You can search documentation how to versioning using spring boot because the api is very similar.
https://github.com/typestack/routing-controllers


Expose --conntrack-max-per-core kube-proxy flag

This PR exposes --conntrack-max-per-core kube-proxy flag in
kubernetes Helm chart and adds required plumbing to expose it to the
user using HCL.
It also adds sample usage to CI configuration and e2e tests to verify
that settings are properly applied.
Closes #1081
Signed-off-by: Mateusz Gozdek<EMAIL_ADDRESS>

@invidian I can't review this right now due to load, sorry. Please assign someone else.

@knrt10 addressed your (good) review comments. @surajssd mind approving again please? :)

Also added configuration validation rules and unit tests for that.

@invidian can you please fix the CI?

@knrt10 they were caused by Docker Hub limits, which should be now resolves, so I restarted them.

Have to re-run the tests again after rebasing for bare metal to pass 😢


Make it easier to switch between maker and testnet makers

It was somewhat arbitrary that we have tied maker's noise PK to its wallet seed. As one of these consequences, each maker supporting both testnet and mainnet will have to provide 2 different keys, which have to be changed by the user.
This is an inconvenience that could be dealt away with.
Counterpoint: different noise PKs make it somewhat less likely that the taker will connect to a maker on a wrong network.

as a quickfix for the time being, we could also hardcode the maker ids of the currently running makers and look it up based on the type of network / domain.

Somewhat related: going away from seed files could also give us the flexibility of reusing the same noise credentials if we'd like to: #1630

I'd say it is a security feature to have a different ID for maker on mainnet and for the maker on testnet. That way it is harder to accidentally connect to the wrong one

I'm closing this for now due to https://github.com/itchysats/itchysats/issues/1736#issuecomment-1235022946. I think it is good practice to not have the same setup for testnet and mainnet as otherwise it is hard to detect if you accidently connect to the wrong one.


fix(versions): update Activiti/example-runtime-bundle versions into master

UpdateBot pushed maven dependency: org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies to: 7.1.203

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies 7.1.203


specify namespace on k8sgpt crd

Closes https://github.com/k8sgpt-ai/k8sgpt-operator/issues/270
📑 Description

added namespace selector on k8sgpt
added namespace argument on grpc request

✅ Checks

[x] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[x] All the tests have passed

ℹ Additional Information

Tested these changes on my local machine.
targetNamespace field is optional. If given then it looks for issues only in the given namespaces otherwise It looks for issues in all the namespaces.

thanks for pr.
helm charts crd definition is not generating automatically. so you should manually add field in chart/operator/templates/k8sgpt-crd.yaml

@arbreezy Resolved the conflicts.


Tasmota plugin not showing on v3.2b4

This previous enhancement (https://github.com/gdombiak/OctoPod/commit/7e7aa4faeba11bb922d88ad00ac6277b1f48e62d) worked fine until the recent upgrade. Only thing I see in the plugins section in Octopod app is "Custom Controls"

It’s the IPPlugViewController that isn’t showing. I now have a Custom Controls view where I used to have my Tasmota control. Tasmota plug-in version is 0.8.11, OctoPod plugin 0.2.5, OctoPrint 1.4 stable. This disappeared recently - I believe it was when 1.4 went stable but worked on RC versions.

Hi @bdwilson, thanks for submitting this issue. There are no recent changes in OctoPod in this area so I wonder what is going on. Was this working fine before? I see that Tasmota 0.8.11 was recently released. Were things working fine with previous version of the plugin? I will install that version and try things locally.

Things appeared as expected. Here is how the plugin is configured

and this is how it appears in the app:

Could you share a screenshot of how your plugin is configured? Is the "Tasmota plugs" subpanel not appearing or it appears with no content?
The custom control subpanel always appears even if the custom control editor plugin is not installed.

Thank you for confirming it should still work. Here were my settings.
https://bubba.d.pr/AuP3co
https://bubba.d.pr/lYFN4O
I removed the Plugin & data then reconfigured as per my old settings and it now shows up. I don’t believe me adding a name this time has anything to do with it.


dynamically collapse navbar on dashboard load

North navbar non-collapsed by default.
Collapse the navbar when loading a dashboard from a hash change. Unify the hash change code so loading the dashboard happens and the navbar is collapsed.
Don't animate the collapse of the navbar as it makes the loading of the dashboard more fluid.

Anyone have thoughts on this?  We've been running this for a few years without any complaints from my users.

Sorry, I didn't see this one earlier (or forgot about it). Seems like a good idea. 👍
@cbowman0 feel free to merge this one if you'd like, you're on the team now. 😸


Adds processing spinner and improves command completed message

Adds a little spinner, to show we are busy.

Spinner is written to StdErr, so the redirected output is not affected
Spinner writes to a nulled buffer when not in TTY
Adds --no-progress global flag, to force disable spinner
Spinner is only added to commands that are known to take a little longer (e.g. update, install, new snapshots)

Instead of a simple "ok" message, I've replaced the success message with the more friendly: "Command completed successfully."

Just realized (thanks @mjrider) that I've put detection for pipes on the Stdin, which should be Stdout of course 🤦♀

The spinner starts at the point on the screen where the prompt is then makes it way up the screen making a complete mess - what terminal is it expecting? It's pretty annoying.

When it has finished it looks like this - you have to clear the terminal to get rid of all the "Processing..." printouts....