feat(DTFS2-7602): portal information banner facilities

Introduction :pencil2:
add an information banner on the deal summary page for acknowledged deal status only.
add e2e test for AIN and MIN to ensure that banner is populated correctly
Resolution :heavy_check_mark:
List all changes made to the codebase.
Miscellaneous :heavy_plus_sign:
List any additional fixes or improvements.

Could you also please add a screenshot of the updated page in the PR description as it ease PR review. Thanks.


Psuedo random number generators

Pseudo random numbers can be generated quickly, when you need a lot of them. May be useful for Procedural generation or Monte Carlo simulation.
haskell/random
High level

[ ] RandomGen: Interface to pure PRNG
[ ] StdGen: Standard PRNG
[ ] Random: Generate random "number"
[ ] uniform(): Uniform over type range
[ ] uniformR(): Uniform over given range
[ ] splitmix: Fast Splittable PRNG

RandomGen class

[ ] genWord8()
[ ] genWord16()
[ ] genWord32()
[ ] genWord64()
[ ] genWord32R()
[ ] genWord64R()
[ ] genShortByteString()
[ ] split(): Return two PRNGs
[ ] uniform()
[ ] uniformM(): Pure uniform()
[ ] uniformR()
[ ] uniformRM(): Pure uniformR()
[ ] genByteString()

Random class

[ ] randomR()
[ ] random()
[ ] randomRs(): Generator version of randomR()
[ ] randoms(): Generator version of random()

StdGen class

[ ] mkStdGen(): Deterministic
[ ] initStdGen(): Use system entropy

The are also global variants of the functions.

purescript/purescript-random

[ ] random(): 0 -> 1
[ ] randomInt(): low -> high inclusive
[ ] randomRange(): float low -> high exclusive
[ ] randomBool(): true/false

ericzhang-cn/random.js
Continuous Distributions

[ ] arcsine(min, max)
[ ] beta(v, w, min, max)
[ ] cauchy(a, b)
[ ] chiSquare(df)
[ ] consine(min, max)
[ ] doubleLog(min, max)
[ ] erlang(b, c)
[ ] exponential(a, b)
[ ] extremeValue(a, b)
[ ] fRatio(v, w)
[ ] gamma(a, b, c)
[ ] laplace(a, b)
[ ] logarithmic(min, max)
[ ] logistic(a, b)
[ ] lognormal(a, mu, sigma)
[ ] normal(mu, sigma)
[ ] parabolic(min, max)
[ ] pareto(c)
[ ] pearson5(b, c)
[ ] pearson6(b, v, w)
[ ] power(c)
[ ] rayleigh(a, b)
[ ] studentT(df)
[ ] triangular(min, max, c)
[ ] uniform(min, max)
[ ] userSpecified(usf, xMin, xMax, yMin, yMax)
[ ] weibull(a, b, c)

Discrete Distributions

[ ] bernoulli(p)
[ ] binomial(n, p)
[ ] geometric(p)
[ ] hypergeometric(n, N, k)
[ ] negativeBinomial(s, p)
[ ] pascal(s, p)
[ ] poisson(mu)
[ ] uniformDiscrete(i, j)

ckknight/random-js
Math.random() produces numbers within [0, 1), but it has different bits of randomness with different engines (min. 32 bits).
Random engines
Provide values within [0,<PHONE_NUMBER>], i.e. 32 bits of randomness.

[ ] nativeMath(): Uses Math.random()
[ ] browserCrypto(): Uses crypto.getRandomValues(Int32Array)
[ ] nodeCrypto(): Uses crypto.randomBytes(size)
[ ] MersenneTwister19937

Mersenne Twister class

[ ] seed(value): With 32-bit value
[ ] seedWithArray(array): With 32-bit integer array
[ ] autoSeed(): With Date/other entropy sources
[ ] next(): Get 32-bit random number
[ ] discard(count): Discard some random values
[ ] getUseCount(): Times engines has been used

Random types

[ ] integer(min, max)(engine)
[ ] real(min, max, inclusive)(engine)
[ ] bool()(engine)
[ ] bool(percentage)(engine)
[ ] bool(numerator, denominator)(engine)
[ ] pick(engine, array[, begin[, end]])
[ ] picker(array[, begin[, end]])(engine)
[ ] shuffle(engine, array)
[ ] sample(engine, population, sampleSize)
[ ] die(sideCount)(engine)
[ ] dice(sideCount, dieCount)(engine)
[ ] uuid4(engine)
[ ] string()(engine, length)
[ ] string(pool)(engine, length)
[ ] hex()(engine, length)
[ ] hex(true)(engine, length)
[ ] date(start, end)(engine)

jmcvetta/randutil

[ ] AlphaString(n int) (string, error)
[ ] AlphaStringRange(min, max int) (string, error)
[ ] ChoiceInt(choices []int) (int, error)
[ ] ChoiceString(choices []string) (string, error)
[ ] IntRange(min, max int) (int, error)
[ ] String(n int, charset string) (string, error)
[ ] StringRange(min, max int, charset string) (string, error)
[ ] WeightedChoice(choices []Choice) (Choice, error)

AndreasMadsen/xorshift

[ ] xorshift.constructor(seedArray)
[ ] xorshift.random()
[ ] xorshift.randomint(): Returns array of 2 32-bit numbers

skeeto/rng-js

[ ] RNG(string): Create generator with seed JSON.stringify()
[ ] .random(begin, end)
[ ] .uniform(): 0 -> 1
[ ] .normal()
[ ] .exponential()
[ ] .poisson(mean/variance)
[ ] .gamma(?)

JuliaRandom/RandomNumbers.jl
PCG Family
Permuted Congruential Generators (PCGs) are a family of RNGs which uses a linear congruential generator as the state-transition function, and uses permutation functions on tuples to produce output that is much more random than the RNG's internal state.
Each PCG generator is available in four variants, based on how it applies the additive constant for its underlying LCG; the variations are:

[ ] PCGStateOneseq: all instances use the same fixed constant, thus the RNG always somewhere in same sequence.
[ ] PCGStateMCG: adds zero, resulting in a single stream and reduced period.
[ ] PCGStateSetseq: the constant can be changed at any time, selecting a different random sequence.
[ ] PCGStateUnique: the constant is based on the memory address of the object, thus every RNG has its own unique sequence.

PCG Method Type:

[ ] PCG_XSH_RS: high xorshift, followed by a random shift. It's fast and is a good performer.
[ ] PCG_XSH_RR: high xorshift, followed by a random rotate. It's fast and is a good performer. Slightly better statistically than PCG_XSH_RS.
[ ] PCG_RXS_M_XS: fixed xorshift (to low bits), random rotate. The most statistically powerful generator, but all those steps make it slower than some of the others. (but in this package the benchmark shows it's even fast than PCG_XSH_RS, which is an current issue.)
[ ] PCG_XSL_RR: fixed xorshift (to low bits), random rotate. Useful for 128-bit types that are split across two CPU registers.
[ ] PCG_XSL_RR_RR: fixed xorshift (to low bits), random rotate (both parts). Useful for 128-bit types that are split across two CPU registers. Use this in need of an invertable 128-bit RNG.

Mersenne Twisters
The Mersenne Twister is so far the most widely used PRNG. Mersenne Twisters are taken as default random number generators of a great many of software systems, including the Julia language until the current 1.0 version. The most commonly used version of Mersenne Twisters is MT19937, which has a very long period of 2^19937−1 and passes numerous tests including the Diehard tests.
However, it also has many flaws by today's standards. For the large period, MT19937 has to use a 2.5 KiB state buffer, which place a load on the memory caches. More severely, it cannot pass all the TestU01 statistical tests2, and the speed is not so fast. So it is not recommended in most situations.

[ ] MT19937: can only produce UInt32 numbers as output.

Random123 Family
Random123 is a library of "counter-based" random number generators (CBRNGs), developed by D.E.Shaw Research1. Counter-based means the RNGs in this family can produce the Nth number by applying a stateless mixing function to the counter N, instead of the conventional approach of using N iterations of a stateful transformation. The current version of Random123 in this package is 1.09, and there are four kinds of RNGs: Threefry, Philox, AESNI, ARS.
Threefry is a non-cryptographic adaptation of the Threefish block cipher from the Skein Hash Function.

[ ] Threefry4x
[ ] Threefry2x

Philox uses a Feistel network and integer multiplication.

[ ] Philox4x
[ ] Philox2x

AESNI uses the Advanced Encryption Standard (AES) New Instruction, available on certain modern x86 processors (some models of Intel Westmere and Sandy Bridge, and AMD Interlagos, as of 2011). AESNI CBRNGs can operate on UInt128 type.

[ ] AESNI1x
[ ] AESNI4x

ARS (Advanced Randomization System) is a non-cryptographic simplification of AESNI.

[ ] ARS1x
[ ] ARS4x

Xorshift Family
Xorshift family is a class of PRNGs based on linear transformation that takes the exclusive or of a number with a bit-shifted version of itself. They are extremely fast on mordern computer architectures, and are very suitable for non-cryptographically-secure use. The suffix -Star and -Plus in the RNG names denote to two classes of improved RNGs23, which make it to pass Big Crush in TestU01. -Star RNGs are obtained by scrambling the output of a normal Xorshift generator with a 64-bit invertible multiplier, while -Plus RNGs return the sum of two consecutive output of a Xorshift generator.

[ ] Xorshift64
[ ] Xorshift64Star

They have a period of 2^64, but not recommended because 64 bits of state are not enough for any serious purpose.

[ ] Xorshift128
[ ] Xorshift128Star
[ ] Xorshift128Plus

They have a period of 2^128. Xorshift128Plus is presently used in the JavaScript engines of Chrome, Firefox and Safari.

[ ] Xorshift1024
[ ] Xorshift1024Star
[ ] Xorshift1024Plus

They have a long period of 2^1024, and takes some more space for storing the state. If you are running large-scale parallel simulations, it's a good choice to use Xorshift1024Star.

[ ] Xoroshiro128
[ ] Xoroshiro128Star
[ ] Xoroshiro128Plus

The successor to Xorshift128 series. They make use of a carefully handcrafted shift/rotate-based linear transformation, resulting in a significant improvement in speed and in statistical quality. Therefore, Xoroshiro128Plus is the current best suggestion for replacing other low-quality generators.

cmcqueen/simplerandom

Main API functions:

Seed
Generate "next" random value
"Discard" also known as "jumpahead" to skip the generator
ahead by 'n' samples.
Mix real random data into the generator state

Safe seeding. Many generators have some "bad" state values that must
be avoided. The seed functions for all generators ensure that any
"bad" state values are avoided, and replaced by a suitable
alternative initial state.
Simple algorithms and state size appropriate for limited RAM and ROM
(e.g. in embedded systems).
Reasonable statistical properties of pseudo-random output (though
not for all generators provided).

Most algorithms were obtained from two newsgroup posts by George Marsaglia (mars1) (mars2). However, some modifications have been made. From (rose1), it seems that the SHR3 algorithm defined in (mars1) is flawed and should not be used. It doesn't actually have a period of 232-1 as expected, but has 64 different cycles, some with very short periods. The SHR3 in the 2003 post is very similar, but with two shift values swapped. It has a period of 232-1 as expected.
We still find KISS from (mars1) useful mainly because it uses 32-bit calculations for MWC, which can be more suitable for small embedded systems. So we define KISS that uses a MWC based on (mars1), but the Cong and SHR3 from (mars2).
From Pierre L'Ecuyer (lecuyer1) (lecuyer2), the Combined LFSR (Tausworthe) LFSR113 algorithm (lecuyer3) and LFSR88 (aka Taus88) have been implemented.
Random Number Generators Provided
The following pseudo-random number generators are provided:

Generator
Notes

MWC1
Two 32-bit MWCs combined. From (mars1).

MWC2
Very similar to MWC1, but slightly modified to improve its statistical properties.

Cong
From (mars2).

SHR3
From (mars2).

MWC64
A single 64-bit multiply-with-carry calculation. From (mars2).

KISS
Combination of MWC2, Cong and SHR3. Based on (mars1) but using Cong and SHR3 from (mars2), and the modified MWC.

KISS2
Combination of MWC64, Cong and SHR3. From (mars2).

LFSR113
Combined LFSR (Tausworthe) random number generator by L'Ecuyer. From (lecuyer1) (lecuyer3).

LFSR88
Combined LFSR (Tausworthe) random number generator by L'Ecuyer. From (lecuyer2).

sirleech/TrueRandom

[ ] random(): 0 to 2,147,483,647
[ ] random(n): 0 to n-1
[ ] random(a,b): a to b-1
[ ] randomBit()
[ ] randomByte()
[ ] rand(): 0 to 32,767
[ ] memfill(address, length)
[ ] mac(address): 6 byte MAC address
[ ] uuid(address): 16 bytes long

leesper/go_rng
Supported Distributions and Functionalities

Uniform Distribution
Bernoulli Distribution
Chi-Squared Distribution
Gamma Distribution
Beta Distribution
Fisher's F Distribution
Cauchy Distribution
Weibull Distribution
Pareto Distribution
Log Normal Distribution
Exponential Distribution
Student's t-Distribution
Binomial Distribution
Poisson Distribution
Geometric Distribution
Gaussian Distribution
Logistic Distribution
Dirichlet Distribution

Usage

[ ] NewGaussianGenerator(seed)

Remaining References

randoma package by Sindre Sorhus
Better Random Numbers for Javascript; by Johannes Baagøe, Nick Quinlan
random package for Nim; by Oleh Prypin
wyhash for C++; by WangYi
mir-random for D lang; by Ilia Ki and others
random_numbers for C++; by Dave Coleman and others
testingRNG: testing popular random-number generators; by Daniel Lemire and others
Random-Number-Generator for Android; by Alexander Chiou
RandomSequence for C++; by Jeff Preshing
fastrand for Rust; by Taiki Endo and others
seedrandom package for JavaScript; by David Bau
Rand for Rust; by Diggory Hardy and others


Feature Request: Limit stack sizes to the size of the stack currently hovered.

Request Description
For my ingame shop I need all stacks limited to the amount that is worth one coin. For stained glass blocks, that means all of them should be 5 items. Still, I'd like to sort them by color. Thus it would be nice to have some modifier or extra key or something that makes it so stack sizes after sorting cannot exceed the size of the stack I'm hovering when I press the sort key.
Minecraft Version
1.21.1

I'll have a look, but I rather doubt that this will be worth the amount of rewriting required. Unless it's a popular request it probably won't happen.


2.1.4: return region error when tikv is closing

Signed-off-by: zhangjinpeng1987<EMAIL_ADDRESS>
What have you changed? (mandatory)
Return an RegionError when TiKV is closing to tell the client that this region is unavailable temporarily, the client should retry the request in other TiKVs. And this change we have tested for 1 month, it works ok.
What are the type of the changes? (mandatory)

Bug fix (change which fixes an issue)

How has this PR been tested? (mandatory)
Long time running test.
Does this PR affect documentation (docs) or release note? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No

/release


[Structured List]: QA: Tooltip is not dismissible with esc key

Description
Page element:
Tooltip content
Issue : Tooltip content is not dismissible with esc key.
Expected: Tooltip content should be dismissible with esc key.
User Impact: If the tooltip content is not dissmissible with esc key, motor impairment user will face difficulty in accessing the element.
Component(s) impacted
Structured List
(With Complex content)
Browser
Firefox
Carbon for IBM.com version
v1.36.0-rc.0
Severity
Severity 4 = The problem is not visible to or noticeable to an average user. Affects minor functionality, no workaround needed.
Application/website
Carbon for IBM.com
Package
@carbon/ibmdotcom-web-components
CodeSandbox example
https://carbon-design-system.github.io/carbon-for-ibm-dotcom/canary/web-components-experimental
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[ ] I checked the current issues for duplicate issues

Reference from the Carbon design system about the interaction - https://carbondesignsystem.com/components/tooltip/usage/#interactions

Blocked by https://github.com/carbon-design-system/carbon-web-components/issues/980

closing as duplicate of #8996


Keep up the great work!

@chmln This is an awesome lib and I can't wait to use 2.0 on my next project.
The issue queue might be a pain, but remember that lots of people really love your work and appreciate your continued efforts!

@mgibbs189 Thanks for the support and the helpful issue responses :+1:


Google federation REQUIRED in order to work with gmail external users (guests) - documentation needs updating

before google federation was introduced, it was possible to invite B2B guests to our tenant, and no matter their domain (business or consumer, doesn't matter), their experience didn't differ - it was mostly the same as seen in this video https://docs.microsoft.com/en-us/azure/active-directory/b2b/what-is-b2b
however, since google federation, this is no longer the case. gmail users receiving B2B guest invitations end up being requested to create a full-blown microsoft account, instead of the redemption experience from the video above. non-gmail users' (e.g. other freemail, such as protonmail or yahoo etc) experience remains the same.
having set up a google federation now seems to be a requirement in order to invite gmail B2B guests. this new bahavior, as far as I know, isn't explicitly documented anywhere, which caused us a lot of headaches and confusion, especially since it DID work before for everyone.

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

ID: 6ed01893-a5cd-28bd-b865-e7ebe5870567
Version Independent ID: b3d96be0-1470-eb2c-ea5b-cea0a5cc44a1
Content: Add Google as an identity provider for Azure Active Directory B2B
Content Source: articles/active-directory/b2b/google-federation.md
Service: active-directory
GitHub Login: @msmimart
Microsoft Alias: mimart

@jurajgh Apologies for the delay, investigating now. By chance have you gotten any more info or help in the meantime? I also wanted to point out that there's a one-time passcode feature preview that might give the desired sign-in experience: https://docs.microsoft.com/en-us/azure/active-directory/b2b/one-time-passcode

@msmimart no, I haven't. while the OTP method you mentioned certainly works for some scenarios, it REPLACES the standard guest invitation redemption, effectively disabling the Organization's ability to add external users. that's not a solution. it's trading one disadvantage for another.

@jurajgh I've confirmed with the B2B team that the Google federation feature itself didn't change the default behavior for gmail users. If you don't configure Google federation, they still need to set up an Microsoft account like before; the video does touch on this when showing the sign-in process. Are gmail guests now seeing a different experience for setting up the Microsoft account than other guests see?

@msmimart that's exactly the point - without federation configured, google users are required to create microsoft account, while with federation, they experience the simplified invitation redemption process of creating a viral tenant. the distinguishing difference is the need to enter date of birth in the 1st case (without federation -> microsoft account needs to be created), while there's no such need with the 2nd case (with federation -> viral tenant created & simplified invitation redemption experienced).
besides, this particular issue is about the OTP option being mutually exclusive with the standard external user invitation, which involves the above-mentioned viral tenant and simplified guest account creation experience.
as for your question - yes, without google federation configured, google accounts are forced to create full-blown microsoft account (the option #1 from above, involving the need to enter date of birth), while non-google account experience the option #2.

Hi @jurajgh B2B PM here to answer your question directly.

however, since google federation, this is no longer the case. gmail users receiving B2B guest invitations end up being requested to create a full-blown microsoft account

^ Gmail users having to create MSAs before they are redeemed has always been the case, even before Google federation. Once you have configured Google federation, your Gmail guests will just use their Google account to log in, without having to create an MSA.

with federation, they experience the simplified invitation redemption process of creating a viral tenant.

^ This is not correct. We do not create a viral tenant for Google federated users.
Please let me know if you have additional questions after these clarifications :)

the video in the article demostrates the B2B simplified invitation redemption experience on a consumer gmail account. the video was uploaded on 12 Apr 2017. google federation was introduced later at the end of 2018.
are you sure gmail users were always required to create full-blown MSA accounts..?

Yes - please see the video starting at 5:05 and 5:45

yes - between 5:05 and 5:45, the simplified account creation is demonstrated - without the birthdate prompt. the same experience I was used to with non-gmail consumer accounts.
currently, (with google federation not configured), gmail user is required to enter their birthdate, while non-gmail users' experience remains the same as in the video.
the above would imply simplyfied guest account creation experience no matter what the guest user's domain/email service was.
let me put this another way:
the point of this issue is, there's a different experience for gmail and non-gmail guests. you claim it was always this way. the video clearly shows it was not. the behavior, however, changed with google federation introduction.

@jurajgh thank you for identifying this; we're looking into the root cause of the behavior you're seeing.

@jurajgh we've investigated and the product team confirms that the behavior isn't related to the Google federation feature changes. But if we uncover something that changed in the same timeframe that would be helpful to note, we'll update the article. Since there's not an action item for docs at this time, we'll close the issue but will continue to track internally. Please also consider using Azure AD UserVoice to post the concern and/or request and get input from the community. #please-close


Make virtctl ssh/pf work with dots in vm name

What this PR does / why we need it:
Currently, virtual machines may have dots in their VM name. This currently breaks the logic for parsing portforward/ssh/scp targets, as they assume that no dots can appear in the vm name.
To fix this, we assume that only the last part of the target name (after splitting on dots) is the namespace. A namespace cannot contain dots, so that seems like a safe assumption.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #8290
Special notes for your reviewer:
Release note:

- virtctl ssh, port-forward and scp now accept dots in vm names.

Could you please add your case in the unit tests: https://github.com/kubevirt/kubevirt/blob/97732e01c4d0dc4a05559a78527622f3b4c84457/pkg/virtctl/templates/target_test.go#L12 ?

ERROR: git tree state is not clean!

@roblabla, you also need to include the changes introduced by the formatter. Without those, the CI will not pass.

I don't really understand the CI failure here, and the logs don't give much indication of what went wrong that I can see (All it says is " Test Failed! 7 issues found. " without saying what those issues are?). Can someone point me in the right direction?

I don't understand what CI failure you mean - but given the only failure you have in on the fossa lane, I'm assuming that's the one.
If so, you can disregard that error - that lane is not required, and as such, it won't affect merging your PR.
Your PR requires the lgtm and approved labels, which must be given by a community member, and a maintainer.
@roblabla

/retest-required

This means that we require a namespace when . is in the name. Worth documenting?

I agree! Otherwise we need to find a new separator for name<separator>namespace. But this requires a wider discussion IMHO.


Inserting a Back Button in Header

Hey,
I'd like to know if is there a way to put a back button in a header.
Do you have a example for this?
Thanks in advance.

Hi @brjairosanches ! Yes, I have the example:
https://github.com/z4o4z/events-aggregator-client/blob/master/src/screens/Event/index.js#L110


Progress bar for sync cmd

Please use import command as an example.
Note: It would be great to increase unit test coverage for progress class.

@efiop Would you be able to take this issue?

Please use import command as an example.

@dmpetrov What do you mean by that?

Oh, right, progress bar for data sync. Understood. Sure, I was going to do it too

Awesome!


Add first cut ERC5192 interface

happy to add tests if this implementation is interesting to you
eip-5192 is final so it should be safe to implement

Don't see a harm in integrating this. Will finish protocol development first and review this soon.


Update tablerow - API Not Found

Using this API as suggested returns an ApiNotFound error.
const GRAPH_PATH__UPDATE_ROW = (rowIndex: number) =>
  `/me/drive/items/${GRAPH__WORKBOOK_ITEM_ID}/workbook/tables/${GRAPH__WORKBOOK_TABLE_ID}/rows/${rowIndex}`

async function updateRow(client: Client, rowIndex: number) {
  const workbookTableRow = {
    index: rowIndex,
    values: "values-value",
  }

  return client
    .api(GRAPH_PATH__UPDATE_ROW(rowIndex))
    .update(workbookTableRow)
}

Request:
PATCH /me/drive/items/{id}/workbook/tables/{id|name}/rows/{index}`
{
    index: 5,
    values: "values-value",
}

Response:
{
  "code": "ApiNotFound",
  "message": "The API you are trying to use could not be found. It may be available in a newer version of Excel. Please refer to the documentation: \"https://docs.microsoft.com/office/dev/add-ins/reference/requirement-sets/excel-api-requirement-sets\".",
  "innerError": {
    "code": "apiNotFound",
    "message": "The API you are trying to use could not be found. It may be available in a newer version of Excel. Please refer to the documentation: \"https://docs.microsoft.com/office/dev/add-ins/reference/requirement-sets/excel-api-requirement-sets\".",
    "date": "2024-01-22T02:26:32",
    "request-id": "XX",
    "client-request-id": "XX"
  }
}

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

ID: c97e8a2e-2f97-d2ad-f60e-785cfa4935d0
Version Independent ID: a0060427-d67d-cd3b-9770-4b7e45e6117d
Content: Update tablerow - Microsoft Graph v1.0
Content Source: api-reference/v1.0/api/tablerow-update.md
Product: excel
Technology: microsoft-graph
GitHub Login: @lumine2008
Microsoft Alias: MSGraphDocsVteam

Workbook API is an exception for some reason. I've been trying to get more info for two years and without the success. Stackoverflow is definitely the best place for issues/missing doc in workbook API. The rest of the Graph API doc is much better.
@grangeryy @FaithOmbongi @fabianwilliams  Could you please have a look at issues related to workbook API? Or at least improve the way how to process issues related to workbook API. It would be really helpful for the developers.
https://github.com/microsoftgraph/microsoft-graph-docs-contrib/issues?q=is%3Aissue+excel+is%3Aopen

Hello Martin / team
Are you speaking about the Microsoft Excel workbook API on Graph? If so the PM is @Wenjun @.***> from our records.
FGW

From: Martin Machacek @.>
Sent: Wednesday, January 24, 2024 2:26 AM
To: microsoftgraph/microsoft-graph-docs-contrib @.>
Cc: Fabian Williams @.>; Mention @.>
Subject: Re: [microsoftgraph/microsoft-graph-docs-contrib] Update tablerow - API Not Found (Issue #9041)
Workbook API is an exception for some reason. I've been trying to get more info for two years and without the success. Stackoverflow is definitely the best place for issues/missing doc in workbook API. The rest of the Graph API doc is much better.
@grangeryyhttps://github.com/grangeryy @FaithOmbongihttps://github.com/FaithOmbongi @fabianwilliamshttps://github.com/fabianwilliams Could you please have a look at issues related to workbook API? Or at least improve the way how to process issues related to workbook API. It would be really helpful for the developers.
https://github.com/microsoftgraph/microsoft-graph-docs-contrib/issues?q=is%3Aissue+excel+is%3Aopen
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoftgraph/microsoft-graph-docs-contrib/issues/9041#issuecomment-1907536960, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWCBQV62ANP4M3SPZSFPYNTYQCZTRAVCNFSM6AAAAABCEO7RJ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBXGUZTMOJWGA.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @fabianwilliams,
Yes, I'm speaking about the Microsoft Excel workbook API. This API is quite complex and not all parts are documented. It's difficult and time consuming to find the right person who can give us the answers or ensure that the doc will be up-to-date.
I have issues related to the Microsoft Excel workbook API opened for 2 years and still without any response. After 2 years I know that @lumine and @AmandaHan123 are not active in this repo.
Or this endpoint https://learn.microsoft.com/en-us/graph/api/tablerow-get?view=graph-rest-1.0&tabs=http stopped working in Q3 2023 or sooner ticket here but it still in the doc, still in metadata and SDKs generate code for that endpoint.
If @wenjun is the right person who can help, that would be great.

I have no idea what this is about. Perhaps you meant a different Wenjun.

I have no idea what this is about. Perhaps you meant a different Wenjun.

I believe that was a different Wenjun, but GitHub mixed mentions from email with mentions from GitHub. Try to unsubscribe yourself from this issue.

Any update on this?

@fabianwilliams @Lauragra  Probably last question before GitHub Issues will be closed for this repo. Any chance the doc for workbook API will be fixed with a new feedback system? Will all open tickets be moved to the new feedback system or should we submit new feedback instead?


@kanaabe minor fix to analyticshook

fix to https://github.com/artsy/force/pull/1079

Looks good! You can hit merge when 🌵


[Done] Fix 3D empty WKT serialization

This is a (hopefully) temporary fix for the 3D point serialization. See https://trac.osgeo.org/geos/ticket/1129

@brendan-ward Hold your horses -- this issue is not only applying to the POINTS, but all other 3D empty geometries get serialized incorrectly. I'll try to fix that in this PR as well.

@brendan-ward  It's done now :)


Master

Added all helper functions as described in issue #6. Question: Add a new category for the library as well?

Thanks @redinkinc - great stuff. I'll add an additional category for helper functions.


Hot reload warning when adding new members

Create a new app
Replace main.dart with:

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text('Hot reload test'),
        ),
        body: new Center(child: new Text('Foo')),
      ),
    );
  }
}

Add a new member to MyApp:

class MyApp extends StatelessWidget {
  var foo = 'foo';
  @override
  ...
}

Hot reload
=> get a warning that the new member wasn't reloaded?

Some program elements were changed during reload but did not run when the view was reassembled;
you may need to restart the app for the changes to have an effect.
• MyApp.foo (lib/main.dart:6)
• MyApp.foo= (lib/main.dart:6)

cc @rmacnak-google


User defined exceptions?

Description
I'm coming back to the discussion in PR #386. Currently PyWPS shows only a common WPS exception when an error has occurred ("Please check the logs ..."), introduced in PR #357.
A WPS exception is a way to communicate to the user ... we like to give some hints when something goes wrong. Though we don't want (or should not) show the raw traceback which is probably not understandable for the end-user and a potential security risk.
Could we introduce a new "User Exception"?
In the process implementation we could through this user exception intentionally do give the user some hints of what might have gone wrong ("No data found for given selection parameter ..."). We could add restrictions to the user exception type, like only 300 chars, no suspicious characters (no tracebacks), ... In all other cases the common exception will be thrown ("Check the logs").
@jachym @huard
What do you think?
Environment

operating system:
Python version:
PyWPS version:
source/distribution
[ ] git clone
[ ] Debian
[ ] PyPI
[ ] zip/tar.gz
[ ] other (please specify):
web server
[ ] Apache/mod_wsgi
[ ] CGI
[ ] other (please specify):

Steps to Reproduce
Additional Information
See discussion in PRs #386, #357.
Also we need to check the Python encodings: #233, #400.

Seems reasonable.

I'm all for it - as long as we manage to return back valid WPS [1,2].x XML document


[zk-sdk] Clean up (target_os = "solana")

Problem
Summary of Changes
Fixes #

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.1%. Comparing base (2bc026d) to head (f9c0b90).
Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master    #1257     +/-   ##
=========================================
- Coverage    82.1%    82.1%   -0.1%
=========================================
  Files         893      893
  Lines      236600   236626     +26
=========================================
+ Hits       194429   194445     +16
- Misses      42171    42181     +10


Third Commit

Hi, Jonathan
We have added a result page and some CSS code with Lynn. And also we are still trying to LocaleStorage problem together

We have added a result page and some CSS code with Lynn. And also we are still trying to LocaleStorage problem together

CSS Codes has been added. The result page problem have been solved. LocaleStorage problem continues


[FancyZones] Move newly created windows to last known zone stopped working in V0.58.0 on Win 10.

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Open PowerToys V0.58.0 and select FancyZones / Window Behavior and check Move newly created  windows to last known zone
Open an explorer window and snap to a zone
Close the explorer window
Re-open the explorer window
✔ Expected Behavior
The explorer window opens in the zone it was snapped to.
❌ Actual Behavior
The explorer windows does not open in the zone it was snapped to, but instead opens in a position somewhere else.
PowerToysReport_2022-05-06-10-33-22.zip
.
Other Software
No response

More info:
If I toggle the switch in FancyZones / Enable FancyZones off and on again, FancyZones' "Move newly created windows to last known zone" starts working again.  However, if I reboot the machine, once it comes back, Move newly created windows to last known zone does not work anymore.
Note that throughout, snapping windows to zones does work.  Only the "Move newly created windows to last known zone" does not work, till I toggle FancyZones off and on.

I have a simular issue where the windows are not getting moved to the active monitor, it happens on the most recent version and on v0.56.1
Unfortunately restarting fancy zones doesn't always work for me.
On my PC, the window blinks on the correct monitor then appears on the wrong monitor. OR it just appears on the wrong monitor.
Windows 11 latest stable channel updates
Updated graphics driver
Powertoys running as admin

The bug still hasn't happened since I disabled powertoys run. Still on version v0.56.1
Will update if it happens again, with powertoys run disabled.

/dup of https://github.com/microsoft/PowerToys/issues/12211


No child data available in response when parent is null

I am facing problems with nullable fields when trying to use the data returned when executing my query.
Schema
A simplified schema for demonstration purpose:
type Query {
    members: [Instrument!]!
}

type Instrument {
    series: SeriesType!
    ...
}

type SeriesType {
    dividendYield: SeriesMethods
    ...
}

type SeriesMethods{
    latest: Float!
    ...
}

There is nullable data that is resolved at dividendYield and a typical response I get when executing the query is shown in the following section.
Typical Response

So what is the problem???
We are using this data to for visuals on a web app. The data is read in as an object such that you are able to access the data by data.series.dividendYield.latest. The problem comes in when dividendYield returns null as there is there no longer exists a latest field anymore.
For the client side it will always be necessary for the field to be present in the data, even if the parent resolver is null. Is it possible for the resolvers to be setup such that all children fields also return null rather than not appearing in the data response? Any other solutions would also be appreciated.

Hey @ruanspies-rezco,
Have you tried setting the field dividendYield to required?
type SeriesType {
    dividendYield: SeriesMethods!
    ...
}

If your back-end somehow produces a value that would yield null, you could replace it with an object that has zero-values. Default values could also work if it fits your use case.
Does this suggestion help?

Thanks for the response @ssko1. Yes, that is the way we set it up initially but it results an inefficient backend. Our schema is quite complex and resolves larges amounts of data so the execution of graphql is ideal in that it does not unnecessarily try fetch child data if the parent is null. eg. if dividendYield is null then I do not want to execute any of the child resolvers.
From the client side, I do however want to know that if I queried latest that it is null rather than completely missing from the response.

I don't really have a clear picture of where the inefficiencies come into play. Could you say more to this?
Which part of your schema is the most expensive in terms of compute resources?
Are you running into the case where GraphQL, upon receiving a null value for a required field, propagates the error and returns the first nullable field (in this case: dividendYield)? If you are running into this issue, you could make latest: Float! a nullable field latest: Float, but it's hard to say given that there are nuances in your back-end to consider.


Additional Example for swaggertype

Describe the PR
Add example usage for swaggertype.
Relation issue
#379
Additional context
None

Codecov Report

Merging #498 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #498   +/-   ##
=======================================
  Coverage   87.05%   87.05%
=======================================
  Files           7        7
  Lines        1522     1522
=======================================
  Hits         1325     1325
  Misses        115      115
  Partials       82       82

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 33a7940...195966e. Read the comment docs.


Flip the Icon Switch for RTL

Fixes #BLUI-5069 .

Changes proposed in this Pull Request:

Animation changes for RTL mode

Screenshots / Screen Recording (if applicable)

To Test:

yarn start:showcase-android/ios

Any specific feedback you are looking for?

https://github.com/etn-ccis/blui-react-native-component-library/assets/133877691/80432eed-2e7c-4789-b629-11ea23de5cb9


math/big: incorrect string->Float conversion or printing for literals with large exponent

package main

import (
	"fmt"
	"math/big"
)

func main() {
	var x big.Float
	x.SetString("1e81391777742999")
	fmt.Printf("x = %.6g\n", &x)
}

prints x = 1e+151 which is incorrect.

Once this is fixed, re-investigate issue #11326.

The error occurs in the scan function (in math/big/floatconv.go), specifically during the 10**exp10 correction multiplication.
On line 130 we call umul as
z.umul(z, p.pow10(exp10))

umul(x, y) has precondition

x and y must have a non-empty mantissa and valid exponent.

and there's no input checking for +Inf values. Unfortunately p.pow10(exp10) can be Inf (when exp10 is big).
When Parse is called with 1e81391777742999, this results in a call to pow10 that returns an Inf Float. Then umul is called as umul(1, +Inf) and happily returns a bogus value of 1e151.
The fix is simple: if the umul call on line 130 is replaced with a Mul call (which does Inf checking), then
x.SetString("1e81391777742999")
fmt.Printf("x = %.6g\n", &x)

correctly gives
+Inf

The fix also uncovered two wrong test. In the first one (floatconv_test.go, line 370)
{"1e1000000000", 64, 'p', 0, "0x.ecc5f45aa573d3p+1538481529"},

the expected value (with exponent<PHONE_NUMBER>) is wrong. 1e1000000000 is not representable as a floating point number with int32 exponent. Again, what is coded as the expected result is a bogus number returned by an umul call with an Inf parameter.
Another test
{"1e-1000000000", 64, 'p', 0, "0x.8a64dd983a4c7dabp-1538481528"}

proves that negative exponents too are mis-handled. In fact, 1e-81391777742999 returns 1e-151. This problem, too, can be fixed by replacing a uquo call (no Inf checking), with a Quo, in line 128 of floatconv.go
I've sent a patch.


Holiday Wishes...

I just wanted to wish @jaredrummler Family and Friends the Best Wishes, Happy Holidays and a Happy New Year!!!
I hope this year ends even more Uplifting and Promising as the last (bumpy) year has ended with!!
Take care My Friend.
~Ibuprophen

Thank you! Happy New Year!


Error when evaluating SSR module ~analog/entry-server:

Please provide the environment you discovered this bug in.
Angular 15.2.6
node 16.19.1
create-analog 0.2.14 (variant angular-v15)
Macbook Air M1 chip (2020)
Which area/package is the issue in?
create-analog
Description
When I follow the "get started" guide and try to run npm run dev everything runs correctly but when you try to open the url, you'll run into an error.
Please provide the exception or error you saw
6:32:31 PM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>failed to import "rxjs"

6:32:31 PM [vite] Error when evaluating SSR module ~analog/entry-server:

node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

TypeError: Method Promise.prototype.then called on incompatible receiver [object Object]
    at ZoneAwarePromise.then (<anonymous>)
    at node:internal/per_context/primordials:440:35
    at new Promise (<anonymous>)
    at new SafePromise (node:internal/per_context/primordials:408:29)
    at node:internal/per_context/primordials:440:9
    at Array.map (<anonymous>)
    at arrayToSafePromiseIterable (node:internal/per_context/primordials:437:5)
    at node:internal/per_context/primordials:453:21
    at new Promise (<anonymous>)
    at primordials.SafePromiseAll (node:internal/per_context/primordials:452:3)

Other information
No response
I would be willing to submit a PR to fix this issue

[ ] Yes
[X] No

Duplicate. Try node 16.17.0 or 18.13.0+. this bug has been fixed in Angular
https://github.com/analogjs/analog/issues/321#issuecomment-1498967194

Thanks, it worked


Rotatation, crop in pixels, not %

Hi, would be nice if its possible to set height and width in pixels, not %.
Also, is it possible to add rotation prop before frame is cropped?

You can calculate the percentage based on the desired region and frame's size. I don't think it is really needed to supoort pixel as well.
As for the rotation prop, I don't know what it is used for.

Hi, thanks for your answer, alright with px.
But regarding rotation:
https://github.com/mrousavy/vision-camera-resize-plugin/issues/43#issuecomment-1981324379

device.sensorOrientation - but this is not guaranteed to be correct by Android. Some vendors choose to not implement it properly, specifically on Samsungs it's 180 deg rotated.
CameraX has workarounds for all such quirks, in VisionCamera V4 that should be fixed.

So I just copied your sample and on my samsung images are rotated 180 so instead of cropping from top, it crops from bottom.

Okay. The plugin automatically rotates the frames so that it matches the preview. But it seems that Samsung phones not work in the same way.
I will add a rotation option but you have to enable it based on difference devices

I added a method to rotate an image in v1.1.0.


Create Android build

I would like to be able to use this on Android.
Thanks for your work!

You can use the code as you wish. If desired, a link to the source would be useful to me. Good luck!


Maximo BOMs should be collapsed into one

We shouldn't create different BOMs between AWS, Azure, and IBM Cloud just to change the values of the storage class variables. That goes against the whole point of the BOMs.
https://github.com/cloud-native-toolkit/iascable/issues/122 has been created to provide a mechanism within one BOM to define different default values. In the meantime we should have 1 BOM with the structural definition of the MAS core deployment. In the files folder we can provide different auto.tfvars files and can manually add them to the published terraform repo

@seansund Can we wait on this one until we collect a little more usage / deployment data from the various platforms? I could see use cases from discussions so far where we may default azure or AWS deployments to a native service more often.  Then we don’t have to recreate the boms again for the platform. @mjperrins


http://start.dubbo.io/ is not accessible

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: xxx
Operating System version: xxx
Java version: xxx

Steps to reproduce this issue
http://start.dubbo.io/ 无法正常访问
Pls. provide [GitHub address] to reproduce this issue.
Expected Result
What do you expected from the above steps？
Actual Result
What actually happens?
If there is an exception, please attach the exception trace:
Just put your stack trace here!

Sorry, the site is out of date. If you still want to create a dubbo project, try to visit https://start.aliyun.com/bootstrap.html .

Why not 302 ？？？ @Xunzhuo


Bug Report: Navabar Toggle

Reproduction steps
I think the navbar of the BLOGS section is not toggling in the mobile version
Expected behavior
It should expand down when clicked.
Actual Behavior
It does nothing when clicked.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Go for it!

hey @SauravMukherjee44 pls. assign this issue to me. am a beginner and eagerly waiting to contribute


[New Endpoint] PagesQuery

Definition
It fetches from the database all static pages (possibly filtered by instance) and returns a collection of pages ids  (or possibly none) ,
Message (TypeScript definition)
interface Message {
  type: 'PagesQuery'
  payload: {
    instance?: string // filter for subdomain
  }
}

Output (TypeScript definition)
interface Output {
  pages: Page[]
}
interface Page {
  id: number
}

Description what happens in the database layer
Message is defined in uuid/model/page/messages.rs. All page ids are collected in the page_respository (by instance) and given back.
Necessary checks / possible errors

[ ] It is optional to filter by Instance (if no instance is determined, then return all page ids)
[ ] It returns an empty vector if no page is found for an instance (no error is thrown)

See https://github.com/serlo/api.serlo.org/issues/623

Should pages that are trashed also be returned?

Should pages that are trashed also be returned?

Do pages turn up in the recycle bin? If yes I would not return them here.

Pages are different from entities. So they aren't in DeletedEntities and I don't think they are in the recycle bin then.


Text to Speech integrated with LUIS BOT does not voice out/playback in Safari browser on iOS/iPhone devices

Customer is facing problems using Speech API on a LUIS BOT where, Text to Speech/voice out/playback is not working in Safari browser on iOS devices, though it works on both Android and Windows clients.
Here is a sample URL for testing which I have hosted.
Related to #995

Need more investigations.

Go to https://compulim.github.io/web-speech-cognitive-services/ and try if text-to-speech is working on iOS or not.

If it is not, find out the issue in that repository
If yes, it could be related to "playing audio without an user interaction"

Prime the audio playback engine when the user click microphone button on Web Chat

The exception thrown at this line.

The core bug of this issue is because we asked the speech synthesizer to cancel if it cannot start within a second. The kill-and-retry logic was used to workaround a Chrome bug and it no longer repro today.
Since we are using Cognitive Services, it could take more than a second to download and start playing the MP3. Thus, it is not very reliable today.


How to resize the random noise input of SinGAN?

Hi,
Like the paper "Positional Encoding as Spatial Inductive Bias in GANs",
I would like to resize the random noise input of SinGAN to an arbitrary size.
I want to synthesize images larger than the input(G.T) image.
How can I do this?
Thank you.

To resize synthesize images, you need to change size of initial noise and per layer noise
You can check SinGANMSGeneratorPE's https://github.com/open-mmlab/mmgeneration/blob/master/mmgen/models/architectures/singan/positional_encoding.py  to resize noise


Pull request to update for supporting LCP

I send a pull request for SDKLanucher-Android for supporting LCP.
The following are summary for changed files:
ContainerList.java

if(container == null)

If container is null, stop processing intent and show the error message

class OpenBookOnThread extends Thread

We have changed the way of opening EPUB by processing in separate thread.
Because LCP needs to popup pass-phrase dialog-box waiting user input in the Readium SDK, which does not work in the same thread.

private void containerRegisterContentModules(Context context)

We added containerRegisterContentModules to invoke Drminitialize.
If user wants to include the DRM feature into the Launcher, call this method before the opening container in the "OpenBookOnThread".

DrmInitialize.java

We created one blank method as DrmInitalize.
If user wants to include the DRM feature into the Launcher, It can be connected with DRM Initialize.

Please reper to
https://github.com/readium/SDKLauncher-iOS/pull/68

We'll need to review this in the context of the ongoing LCP integration work


Discourage register polymorphic behavior

[x] Proposed
[ ] Prototype: Not Started
[ ] Implementation: Not Started
[ ] Specification: Not Started

Summary
Most of the app register's functionality that has been implemented to date relies on an assumption that, as far as I can tell, is not described in the protocol. Each register, regardless of the message type (i.e. READ, WRITE, EVENT) always returns the same "data", ideally the latest value kept in said register. This is essential from the host side as returns from the device can simply be interpreted as "READS" (i.e. WRITE messages are reads after setting a value, EVENT and READ are reads of a register without/with a requests, respectively) and piped through the same pipeline and parsed using the interface.
Motivation
A couple of edge cases that violate this assumption have surfaced and I think we should either 1: accept them or 2: make sure the protocol/standard is explicit on this behavior.
Detailed Design
My proposal is to actively discourage this polymorphic behavior by adding the following language to the protocol:
"Every payload returned from a given register must have the same datatype, length and always return the value of that register, regardless of the message type being returned. If a computation is required to be made on top of the register value for a specific message type. that will not be kept in the register's value, this event should be implemented in a second register"
Drawbacks
If we indeed want to allow polymorphic behavior per register this would effectively make that impossible
Alternatives
Not doing this will make users learn more app-specific edge cases and might break the automatically generated interfaces for some devices
Unresolved Questions
N\A
Design Meetings
TBD

Additionally, although obvious, we should make it very clear that registers not only share the same "function" or "behavior" but also payload structure (e.g. data type, payload size, etc...).

Add to the protocol:
Examples of what to do (use frequency/period as an example) / what not to do (use camera frequency set and possible)
Concept of "units" or "quantity" the thing they represent
Make sure to add that register have the same data type and length regardless of message type

Related to #9


How to fix failed map image download?

A few days ago, my HuntHelper's map images vanished (I think it was after I updated the plugin). I tried to download them again, but I got an error message. Now, I can't seem to get the plugin to even attempt to download the images any more, so I'm completely stuck with no images.
What can I do?

What is the error message?
You can try downloading the image manually and putting it in the image/maps folder of the plugin. It should be linked in the download popup window.

I don't recall the error message, as it was several days ago and I haven't been able to re-trigger it. Checking and un-checking "Map Image" causes nothing to happen except a slight change in opacity of the nap of the location you're in, in the upper left corner of the HH window.

putting it in the image/maps folder of the plugin

After doing some digging, I finally figured out where this folder is, and I found this:

So it looks like I have the map images... They just don't work for some reason.

Show me an in-game screenshot of the whole hunthelper map + settings window.
Is your map opacity 0?

I met the same problem.It's my screenshot of the whole hunthelper map + settings window.
When I was updated the version 1.0.6 to 1.0.7 and the game patch was 6.4.5.

I tried few times to reinstall the hunthelper and redownload map images but not working.

But this time the game patch update to 6.4.8 and retried these operations it is worked!!!

Please use /xllog to open the dalamud console
In /xlplugins, turn off and on HuntHelper
Then /hh to try and load the map image
Take a screenshot of the console if there are any error messages

Sorry, but while the second person who chimed in managed to get past it, I'm still having this issue. I followed your instructions, and took this screenshot:

There's nothing in the logs decrying any issues with the map images.

I did finally fix this by not only disabling and uninstalling HuntHelper, but also deleting its entire folder from the plugins directory. After I re-installed, it finally asked again if I wanted to download the map images, and I did so. That finally made the images show up on the map window.
Very strange that the images were failing to load despite being in the right folder, before. No clue what could have caused that.
Maybe adding a "force re-download of images" feature would be a good idea?


Oblique Camera Implementation

This PR contains a new mode for handling camera projections, OBLIQUE_CAMERA.  This mode works just like ORTHOGRAPHIC_CAMERA but also adds three new variables: obliqueAngle, obliqueLength, and obliqueOffset.

obliqueAngle: This is the angle of the shear used (along X/Y plane, with respect to the Camera)
obliqueLength: The degree/amount of shearing
obliqueOffset: The offset from the camera's target (with respect to the Camera's z) to shear against
This PR also adds support for the new mode to cameras in the Inspector.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14428/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14428/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14428/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14428/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14428/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14428/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14428/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14428/merge#BCU1XR#0

How about creating an optional oblique object that has the length, angle, offset properties? If this object is present and mode is ortho, then consider it oblique?

How about creating an optional oblique object that has the length, angle, offset properties? If this object is present and mode is ortho, then consider it oblique?

This should be doable.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14428/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14428/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.


Bind physics server methods related to SoftBody3D

This binds (almost) all missing soft_body_* methods found in PhysicsServer3D, allowing one to create a custom SoftBody3D-like scene node from scripts or GDExtension.
The only method omitted was soft_body_get_collision_exceptions, which can't be bound due to its List<RID>* parameter, similar to body_get_collision_exceptions.

It should be ready for another review now, @Mickeon.

You didn't have to go through every other method's description, that's out of scope of this PR.
I do personally appreciate it a lot, mind you! They do look good, but as the name suggests this should have mainly been about soft bodies.

Right. I misunderstood your comment then. I can go ahead and pull out the stuff that isn't related to soft bodies into a separate PR if you want. I had to hold myself back from changing some other stuff in there anyway, which I could bring into this other PR.

Do that, by all means! I would appreciate taking a look at that.


Understand ways senders report data

Problem Statement
As ReportStream, we need to understand all of the different ways that submitters of data need to be able to submit their data so that we can build tools that would benefit them.
Acceptance Criteria

Secondary/desk research on user segments
Interview users (3-5 for smaller segments up to 10 for larger segments)
Synthesize results
Document research & present to team
Create ZenHub Tickets based on findings

Link to the O&O team roadmap: https://app.zenhub.com/workspaces/onboarding--operations-6166edbd409257001e09f1b2/roadmap

@rachelhanster @loripusey we are starting to do this with our contacts for the CSV Pilot. Can we bring this into the next sprint or create a new ticket, but then that would be redundant.

VLB to work on sender facilitation guide for potential call with sender on 12/30 will add link to that here 12/30.

@victorialb-usds @rachelhanster I really think we need to re-consider how we are using ZenHub for research work; the amount of work in progress for each sprint is very large and I don't think it's productive to use ZenHub this way; perhaps Victoria and I can get together to figure something else out

@loripusey I think we can close this ticket. I put the description in the ongoing sender research epic and will create tickets for the sender research we are doing for CSV pilot and for UI of the submission history


Require application invoke initialize() function

Make PublicClientApplication constructor protected.
Add PublicClientApplication.getInstance() as a constructor replacement to invoke PublicClientApplication.initialize() seamlessly.
Remove PublicClientApplication.initialized as redundant.

Codecov Report

:exclamation: No coverage uploaded for pull request base (msal-browser-v3@0e1a4ac). Click here to learn what that means.
The diff coverage is n/a.

Flag
Coverage Δ

*Carryforward flag

msal-angular
96.63% <0.00%> (?)

msal-common
84.48% <0.00%> (?)

Carriedforward from d117dca

msal-node-extensions
75.64% <0.00%> (?)

Carriedforward from d117dca

msal-react
94.68% <0.00%> (?)

node-token-validation
88.88% <0.00%> (?)

Carriedforward from d117dca

*This pull request uses carry forward flags. Click here to find out more.

Abandoning this PR as a duplicate of https://github.com/AzureAD/microsoft-authentication-library-for-js/pull/5557/files.


Ensured no apps will crash due to corrupt playlist structure

Instead of raising an exception when a corrupt playlist structure is found (i.e. when no closing folder tag is found), I'm returning a subclass of SPPlaylist. This allows each client to handle the case as it pleases.
I've tested the fix for a few days and it seems to work fine, without affecting anything else (as far as I can tell).
Feel free to comment on the solution.

Thank you very much for your contribution! :-)

No problemo! :)


Skip before action options

This is a 🙋♂ feature or enhancement.

[x] I've added tests (if it's a bug, feature or enhancement)
[x] I've adjusted the documentation (if it's a feature or enhancement)
[x] The test suite passes

Summary
Adding capability to define only option in the skip_before_action method; by adding the method(s) in the only list to the action's except list.
Context
Have global actions defined in the controller's base, but allow the children controllers to be able to skip that action to certain methods only;
example above has the ApplicationController with a before_action that ensures the user to be logged in.
and the PostController that also extends the action; but allows only one of its method to skip the authenticate_user. other methods in the PostController are still being protected by authenticate_user
class ApplicationController < Jets::Controller::Base
  before_action :authenticate_user

  # ...

class PostController < ApplicationController
  skip_before_action :authenticate_user, only: [:view_public_fee]

@lustercr fyi, the email in your git config and in GitHub needs to be the same so that the commits can get properly linked to your profile 😄
https://help.github.com/en/articles/why-are-my-commits-linked-to-the-wrong-user#commits-are-not-linked-to-any-user

Thanks for cleaning up the code also.

Released in v2.0.5


UNMET PEER DEPENDENCY

Hy,
you have a UNMET PEER DEPENDENCY error in your current version.
Angular forms 0.1.1 requires angular2 version rc.3, but you have rc.4 as dependency.
Upgrading to forms 0.2.0 fixes the dependency issue, but breaks your test, even though everything seems to be working fine.
Downgrading to rc.3 fixes the issue also, without breaking the tests.

Hi @FallenRiteMonk, thanks for opening the issue.
Was aware of the problem, I guess the best thing to do will be downgrading Angular for now as I was a bit struck by that tests issues.

I just had a look at the tests issue and I'm a bit confused by the test "TagInput should have 2 tags set by ngModel". Could you please tell me why you are looking at component.value, because if I output it to the console i get the following value "['Javascript', 'Typescript']" and I do not understad what that has to do with the amount of tags.
And if you also have a look at the example you can see that the tag-input has got two tags set with using ngModel, shouldn't therefor the test succeed? Can't it be that noting gets broken, but just the test is wrong?

Actually I did not! Will have a look, thanks a lot :+1:

Should be fixed with version 0.1.6 :)


Moveit Setup Assistant crashes in Robot Poses tab

Description
Overview of your issue here.
Your environment

ROS Distro: Humble
OS Version: Ubuntu 22.04
Source or Binary build? Source
If source, which branch? humble
Which RMW (Fast DDS or Cyclone DDS)?  Cyclone DDS

Steps to reproduce

Launching moveit setup assistant.
ros2 launch moveit_setup_assistant setup_assistant.launch.py
Click "Create New Moveit Configuration Package"
Click "Browse" and select panda.urdf.
Click "Load Files"
In Self-Collisions,set Sampling Density as 50000, then click "Generate Collision Matrix"
Set virtual joint

Create panda_arm Planning Group

When move a slider in Robot Poses tab, suddenly the software crashes.

Expected behaviour
Same behavior as this tutorial, with no crash.
https://moveit.picknik.ai/humble/doc/examples/setup_assistant/setup_assistant_tutorial.html
Actual behaviour
Suddenly crash when move a slider. The window closes soon.
Backtrace or Console output
https://gist.github.com/shushutunn/f614ccceb97af377ae960ae3009d1e39

I'm having the same issue, do you already have a workaround

I'm having the same issue

Not yet.

I'm having the same issue, do you already have a workaround

I'm having the same issue, do you already have a workaround

Not yet

it worked
follow this

I have solved uninstalling moveit2 binaries with 'sudo apt remove ros-humble-moveit*'
Then deleting the workspace folder, do again the Getting started tutorials.
The issue was created for some conflict with binaries with respect to the build of the workspace. it seems you can't have both as for ROS1

https://github.com/moveit/moveit2/issues/2248#issuecomment-1611896152

This really does appear to be ABI incompatibility - uninstalling the apt packages is a temporary workaround - the real fix would be for us to put a new release out - per https://github.com/moveit/moveit2/issues/3012


[Python] Dataset PartitioningFactory cannot be serialized in Python

Describe the bug, including details regarding any error messages, version, and platform.
I would like to be able to serialize a dictionary of pyarrow.dataset.dataset key-word arguments (for parallel processing in Dask). However, it is not possible to do this when one of those arguments contains a Partitioning/PartitioningFactory object, because those objects cannot be serialized in Python.
Reproducer:
In [1]: import pyarrow.dataset as ds
   ...: import pickle
   ...:
   ...: partitioning = ds.partitioning(flavor="hive")
   ...: pickle.dumps(partitioning)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[1], line 5
      2 import pickle
      4 partitioning = ds.partitioning(flavor="hive")
----> 5 pickle.dumps(partitioning)

File stringsource:2, in pyarrow._dataset.PartitioningFactory.__reduce_cython__()

TypeError: self.factory,self.wrapped cannot be converted to a Python object for pickling

Component(s)
Python

All the partitioning objects we have today can boil down to a schema (which can be saved as an empty parquet/arrow file) and a string denoting the type (e.g. "dictionary" or "hive" or "filename").  I'm not sure if this is helpful or not since I suspect the goal is automatic serialization.

Thanks @westonpace ! The current workaround in Dask is indeed to allow the user to specify a dictionary like {"flavor": "hive", "schema": ...}. This works fine, but the Dask UX would certainly be cleaner if the user could pass in something like an initialized HivePartitioning object.

Thanks @jorisvandenbossche !


Performing Authorization only without login

I want to perform an authorization for a given step of scopes without login in the user to any specific services.
This would only perform the retrieval of the proper "access/refresh" token for the specific user.
Our service does not require "login" from the user but allows usage of the Google API (specifically GMail) to interact with associated endpoints.
What are the steps to accomplish this?

First, thank you for taking the time to ask this. Clearly indicates a lack of documentation. The core of the library is derived from Authenticator.Configuration, which controls all internal behavior. So, to get this working, the best way is to work backwards from there, building up the pieces you need.
appCredentials field is (hopefully) straightforward.
loginStorage handles persistent storage for your secrets. It is client-specific. And it can even be ignored when getting started. That just means you'll lose your login info when your client process exits.
userAuthenticator is the system that drives a prompting the user for their credentials. I'm not 100% sure if you need this or not given your description here. But it is technically optional.
For a new service, the real work is filling in the TokenHandling struct. This controls how the service you are working with behaves. If you look at the existing services (GitHub, Mastodon), they follow a pattern that looks like this:
struct Google {
    public static func tokenHandling(with parameters: ...) -> TokenHandling {
        TokenHandling(
            authorizationURLProvider: authorizationURLProvider(with: parameters),
           loginProvider: loginProvider(with: parameters),
           refreshProvider: refreshProvider(with: parameters)
        )
    }

    static func authorizationURLProvider(with parameters: UserTokenParameters) -> TokenHandling.AuthorizationURLProvider {
        ...
    }
}

The idea here is to hide the details of creating a TokenHandling struct as much as possible, and only require a client pass in the truly necessary parameters. Internally, they build up the structure using static methods that return the functions needed. Hopefully this pattern will work for your situation. Is this enough to get started?

Thanks for that explanation. Much clearer.
I was able to move forward by leaving the userAuthenticator parameter out of the Configuration object and then rely on the default ASWebAuthenticationSession.userAuthenticator.
This brings the proper Google SignIn web form within Safari and I'm able to authenticate my account to the associate app aka client_id.
I was also able to obtain a proper accessToken and a refreshToken. So did the complete OAuth roundtrip.
However I still don't know how to obtain those tokens without accessing a "dummy" ;-)  website first.
Sample access code below...

Are you saying that you want get the access and refresh tokens out of the authenticator object?
That’s not exactly how this system was designed to work. The reason is on every request, tokens may need to be obtained/refreshed. To do this transparently, the authenticator object needs to be in control of the underlying HTTP requests.

In our onboarding flow, we ask the user to authenticate to their GMail or Google Workspace account first.
Then we setup a number of things for the user before we issue an authenticated request.
There is no 'Login' like in typically systems...
So I found the Authenticator.authenticate() function which does exactly what we need.
This will allow us to obtain the tokens from the Authenticator without associating it to specific endpoint request.
Later on we can certainly leverage the Authenticator to ensure further HTTP requests are properly provided with a valid token.

Ok this makes sense! And this kind of set up should be supported with that method you found + the UserAuthenticationMode property of the configuration.

All is working now.
Just finishing the token refreshing part.
I will issue a PR for the Google service.


Istio mutual TLS auth and egress traffic

There are two mechanisms that we are thinking to allow egress traffic:

external name service - appears like a regular k8s service but in fact sends traffic outside through a proxy
loose iptables traffic capture - allow any traffic outside as long as IP does not match pod or service IP masks

How does this work with mutual TLS enabled auth?
I think 1) should not be allowed just like we don't have ingress with in-cluster auth.
2) also sounds like a potential loophole.

#515
Do we need a separate issue?

Auth effectively changes protocol at TCP level, so it's a separate concern. We can use this issue just for the auth-related problems.

Superseded by egress rules.. and auth sorted out there.


CM-41: Differences between ExpandoObject, DynamicObject and dynamic

Hey @aineaTheSecond,
Can we move the project to csharp-advanced-topics.
Thanks

Two fixes needed to be done, and please update the code in the article as well.

Done


Gigawallet terminates itself if node stops reponding, after some time.

Wen the node is not responding, in my case It was being restarted with the  zapwallettxes=1, GigaWallet server terminates itself instead of waiting for the node to resume
2023/09/03 13:20:18 TipChaser: falling back to getbestblockhash 2023/09/03 13:20:31 TipChaser: core RPC request failed: getbestblockhash 2023/09/03 13:22:02 TipChaser: falling back to getbestblockhash 2023/09/03 13:22:13 TipChaser: core RPC request failed: getbestblockhash 2023/09/03 13:23:46 TipChaser: falling back to getbestblockhash 2023/09/03 13:23:46 TipChaser: core RPC request failed: getbestblockhash 2023/09/03 13:25:17 TipChaser: falling back to getbestblockhash 2023/09/03 13:25:37 TipChaser: core RPC request failed: getbestblockhash 2023/09/03 13:27:08 TipChaser: falling back to getbestblockhash 2023/09/03 13:27:24 TipChaser: core RPC request failed: getbestblockhash 2023/09/03 13:28:54 TipChaser: falling back to getbestblockhash Caught terminated signal, shutting downRequesting shutdown:  MessageBus Requesting shutdown:  Logger ./events.log Requesting shutdown:  Callback sender for: https://shibeship.com/callbacks/ Requesting shutdown:  NewBalanceKeeper Requesting shutdown:  InvoiceStamper Requesting shutdown:  PayMaster Requesting shutdown:  TipChaser Requesting shutdown:  ChainFollower Requesting shutdown:  ZMQ Listener Requesting shutdown:  Payment API Shutdown complete:  PayMaster Shutdown complete:  MessageBus Shutdown complete:  Logger ./events.log Shutdown complete:  Callback sender for: https://shibeship.com/callbacks/ Shutdown complete:  InvoiceStamper 2023/09/03 13:28:54 ChainFollower: received command Shutdown complete:  ChainFollower Shutdown complete:  Payment API 2023/09/03 13:28:54 BalanceKeeper: panic received: shutdown 2023/09/03 13:28:55 TipChaser: core RPC request failed: getbestblockhash Shutdown complete:  TipChaser Shutdown complete:  ZMQ Listener Timeout exeeded waiting for services to stop, shutting down

Hmm, the ZMQ Listener is behaving badly.

Shutdown was caused by the following code:
// This hooks SIGTERM and SIGINT and will shut down the Conductor
// if one is detected.
func HookSignals() func(*Conductor) {
	return func(c *Conductor) {
		sigCh := make(chan os.Signal, 1)
		signal.Notify(sigCh, syscall.SIGTERM, syscall.SIGINT)
		go func() {
			for {
				select {
				case sig := <-sigCh: // sigterm/sigint caught
					c.logf("Caught %v signal, shutting down", sig)
					c.Stop()
					continue
				case <-c.shutdown: // service is closing down..
					return
				}
			}
		}()
	}
}

Which logged the message Caught terminated signal, shutting down
This means the process received a SIGTERM signal, usually caused by pressing Ctrl+C, but also by closing a terminal that runs the program, or shutting down the machine.


how much time does util/importdoc take?

just installing hubzilla on my own little server and waiting for util/importdoc pass for 25 minutes and it hangs still on output
root@<HOST>:/var/www/hubzilla# util/importdoc
doc/AdvancedSearch.md

Should I be more patiant or is there something I miss.
What I did

create new dir /var/www/hubzilla
git clone this repo
chown www-data:www-data -R /var/www/hubzilla
util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
util/importdoc

my system
Ubuntu 16.04.3 LTS
PHP Version => 7.0.22-0ubuntu<IP_ADDRESS>

You should install the app before executing util/importdoc

Ah so this is just a hint for maintenance. THX!


merge from arlac77/npm-package-template-esm-only

README.md

docs(README): update from template

Codecov Report

Merging #142 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #142   +/-   ##
=======================================
  Coverage   90.88%   90.88%
=======================================
  Files           4        4
  Lines         373      373
  Branches       33       33
=======================================
  Hits          339      339
  Misses         34       34

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 302600f...4a6f672. Read the comment docs.

:tada: This PR is included in version 1.5.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add Script Support to Sidecars

Changes

This makes a sidecar behave like a Step, and allows the ability to pass a script argument.
This enables #1856.
To implement this, I created a Sidecar type that was the same as Step.
I then changed convertScripts to accept an image, a slice of steps, and a slice of sidecars, and return the init container, and two lists of containers: one for steps, and one for sidecars.
I also refactored convertScripts to call a helper function, convertListOfSteps, that takes a list of steps to convert, a pointer to the init container to add to, a pointer to placeScripts, and a format string for writing out the heredoc and temp file names.  It returns the converted list of containers.  convertListOfSteps does most of the work that convertScripts does.    Unfortunately this doesn't translate very well to the Github PR viewer, but git diff works fine
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[x] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
Add script support to sidecars

@sbwsg I made the formatting/comment changes you requested.  I need to think a little bit more about the best way to make the convertScript change, because if you call it twice in MakePod you have to keep track of the init container, instead of convertScripts.  Currently, convertScripts handles the init container and appends to it appropriately.

/test pull-tekton-pipeline-integration-tests

@tomgeorge building up the script in the init container definitely complicates things. Looking at it again I think your original solution is good. I was initially wary of the passing a pointer to the placeScripts bool and init container but given the way the code worked before this change I think yours is a sound approach.  So I'm happy to leave things as-is with the two formatting changes.
/lgtm


Prevent rustup update from being run before the target remove logic.

Signed-off-by: Devin Smith<EMAIL_ADDRESS>

@WadeBarnes I did not realize that there are multiple rustup updates in the script.


Error: unable to recognize "STDIN": no matches for kind "Service" in version "serving.knative.dev/v1"

ISSUE:
when running the getting started ko apply script
ko apply -BRf ./config

STEPS TO RECREATE:

create a default cluster in kind
run ko apply -BRf ./config
error

Despair

ENV details:
KIND= kind v0.11.1 go1.16.4 linux/amd64
KO= v0.9.3
K8s= 1.21.1
GO= go version go1.17.3 linux/amd64
Hardware OS = Ubuntu 20.04.2 LTS

resolved by updating to latest knative serving.  and will update getting started PR to include this detail


Maybe feature request : implement "pass by proxy" classes

I started implementation of libui uiArea APIs.
An uiArea expected an uiAreaHandler struct holding pointers to functions that will handle drawing on the area itself:
struct uiAreaHandler {
	void (*Draw)(uiAreaHandler *, uiArea *, uiAreaDrawParams *);
	void (*MouseEvent)(uiAreaHandler *, uiArea *, uiAreaMouseEvent *);
	void (*MouseCrossed)(uiAreaHandler *, uiArea *, int left);
	void (*DragBroken)(uiAreaHandler *, uiArea *);
	int (*KeyEvent)(uiAreaHandler *, uiArea *, uiAreaKeyEvent *);
};

The uiArea widget invoke these functions when it need to redraw the area.
I cannot use class by reference here, because they need to be implemented in js by caller. And neither class by value, because functions will be executed on the native side with them...
So I and up building a struct that hold the needed pointers, and a subsequent set of nbind::cbFunction, one for each function pointer.

typedef struct UiAreaHandler {
	void (*Draw)(UiAreaHandler *self, UiArea *area, UiAreaDrawParams *params);
	void (*MouseEvent)(UiAreaHandler *self, UiArea *area, UiAreaMouseEvent *event);
	void (*MouseCrossed)(UiAreaHandler *self, UiArea *area, int left);
	void (*DragBroken)(UiAreaHandler *self, UiArea *area);
	int (*KeyEvent)(UiAreaHandler *self, UiArea *area, UiAreaKeyEvent *event);

	nbind::cbFunction *draw;
	nbind::cbFunction *mouseEvent;
	nbind::cbFunction *mouseCrossed;
	nbind::cbFunction *dragBroken;
	nbind::cbFunction *keyEvent;
} UiAreaHandler;

Then, I created a set of functions that call the js callbacks, and set their addresses on the struct, e.g.:
void Draw (UiAreaHandler *self, UiArea *area, UiAreaDrawParams *params) {
	(*(self->draw))();
}

And a factory function that is called from javascript with a set of js functions as arguments:
UiAreaHandler * UiAreaHandlerFactory::build(
	nbind::cbFunction &drawCb,
	nbind::cbFunction &mouseEventCb ,
	nbind::cbFunction &mouseCrossedCb,
	nbind::cbFunction &dragBrokenCb,
	nbind::cbFunction &keyEventCb
) {
	UiAreaHandler *handler = new UiAreaHandler();

	handler->draw = new nbind::cbFunction(drawCb);
	handler->mouseEvent = new nbind::cbFunction(mouseEventCb);
	handler->mouseCrossed = new nbind::cbFunction(mouseCrossedCb);
	handler->dragBroken = new nbind::cbFunction(dragBrokenCb);
	handler->keyEvent = new nbind::cbFunction(keyEventCb);

	handler->Draw = Draw;
	handler->MouseEvent = MouseEvent;
	handler->MouseCrossed = MouseCrossed;
	handler->DragBroken = DragBroken;
	handler->KeyEvent = KeyEvent;

	return handler;
}

So, I get a struct shaped like libui wants, and every time it call one of the functions in the struct, I call the corresponding js callback.
The APIs are not completed yet, but the method seems to work well...

Do you see a way to simplify this stuff?
Do you think this kind of use case could be automated by nbind in a future release?

Oh if you want to give a look, the partial implementation is here

That's a very clever way to solve the problem, but are you sure it's meant to be used that way? It sounds a bit dangerous to add new fields to the struct, in case libui then makes a copy of it for some reason without knowing about the added fields. Does libui guarantee it's OK to extend it like that? Currently it does seem like libui assumes (requires even) that you keep ownership of the uiAreaHandler contents so it seems fine, but I can't find anything in the docs...
I can't think of what nbind could do to make this cleaner while also useful with other libraries.

I can't think of what nbind could do to make this cleaner while also useful with other libraries.

A similar pattern could be used every time a native lib require you to pass an object with methods you have to implement in javascript. I can't think of an example at the moment, but I'm sure there are many...

Currently it does seem like libui assumes (requires even) that you keep ownership of the uiAreaHandler

Uhm I didn't thought about this problem. I think it did, but I will ask @andlabs for a confirmation..
Thank you for the advice...

Yes, you keep ownership of the uiAreaHandler. libui only cares about the address you give uiNewArea(); it doesn't copy anything. You can even use the same uiAreaHandler on multiple uiAreas, which is why you get the uiArea as a parameter in each function.
In fact, this is the intent of the design: you make the first field of your handler struct a uiAreaHandler and stick extra fields at the end, like in COM or C++. Some people have asked for the more conventional void *data extra parameter, but...

Fine @andlabs, thank you!

I think most libraries use the void *data approach and take ownership of the function pointers, so that would require a different approach to automatize through nbind. The current libui binding code looks pretty clean so I'll consider extra support if more similar cases come up, but the current situation seems acceptable.


Error sending event

Tried sending an event returns error.
Here
{
"statusCode":400,
"message":"payload is missing required key(s) and type(s): reminderDate (ISO Date)","error":"Bad Request"
}

Payload


Remove specifying version for mail

Since the issue requiring that pinning in the first place is fixed https://github.com/mikel/mail/issues/1489

Better one here https://github.com/alphagov/frontend/pull/3513


ModernizeStrposFixer - fix for negated with leading slash

Coverage increased (+0.001%) to 92.819% when pulling c499d1137645493a440d10b5f6eb1859d1cf1ef1 on kubawerlos:fix_ModernizeStrposFixer into 0708baf6ad6e22ce3a5d8af75bfa42916866e90e on FriendsOfPHP:master.

Thank you @kubawerlos.


Pass --disk-cache-path option to PhantomJS

--disk-cache-path is a new PhantomJS option to specify the location of
the disk cache. See https://github.com/ariya/phantomjs.
#1379

Trivial change, checks pass. No need to add documentation for that, because there already is an example how to pass engine options in cli.rst. Merging.


Transaction payment API cannot handle fee that is too high

https://github.com/paritytech/substrate/blob/00a400f82539e2f78e8ddbcd98aea512c87c5f3c/frame/transaction-payment/rpc/runtime-api/src/lib.rs#L54
This is causing issue for us.
On surface u64 supports value up to ~10^19, which is enough for most of the chains even if their token have 18 decimals (which we do).
But we are having issue that because the number is serialized as a number literal in JSON and BN.js will throw if the value is more than Number.MAX_SAFE_INTEGER which is (2^53 -1). So the real save range that polkadot.js can handle is only up to ~10^16. That is a much more limited range.
We should instead serialize the partial_fee into a string, rather number. This will also allow it support u128 type or whatever the type Balance is.

As commented in the PR. I don't think that it is a good idea to change the Rust implementation because of some flaws on the JS side which clearly should be solvable.

Do you have an actual example of a breakage? The reason why I am asking is that this is not the only place this happens, ie. large numbers going into JSON.
What I do recall (and I don’t have an example) is that the serialization (serde) actually does go into hex when the value is too large. (At least, that is what I recall seeing elsewhere - and it has been a while on these)
So here would really try to get a example of the failure described.

@jacogr https://console.acala.network/#/explorer
Attempting to submit transaction will cause this error (and bunch other unrelated errors)
VM337:37 2020-02-12 23:06:03        RPC-CORE: queryInfo(extrinsic: Bytes, at?: BlockHash): RuntimeDispatchInfo:: createType(RuntimeDispatchInfo):: Struct: failed on 'partialFee':: Assertion failed
window.console.error @ VM337:37
main.63aed445.js:65 Uncaught (in promise) Error: queryInfo(extrinsic: Bytes, at?: BlockHash): RuntimeDispatchInfo:: createType(RuntimeDispatchInfo):: Struct: failed on 'partialFee':: Assertion failed
    at e.selector (main.63aed445.js:65)
    at e.error (vendor.10c9733c.js:1)
    at e._next (vendor.10c9733c.js:8)
    at e.next (vendor.10c9733c.js:1)
    at e.notifyNext (vendor.10c9733c.js:1)
    at e._next (vendor.10c9733c.js:8)
    at e.next (vendor.10c9733c.js:1)
    at e.notifyNext (vendor.10c9733c.js:8)
    at e._next (vendor.10c9733c.js:8)
    at e.next (vendor.10c9733c.js:1)

@bkchr I disagree with you. I believe it is Substrate's issue that the transaction payment API cannot handle fees with more than u64::max_value(). The fact JS parser can only handle up to 2^53 is kind of unrelated. It is perfectly legit that a chain may want to have fee that is more than u64::max_value given that the Balance type is generic and is usually u128 and can be U256.

Given your description I thought that you want to workaround some JS problems.
But you are right that we currently use u64 to workaround bugs in serde with u128. Not a huge fan to store the stuff in a String, but there is no better solution for now.


refactor: normalize error logging

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation
Enforce that every catch clause re-throws the error instead of wrapping it in a new error constructor. This way we can be safe even when the thing being caught is not an error, and also benefit from getting full stack traces.
Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

This way we can be safe even when the thing being caught is not an error, and also benefit from getting full stack traces.

I don't think it's common these days to throw something else than an error 🤷♂
The good solution would be error cause, stage 4 and afaik in Node 18
Wonder if we should wait minVersion=18 to adopt it 🤔

Right, we definitely need to try it out in the future—just probably not any time soon...

I don't think it's common these days to throw something else than an error

See https://github.com/facebook/docusaurus/issues/6606 for example. It's not common but better be prepared.


Jumbo payload failed in cilium v1.5.6 and after

Bug report

General Information

Cilium version (run cilium version) 1.6 and above
Kernel version (run uname -a)  4.19.106-coreos
Orchestration system version in use (e.g. kubectl version, Mesos, ...)
Link to relevant artifacts (policies, deployments scripts, ...)
Upload a system dump (run curl -sLO https://github.com/cilium/cilium-sysdump/releases/latest/download/cilium-sysdump.zip && python cilium-sysdump.zip and then attach the generated zip file)

How to reproduce the issue

instruction 1
our services have huge payload is much larger than 8842 in below. We don't set mtu flag in cilium-agent (cilium pods).
from ciliums logs we observed something: cilium v1.6.6

-> stack flow 0xb36bdae0 identity 37560->63143 state established ifindex 0: <IP_ADDRESS>:46866 -> <IP_ADDRESS>:8375 tcp ACK
-> endpoint 2483 flow 0x4c8bbffd identity 1->37560 state established ifindex lxcf9eb6e4589a7: <IP_ADDRESS> -> <IP_ADDRESS> DestinationUnreachable(FragmentationNeeded)

187:~# ip r s
default via <IP_ADDRESS> dev eth0 proto dhcp src <IP_ADDRESS> metric 1024
<IP_ADDRESS>/22 dev eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS> dev eth0 proto dhcp scope link src <IP_ADDRESS> metric 1024
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS> dev cilium_host scope link
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
set cilium_vxlan to match with lxc_health size (9001) as suggestion from @jrfastab but does not work. (cilium v1.6.6)
Default it is 1500
~# ip a show cilium_vxlan
6: cilium_vxlan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether aa:2b:7d:19:47:f3 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a82b:7dff:fe19:47f3/64 scope link
valid_lft forever preferred_lft forever
We know that if we revert to cilium 1.5 our services is working fine.
Or if we set override --mtu 30000 in cilium-agent daemonset with cilium v1.6.6 (or v1.7.2) our services also back to normal.
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 29841

Further investigating the issue we found out that actually our services with jumbo payload started failing first in cilium v1.5.6 it is working fine with cilium v1.5.5
Here is ip  r s in cilium v1.5.6 that we captured:
ip r s
default via <IP_ADDRESS> dev eth0 proto dhcp src <IP_ADDRESS> metric 1024
<IP_ADDRESS>/22 dev eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS> dev eth0 proto dhcp scope link src <IP_ADDRESS> metric 1024
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS>

ip r s in cilium v1.5.7 where it broke also:
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/24 via <IP_ADDRESS> dev cilium_host src <IP_ADDRESS> mtu 8842
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown

Is it that the MTU is not detected correctly? It doesn't look like you are running with encapsulation enabled. Are you running with encryption enabled which will reduce the MTU to account for overhead?

we did ran with encapsulation assuming this traffic below seem being encrypted
tcpdump -n -i cilium_vxlan
21:11:12.752716 IP <IP_ADDRESS> > <IP_ADDRESS>: ESP(spi=0x00000001,seq=0xe13), length 4196
21:11:12.752870 IP <IP_ADDRESS> > <IP_ADDRESS>: ESP(spi=0x00000001,seq=0xe14), length 1684
21:11:12.754468 IP <IP_ADDRESS> > <IP_ADDRESS>: ESP(spi=0x00000001,seq=0x122e), length 100

@CH-anhngo did you mean v1.6.6 and after? That's what the description says. Are you implying that v1.6.5 works? Which versions did you try?

@joestringer we initially tried with v1.6.6 - that's why the initial description has that version in it.  Today, though, we rolled back versions until we noticed things working again.  Starting with a hypothesis that something in https://github.com/cilium/cilium/pull/8949 broke our use case, we tried v1.5.7 and could reproduce the error.  We then tried v1.5.6 and again were able to repro.  v1.5.5 was the first version that tested clean.

We're working through a bisect at the moment to try to pinpoint a specific commit that may have caused this regression.

This is bisect and test build outcome:
ad247126626174dd14876fd9128d2316cbb9cc51 is the first bad commit
commit ad247126626174dd14876fd9128d2316cbb9cc51
Author: bob<EMAIL_ADDRESS>Date:   Thu Jul 25 19:36:44 2019 +0200
    [daemon] - Change MTU source for cilium_host (Use the Route one)
    [ upstream commit 86f926e816dc871bdd985c82f556644aae58c6d9 ]
    * for pods in hostNetwork the mtu was the same a the default interface.
      Packets were thus dropped once the stream was encrypted.
    Fixes: 1ce278f ("daemon: move IPSec bootstrap into separate function")
    Signed-off-by: Ray Bejjani<EMAIL_ADDRESS>:040000 040000 d55b9a8f662925e7bc37f55e10a37f5f5904ccbf 48a1f989abf4ba4ef0fa8868e44bf7b5d2fd3d4f M	daemon

Also @ch-dimitri figured out that 86f926e got got reverted in https://github.com/cilium/cilium/pull/8882, but then https://github.com/cilium/cilium/pull/8903 broke our services  in v1.5.7. By syncing up with @jrfastab we understood that the #8903 exists because it fixes an another bug( so it can't simply revert it to fix our use case). That we are up now.

@joestringer @tgraf has this concluded offline in some way, in which case an update would be good, or is this still needs addressing?

I think we got as far as to bisect the commit where the regression was introduced, but that commit was fixing another bug so we couldn't just revert it. I don't know if it's still a problem with the latest 1.9.0 release.

@CH-anhngo could you test this either with 1.9 or 1.10 please?

I'll see if we can run a test with 1.10 sometime in the next month or so.

@ch-dimitri @CH-anhngo, any news?

We weren't able to test up to 1.10, but preliminary tests with 1.7.16 look promising. We haven't observed the jumbo packet failures with transparent encryption enabled that we had with 1.5.6 and 1.6.6. But, we have yet to fully roll out the change because inter-version connectivity is broken: nodes running 1.5.4 can't communicate with nodes running 1.7.16, and vise versa. We don't yet know why and are debugging that issue.

@ch-dimitri Note upgrades from v1.n.x to v1.n+2.y are not supported. So if you're hitting connectivity issues with a cluster of v1.5.4 + v1.7.16, it's not unexpected. Our test don't cover that case. Both of these versions are also deprecated now.

I'm aware, @pchaigno, but as 1.6.6 has the problem described in this issue, we weren't able to do the stepwise upgrade. We're also considering building a new cluster and shifting workloads, but that comes with its own set of concerns.

We did try 1.6.12 now, and that seems to not evidence this issue, but 1.5.4 can't talk to that version, either. Shouldn't 1.5.4 be able to communicate with 1.6.12? If that is so, then we do have a separate issue.

Small-scale rollout of v1.7.16 proved that the jumbo packet failure issue is still present in that version. It's unclear why that didn't show up in our initial tests, but we've been able to reproduce the issue on our test cluster.