feat: add totalFees to global variables

Add totalFees to global variables. Update the spec.
Note: we could have had the L1 rollup contract iterate over all the tx_effects and pay out that way. Doing it ourselves in the circuit feels cheaper though, and maybe safer for a world where:

tx_effects are spread over multiple l1 blocks
tx_effects are published as blobs so we wouldn't have direct access to math over them on l1.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6439  👈
#6436
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @just-mitch and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

circuit_proving_time_in_ms (merge-rollup): 2,406 (-36%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772 (+4%)
772 (+4%)
772 (+4%)

l1_rollup_calldata_gas
6,820 (+2%)
6,808 (+2%)
6,796 (+2%)

l1_rollup_execution_gas
587,349
587,337
587,325

l2_block_processing_time_in_ms
1,357 (-1%)
5,060
10,060

l2_block_building_time_in_ms
23,034 (+1%)
90,537
180,239

l2_block_rollup_simulation_time_in_ms
22,890 (+1%)
90,044
179,280

l2_block_public_tx_process_time_in_ms
9,049 (+1%)
35,605 (+1%)
70,894

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,609 (+1%)
28,788 (+1%)

node_database_size_in_bytes
22,872,144
39,526,480

pxe_database_size_in_bytes
29,868
59,425

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes
circuit_witness_generation_time_in_ms
circuit_proving_time_in_ms
circuit_proof_size_in_bytes

private-kernel-init
111 (-1%)
16,804
33,830
N/A
N/A
N/A

private-kernel-inner
313 (+1%)
57,703
33,830
N/A
N/A
N/A

private-kernel-reset
557
200,920
33,830
N/A
N/A
N/A

private-kernel-ordering
321 (+1%)
53,752
48,485
N/A
N/A
N/A

base-parity
7.58 (+1%)
128
64.0
289 (-1%)
13,347 (-2%)
2,208

root-parity
48.5
27,064
64.0
222 (+7%)
181,887 (-3%)
2,720

base-rollup
662
111,190
957 (+3%)
7,353 (+4%)
158,729 (-4%)
3,136 (+1%)

root-rollup
63.8 (+1%)
11,518 (+1%)
821 (+4%)
192 (+2%)
16,508 (-3%)
3,456 (+1%)

public-kernel-app-logic
122
61,145
51,815
357 (+4%)
421 (+13%)
65,408

public-kernel-tail
438
166,522
7,755 (+1%)
477 (+1%)
419
10,176 (+1%)

public-kernel-setup
101 (+1%)
61,145
51,815
302 (+1%)
398 (-7%)
65,408

public-kernel-teardown
104 (+1%)
61,145
51,815
294 (+7%)
341 (-2%)
65,408

merge-rollup
6.55 (+3%)
2,760 (+2%)
957 (+3%)
115 (-24%)
:warning: 2,406 (-36%)
3,136 (+1%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
11.0
18.0 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.641
0.553 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
52.4 (+1%)
81.3 (+1%)
263 (+1%)
511 (+2%)
992 (+1%)
1,960 (+1%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.534 (+1%)
0.502 (+1%)
0.477 (+1%)
0.477 (+1%)
0.471 (+1%)
0.468 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
61.3
119
377
745 (+1%)
1,470
2,919 (-1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
106
208
692
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.535
0.536
0.513
0.513 (+1%)
0.510
0.508 (-1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
67.2

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
108

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.588

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,080
1,046,671

Transaction size based on fee payment method
| Metric |  |
| - |  |
Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
2,375 (+1%)
2,120
5,267 (+1%)

Metric
0 public data writes
1 public data writes
2 public data writes
4 public data writes
8 public data writes

tx_sequencer_processing_time_ms
662
896
961
1,757
1,151 (+1%)

Docs Preview
Hey there! 👋 You can check your preview at https://6645e5104ad2a692e4b27d48--aztec-docs-dev.netlify.app

so maybe it should be directly in the Header and not within its global_variables?
@spalladino I was kind of thinking the same thing. @LeilaWang , @LHerskind . Thoughts?

Agree with Palla!

Close in favor of #6522


reflect: the string representation of the type with anonymous fields and created by StructOf looks the fields are not anonymous

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.10.2 linux/amd64
Does this issue reproduce with the latest release?
yes
What did you do?
package main

import "fmt"
import "reflect"

type MyInt int

func main() {
	type T = struct {
		MyInt
	}
	fmt.Println(reflect.TypeOf(T{})) // struct { main.MyInt }

	var n MyInt
	tn := reflect.TypeOf(n)
	// panic: reflect.StructOf: too many methods
	tt := reflect.StructOf([]reflect.StructField{
		{Name: "MyInt", Type: tn, Anonymous: true},
	})
	fmt.Println(tt) // struct { MyInt main.MyInt }
}

What did you expect to see?
struct { main.MyInt }
struct { main.MyInt }

What did you see instead?
struct { main.MyInt }
struct { MyInt main.MyInt }

btw, gccgo print:
struct { main.MyInt }
struct { ? main.MyInt }

/cc @crawshaw @josharian

Maybe this problem is caused by the two facts combined:

we can't declare types through reflection now.
gc doesn't trace names of alias types at run time.

package main

import "fmt"
import "reflect"

type MyInt = int

func main() {
	type T = struct {
		MyInt
	}
	t := reflect.TypeOf(T{})
	fmt.Println(t) // struct { int }
	                    // The above line should print struct { main.MyInt }.
	                    // gccgo does it right.
	var n int
	tn := reflect.TypeOf(n)
	// panic: reflect.StructOf: too many methods
	tt := reflect.StructOf([]reflect.StructField{
		{Name: "MyInt", Type: tn, Anonymous: true},
	})
	fmt.Println(tt) // struct { MyInt int }
	                     // The above line should print struct { main.MyInt }.
	fmt.Println(t == tt) // false (should be true)
}

Possibly related to https://github.com/golang/go/issues/24781 and https://github.com/golang/go/issues/24721


Questions on how the cors middleware works

In the following LoC, cors defaults to the 1st origin in a provided list of origins when it is not able to find a match.
https://github.com/honojs/hono/blob/ea67919b8215ef9eed4f91fc85e4fda71c70d482/src/middleware/cors/index.ts#L30
It is mainly due to the request URL does not have origin/ Origin header set. However, this raises a few questions:

Should an incoming request be allowed when it is not one of the allowed origins?

Why is the 1st origin being used as the default origin?

While HTTP headers are not case sensitive, does the middleware also need to look for the request origin from the Origin header instead of just origin, like c.req.headers.get('Origin')?
https://github.com/honojs/hono/blob/ea67919b8215ef9eed4f91fc85e4fda71c70d482/src/middleware/cors/index.ts#L39

Thanks in advance.

Hi @motss !

Should an incoming request be allowed when it is not one of the allowed origins?

I'm not sure I understand the question, but probably no.

Why is the 1st origin being used as the default origin?

It's just the way it is. Since we cannot set multiple origins to Access-Control-Allow-Origin, we have decided to use the first one registered.

While HTTP headers are not case sensitive, does the middleware also need to look for the request origin from the Origin header instead of just origin, like c.req.headers.get('Origin')?

c.req.headers.get('origin') can match Origin, not only origin.


[stable/datadog] Adding full datadog role permissions

Follow on to https://github.com/kubernetes/charts/pull/2769
Datadog requires permissions to integrate with kubernetes beyond what it needs for leader election.

@dhilipkumars can you help with this PR? There were a few in-flight PRs around Datadog RBAC that were waiting to get merged. See also https://github.com/kubernetes/charts/pull/2474

/ok-to-test

@dhilipkumars does anything else need to happen before this gets merged?

/assign

/lgtm

@awwithro Merged now , sorry for the delay.


[incubator/jaeger] Disable the Agent DaemonSet

Adding a way to disable the Agent DaemonSet (to let the user run it as a sidecar container)
I wasnt sure if the property should be named agent.enabled or agent.daemonset.enabled
Note: the new version is 0.2.2 because I already tagged this one as 0.2.1 (both could be changed tho) https://github.com/kubernetes/charts/pull/2845

Make sense! LGTM

/ok-to-test

/lgtm


bugfix: throw error when ParseLabels was passed with conflict

Signed-off-by: maoyiwei<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
I noticed that there is a FIXME in labels_test.go so I write this pull request
bugfix: labels.go: throw error when ParseLabels was passed with conflicted labels
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@HusterWan @ZYecho Ok, I will close this pr


Max rate limit reached

When using Polygon chain, I always only get the message "Max rate limit reached" and no approvals are shown.

I'm using MetaMask wallet and moralis.io speedy node.  But thanks for the idea, i will try the official Polygon node and let you know if it works.  I forgot I had changed the node.

Hmm weird. It works when I try it. Are you on MetaMask desktop or mobile?

MetaMask desktop.
I do probably have quite a few NFT and Token approvals - the polygonscan app says there are 138, hence why I want to revoke some, but maybe this is causing it to hit a rate limit?

Hmm alright. Could you send me your address? Can send it in DM (@RevokeCash on twitter) if you prefer.

Thanks! I can reproduce the issue for your address. Will look into it.

Contact the support center to chat with a live agent on a live chat to report this for further assistance via LIVE CHAT

When did GitHub allow these scam responses. It would be nice to be able to report or flag scams like this.

Just deleted the spam response. Crazy that they're infiltrating to GitHub issues as well 😅

A fix for this issue has been deployed. It ended up taking much longer than expected, but it should be working now. Keep in mind that the load time of addresses like this will be much higher than average, but at least it does work now. Feel free to re-open if you run into any related issues.


Update Header to Climate-Coop Branding

Description
There recently was a "brand" swap. there are still some leftover remnants of the old brand. These need to be updated to Climate Cooperative logos and resources.
Update the Header component (src/components/Results/Header/header.jsx), so that:

The anchor ref on the logo redirects to https://www.climate-cooperative.org in a new tab (target=_blank)
The image is the one provided.

Technical Notes
[Add Technical notes]
Risks
Image to be provided
Related Issues Or Discussions
[...Issues]

The Image is to be provided. Assume that the dimensions will remain the same.

@rgraue - for the public the project, do we want to include any logo at all?  My thinking is that people could include whatever branding they want for their own use case.  I just used the creative commons license of a NASA picture of the earth for the Climate Cooperative for now.  Let me know your thoughts.

Here is the specific page we are talking about.  For now, we can just remove the Zwell Logo and replace with the Climate Cooperative using some typeface.

@cooper-roper - are you able to finish this issue?


persistence-modules/spring-data-jpa tests don't run

The tests in spring-data-jpa don't run. Would be better if the services & the domain models are organised for improved readability. The StudentRepositoryIntegrationTests don't run as well.

Hello,
Not sure what am i missing here. Yes. I'm using the latest master branch, without changes. Thru eclipse IDE, when i run the specific tests (only that) file, its running with JUnit4 (JUnit5 isn't working,may be IDE bug) with some exceptions.
Thru command line when i try to run, it isn't picking up the tests. thank you.


Restrict filters to images

Fix #54
Test URLs:

Before: https://main--franklin-assets-selector--hlxsites.hlx.live/aem-asset-selector
After: https://i-56--franklin-assets-selector--hlxsites.hlx.live/aem-asset-selector

Approving - but with a caveat: does it let us still see folders? Because without a good tree navigation, showing folders in the same view is the only way we got to navigate.

Good call out! Yes it seems to remove the folders from view. Following up on this here.


Feat: Add a scroll bar complementing the theme of the website

Describe the feature
The current scroll bar makes the website less visually appealing. beautifying the scroll bar by altering its width and color can improve the user experience and better visual appeal
Add ScreenShots
Current scroll bar:

After adding custom scrollbar:

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hello @Amruta7203!
please fix the asssigned issues first and let me know when u are done with them first.

Hey @Amruta7203 !
I dont think there is a need for a custom scroll bar instead we should remove it all apart from the website.
keep looking for other issues in the repo.
happy coding ✨


RFC: Support for dot syntax on @param

I'm currently working with d.ts files where methods taking object parameters are documented with the following approach:
/**
* Method description.
* @param options addItemOptions - e.g. { id: 1234, title: "someTitle" }
*             id: The unique identifier.
*             title: The title to assign.
**/

It's challenging to parse and auto-generate documentation for these parameters given this approach. Ideally there'd be support for dot syntax e.g.:
@param options.id - The unique identifier.
@param options.title - The title to assign.

For APIs intended for third parties, generally we recommend to give a name to the interface, for example:
/** Options for {@link ItemCollection.add} */
interface IAddItemOptions {
  /** the identifier */
  id: string;
  /** a title, not to exceed 40 characters */
  title: string;
}

class ItemCollection {
  /**
   *  Adds an item to the collection
   * @param options - information about the item to be added
   */
  public add(options: IAddItemOptions): void {
  }
}

Naming the interface improves the structure of the documentation.  It also helps developers when they need to work with the object independently, for example:
const options: IAddItemOptions = this.getOptions();
collection1.add(options);
collection2.add(options);

That said, I believe TypeDoc supports the @param options.id notation.  If people find it useful, we could include it in the TSDoc standard.

What's the long term plan for TSDoc? Will we be able to use it to annotate vanilla JavaScript like the current JSDoc support? In those cases the it's crucial to be able to declare an interface in the comments or document @param properties.

@seanpoulter I moved your question into a separate issue, since it's a separate topic.

An additional point to consider when reviewing the dot syntax is the values might not be valid identifiers. When describing a tuple type, it would be great to be able to be able to use a.0 and a.1.

I wouldn't put this functionality in the initial version of TSDoc, because we could go forever like that and not release anything as it's been quite some time already. I'd rather have a working version using non-exported interfaces to document function parameters rather than postpone release by whatever amount of time with more functionality.
@pgonzal, if you add me to admins of the project (or whatever role I could be), I could structure things with releases and add initial versions to the issues. If we get arguments saying that something is super important and should be done from the get go, we can always change priorities. But it would be clear to everyone what are we aiming at.

What's more of a pain to document is destructured arguments:
/**
 * Call home.
 * @remarks
 * This texts Mom a message.
 * @param message - The message to send to Mom
 * @param ? - The number of seconds to delay calling home
 * @public
 */
function callHome (message: string, { delay = 0 }: { delay?: number } = {}) {
  // TODO: send a text to Mom!
  throw new Error('Unimplemented')
}

@dschnare do people commonly do this in a real world public API?
This practice seems to be entangling the internal implementation details of callHome() with its public API signature.  It makes things more concise for the person who's writing the code, but at the expense of hindering our ability to help other people read and understand the code.  One of my personal soapboxes is:  Reading > Writing.  (Writing code is fun and easy.  But enabling others to understand and extend a code base is hard work, and a more important goal.)
From a documentation standpoint, destructuring has some downsides:

There's no name that we can use to discuss the second parameter of this function.
If a caller wants to construct and reuse that parameter, they can't easily declare its type
If we later want to deprecate the delay option, or write examples for it, there's no place to put that

For an external-facing API, my own team would normally want to convert it to something like this:

/** Options for the `callHome()` API */
export interface ICallHomeOptions {
  /**
   * The number of seconds to delay calling home
   * @defaultValue 0
   */
  delay?: number;
};

/**
 * Call home.
 *
 * @remarks
 * This texts Mom a message.  If you want to delay the message,
 * consider using {@link ICallHomeOptions.delay}.
 * @param message - The message to send to Mom
 * @param options - Additional options
 * @public
 */
function callHome (message: string, options?: ICallHomeOptions = {}) {
  // TODO: send a text to Mom!
  throw new Error('Unimplemented')
}

So now a caller can do this:
// Using this:
function getStandardOptions(scenario: Scenario): ICallHomeOptions {
  . . .
}

callHome(message, this.getStandardOptions(Scenario.Intranet));

And someone can open a GitHub issue complaining that ICallHomeOptions.delay is broken, and we know what they're talking about.

@dschnare do people commonly do this in a real world public API?

I have struggled with this use case trying to add type information to a vanilla JS for some time. I wouldn't go so far as to call it the "public API" but this is common practice when consuming props in a React component. I've found the first argument destructured ~450 times in ~300 files in an e-commerce website I work on. If you have access to any other React repos, try searching for const [^ ]+ = \(\{.

I agree with @pgonzal's comments. IMO it would be better to define an interface. Instead of destructuring in the function arguments, I would also recommend destructuring within the function body. I'm not sure if you were counting this in your react repo but I wanted to note that alternative which I find makes the function signature easier to understand.
It may be common not to create an interface for function arguments, however I don't think TSDoc should be complicated because of this pattern when there is a clear alternative.
/** Options for the `callHome()` API */
export interface ICallHomeOptions {
  /**
   * The number of seconds to delay calling home
   * @defaultValue 0
   */
  delay?: number;
};

/**
 * Call home.
 *
 * @remarks
 * This texts Mom a message.  If you want to delay the message,
 * consider using {@link ICallHomeOptions.delay}.
 * @param message - The message to send to Mom
 * @param options - Additional options
 * @public
 */
function callHome (message: string, options?: ICallHomeOptions = {}) {
  const { delay = 0 } = options;

  throw new Error('Unimplemented')
}

I think you've nailed it for the public API. 👌
I've been brainstorming variants but haven't converged on anything I like. I've shared the variants I've thought of below. If anything, you've won me over that adding the interface is the way to go. It's readable and reduces the complexity to parse things.

Brainstorming ... 💭
I've mashed this into a JSDoc comment in the past which doesn't work as you add members or descriptions:
/** @param {name: string, age: number} ? - A person */
const toExample = ({ name: n, age: a }) => `${n} - ${a}`;

Consider the case when you refactor a function that has too many arguments to use named arguments with default values. The dot notation is great for this case. You can see the repetition of  * @param args. adds to the clutter -- the interface is looking better.
const bad = (a, b, c, d, e, ...rest) => {};
// This is called as: bad('foo', null, null, FORM.FOO_ID, 1)

/**
 * @param args
 * @param args.a - Placeholder
 * @param args.b - Accepted values
 * @param args.c - Validation functions
 * @param args.d - Field ID
 * @param args.e - Tab index
 */
const better = ({ a, b = null, c = null, d = null, e, ...rest }) => {};

It would be nice to remove the args. and have an anonymous argument. Naming things is hard. The ??? placeholder is really awkward and it's clear that this would look better expanded -- like the interface.
/**
 * @param message
 * @param ???.delay - The seconds ... etc
 */
const callHome = (message: string, { delay = 0 } = {}) => {};

If we got a little crazy, we could drop the parent object(s) from the annotation and only document the values after they're destructured and renamed and let the type inference pick up the slack:
/**
 * @param' n - First name
 * @param' a - Age
 */
const toExample = ({ name: (n: string), age: (a: int) }) => `${n} - ${a}`;

I would also like to see this implemented, as sometimes it doesn't make sense to introduce an interface for optional named parameters.
For reference, here is the documentation for the same feature in JSDoc: https://jsdoc.app/tags-param.html#parameters-with-properties

Seems reasonable. :+1:

I understand @octogonz argument from 2018. In most cases, it's probably best to define an explicit arguments type.
However, I would still like ergonomic support for anonymous object argument types in TSDoc.

I'm migrating a legacy codebase to TS. I can give @octogonz' recommendation for writing new code and refactoring, but I'd like a lower barrier to entry for TS for the legacy code.
Sometimes in JS, I see an object used essentially as "named arguments to a function":

declare function f({a, b}: {a: string; b: boolean});

type FArgs = {a: string; b: boolean};
declare function f({a, b}: FArgs);

Arguably, creating FArgs is a bit redundant; why couldn't we just do Parameters?
Even if @octogonz approach is right 90% of the time, I like the idea of providing the option for anonymous object function args for the 10% where it is actually more readable, and trusting devs to make the right call.

With regards to @octogonz' specific documentation downsides:

There's no name that we can use to discuss the second parameter of this function.

To me, in the example I listed above, someone could say "parameter a passed to f" and I'd understand exactly what they meant.

If a caller wants to construct and reuse that parameter, they can't easily declare its type

They can, with Parameters<typeof f>.

If we later want to deprecate the delay option, or write examples for it, there's no place to put that

I think the TSDoc for f would be a perfectly fine place for examples.

I understand @octogonz argument from 2018. In most cases, it's probably best to define an explicit arguments type.
However, I would still like ergonomic support for anonymous object argument types in TSDoc.

I'm migrating a legacy codebase to TS. I can give @octogonz' recommendation for writing new code and refactoring, but I'd like a lower barrier to entry for TS for the legacy code.
Sometimes in JS, I see an object used essentially as "named arguments to a function":

declare function f({a, b}: {a: string; b: boolean});

type FArgs = {a: string; b: boolean};
declare function f({a, b}: FArgs);

Arguably, creating FArgs is a bit redundant; why couldn't we just do Parameters?
Even if @octogonz approach is right 90% of the time, I like the idea of providing the option for anonymous object function args for the 10% where it is actually more readable, and trusting devs to make the right call.

With regards to @octogonz' specific documentation downsides:

There's no name that we can use to discuss the second parameter of this function.

To me, in the example I listed above, someone could say "parameter a passed to f" and I'd understand exactly what they meant.

If a caller wants to construct and reuse that parameter, they can't easily declare its type

They can, with Parameters<typeof f>.

If we later want to deprecate the delay option, or write examples for it, there's no place to put that

I think the TSDoc for f would be a perfectly fine place for examples.

This seems fine to me, particularly since JSDoc has the same solution:
/**
 * @param args
 * @param args.a - Placeholder
 * @param args.b - Accepted values
 * @param args.c - Validation functions
 * @param args.d - Field ID
 * @param args.e - Tab index
 */
const better = ({ a, b = null, c = null, d = null, e, ...rest }) => {};

I think we could update the TSDoc parser to support this pretty easily.
👉 Let's make a PR to support that at least, since it probably covers 95% of use cases.
Documenting more elaborate structures like this example from JSDoc seems more sketchy:
/**
 * Assign the project to a list of employees.
 * @param {Object[]} employees - The employees who are responsible for the project.
 * @param {string} employees[].name - The name of an employee.
 * @param {string} employees[].department - The employee's department.
 */
Project.prototype.assign = function(employees) {

It implies a complete grammar for referring to nested members (analagous to the declaration reference syntax that we use for {@link} tags -- but different because it traverses runtime objects rather than types).
That seems like overengineering. The frankly simplest approach would be to put the doc comments inline, something like this:
export function f(a: {
  /**
   * the docs for `b`
   */
  b: {
    /**
     * the docs for `b`
     */
    c: number;
  }[];
}): void {}

When I tried this, the TypeScript compiler faithfully emitted these comments in the .d.ts files, and VS Code IntelliSense seems to recognize it.  So we would simply want to formalize it a bit:

What subset of TSDoc tags are allowable in nested members?
Where is a comment allowed?
How should a documentation website render such documentation?  TSDoc doesn't need to dictate this, but we should provide a reference example to illustrate that the design doesn't have any gaps.

This seems fine to me, particularly since JSDoc has the same solution:
/**
 * @param args
 * @param args.a - Placeholder
 * @param args.b - Accepted values
 * @param args.c - Validation functions
 * @param args.d - Field ID
 * @param args.e - Tab index
 */
const better = ({ a, b = null, c = null, d = null, e, ...rest }) => {};

I think we could update the TSDoc parser to support this pretty easily.
👉 Let's make a PR to support that at least, since it probably covers 95% of use cases.
Documenting more elaborate structures like this example from JSDoc seems more sketchy:
/**
 * Assign the project to a list of employees.
 * @param {Object[]} employees - The employees who are responsible for the project.
 * @param {string} employees[].name - The name of an employee.
 * @param {string} employees[].department - The employee's department.
 */
Project.prototype.assign = function(employees) {

It implies a complete grammar for referring to nested members (analagous to the declaration reference syntax that we use for {@link} tags -- but different because it traverses runtime objects rather than types).
That seems like overengineering. The frankly simplest approach would be to put the doc comments inline, something like this:
export function f(a: {
  /**
   * the docs for `b`
   */
  b: {
    /**
     * the docs for `b`
     */
    c: number;
  }[];
}): void {}

When I tried this, the TypeScript compiler faithfully emitted these comments in the .d.ts files, and VS Code IntelliSense seems to recognize it.  So we would simply want to formalize it a bit:

What subset of TSDoc tags are allowable in nested members?
Where is a comment allowed?
How should a documentation website render such documentation?  TSDoc doesn't need to dictate this, but we should provide a reference example to illustrate that the design doesn't have any gaps.

I would be perfectly happy to put the doc comments inline. That also has the benefit of saving one from repeating the param name.
I ended up on this issue because @microsoft/api-extractor does not recognize this inline style of doc comment. But since you said TS is emitting those commits and VSC Intellisense recognizes it, then maybe I need to follow up with @microsoft/api-extractor.

I would be perfectly happy to put the doc comments inline. That also has the benefit of saving one from repeating the param name.
I ended up on this issue because @microsoft/api-extractor does not recognize this inline style of doc comment. But since you said TS is emitting those commits and VSC Intellisense recognizes it, then maybe I need to follow up with @microsoft/api-extractor.

has anyone started work on this? I would find it very useful!

I agree that both of the simpler approaches would be very valuable and
supporting the more complicated grammar is excessive.
On Fri, Mar 5, 2021 at 05:00 Adam Griffiths<EMAIL_ADDRESS>wrote:

has anyone started work on this? I would find it very useful!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/tsdoc/issues/19#issuecomment-791312502, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGKTA26ST22BRQDB3FNJLDTCCTUHANCNFSM4FB2FV4Q
.

@dschnare I thought it may be better to name the options block and then destructure it within the function code block:
/**
 * Call home.
 * @remarks
 * This texts Mom a message.
 * @param message - The message to send to Mom
 * @param options - An object containing optional arguments.
 * @param options.delay - The number of seconds to delay calling home
 * @public
 */
function callHome (message: string, options: { delay?: number } = {}) {
  const { delay = 0 } = options
  // TODO: send a text to Mom!
  throw new Error('Unimplemented')
}

Technically this is equivalent, but as far as I can tell, it doesn't really improve things as far as Intellisense is concerned. It avoids having to create a separate interface though.

Has any work started on this? This will be very useful, while I could use an interface to solve the problem that's not always practical.

Depending on the documentation generator you use, it may already be supported. TypeDoc supports it.

My question was prompted by having an issue in Visual Studio Code, when I have dot syntax in a param ie. @param options.key - some comment, VS shows a problem with it, which appears to be coming from<EMAIL_ADDRESS>which is part of the eslint-plugin-tsdoc, so it appears to be a tsDoc problem. The documentation generated by typeDoc is working.

/** Options for the `callHome()` API */
export interface ICallHomeOptions {
  /**
   * The number of seconds to delay calling home
   * @defaultValue 0
   */
  delay?: number;
};

/**
 * Call home.
 *
 * @remarks
 * This texts Mom a message.  If you want to delay the message,
 * consider using {@link ICallHomeOptions.delay}.
 * @param message - The message to send to Mom
 * @param options - Additional options
 * @public
 */
function callHome (message: string, options?: ICallHomeOptions = {}) {
  // TODO: send a text to Mom!
  throw new Error('Unimplemented')
}

@octogonz Would you not use an interface alongside destructuring? That seems common these days, especially in React applications. That leaves us back at square one though, as we now have no way of using @param.
Example:
/** Options for the `callHome()` API */
export interface ICallHomeOptions {
  /**
   * The number of seconds to delay calling home
   * @defaultValue 0
   */
  delay?: number;
};

/**
 * Call home.
 *
 * @remarks
 * This texts Mom a message.  If you want to delay the message,
 * consider using {@link ICallHomeOptions.delay}.
 * @param message - The message to send to Mom
 * @param ??? - Nothing to put here?
 * @public
 */
function callHome (message: string, { delay = 0 }: ICallHomeOptions = {}) {
  // TODO: send a text to Mom!
  throw new Error('Unimplemented')
}


App doesn't identify the SHT31 sensor

Hello Sensirion,
I'm running the smart gadget on an Android version 5.0.2, locations and Bluetooth services enabled.
Yet I can't connect to my sensor. Bluetooth and Locations in my phone seems to be working well with other instruments and /or apps.
The sensor itself seems to be fine cause I'm logging to it from other phones.
Can you tell me what might be the problem? Is the Android version too old? In the google playit says that it should be working with Lolipop and up.
Thnaks,
Eyal

Dear Eyal,
The software stack of Android 5 should work, however some phones with earlier Bluetooth chips are known to have issues with BLE (Bluetooth Low Energy), which the Smart Gadget uses.
Just make sure you did not pair the device from the Settings dialog as this seems to cause issues. Also make sure that no other mobile device is connected to the Smart Gadget. The Bluetooth icon on the gadget's LCD should be flashing, if it's permanently lit another device is already connected, preventing a further connection.
Closing the issue since it's likely related to your phone's hardware.
Kind regards


I would love to see 'create/edit' for these API's

The 'create' and 'edit' api for backlog items would enable us to use some internal formatting and styling to generate and update backlog items.

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

ID: f6400514-bba7-9038-26ca-ef51f2f70e58
Version Independent ID: c94f0712-9357-85b5-4e92-2e516a39b321
Content: Backlogs (Azure DevOps Work)
Content Source: docs-ref-autogen/5.1/work/Backlogs.yml
Product: devops
Technology: devops-ref
GitHub Login: @wnjenkin
Microsoft Alias: whjenkin

Any update on this topic? IMHO it's critical to enable create and update methods for the backlog objects, especially in the context of team scaling and automation.

No updates yet...

Would be great, yes!

@DapperMickie any updates on timeline?


sfdx force:web:auth:login (Authorize an Org) Does not work

Summary
Running SFDX Authorize an org does not work from VS Code, nor does running the same command from command prompt do anything. It simply runs without response.
Steps To Reproduce:

Create a new project with manifest
Run SFDX: Authorize an Org. Nothing happens. No error is returned, no browser is opened. Changing the default browser has no effect.
Open command prompt and try running sfdx force:auth:web:login --setalias "Name Here" --instanceurl https://test.salesforce.com

Expected result
Browser opens to complete auth process. Edit: It works on an ancient version of Firefox (8 months out of date by now). Both Chrome and Edge do not work. Presumably a Chromium thing? Also both the plugins and CLI are on the latest version.
Actual result
Nothing.
Additional information
Feel free to attach a screenshot.
SFDX CLI Version(to find the version of the CLI engine run sfdx --version): 7.82
SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core): 50.8
OS and version: Windows 10. Latest.

@NuAgeDan Thank for reporting this issue.
I have been unable to reproduce this issue. My sfdx installation on Windows 10 is:
@oclif/plugin-autocomplete 0.1.5 (core)
@oclif/plugin-commands 1.3.0 (core)
@oclif/plugin-help 3.2.0 (core)
@oclif/plugin-not-found 1.2.4 (core)
@oclif/plugin-plugins 1.9.1 (core)
@oclif/plugin-update 1.3.10 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.4.3 (core)
alias 1.1.3 (core)
analytics 1.12.1 (core)
auth 1.3.0 (core)
config 1.2.1 (core)
generator 1.1.3 (core)
salesforcedx 50.7.0 (core)
├─ schema 1.0.1 (core)
├─ salesforce-alm 50.7.0 (core)
├─ templates 50.1.0 (core)
├─ @salesforce/sfdx-plugin-lwc-test 0.1.7 (core)
├─ custom-metadata 1.0.10 (core)
└─ apex 0.1.4 (core)
sfdx-cli 7.82.0 (core)

I tried both scenarios with the command line attempts run outside of a sfdx project and the VSCode attempts using a new project created with sfdx force:project:create -n test. For VSCode I tried both production and test environments.
All attempts resulted in the default browser opening at the specified URL. Browsers used MS Edge, Chrome and FireFox.
Is there any other details you might provide to assist me in reproducing the issue you are experiencing?

@NuAgeDan Thank for reporting this issue.
I have been unable to reproduce this issue. My sfdx installation on Windows 10 is:
@oclif/plugin-autocomplete 0.1.5 (core)
@oclif/plugin-commands 1.3.0 (core)
@oclif/plugin-help 3.2.0 (core)
@oclif/plugin-not-found 1.2.4 (core)
@oclif/plugin-plugins 1.9.1 (core)
@oclif/plugin-update 1.3.10 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.4.3 (core)
alias 1.1.3 (core)
analytics 1.12.1 (core)
auth 1.3.0 (core)
config 1.2.1 (core)
generator 1.1.3 (core)
salesforcedx 50.7.0 (core)
├─ schema 1.0.1 (core)
├─ salesforce-alm 50.7.0 (core)
├─ templates 50.1.0 (core)
├─ @salesforce/sfdx-plugin-lwc-test 0.1.7 (core)
├─ custom-metadata 1.0.10 (core)
└─ apex 0.1.4 (core)
sfdx-cli 7.82.0 (core)

I tried both scenarios with the command line attempts run outside of a sfdx project and the VSCode attempts using a new project created with sfdx force:project:create -n test. For VSCode I tried both production and test environments.
All attempts resulted in the default browser opening at the specified URL. Browsers used MS Edge, Chrome and FireFox.
Is there any other details you might provide to assist me in reproducing the issue you are experiencing?

I haven't be able to replicate it either today. I think its possible it was a chromium issue since both Chrome / Edge had problems but Firefox worked and it seems to be fixed with the same cli / plugin versions

I haven't be able to replicate it either today. I think its possible it was a chromium issue since both Chrome / Edge had problems but Firefox worked and it seems to be fixed with the same cli / plugin versions

@NuAgeDan, thank you for the additional info. I am going to close this issue for now. If it reoccurs or you find additional info, please feel free to reopen the issue.

@NuAgeDan, thank you for the additional info. I am going to close this issue for now. If it reoccurs or you find additional info, please feel free to reopen the issue.


Scripts that trigger pageloads fail

Not seeing a wait-like API for pageload. Might be nice to have chromeless "pause" execution if a pageload happens or retry failed actions when a pageload occurs

In navalia I handled this (to a degree) by retyring jobs at least 1 time. When a pageload happens, and someones using an API like exists, that hanging script gets GC'ed and the runtime throws an error (which in navalia would trigger a retry). The other alternative is exposing something like .pageload or similar.


Create separate name fields for first and last name

Currently one full name field - splitting this would be useful for automatic emails and also for privacy on any public O13 accounts.

What are your thoughts on dealing with already existing data?
Users that have already signed up with full name could be prompted to split into first_name and last_name when editing their profiles, by showing the full name in the first_name field, and making last_name mandatory.

We'd need to have a backfill script for existing data that would split this into two fields.
The validation you suggest sounds good. This is not a priority features anyway as it is on our long term roadmap.

the issue with a script is how to deal with name variations if it's more than two words: 1 name + 2 surnames, or 2 names + 1 surname, or 2 names + 2 surnames, and so forth.

Right - I think if we did this we might have to just take the last word as
the last name and all other words are for the first name. Any edge case
users would then have to update their profile of we got them incorrect!
On Sunday, December 13, 2015, Jos<EMAIL_ADDRESS>wrote:

the issue with a script is how to deal with name variations if it's more
than two words: 1 name + 2 surnames, or 2 names + 1 surname, or 2 names + 2
surnames, and so forth.
—
Reply to this email directly or view it on GitHub
https://github.com/CoderDojo/community-platform/issues/748#issuecomment-164295410
.

--
Ursula Clarke Everett
Technical Lead @ CoderDojo Foundation
S: tangentfairy | T: @CoderDojo | @tangentfairy
--
Volunteer at your local Dojo and inspire the next generation of digital
creators!

Pledge to start a Dojo https://coderdojo.com/pledge-a-dojo/
How to volunteer at your local CoderDojo
https://coderdojo.com/get-involved/volunteer/
Read the CoderDojo Foundation Strategy
https://coderdojo.com/news/2015/08/07/the-coderdojo-foundation-strategy-20152016/

--
Hello World Foundation operating as the CoderDojo Foundation is a company
limited by guarantee not having a share capital with charitable status, CHY
20812. Registered in Dublin, Ireland, No 524255. Registered Office:
Dogpatch Labs, Unit 1, CHQ Building, Custom House Quay, Dublin 1, Ireland.

@DanielBrierton @Wardormeur this is done for all users now right? We still get reports of kids with only one name but I assume they are old accounts.

@rosalanghammer This is actually what's holding me up with the new add child page. Currently, there's only a single field for name when adding a child, so parents/guardians can put just the first name in. Handling first and last name separately has caused issues with the e2e tests, so I need to get to the bottom of that and fix them. I'm 95% sure everything still works, but I want the tests to work to confirm at least those features work.

Excellent - hopefully gives us less instances of community feedback. So we are good to close this when merged :)

@DanielBrierton closing ?


Request maintainer role

Description
https://github.com/jenkinsci/prometheus-plugin/
@markyjackson-taulia
@waschndolos
Submitter checklist for adding or changing permissions
Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory and Jira at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @Wadeck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

Once the line feeds are corrected, I approve this change to step down as the maintainer of this plugin. Thank you @Waschndolos for stepping up.
I also apologize to the users for neglecting this plugin as of late.

@markyjackson-taulia No problem. I see you have a lot of other things in your pipeline. Happy to help. I fixed the linefeed


[imgui-node-editor] New port

Add new port imgui-node-editor : https://github.com/thedmd/imgui-node-editor

[x] Changes comply with the maintainer guide
[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
[x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx
[x] The versioning scheme in vcpkg.json matches what upstream says.
[x] The license declaration in vcpkg.json matches what upstream says.
[x] The installed as the "copyright" file matches what upstream says.
[x] The source code of the component installed comes from an authoritative source.
[x] The generated "usage text" is accurate. See adding-usage for context.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is in the new port's versions file.
[x] Only one version is added to each modified port's versions file.

The usage test passed on x64-windows (header files found):
imgui-node-editor provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(unofficial-imgui-node-editor CONFIG REQUIRED)
    target_link_libraries(main PRIVATE unofficial::imgui-node-editor::imgui-node-editor)

Thanks for the new port!


Ij article tweaks

@jbvimort Outstanding work! Here are a few suggested tweaks to the IJ article.

Thank you so much for all those corrections! :)
I will merge it right away!


Bug: [DASHBOARD] Escaping missing in resource browser search

📜 Description
Escaping missing in resource browser search. Search for anything which contains special characters like "/" in search.
👟 Reproduction steps

Go to Resource Browser > Jobs
Search for anything in duration or namespace column like 131d or devtron-ci
Try to search anything in Completions column like 0/1 or 1/1

👍 Expected behavior
It should give me results for job completions with 0/1 or 1/1
👎 Actual Behavior
It doesn't show any results for that
☸ Kubernetes version
EKS 1.28
Cloud provider

AWS

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
No response
👀 Have you spent some time to check if this issue has been raised before?

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

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#8434

This is not an issue of escaping the / character. Instead the search simply doesn't work on columns other than the few specified internally. The completions column is unfortunately one of those columns that are overlooked.

Already fixed, tested with latest devtron release


Propagate swift version / copts

@rahul-malik - Awesome! This seems to be causing a CI issue:
/Users/travis/build/pinterest/xchammer/IntegrationTests/Sandbox/UrlGet/Vendor/Stripe/Stripe/NSError+Stripe.h:11:9: fatal error: 'StripeError.h' file not found
#import "StripeError.h"
        ^~~~~~~~~~~~~~~
1 error generated.

It's not immediately clear why..

@rahul-malik it'd also be good to get a sample project with swift in it, so we can make sure everything is working correctly.

Hey @rahul-malik - this one LGTM, mostly. Would you add an example with some .swift files? To create a new sample and test, the Frankenstein app is a pretty minimal starting point.. It'd be good to exemplify this into a sample where we can add all relevant swift cases.


Bug: Contributors tab error on repo pages when time is 6mo or 1 yr

Describe the bug
There's an error when selecting 6mo or 1 yr on the contributor tab of repo pages.

Steps to reproduce

Go here https://app.opensauced.pizza/s/microsoft/TypeScript/contributors?range=180&display=grid

This was an arbitrary limitation we placed on the API to prevent problems with calculating alot of data across droves of contributors past 90 days.
I'll investigate if it'd be tenable to expand this to work with 6 months and 1 year: there may be some optimizations that make this "just work ™ "

The endpoint used for the page is /repo/<org>/<repo>/contributors; does this endpoint not support longer time ranges? @jpmcb


rename some file  to keep file naming conventions consistent

Signed-off-by: xiang<EMAIL_ADDRESS>rename some file, to keep file naming conventions consistent

@Andrewmatilde @shivanshs9 PTAL

I suggest to rename xxx_command.go to xxx.go in chaosd/cmd/chaosd/ctl/command/xxx_command.go,because command is already the package and folder name.Delete the suffix here  will help to reduce redundancy in file naming.

I suggest to rename xxx_command.go to xxx.go in chaosd/cmd/chaosd/ctl/command/xxx_command.go,because command is already the package and folder name.Delete the suffix here will help to reduce redundancy in file naming.

I agree with you, PTAL again

LGTM


Make "End" and "Home" key presses point the cursor to the start and end of the current line

Most modern editors provide a feature to move to the cursor to the start and end of a line, usually done using the "Home" and "End" keys respectively. I think this is an important feature to have. You are much more likely to want to go to the start/end of a line than that of a document.

Attempted fix. https://github.com/zyedidia/micro/pull/74

See #36

This maybe should be default and also documented in readme how to change in ~/.config/micro/bindings.json

@aerth , yes that makes complete sense to me.

#74 has been merged.


Connection error - (ArgumentError) argument error

Using Elixir I am trying to make a Cassandra (3.7) connection but keep falling foul of the following error.
iex(1)> client1 = CQEx.Client.new!
** (ArgumentError) argument error
(stdlib) :ets.lookup(:cqerl_clusters, :"$primary_cluster")
src/cqerl_cluster.erl:52: :cqerl_cluster.get_any_client/1
lib/cqex/client.ex:17: CQEx.Client.new!/0
iex(1)> {:ok, client} = :cqerl.get_client()
** (ArgumentError) argument error
(stdlib) :ets.lookup(:cqerl_clusters, :"$primary_cluster")
src/cqerl_cluster.erl:52: :cqerl_cluster.get_any_client/1
Clearly it is the same error no matter the route I take so below I have the application config currently in use.
config :cqerl,
cassandra_nodes: [ "<IP_ADDRESS>:9042" ],
keyspace: "videodb"
Many thanks.

Am rather new to all this but have overcome the error of my ways by including :cqerl in mix.esx.


Fixing effects of RFC 1214

See https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
I found two libraries from the Piston ecosystem in the RFC:

[x] shader_version (Self: Sized required)
[x] piston-texture (Self: Sized required)

Done.


MusicControls pause and play icon and fuctionality is not toggled.

i tested in android only yet,
In MusicControls updateIsPlaying( panel only pause is showing as icon ) , is it possible to do like normal player pause and play toggle icon as well as event.?
right now i can see only pause icon and even if i clicked many time it's calling pause audio event only,
even if i tried MusicControls.updateIsPlaying(true);  still only pause audio not playing again and not even update icon for play/pause toggle.
I am using android 6.0.1
Please help

I think that this is not explained properly so I'll try to help:
Add MusicControls.updateIsPlaying(true); in // Do something section:
case 'music-controls-play':
          // Do something
          break;
Also, add MusicControls.updateIsPlaying(false); in:
case 'music-controls-pause':
          // Do something
          break;
So you will end up with something like:
case 'music-controls-play':
         MusicControls.updateIsPlaying(true);
          break;
case 'music-controls-pause':
          MusicControls.updateIsPlaying(false);
          break;
Now it should work. Works fine for me. Also, check if you have latest version (1.4.0) of this plugin.
latest version instalation:
cordova plugin add https://github.com/homerours/cordova-music-controls-plugin

Closing as it seems like a solution was provided.


Add support for flock(3C)

Support for flock(3C), which provides OFD-style locking semantics, would be nice.

Resolved by fb830e0.


Change window appearance

Hi,
I would like to know if there is a way to change the appearance of the "Looking for HappyFunTimes" dialog (it appears when the app is turned off and the user tries to reconnect to happyfuntimes.net). It seems that the css and javascript behind this particular html is generated at runtime.
Many thanks for considering my request =)

Are you making a game in HTML or Unity?

Hello Greggman! Thanks for your quick answer!
At the moment I'm customizing HappyFunTimes for portuguese speakers be able to play games in events and festivals here in Brazil. This would come quite handy.
Thanks!


tests: ztest: add a common fatal and assert hook for special purpose

This is in order to reduce the redundancy code writing for fatal and assert handler for error case testing. They can be used both in kernel and userspace, and are also SMP safe.
It is target to be part of ZTEST.
Why doing this? For writing error testing case (or we call it negative test case), we might have to write self-defined k_sys_fatal_handler or post_assert_handler to deal with the errors we caught, in order to make test going on. This mean
much identical code would be written. So we try to make it as a common part and let other test case reuse it.
But when error happened, it sometimes need a special action to make our testing program back to normal, such as release some
resource hold before error happened. This is why we add a hook on it, in order to achieve that goal.
Usage for dealing with fatal error:

Add CONFIG_ZTEST_FATAL_HOOK=y into your prj.conf
Include <ztest_fatal_hook.h> in your C code.
Define a hook function call ztest_post_fatal_error_hook(), this is optional.
Call ztest_set_fault_valid(true) before where your target function call.

Usage for dealing with assert fail:

Add CONFIG_ZTEST_ASSERT_HOOK=y into your prj.conf
Include <ztest_assert_hook.h> in your C code.
Define a hook function call ztest_post_assert_fail_hook(), this is optional.
call ztest_set_assert_valid(true) before where your target function call.

We split the into 2 induvial CONFIG because it would be more flexible, you can choose to use one or both of them. If you use none of them, you can still defined your own fatal or assert handler as usual.
Signed-off-by: Enjia Mai<EMAIL_ADDRESS>

@LeiW000 Thanks for reviewing it. I has got all your comments fixed, please help to review it again when you have time~

@andyross I appreciated you review for this and give me so many feedback, I will update them ASAP, thank again!

@andyross I have addressed all the valuable comment you given and could you please help to review it again when you have time? thanks!

Looks fine. Thanks.

Thanks again for you spending time on this ^^

Looking this over, I am not sure the per-cpu valid fault logic is robust enough. There is a window in between the invocation of ztest_set_fault_valid() and the actual fault being triggered where the caller could get preempted and then rescheduled onto another CPU, in which case the fault would halt the system as it didn't happen on the core it was expected on.
Stepping back a little, do we need per-cpu granularity for this? I guess this was implemented so that we can confirm that the code we expected to fault actually faulted, and not some other system thread that happened to crash at the same time.
I have an alternative idea: how about ztest_set_fault_valid() will do a check:

If we are not in an ISR, save the the value of k_current_get() in a global (not per-CPU)
If we are in an ISR (irq_offload() use-case) note that in some global boolean

Then in the fatal handler itself, either match the faulting thread (by calling k_current_get() again) or checking k_is_in_isr()
That should help prove that the context we expected to fault actually faulted and not something else.
Other than this SMP concern the PR looks fine.

Can we please add a user of this, such as a test that utilizes this to show that it works expected and how it works?

Looking this over, I am not sure the per-cpu valid fault logic is robust enough. There is a window in between the invocation of ztest_set_fault_valid() and the actual fault being triggered where the caller could get preempted and then rescheduled onto another CPU, in which case the fault would halt the system as it didn't happen on the core it was expected on.
Stepping back a little, do we need per-cpu granularity for this? I guess this was implemented so that we can confirm that the code we expected to fault actually faulted, and not some other system thread that happened to crash at the same time.
I have an alternative idea: how about ztest_set_fault_valid() will do a check:

If we are not in an ISR, save the the value of k_current_get() in a global (not per-CPU)
If we are in an ISR (irq_offload() use-case) note that in some global boolean

Then in the fatal handler itself, either match the faulting thread (by calling k_current_get() again) or checking k_is_in_isr(). And clear the saved state information.
That should help prove that the context we expected to fault actually faulted and not something else.
Other than this SMP concern the PR looks fine.

@andrewboie I feel this is really a good idea, check if the thread is what we want,  is definitely precise than I did here. Additionally, the justification for the ISR context, a global boolean seem to be robust enough. And I guess by doing this in your way, I may not need to write a syscall for this any more (because I want to get the current cpu id when testing runs in userspace).
Let me give it a try. Thanks for your suggestion! It is awesome!

Can we please add a user of this, such as a test that utilizes this to show that it works expected and how it works?

@nashif  Yes, it should have and I am working on it. Thanks for your reminder on this.

@nashif I add the test and example, do you think is it OK? thanks!

@nashif I add the test and example, do you think is it OK? thanks!

@nashif , please take look at the latest code. Development of some test cases depend on it.

@nashif , please take look at the latest code. Development of some test cases depend on it.

The FATAL_ACCESS_NULL 0-pointer test assumes reading from address 0 triggers some exception. However, on certain targets accessing address 0 might actually be valid. See #31419.
Is the test intended to test null pointers, or would testing any illegal memory access be ok? Can it be generalized to use some other address for targets that feature regular access to address 0?

The FATAL_ACCESS_NULL 0-pointer test assumes reading from address 0 triggers some exception. However, on certain targets accessing address 0 might actually be valid. See #31419.
Is the test intended to test null pointers, or would testing any illegal memory access be ok? Can it be generalized to use some other address for targets that feature regular access to address 0?

@ruuddw  This test case aim to show we can use this common error handler when fatal error happens. So I think any illegal memory access would be good.
And the identical issues: https://github.com/zephyrproject-rtos/zephyr/issues/31339
I think there are two possible way to fix this:

Exclude the FATAL_ACCESS_NULL for ARC-base platform.
To access an illegal address which will cause fatal error instead of NULL.

Let me run some trial here. By the way, which one do you prefer?

@ruuddw  This test case aim to show we can use this common error handler when fatal error happens. So I think any illegal memory access would be good.
And the identical issues: https://github.com/zephyrproject-rtos/zephyr/issues/31339
I think there are two possible way to fix this:

Exclude the FATAL_ACCESS_NULL for ARC-base platform.
To access an illegal address which will cause fatal error instead of NULL.

Let me run some trial here. By the way, which one do you prefer?

Thanks, if it is a general memory error than I would prefer 2.
Maybe trying to access a kernel object (I believe this test runs in userspace, right?) or writing to the instruction address region is a more portable/robust way of triggering the error handler.

Thanks, if it is a general memory error than I would prefer 2.
Maybe trying to access a kernel object (I believe this test runs in userspace, right?) or writing to the instruction address region is a more portable/robust way of triggering the error handler.


Fetch the 'suppressed' field from Sierra items

We don't currently fetch it in the adapter – we should update the adapter to fetch it, pull it in for the existing records, and modify the transformer to ignore any such items.

Fixed.


Screen shifts slightly on scroll when onClick drop down is open

@rimildeyjsr
https://www.loom.com/share/d71682905f9e44d29e44b7011640d24e

Working as expected. Moving to done.


matrix-synapse: 1.41.1 -> 1.42.0

Motivation for this change
https://github.com/matrix-org/synapse/releases/tag/v1.42.0rc1
https://github.com/matrix-org/synapse/releases/tag/v1.42.0rc2
https://github.com/matrix-org/synapse/releases/tag/v1.42.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Happy to test-deploy tomorrow, today it's too late for me :)


prototype home

Description
This is a prototype of the home page , all dummy texts and images are used . It is made using html CSS and bootstrap.
issue #5 #58
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #5 #58

created the page from scratch.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS
Screen recording - https://drive.google.com/file/d/1aIyJVEetfyE56RtGYUDVBV5StgLLnowg/view?usp=drivesdk

what is progress on the PR?

@nisha331 sorry for the delayed response.
This prototype needs some more work, firstly

In this one the hierarchy and contrast is a problem. The hero text is too dim to be visible against the colorful image background. Try to keep an image similar to one you will actually want in the website if thinking for a placeholder image for now.
Try raising the font weight and size for proper hierarchy and clarity. check this for explanation on visual hierarchy
Also, the background image doesn't have much correlation with charity or saving lives per se.
And in the "about us" kind of section where you mention what we do etc. try to keep it center aligned rather than left, as you have followed this in other sections too, testimonials for example, just for consistency.

@1502shivam-singh , thanks for your response , for the hero text i can  definitely do it but the thing s that that image use is just from google when we will put the image that the org will provide , we again would have to adjust it, so in my opinion we can adjust it at that time rather then doing the same thing  twice .
And regarding the about us section , according  to me its the home page so adding few img of the org will look good(though its my personal opinion).  I can bring it to center no issue but it would become a bit dull.
This were the points i had to put forward now, if you still want changes you are welcome , just look into the points and say me the changes to be done.
Thanking You
Nisha

@1502shivam-singh , thanks for your response , for the hero text i can definitely do it but the thing s that that image use is just from google when we will put the image that the org will provide , we again would have to adjust it, so in my opinion we can adjust it at that time rather then doing the same thing twice .
And regarding the about us section , according to me its the home page so adding few img of the org will look good(though its my personal opinion). I can bring it to center no issue but it would become a bit dull.
This were the points i had to put forward now, if you still want changes you are welcome , just look into the points and say me the changes to be done.
Thanking You
Nisha

That's what I am saying here for the hero section. Put an image that is close to what you would actually put in the hero section, or don't put an image for now, just a color as placeholder for now. This is because, you are providing a prototype here, and I expect the prototype to be what will actually come on the website. What you have done here is mixed "Wireframe" with "Prototype".
If you are not clear on hero image for now, put an image that is close to what you will put or as above I suggested.
For the hero text, do look into it in terms of hierarchy and clarity(accessibility).
And how exactly would centering the elements here make it look dull? To be clear, I mean centering individual elements

For example this -

And just a suggestion, try to work more on visual design, to improve UX of the website from 10x to 100x. If you need some website suggestions for design inspiration, do ask.

I am not sure whether org would provide a hero image, so maybe try a dull photo for now, rather than something bright and colorful.


Update Rust guidelines with new Model usage

Update the Rust guidelines with @analogrelay's recent changes about deriving Model.

I did update the guidelines earlier, in #7980 , though I might have missed something.


403 Forbidden from YOUTUBE

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.06.06
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

Removing cache dir /home/stefano/.cache/youtube-dl ..
[youtube] EWUbq35E4Q0: Downloading webpage
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.06.06
[debug] Python version 3.9.5 (CPython) - Linux-4.19.0-17-amd64-x86_64-with-glibc2.28
[debug] exe versions: ffmpeg 4.1.6-1, ffprobe 4.1.6-1
[debug] Proxy map: {'http': 'socks5://eIWpWMowii:Bm3XlmOl8@lin.socks.ipvanish.com:1080', 'https': 'socks5://eIWpWMowii:Bm3XlmOl8@lin.socks.ipvanish.com:1080'}
Removing cache dir /home/stefano/.cache/youtube-dl ..
[youtube] EWUbq35E4Q0: Downloading webpage
[debug] Invoking downloader on 'https://r1---sn-hpa7zns6.googlevideo.com/videoplayback?expire=1630885507&ei=IwI1YbaMD-C_mLAP2cyk-Aw&ip=<IP_ADDRESS>&id=o-ADSYQRSD0BLQC7wrLYvu0JB6OGk_vKS_-DvSTu337wwa&itag=137&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&source=youtube&requiressl=yes&mh=e7&mm=31%2C29&mn=sn-hpa7zns6%2Csn-hpa7kn76&ms=au%2Crdu&mv=m&mvi=1&pl=24&gcr=it&initcwndbps=170000&vprv=1&mime=video%2Fmp4&ns=Z6GS61nRGwC_aLNBnJSRXeAG&gir=yes&clen=294979442&dur=1440.021&lmt=1630849507746373&mt=1630863405&fvip=1&keepalive=yes&fexp=24001373%2C24007246&beids=9466588&c=WEB&txp=5432434&n=O33GtKhf5XRH7WD&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgZHq1j4TtqoVcMlqQqsIj1KonbPWmk-1tY8vgzP-wmIkCIC4r5nVvXT9C0VJVEbA4HlaDNL8m3hP0Ws6E6JbVDqWR&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAIBiviR9sYPPS18C3si4epwg4yTXDQLwOfDaB8kEJs4IAiASwGaeXj_zNW_Y2JqzIUuIWS_9T-PV2DEna5W-5gR1AQ%3D%3D'
[download] Destination: 243_EWUbq35E4Q0.f137
[download]   7.0% of 281.31MiB at 17.05MiB/s ETA 00:15ERROR: unable to download video data: HTTP Error 403: Forbidden

Description

Download initially starting then stopping, soemtimes on 60%, sometimes on 3%, im using proxy (credentials on verbose), im removing cache too, these are my options:
opts = {
  "verbose": True,
  "proxy": PROXY,
  "format": "bestvideo[vcodec*=avc]+bestaudio",
  "outtmpl": file_name,
  "merge_output_format": "mkv",
}

Suspect a proxy problem, try others.

Suspect a proxy problem, try others.

can't use another proxy. looks like the connection with the proxy randomly end while downloading. is there a way to keep reconnecting? i must use this proxy

Then just rerun the same command. youtube-dl usually continues downloading where it last stopped.

Then just rerun the same command. youtube-dl usually continues downloading where it last stopped.

i mean a dynamic solution, not me just restarting the script until its done :/

For example:
until youtube-dl -v --proxy PROXY -f 'bestvideo[vcodec*=avc]+bestaudio' -o file_name --merge_output_format mkv; do sleep 5; done

video is only available from Italy:
https://unblockvideos.com/youtube-video-restriction-checker#url=EWUbq35E4Q0

I have a similar issue. I execute youtube-dl with several URLs in the arguments and I get the similar error when N-th URL is retrieved (not the first one):
[youtube] _jqj7TBg5X8: Downloading webpage
ERROR: unable to download video data: HTTP Error 403: Forbidden

It looks like youtube starts to limit the client this way. Is it possible to implement the retrieve strategy with incremented delay between attempts for this case? -R argument does not affect the recovery for this case.

Does this apply if yt-dl is run with the failing URL just after the multiple d/l failed?
What happens if you apply --sleep-interval 20 or similar?
Are you using a proxy or VPN?

Does this apply if yt-dl is run with the failing URL just after the multiple d/l failed?

Most of the times youtube-dl is able to download the URL which has previously failed with HTTP 403 after a short time (I have updated by post above), but I know some corner cases when the issue persisted.

What happens if you apply --sleep-interval 20 or similar?

I will certainly check this, thanks for the hint!

Are you using a proxy or VPN?

I am running under proxy, however this should not be proxy limiting the access at least I don't see any issue in proxy logs. Nevertheless good point to check, needs some time for experiments and observations.

Now: "Video unavailable"


does the ground truth 3D mesh vertices have same mean?

For the dataset provided, are the different subject sharing same face template? i.e. the geometry will not vary with the face shape?

Definitely yes.


Parameter order in assertEqual() statements

We have both ways of ordering the parameters actual, expected result of the assertEqual() method.
While the Python implementation uses indifferent names (first, second - code) all examples use the order actual followed by expected (python doc – basic-example).
self.assertEqual('foo'.upper(), 'FOO')
self.assertEqual(s.split(), ['hello', 'world'])

I think it would be better to be consistent within this track. As I personally don't have any preferences I would just follow the official python documentation examples and default to self.assertEqual(actual, expected).
@rootulp @pheanex do you have any opinions about this?

(actual, expected) looks good to me. I am in favour of consistency.

I think conforming to the Python doc basic example is a god idea. (Actual, expected) seems right.

FYI -- if you run the tests in PyCharm (as I'm doing with my students) PyCharm shows the Expected/Actual results in the wrong order. The JetBrains bug for this behaviour is https://youtrack.jetbrains.com/issue/PY-27267.

@nikclayton thank you for adding that info here.
We've run into that issue before here, but it's good to document it as a known issue.


replace broken ship data collection by mikit

backend not open source, would have to create a replacement from scratch

Replacement made by menno


Improve encapsulation of the entities.

I took a brief look at the project.
I'd suggest refactoring some of the entities with purely immutable properties (wherever is required). Now that EF can utilize constructors, we can better model our entities.
Also, I noticed almost all entities contain a constructor that accepts only id parameter. This allows the users to create instances in an incorrect states.
public Patient(int id)
{
      Id = id;
}

If you do agree with these sentiments, I may look into this someday soon. A related blog post here, and a sample application here

I updated the important entities (schedule, appointment) in the main bounded context (FrontDesk) to better use constructors. Thanks!


house cleaning worker / cronjob for orphaned files

there should be a weekly cronjob that will delete all original files in the images folder that do not have a correcponding entry in the database. Those files should be considered deleted.

not needed anymore since I moved to storing images as bytes in the database. Images are purged in DB now.


Add a Gitter chat badge to README.md

clun/ff4j now has a Chat Room on Gitter
@clun has just created a chat room. You can visit it here: https://gitter.im/clun/ff4j.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

I will add the badge on a dedicated location in the read me by copy/paste thanks.


Add sbt-todolist to community plugins

Hi @fedragon,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Typesafe Contributors License Agreement:
http://www.typesafe.com/contribute/cla

Thanks!


Update snyk

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
PR to bulk security dependency updates
Type of change:
Please delete options that are not relevant.

[ ] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[x] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Infernal max cape not equip-able

🐛 Bug Report
Unable to equip infernal max cape. As of at least Aug 28th the cape was shown to be equip-able (see bso main channel logs).
Have attempted many iterations of the command to equip, as well as the workaround for the "bug" 3rd age items had, that being the inclusion of a 1 preceding the item name.

Which infernal max cape do you have? The regular one? The interface one? The locked one? The broken one?

no more information was given, assume it was a broken or duplicate item


Consider generating CMake config scripts for packages that don't natively provide them

Relevant to several ports which required rewriting their buildsystems from scratch in CMake (#603).
Because Vcpkg has opinions about how packages should be laid out and linked, we have all the information needed to generate general-purpose CMake configure scripts for every library we package (even those that don't use CMake!). This would greatly simplify the job of maintainers who need to rewrite library buildsystems in CMake to better support our configuration options (UWP, static linking the CRT, etc) because they would be able to rely on find_package() to do the heavy lifting.
Now, it is certainly not our intention to permanently fork libraries, so if a library did decide to start supplying its own native CMake configure scripts, we would have to make (breaking!) changes to switch.

I second that. In my own package manager, that I've been developing for my company as an internal project, I do exactly that. Furthermore, I leverage the CMake versioning system to be able to provide several versions of the same library at the same time. This often requires the port maintainer to patch existing CMake scripts in order to include the required actions for creating config and version files, as more often than not the original CMake scripts fall into old-style CMake coding (based on the assumption that some Find* scripts will be present on the user machine instead of proper config scripts). But that's a one-time effort that greatly pays off downstream, and - as the OP writes - the package manager has a lot of information that can be leveraged to produce or help producing config files automatically (I do that at several levels in my package manager).
Also, I'd stress on the importance of creating INTERFACE targets for header-only libraries (such as glm), so that dependencies can still be checked.
In my package manager, there is no one common include directory for installed packages: they all live in their own directory (otherwise header files from different versions of the same library would clash). This implies that properly-formed CMake files are a strict requirement, and features like config/version files, INTERFACE targets, include directories specified via target_include_directories() must always be present (either in the original CMake files or in port-specific patches). As I said before, this requires an effort from the port maintainer, but the package user then is presented with an uniform and consistent interface for finding and using libraries, even header-only ones.

we would have to make (breaking!) changes to switch.

What would break and why?
What would / should a Hello World library cmake file look like?
IMO it should be cross-platform and not be tied to vcpkg.

@OlafvdSpek Definitely! We want to integrate with CMake in a respectful, native way which does not encourage vcpkg-specific behavior in your project (like requiring a include(vcpkg_libraries)). The official CMake way to include prebuilt downstream projects is via a simple find_package(X), so that's what we want projects to use.
The problem is that there are several choices that can be made when adding find_package() support, such as the casing of the package name and the exact spelling and arrangement of the libraries. Many libraries opt for a flat name, so you can do target_link_libraries(hello sqlite3), but others choose (in line with the official CMake guidance) to use namespaces (target_link_libraries(hello Sqlite3::sqlite)).
If the upstream package decides to add official, native CMake support, it's very possible they will choose a naming scheme that conflicts with our generated scheme. We want to support cross-platform projects, so we should switch to the upstream scheme -- but that will cause a break for current Vcpkg users. Providing both may be possible, but we'd really prefer to not to do that in the longer term.
@marcojez That's awesome to hear! I'd definitely appreciate your expertise if we go down this path 👍. For a few reasons detailed in many other issues (primarily consistency as the deps graph grows complex), we explicitly provide exactly one version of each library, so our task may be even easier than what you've already accomplished.
As a side conversation: are you only targeting Windows with that system or is it Linux/osx hosted? I'd love to have a chat about it over mail to make sure we haven't missed some really important features in Vcpkg(vcpkg@microsoft.com)!

Ideally #include <zlib.h> would be enough and you'd not have to worry about anything else..
IMO find_package(), pkg-config and friends make build scripts more complex and more fragile then they need to be, ultimately making the sum of everything less flexible.

I think we already do this for ports where possible, so this decision is "resolved" in favor of "yes, we're doing that".


Handling G = [0.0, 0.0, 0.0]

Hi @hema-ted
From what I can tell from the code, the contribution to the accumulation over G-vectors just ignores the contribution at G =[0.0, 0.0, 0.0].
I know that this done to avoid the singularity in the expression (dividing by zero), but I am not sure this just warrants ignoring the term.
Do we have any justification for this?

Just adding to this:

We should consider what is done for other G-space computations at this limit. The Hartree potential, for example, leads to a similar equation in G-space to the spin-spin interaction. Sometimes we set n(G = 0) to zero (for both ions and electrons) and add a neutralizing background charge to compensate. Perhaps we could add this?

I was taking a look at $lim_{\mathbf{G} \rightarrow -> 0} \frac{G_aG_b}{G^2}$. Unfortunately, the limit doesn't exist as the limit has a different values depending on the path to the origin.


Cannot send after the producer is closed

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[x] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

skywalking-agent.jar:8.2.0-SNAPSHOT
kafka-clients-1.1.1.jar!
java.lang.IllegalStateException: Cannot send after the producer is closed.
at org.apache.kafka.clients.producer.internals.RecordAccumulator.append(RecordAccumulator.java:198) ~[kafka-clients-1.1.1.jar!/:?]
at org.apache.kafka.clients.producer.KafkaProducer.doSend$original$xy2AWG1p(KafkaProducer.java:830) ~[kafka-clients-1.1.1.jar!/:?]
at org.apache.kafka.clients.producer.KafkaProducer.doSend$original$xy2AWG1p$accessor$P4rZkFwo(KafkaProducer.java) ~[kafka-clients-1.1.1.jar!/:?]
at org.apache.kafka.clients.producer.KafkaProducer$auxiliary$tffsiJH9.call(Unknown Source) ~[kafka-clients-1.1.1.jar!/:?]
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85) ~[skywalking-agent.jar:8.2.0-SNAPSHOT]
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java) ~[kafka-clients-1.1.1.jar!/:?]
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:784) ~[kafka-clients-1.1.1.jar!/:?]
at com.keep.commons.queue.kafka.producer.ProducerProxy.send(ProducerProxy.java:121) ~[keep-commons-queue-0.7.7.jar!/:?]
at com.keep.commons.queue.kafka.producer.DefaultKProducer.send(DefaultKProducer.java:84) ~[keep-commons-queue-0.7.7.jar!/:?]
at com.keep.commons.queue.kafka.producer.DefaultKProducer.send(DefaultKProducer.java:77) ~[keep-commons-queue-0.7.7.jar!/:?]
at com.keep.social.common.message.KafkaMsgProducer.send(KafkaMsgProducer.java:90) ~[social-common-1.0.59-RELEASE.jar!/:?]
at com.keep.social.user.core.message.KafkaMessageProducer.sendUserStatisticMsg(KafkaMessageProducer.java:35) [social-user-core-0.0.1-SNAPSHOT.jar!/:?]

Bug

Which version of SkyWalking, OS, and JRE?

Which company or project?

What happened?
If possible, provide a way to reproduce the error. e.g. demo application, component version.

Requirement or improvement

Please describe your requirements or improvement suggestions.

8.2.0-SNAPSHOT is not our release. And we have many releases after that.


base model tests

This could a bit trickier than previous tests, what parts can we easily mock, etc. or do we actually try to connect to a database for these tests.
I prefer not to if possible, but we may have to due to the nature of what we are trying to test here.

Every method is tested now except for the model.fields and model.columns properties, these are a bit trickier to test.


⚠ AGE-Vicmap_Property_Address/FS has degraded performance

In bd1c473, AGE-Vicmap_Property_Address/FS (https://vicmap.land.vic.gov.au/hosting/rest/services/vicmap/Vicmap_Property_Address/FeatureServer/0/query?where=1%3D1&returnCountOnly=true&resultRecordCount=1&f=pjson) experienced degraded performance:

HTTP code: 200
Response time: 3013 ms

Resolved: AGE-Vicmap_Property_Address/FS performance has improved in 9007350 after 4 minutes.


Support for v2 inference request of datatype bytes in HTTP

/kind bug
With the earlier tornado web server the data field with string input and datatype BYTES was considered valid. Example - https://github.com/kserve/kserve/blob/master/docs/samples/v1beta1/torchserve/v2/bytes_conv/mnist_v2_bytes.json
WIth current FastAPI server, the validator expects the data field to be a list.
From the docs there is no example for representing bytes datatype in v2 protocol inference request. So what is the recommended way of sending the bytesarray for HTTP request ?
Environment:

Istio Version:
Knative Version:
KServe Version:
Kubeflow version:
Cloud Environment:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
Minikube/Kind version:
Kubernetes version: (use kubectl version):
OS (e.g. from /etc/os-release):

@jagadeeshi2i  Can you try as follow?
{   "inputs": [     {       "name": "mixed",       "shape": [         1       ],       "datatype": "BYTES",       "contents": {         "bytes_contents": [           {             "MSZoning": "RL",             "LotArea": 8450,             "LotShape": "Reg",             "Utilities": "AllPub",             "YrSold": 2008,             "Neighborhood": "CollgCr",             "OverallQual": 7,             "YearBuilt": 2003,             "SaleType": "WD",             "GarageArea": 548           }         ]       }     }   ] }

@Suresh-Nakkeran I doubt the above format seems to be the one for gRPC. https://github.com/kserve/kserve/blob/38d9a5695446f2610d274ab8efb4238a90bbc943/docs/predict-api/v2/grpc_predict_v2.proto#L283 From the docs the HTTP might expect data field in the input - https://github.com/kserve/kserve/blob/master/docs/predict-api/v2/required_api.md#request-input

@jagadeeshi2i  Sorry, you're right. It's for gRPC. Can you try as follow for HTTP?
{
  "inputs": [
    {
      "name": "foo",
      "shape": [1,1],
      "datatype": "BYTES",
      "data": [
        "hello world!"
      ]
    }
  ]
}

Seems that is the right approach and even MLServer represents bytesarray as you suggested.
https://github.com/SeldonIO/MLServer/blob/master/docs/user-guide/content-type.md#base64
{
  "inputs": [
    {
      "name": "foo",
      "parameters": {
        "content_type": "base64"
      },
      "data": ["UHl0aG9uIGlzIGZ1bg=="]
      "datatype": "BYTES",
      "shape": [1],
    }
  ]
}

Thanks @Suresh-Nakkeran will proceed with this.


FluxGym Settings to Kohya?

Hey Guys,
is there any way to get the training settings from FluxGym to Kohya?
I searched and only found the “Train.bat”. But not all the settings are in there.
I want to train a Lora with 350 images, but FluxGym only let me upload a maximum of 150,
and then only uses 76 during training and not even the 150 :/
I thought it might be the maximum steps, but as soon as I change something in the advanced settings,
I get an error when I try to start the training.
At all the smart computer brains out here, please help :D

Edit the app.py and increase image amount.  In particular this: MAX_IMAGES = 150 which is on line 24.


Automatically adjust lightness of indistinguishable text. [apperance][feature-request]

In the Appearance settings of the Windows terminal, there is a setting:
Automatically adjust lightness of indistinguishable text

Automatically brightens or darkens text to make it more visible. Even when enabled, this adjustment will only occur when a combination of foreground and background colors would result in poor contrast.

This setting is particularly user-friendly for individuals with mild visual impairments. It is hoped that this feature can be implemented in Visual Studio Code in the near future.

This feature actually existed in VS Code before that one did in WT AFAIK 😉
https://code.visualstudio.com/docs/terminal/appearance#_minimum-contrast-ratio


Update CorsAllowAnyOriginAttribute.cs

#83 Add custom headers for CORS.

I couldn't test this because there are no instructions in the README, but it builds fine.

Hey, thanks for opening a PR!
However, if you want allowed headers to be returned in the Access-Control-Allow-Headers header, you can specify them in your request in the Access-Control-Request-Headers header.
See just below of your change:
https://github.com/Readify/httpstatus/blob/c96be24629dd3f16b7af6d3ccbe9b45a730270a7/src/Teapot.Web/CorsAllowAnyOriginAttribute.cs#L14-L20
Would that work for you?

No. Read my comment on the issue: https://github.com/Readify/httpstatus/issues/83#issuecomment-684168796

Are you waiting for something from me?


Should Add "Spa" RedirectUri Type

Hi There,
As I am currently investigating usage of MSAL 2x in combination with Azure AD B2C, I saw that the documentation for app registration manifest files is missing the Spa option for replyUrlsWithType attribute
I'm not sure if this is intended or not, so I though I open this issue for that.

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

ID: 3f7ced07-0b71-715f-749b-180567591c72
Version Independent ID: 8c533d7b-a058-3f1a-c296-9c0305f85f13
Content: Understanding the Azure Active Directory app manifest - Microsoft identity platform
Content Source: articles/active-directory/develop/reference-app-manifest.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

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

@eimerreis  Thanks for pointing this out, I added the 'Spa' value to replyUrlsWithType.  The change should publish tomorrow morning.  #please-close


The published web examples panic when opening Print dialog

Bevy version
ATOW, if I'm not mistaken, the web examples are using latest Bevy 0.13
What you did

Open any Bevy example, like this one: https://bevyengine.org/examples/2D Rendering/sprite/
Open the print dialog of the browser. In Google Chrome, it is File > Print... or pressing Ctrl+P or Cmd+P
Alternatively, you can call print() in the JS console

What went wrong
The print dialog opens successfully, and even shows a picture of the canvas at the time of opening the dialog:

However, Bevy panics at wasm_example.js:494 panicked at /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.10/src/platform_impl/web/web_sys/resize_scaling.rs:129:9: created media query doesn't match, 2 != 2

Additional information

I opened an issue on Winit's side: https://github.com/rust-windowing/winit/issues/3579 but apparently they can't reproduce on a minimal example
Besides, it smells like it could be a browser's bug, because it is reproduceable in Google Chrome and Safari, but not in Firefox
However, I'm opening this issue to Bevy because the asset being hit is a debug_assert! (this one), which shouldn't crash on release builds
And, AFAIK, Bevy builds the example showcase in Release mode, so it shouldn't be crashing

Potentially related to #12126, according to the winit issue.

I previously downgraded this from an assert! to a debug_assert! in Winit because we have encountered issues before. But the fact that this assert is triggered, means that the ScaleFactorChanged event will not function properly.
I'm almost a 100% certain that this is a browser bug, e.g. the code that fails is this:
const mql = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`)
if (!mql.matches)
    throw '`window.devicePixelRatio` doesn\'t match the current `MediaQueryList` state'

I'm not an expert in the spec, but MediaQueryList should be in sync with the actual current state of any property, otherwise this would introduce a myriad of unintended behavior.
The best way forward is to boil this down to a bug we can actually report to Chrome and Safari, or at least to something we can implement a workaround for in Winit.


[FEATURE] Maximum Move Distance for "noMove" option

Is your feature request related to a problem? Please describe.
Whenever a villager or peaceful mob, or one of my team members moves a player even a tiny bit, the warping automatically fails with the noMove option enabled.
Describe the solution you'd like
The noMove config option is removed, and instead replaced with maxMoveDist. When the value of maxMoveDist is -1, then players can move as much as they want (acts exactly like noMove: false). When the value of maxMoveDist is 0, then players cannot move at all (acts exactly like noMove: true). However, when the value is any other positive number, that is the maximum amount of blocks that players can move before they are not allowed to warp. For example, with maxMoveDist: 1, the player can only move 1 block - if the player moves 2 blocks, the warp fails.
Describe alternatives you've considered
The noMove config option could also be kept and instead a new config option added called maxMoveDist, which is only used when noMove is enabled. This could default to 0 so that servers that update their plugin don't have to change anything. The behaviour will work exactly like the behaviour described above except that the -1 value will not do anything/is not a valid option - instead, you would set noMove: false.

This feature has been implemented and will be included in the next update.