Is it possible to skip to the next folder with card or button?

Is there a possibility to use a rfid card or button to skip through the different folders?
Our childrens now have so many cards, that it would be cool, if they can choose a playback folder without having the right card at hand.

Hi @Worren
Interesting thought, I will put this on my list. It is of course a bit like brainless channel hoping or dialing through radio stations along the frequency. But in each cases, well, this is what people do. So it makes sense :)

Our phoniebox have displays, so there is at least some information.
Unfortunately we forgot some cards in vacation ... and the wifi connection was back at home ...

and the wifi connection was back at home ...
if only AP-Mode would be possible....

I already found that I could use rfid_trigger_play.sh -d='foldername' to play a folder. And I know how to call the command with an rfid tag. But I don't have a good idea how to cycle through the different folders in a easy way.

@Worren: I have the same requirement.
And my current idea would be to "glue" in another script into the rid_trigger_play.sh that determines the next folder based on the current playlist.
I thought of something like in https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Hack-Playlist-triggered-by-GPIO-Button:
def def_nextfolder():
    check_call("./scripts/rfid_trigger_play.sh --cardid=$(./scripts/getNextFolder.sh)", shell=True)
def def_prevfolder():
    check_call("./scripts/rfid_trigger_play.sh --cardid=$(./scripts/getPrevFolder.sh)", shell=True)

getPrevFolder.sh and getNextFolder.sh could determine prev/next folder $somehow from RPi-Jukebox-RFID/shared/latestID.txt which contains the current card.
Just an idea. Maybe that's a start. After all this phoniebox is still new to me. My first box looks similar but I had re-written Marco Wiedermeyer's .NET code in python.

For anyone interested in implementing this, you should target the new V3 (future3 branches).
V3 uses RPC commands (see here), which could be extended for the desired functionality. There are already commands for prev/next song, this could probably be extended.


fix: don't show when custom badge is not set

Proper remove CUSTOM BADGE if it's no text is set


[FLINK-16053][python] Remove redundant metrics in PyFlink

What is the purpose of the change
We have recorded the metrics about how many elements it has processed in Python UDF. This kind of information is not necessary as there is also this kind of information in the Java operator. I have performed a simple test and find that removing it could improve the performance about 5% - 10%.
Brief change log

Removes redundant metrics in PyFlink

Verifying this change
This change is a performance improvement work and have verified in my local environment.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@dianfu Thanks a lot for the PR.
+1 from my side.

@HuangXingBo Thanks a lot for the review. Merging...


env config different with go

In readme, env config should be like
API_KEY="YOUR_API_KEY" MERCHANT_ACCOUNT="YOUR_MERCHANT_ACCOUNT" CLIENT_PUBLIC_KEY="YOUR_CLIENT_PUBLIC_KEY" SERVER_URL="YOUR_BACKEND_SERVER_URL"
But I check the main.go file. In the main method
`client = adyen.NewClient(&common.Config{
ApiKey:      os.Getenv("ADYEN_API_KEY"),
Environment: common.TestEnv,
})
merchantAccount = os.Getenv("ADYEN_MERCHANT")`

main.go use "ADYEN_API_KEY" and "ADYEN_MERCHANT" to load config.It is different with readme.
It's confusing.

Thanks for noticing this. I'll correct and sync them

done


Profile link fix in Discussion UIs

Fixes MA-2286
Previous implementation of removeDuplicateWhitespace [done here] (https://github.com/edx/edx-app-android/pull/670/files#diff-f0965130e69dcf6a44193af8da3227b4R189) removed the Span properties from the CharSequence due to the usage of replaceAll function in the String class. I've changed the implementation to use SpannableStringBuilder which maintains the Span properties.
@aleffert @BenjiLee quik review

@@            master    #681   diff @@
======================================
  Files          461     461
  Stmts        19762   19768     +6
  Branches      2869    2872     +3
  Methods          0       0
======================================
- Hit           3173    3172     -1
  Partial        372     372
- Missed       16217   16224     +7

Review entire Coverage Diff as of c313506

Powered by Codecov. Updated on successful CI builds.

It would be great to have some tests for this.

👍

Sounds like there are some messy cases. Let's add tests before calling this good to go (which should be our practice anyway)

Yeah, I am writing tests for this currently.

@aleffert @1zaman @BenjiLee Tests added.
Ready for another review.

Closed in favor of #684.


[Feature] Dehydration risk Calculator

Description
Estimates your risk of dehydration based on activity level, climate, and personal health factor like weight.
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

We already have Water-Intake-Calculator, you can enhance that by including risk or any more functionality that you want @harshyadav3010

We already have Water-Intake-Calculator, you can enhance that by including risk or any more functionality that you want @harshyadav3010

@Rakesh9100 Okay,I will combine the functionalities. Please Assign me the issue.

Go ahead @harshyadav3010


Add a Gitter chat badge to README.md

substance/substance now has a Chat Room on Gitter
@oliver---- has just created a chat room. You can visit it here: https://gitter.im/substance/substance.
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.

Maybe someday.


Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

SetAmountViewController.swift

When attempting to put a decimal amount of XVG program crashes, replicate by attempting to send and writing "0.1".

Gonna have that when you start with a . on the send page
Secondly you can set the amount within the settings page.

Fixed in latest commit


offsets.json and  offsets.json.bak  error

1.evn: win10  ,rocketmq client :4.5.2
offsets.json.bak  and offsets.json  error

similar to #1498 , may help you.

repeat issue, could you do more tests with UTF-8?


Fix index error caused by -1s in allocation samples.

Fixes #92

Thank you! This should be fixed in #94


Video Encoder callback are only being received while phone is in use

@pedroSG94 Need your help here,
I'm using Display Service and what I observed is we are getting callback onOutputBufferAvailable only if the device is being used (scrolling, surfing, etc) so what if someone is just streaming his display without doing anything in that case we are not able to write any video packets. and the video goes blank on the client-side.
Can you please look into it and let me know If you need help on testing the scenarios.
Also, one more question on microphone audio I have enabled noiseSuppressor and echoCanceler but I'm getting a lot more noise.
Thanks in advance.

The first case is not a bug. This is related with MediaProjection API:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/63
Try force render using this method but I
The second case is a software filter provided by Android and in some cases this is not working fine.
https://developer.android.com/reference/android/media/audiofx/NoiseSuppressor

@pedroSG94 Thanks for that trick to make the screen fore-fully refresh using notification.
You have any alternative options to make the audio quality better?

I only can tell you create your own audio filter:
rtmpCamera1.setCustomAudioEffect(new CustomAudioEffect() {
      @Override
      public byte[] process(byte[] pcmBuffer) {
        //return pcmBuffer modified. This buffer must have same size that the original buffer.
        return pcmBuffer;
      }
    });

Unfortunatelly. This is really difficult to implement because you need know so much about it.

Yeah, I figured out this method but I thought maybe you have some idea to process buffer, anyway thanks for the assistance I'll try by myself and will keep you posted if I figured out anything.
Thanks again.


added chatbot

closes #90
https://github.com/user-attachments/assets/059d7be7-1b64-4b9d-baf8-0dd9433c1989
please review this pr thanks! @BamaCharanChhandogi

@BamaCharanChhandogi Can you please review and merge it

Hi @sezallagwal, Thanks for the effort in trying to integrate a chat bot into the site.
I had some queries regarding the same, Since this bot was created using your account, Further settings and control would move out of the scope of the Project Admin.
I would advice to work alongside @BamaCharanChhandogi to create this chatbot with its own chatbotId from an account which @BamaCharanChhandogi has access to.
Thanks again.

@tmsagarofficial okay but can you merge this pr and then revert it back since I worked on this

@tmsagarofficial okay but can you merge this pr since I worked on this and you can just change the chatbot id later also, code will remain same. you will just have to change this chatbotId: "rBXZd9N6Ar66rTTYQ2ywP" in the code and you will be good to go

Okay yeah,
it will be helpful if you could share what you trained in this version of the bot of your's which has this id of yours.

@tmsagarofficial I actually started by pasting the URL, which helped Chatbase auto-train the bot and then I focused on fine-tuning it, adding specific FAQs and training it to handle edge cases effectively. This way it could manage a range of queries and respond naturally to different scenarios!

Okay, let's merge this and check the integration. Be ready to fix it if we might have to @sezallagwal 😅

It's working fine and working as intended across devices.
Thanks for contributing 🚀.

Hi @tmsagarofficial,
First, check the code locally. If everything is fine, you can merge the main branch.
And where the bot exactly, I can not show any bot. please send me a screenshot or something.

It's at the bottom right.
Yeah, it worked for me.


f64 only mode

I'm using rhai as a glorified calculator inside a somewhat popular telegram bot (#69 ), the problem is that the hard distinction between integer and float types that rhai has, is making the language hard to use
It would be cool to have an option where you can make 10 / 9 or sqrt(2) and obtain the correct floating point result instead of an 1 or an error
I suppose this can be solved by having an option to treat all literals as f64 and parsing them as that
Using f64 exclusively does not give immediate problems (or at all) as noted in the lua documentation https://www.lua.org/pil/2.3.html

It is not as simple as just parsing all integer literals as f64 because a lot of built-in functions return integer values, such as len.
INT is just about the most basic type in Rhai; I'm not sure whether it is possible to do away with it.
It is possible, however, to overload the division operator as well as certain math functions.  For example, we can always overload / to do floating point instead when being passed two integers.  We can define sqrt(INT) and pass it to sqrt(f64).
The user, however, may be surprised that a division turns the number into floating-point.

Alternatively, we can allow you to set a mapper function into the Engine, such that you can convert any Token from the tokenizer into something else.  For example, you can register a closure that turns any Token::IntegerConstant into Token::FloatConstant and that should provide you with exactly what you ask for.
Internall, Rhai already has facilities to set such a mapper function; it is just not exposed publicly.

Thanks for the answer
Yeah just changing the parsing of the literals is enough, that's the bulk of the usability problem, casting the result of len() is less disruptive than remembering to put a . after every constant
I guess that the mapper function should work

You can pull from https://github.com/rhaiscript/rhai and get the version with Engine::on_parse_token which allows you to remap tokens.
Remember to pull in the internals feature.

that works perfectly, thanks


Codacy Integration

Integrate with Codacy for code quality assurance

I presume this is done?

This is done. Just looking to integrate codacy not with slack channel
On Sun, 27 May 2018, 20:47 David Christie<EMAIL_ADDRESS>wrote:

I presume this is done?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/AIDeveloperCommunity/aidevelopercommunity.github.io/issues/22#issuecomment-392338724,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATrjCdjfCkcsDVpjvOE_UYa1dnxM_-qVks5t2sOcgaJpZM4TzzEx
.

Codacy has been integrated.

Closing this issue


Authentication Error Code Specific

Hey guys! really love your project. I wonder if it would be possible to add specific code for when a user is not authenticated rather than doing authentication and authorization at the same time.
https://github.com/ChilliCream/hotchocolate/blob/master/src/Server/AspNetCore.Authorization/AuthorizeMiddleware.cs
My current pain point at the moment is that I would like to handle how my SPA should behave when the user is not authenticated using Apollo React Client.
https://www.apollographql.com/docs/react/recipes/authentication/
Since at the moment (as far as I understand) we return AUTH_NOT_AUTHORIZED when the user is either no authenticated or not authorized this is not possible.
Cheers!

I will look at your issue tomorrow.

So, what you want is a different error code to distinguish between those states?

I am not quite sure if it is a "standard" of graphql but in the apollo docs documentation https://www.apollographql.com/docs/apollo-server/features/errors/ the authentication code for AuthenticationError  is UNAUTHENTICATED

The error codes are not standard ... but we can introduce a distinction.... AUTH_NOT_AUTHENTICATED  or AUTH_UNAUTHENTICATED.

I will include this in the preview that we will release today

@nigel-sampson will this break something with your test? I remember that we added the error codes mainly for you but I do not know if you are depending on the authorization.

this one is now implemented.

https://github.com/ChilliCream/hotchocolate/commit/29684a45396dd628c63c0c63338ad28d5323023c


Create a new pull request by comparing changes across\

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

41 of 43 (95.35%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 95.443%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

js/src/carousel.js
29
31
93.55%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
1968

Relevant Lines:
2023

💛  - Coveralls


Bilinear layer randomness

First, thanks for the great work! This is really helpful in several ways.
While playing with your code, I encountered random behaviors of emlp, and figured that it is caused by the bilinear layer. I wish I have checked the issue #8 down below, Saving and Loading Objax EMLPs yields slightly different predictions, before trying to identify it myself. Two things:

It was suggested to use the same numpy random seed as a workaround. But, I'm checking if there is another way to resolve this, such as saving and loading additional parameters from the bilinear layer.
In fact, the only part in your paper and code that is unclear to me is the bilinear layer. I do not understand why there is randomness in the bilinear layer, if it is presumably calculating something like x^T A x + b x + c with projections. It would be really helpful to understand what it is, if the mathematical expressions for your bilinear layer is provided. Thanks.

Hi @tylee-fdcl,
Sorry to be responding so late!

That should be possible, though the layer code may need to be changed (to add a seed which gets saved) for that to happen. Happy to review pull requests, but unfortunately I have very little bandwidth at the moment.

The bilinear layer is only described very briefly in the paper so I can understand the confusion. The bilinear layer is a little more complicated, since $x^T A x + b x + c$ would map from $V\to \mathbb{R}$ (if $x \in V$) but rather our bilinear layer maps from $V_{\text{in}} \to V_{\text{out}}$. Also, it does not include any linear or constant terms, so it is purely a bilinear map: $V_{\text{in}} \times V_{\text{in}} \to V_{\text{out}}$. The mapping is somewhat difficult to describe just with matrices, but it essentially takes parts of $x$ (given by the multiplicities of the different representations making up $V_{\text{in}}$) for which the type can be interpreted as a map from other parts of $x$ to parts of the output vector space $V_{\text{out}}$, each of these gets a separate scalar weight which is a learnable parameter. Where the randomness comes in is that the quadratic pairing is too large to have a weight for each pair, and so we limit the number of weights to be at most the size of the representation (I would need to look to remember the exact size) and randomly choose the weights to keep to satisfy this constraint.

An example would be say $V_{\text{in}} = T_1\oplus T_2 \oplus T_3$ and $V_{\text{out}}=V_{\text{in}}$ (assuming the representation is orthogonal). In this example, we would have a weight using the $T_2$ of $V_{\text{in}}$ to map the $T_1$ of $V_{\text{in}}$ to the $T_1$ of $V_{\text{out}}$, we would have a weight for using the $T_3$ of $V_{\text{in}}$ to map the $T_1$ to the $T_2$ in the output, and a separate weight to use the same $T_3$ to map the $T_2$ to the $T_1$ in the output. There would also be a $T_2$ mapping $T_1$ to $T_1$, and a $T_2$ mapping $T_2$ to $T_2$ and a $T_2$ mapping $T_3$ to $T_1$. This way, things like inner products, matrix-vector products, matrix-matrix multiplies, and higher-order tensor contractions can be represented.


Parse cpu a76 core as a55 result in  serious performance problem

Platform:android_arm64-android13
SOC: cortex A 4a55 and 4a76
Cpuinfo：core_siblings_list:0-7
HW:design 4a55 and 4a76 as a cluster on SOC and configure dtsi cpu 8core as a cluster.
Problem:Use benchmark tools test CPU performance,find cpuinfo parser cpu a76 core as a55 result in serious performance problem on Arm CPU
The cpuinfo call the main function as the following:
https://github.com/pytorch/cpuinfo/blob/76d5e8f5b563daa65340a60fce0e9aec73a936df/src/arm/linux/init.c#L34C37-L34C37
Use  processors[0].package_leader_id update processors[sibling].package_leader_id(siblings value form 0 to 7).
Result in processors[i].package_leader_id  value is 0.(i form 0 to 7)
//init.c:34
static bool cluster_siblings_parser(
	uint32_t processor, uint32_t siblings_start, uint32_t siblings_end,
	struct cpuinfo_arm_linux_processor* processors)
{
	for(int i = 0; i < 8; i++)
	   {cpuinfo_log_debug("init.c.39.processors[i].package_leader_id:%d, ",processors[i].package_leader_id);}
	processors[processor].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER;
	uint32_t package_leader_id = processors[processor].package_leader_id;
    cpuinfo_log_debug("File: %s, Function: %s, Line: %d, processor:%d, package_leader_id:%d,processors[processor].package_leader_id:%d,siblings_start:%d, siblings_end:%d\n", __FILE__, __func__, __LINE__,processor, package_leader_id,processors[processor].package_leader_id,siblings_start,siblings_end);

	for (uint32_t sibling = siblings_start; sibling < siblings_end; sibling++) {
		if (!bitmask_all(processors[sibling].flags, CPUINFO_LINUX_FLAG_VALID)) {
			cpuinfo_log_info("invalid processor %"PRIu32" reported as a sibling for processor %"PRIu32,
				sibling, processor);
			continue;
		}

		const uint32_t sibling_package_leader_id = processors[sibling].package_leader_id;
		if (sibling_package_leader_id < package_leader_id) {
			package_leader_id = sibling_package_leader_id;
		}
		// use processors[0].package_leader_id update processors[sibling].package_leader_id.
               //  processors[sibling].package_leader_id value is 0.
		processors[sibling].package_leader_id = package_leader_id;
		processors[sibling].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER;
		cpuinfo_log_debug("File: %s, Function: %s, Line: %d, sibling:%d, sibling_package_leader_id:%d, package_leader_id:%d\n", __FILE__, __func__, __LINE__,sibling,sibling_package_leader_id,package_leader_id);

	}

	processors[processor].package_leader_id = package_leader_id;

	return true;
}

Due to processors[processor].package_leader_id (processor from 0 to 7) is 0, cluster_leader value is 0 all the time.
https://github.com/pytorch/cpuinfo/blob/76d5e8f5b563daa65340a60fce0e9aec73a936df/src/arm/linux/init.c#L368
	/* Initialize core vendor, uarch, MIDR, and frequency for every logical processor */
	for (uint32_t i = 0; i < arm_linux_processors_count; i++) {
		if (bitmask_all(arm_linux_processors[i].flags, CPUINFO_LINUX_FLAG_VALID)) {
			const uint32_t cluster_leader = arm_linux_processors[i].package_leader_id;
			if (cluster_leader == i) {
				/* Cluster leader: decode core vendor and uarch */
				cpuinfo_arm_decode_vendor_uarch(
				arm_linux_processors[cluster_leader].midr,
#if CPUINFO_ARCH_ARM
				!!(arm_linux_processors[cluster_leader].features & CPUINFO_ARM_LINUX_FEATURE_VFPV4),
#endif
				&arm_linux_processors[cluster_leader].vendor,
				&arm_linux_processors[cluster_leader].uarch);
			} else {
				/* Cluster non-leader: copy vendor, uarch, MIDR, and frequency from cluster leader */
				arm_linux_processors[i].flags |= arm_linux_processors[cluster_leader].flags &
					(CPUINFO_ARM_LINUX_VALID_MIDR | CPUINFO_LINUX_FLAG_MAX_FREQUENCY);
				arm_linux_processors[i].midr = arm_linux_processors[cluster_leader].midr;
				arm_linux_processors[i].vendor = arm_linux_processors[cluster_leader].vendor;
				arm_linux_processors[i].uarch = arm_linux_processors[cluster_leader].uarch;
				arm_linux_processors[i].max_frequency = arm_linux_processors[cluster_leader].max_frequency;
			}
		}
	}

https://github.com/pytorch/cpuinfo/blob/76d5e8f5b563daa65340a60fce0e9aec73a936df/src/arm/linux/init.c#L383
arm_linux_processors[i].uarch = arm_linux_processors[cluster_leader].uarch;
Use  arm_linux_processors[0].uarch update arm_linux_processors[i].uarch(i from o0 to 7),Reulst in
arm_linux_processors[i].uarch is the  same as update arm_linux_processors[0].uarch which is a55(0x00300355 in the cpuinfo.h)
https://github.com/pytorch/cpuinfo/blob/76d5e8f5b563daa65340a60fce0e9aec73a936df/include/cpuinfo.h#L409
Please give me some advices.
BR.
Xiaotong

Nobody reply？OK
Now，Cpuinfo should use logical cpu cluster device node to parse cpu cluster rather than use physical cpu cluster!!!
We nedd to add a new cpuinfo device node to parse logical cpu cluster,Such as package_leader_id and package_leader_id_list or logical_core_siblings_list 。
https://github.com/pytorch/cpuinfo/blob/76d5e8f5b563daa65340a60fce0e9aec73a936df/src/arm/linux/api.h#L189
We can not use a physical cpu cluster device node to parse directly ,because cpu arch is changing all the time.

I think some of that is being added as part of RISC-V bringup, but I wonder if it could be landed separately...

I think some of that is being added as part of RISC-V bringup, but I wonder if it could be landed separately...

Hi,malfet, what is means about " I wonder if it could be landed separately".
For Arm CPUs，I am willing to slove the issue.And RISV-V CPUS also has a similar programe.
How to make the issue become  a PR?

Application：
uint32_t uarch_index = cpuinfo_get_current_uarch_index();-> const struct  cpuinfo_uarch_info* cpuinfo_uarch_info = cpuinfo_get_uarch(uarch_index); (cpuinfo_uarchs，init->fill uarchs in it)-> cpuinfo_uarch_info->uarch ;(Type of CPU microarchitecture )
Cpuinfo:
sibling_package_leader_id ->package_leader_id -> processors[sibling].package_leader_id
cpuinfo_arm_linux_init->cpuinfo_linux_detect_core_siblings->cluster_siblings_parser
static bool cluster_siblings_parser(
	uint32_t processor, uint32_t siblings_start, uint32_t siblings_end,
	struct cpuinfo_arm_linux_processor* processors)
{
	processors[processor].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER;
	uint32_t package_leader_id = processors[processor].package_leader_id;

	for (uint32_t sibling = siblings_start; sibling < siblings_end; sibling++) {
		if (!bitmask_all(processors[sibling].flags, CPUINFO_LINUX_FLAG_VALID)) {
			continue;
		}
		const uint32_t sibling_package_leader_id = processors[sibling].package_leader_id;
		if (sibling_package_leader_id < package_leader_id) {
			// package_leader_id = sibling_package_leader_id;
		}
		// processors[sibling].package_leader_id = package_leader_id;
		processors[sibling].flags |= CPUINFO_LINUX_FLAG_PACKAGE_CLUSTER;

	}

	processors[processor].package_leader_id = package_leader_id;

	return true;
}

fixed


e2e(kubernetes agent): Change WithHelmValues to not override everytime but to merge them

What does this PR do?
Change the WithHelmValues optional args of KubernetesAgent. This way we can add several WithHelmValues args and they are merged automatically
Which scenarios this will impact?
Motivation
For Kind scenario we need to install the agent with some Helm values. Without this change you are not able to use WithHelmValues without specifying all the helm value needed internally to run on kind
Additional Notes

Helm already does the merge, that's why it's a AssetOrArchiveArray. You simply append (to the end) newer values to the array.

Oh that's nice. So I'd just need to replace
p.HelmValues = pulumi.AssetOrArchiveArray{pulumi.NewStringAsset(values)}

by
p.HelmValues = append(p.HelmValues, pulumi.NewStringAsset(values))

Thanks for pointing it out!

/merge


Example for Range.getCell in the Excel API reference uses cell instead of getCell

Article URL
https://docs.microsoft.com/en-us/javascript/api/excel/excel.range?view=excel-js-preview#getCell_row__column_
Issue
The example code for Range.getCell in the Excel API reference has the following line:
var cell = range.cell(0,0);

That should probably be:
var cell = range.getCell(0,0);

Screenshot

Thanks for reporting this @Rinzwind.
I'll fix the sample momentarily.


chore(master): release 1.2.35

:robot: I have created a release beep boop
1.2.35 (2023-07-19)
Miscellaneous

deps: update dependency phpstan/phpstan to v1.10.26 (6517c80)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/php-cs-fixer-config/releases/tag/v1.2.35 :sunflower:


Update Tunisia CNI content

The process for getting a CNI has changed.
Trello
https://trello.com/c/JIpz2t2w/468-3-tunisia-marriage-tool-opposite-sex-outcomes-cni-appointments-link-and-removal-of-notary-public-content-change-request
Zen
https://govuk.zendesk.com/agent/tickets/1434327

Thanks for this change, I've created https://github.com/alphagov/smart-answers/issues/3040 to get these changes merged in.


Build stall when CAS reset

I had everything stall during a full Chromium build, it did all come back to life after a minute or so, but the cause appears to be this:
[2023-09-07T07:59:41.326Z WARN  h2::proto::streams::recv] recv_reset; remotely-reset pending-accept streams reached limit (20)
[2023-09-07T07:59:41.326Z ERROR cas] Failed running service : hyper::Error(Http2, Error { kind: GoAway(b"", ENHANCE_YOUR_CALM, Library) })

I'm not sure why this happened and it's the first time I've seen it.

Getting quite a lot of this error from workers:
[2023-09-07T08:33:14.560Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/3147cfb3677571c42217a593af517bd73cd66990c8fcd08c9453030000000000-37957\" : Could not upload data to store in upload_file_to_store : for \"/root/.cache/turbo-cache/work/621d69738280b8cb78d47e763a09fc5f8166dfd0567b3523ecaa8659147b735c/by/goma/obj/third_party/blink/renderer/bindings/modules/v8/v8/v8_payment_response.o.d\" : Error while uploading results"] }

It looks like the CAS was under a lot of load and the scheduler tried to do some lookups but the CAS was unable to process more streams due to some other bottleneck and resulted in the queue filling up, then dropping new connections.
We can mitigate some of this with:
https://doc.servo.org/h2/server/struct.Builder.html#method.max_pending_accept_reset_streams
However, in this case having more than one CAS might be needed in order to deal with excessive loads.
https://github.com/hyperium/h2/pull/668

It was running at a load average of 12 and had 300% CPU usage.  I was trying to avoid having multiple CAS instances because it becomes a pain to manage.  I may have to migrate to one of the S3 style storage solutions and host Turbo-Cache to front it.  It should all have been serving out of the memory store though, so it's surprising that it couldn't handle it.

I wounder if it got caught up in a lock somewhere? It would be great if this happens again if we could get a core dump.
The only N^2 problem that I am aware of in this project is on the scheduler matching, and since this happened on the CAS i'm certain it's a external influenced thing.
Do you happen to know the disk usage? Tokio's disk commands are not actually async, it actually uses blocking calls in a "block safe thread". By default the system is limited to a fixed amount of these blocking threads. So maybe it ended up with too much backpressure from the disk io?

Didn't appear to have a particularly high wa but that's anecdotal.

I'm actually getting a lot of this even when it's not heavily loaded:
[2023-09-07T14:06:14.316Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/06d463ed3e6600423456cdd4faf3c376f042ec06e38b9f002f2f040000000000-10824\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }
[2023-09-07T14:07:06.437Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/bd47cdb64c9fcf99f9b92f91ac9e407be88320381cc73a867d60040000000000-9453\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }
[2023-09-07T14:07:07.557Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/bdf50ad4b2d7bf49796d02e6f68de97c8c051c134cbb95ab5461040000000000-9838\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }
[2023-09-07T14:07:09.229Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e7856deacd8906918a34ef8af8d16a120ba3d45fc678d8f2b262040000000000-9958\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }
[2023-09-07T14:07:14.642Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/0b4fff3fa0cd03d3e65189ba9ee94986feb26539ba1fcc3cfd6a040000000000-9197\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }
[2023-09-07T14:07:17.001Z WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/a350640a5de6855a692c7e81fd9b66dd1e2a27dffcccfd44ba70040000000000-12239\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }

I think we may have introduced a problem recently.  I just updated the cluster to the latest main.

This would be very useful to get some metrics published under prometheus.

I'm getting this on the worker:
[2023-09-07T08:32:24.893Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c945f030000000000-0\""] }
[2023-09-07T14:08:35.580Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.618Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.645Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.645Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.655Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.655Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.675Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.676Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.676Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }
[2023-09-07T14:08:35.676Z ERROR filesystem_store] Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Failed to touch file in filesystem store \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934c7ca3040000000000-0\""] }

Can you try reverting 67b90e2c9a254687b7525053bb4153f95e216b9d and try?
That commit was significant and is the only major change I can think of that might cause this.

Just doing a build with that reverted now.

I've just hit it with a totally new branch and it's flying along without any issues.  The CAS is running at a load average of 18 and rising and 300% CPU with a 2.8 wa but there's no stalls or breakages.
Looks like there might be an issue with 67b90e2c9a254687b7525053bb4153f95e216b9d.

Dang, I will revert that commit. I may need to find another way to do what it's trying to do. I tried a few strategies, but this was the one i hated the least.

I spoke too soon, getting stalls again.  When it stalls the scheduler and remoteexec_proxy CPU usage drops to a tiny amount and get these:
[2023-09-07T14:54:23.990Z WARN  simple_scheduler] Internal error for worker 46ecd873-ab4f-4683-958f-c9b5b1db72b1: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/fcbb86c63a3e9f318ef3e082d7cb809dcc9df658dd9b22a71477000000000000-10778 : Could not upload data to store in upload_to_store : Error while uploading results"] }
[2023-09-07T14:54:25.290Z WARN  simple_scheduler] Internal error for worker 46ecd873-ab4f-4683-958f-c9b5b1db72b1: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/fe55b3977c64b4d0408e121f3e62406afb2258b73fbe6e192277000000000000-10888 : Could not upload data to store in upload_to_store : Error while uploading results"] }
[2023-09-07T14:54:27.344Z WARN  simple_scheduler] Internal error for worker dbfeef84-d1ad-4f6f-9f1e-9681195f2e35: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/0d1a3dcffaedfe4a96e4ab48a6b97b627e407045c8393d63a378000000000000-8344 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/7403455e0ecaa6f782afa837ca22e09c11802d6424b144758d4dbec5de1d36f5/by/goma/obj/components/safety_check/safety_check/update_check_helper.o\" : Error while uploading results"] }
[2023-09-07T14:54:36.713Z WARN  simple_scheduler] Internal error for worker 46ecd873-ab4f-4683-958f-c9b5b1db72b1: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/faef7fb3995348a490c099684ef8ff48c5a4d21a44cbaaf55079000000000000-8988 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/a9ef3a5608d364d407ed72a4542393a99aba5bdf327764eca13b7ba4a7f861ad/by/goma/obj/components/security_interstitials/core/core/bad_clock_ui.o.d\" : Error while uploading results"] }
[2023-09-07T14:54:37.671Z WARN  simple_scheduler] Internal error for worker 02ca6e82-c420-4286-b294-cb61181d3b9b: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/6e6561700bbfbd48a75972966e5bf527a0f7cea14f3ff50cdf77000000000000-9735 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/ac584fe072761ea0a2a91e8f5a0b3a203e9db4880927581c3ce4cf405ef0d7ab/by/goma/obj/components/security_interstitials/core/core/safe_browsing_quiet_error_ui.o.d\" : Error while uploading results"] }
[2023-09-07T14:54:37.976Z WARN  simple_scheduler] Internal error for worker 02ca6e82-c420-4286-b294-cb61181d3b9b: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/64f350e0acf2449906c1e7dea239a9fb5600e73b8a88f2e2fa77000000000000-8368 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/428835674a916f53f6e8b1fdde29879a719d8a6bb3216f5c954e9a57145861b6/by/goma/obj/components/security_interstitials/core/core/controller_client.o\" : Error while uploading results"] }
[2023-09-07T14:54:38.450Z WARN  simple_scheduler] Internal error for worker 02ca6e82-c420-4286-b294-cb61181d3b9b: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/148722dcd9a71441c5783525482540187c087ae9d17246f21278000000000000-10085 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/6f35c0b9223d00b71422bec7c5a8a1a585f9bcd44a840064b25871c762071605/by/goma/obj/components/security_interstitials/core/core/https_only_mode_enforcelist.o.d\" : Error while uploading results"] }
[2023-09-07T14:54:38.509Z WARN  simple_scheduler] Internal error for worker dbfeef84-d1ad-4f6f-9f1e-9681195f2e35: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/346bbdc66eeff2390a88ac5a1707ef7195645ef122d9c366bc7a000000000000-11609 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/a03735e7d1e744370ec03f9c39ad99fa6390ce6d607efca2d68a7fa31682cee7/by/goma/obj/components/segmentation_platform/internal/internal/field_trial_recorder.o.d\" : Error while uploading results"] }
[2023-09-07T14:54:39.107Z WARN  simple_scheduler] Internal error for worker 02ca6e82-c420-4286-b294-cb61181d3b9b: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file /root/.cache/turbo-cache/data-worker-test/tmp_path-cas/9c060331fbf2cf65e497a425ff6f33bde624f64b8fbe41d84178000000000000-11684 : Could not upload data to store in upload_to_store : for \"/root/.cache/turbo-cache/work/5cff60d775f277c693c2ad6a7b4e1f39207dcd97ed67beb3a2adb273315382d9/by/goma/obj/components/segmentation_platform/internal/internal/metadata_utils.o.d\" : Error while uploading results"] }

I think before I got these issues I was running a really old version back at around 259224b28ec8b2f9d878bf079ddaea679baf082a

I don't suppose it could be 8ac4824d1d58379348b50a52cad331e417d1accf?

Hmmm, would it be too much work to bisect it?
What hash where you running before attempting to upgrade?

We might be conflating two issues.
The failed to upload stuff looks like it's failing a soft assert:
[WARN  simple_scheduler] Internal error for worker 46cd9913-c4bc-41f9-b1d3-cb3c3fe52d95: Error { code: Internal, messages: ["Receiver went away before receiving EOF : Failed to write eof to fast store in fast_slow store update : --- : Writer was dropped before EOF was sent : Failed to receive data in filesystem store : While processing with temp file \"/root/.cache/turbo-cache/data-worker-test/tmp_path-cas/06d463ed3e6600423456cdd4faf3c376f042ec06e38b9f002f2f040000000000-10824\" : Could not upload data to store in upload_file_to_store : Error while uploading results"] }

Triggered in:
https://github.com/allada/turbo-cache/blob/main/cas/scheduler/simple_scheduler.rs#L468
I could see a couple ways this might happen, but none of them should be critical.
Does this actually fail the build or just put noise in the logs?

The build doesn't fail it gets a RETRY entry in the Goma logs and stalls everything, it's like it locks up.  I'm currently trying with just 8ac4824d1d58379348b50a52cad331e417d1accf reverted to see what I get.

Having said that, there are still four RETRY entries in Goma for this build, so perhaps it's still happening sometimes?

I think that these logs in the CAS indicate that an issue occurred:
[2023-09-07T15:57:36.444Z ERROR bytestream_server] Write Resp: 0.16644613 None Status { code: Internal, message: "Stream error at byte 24576 : In ByteStreamServer::write()", source: None }
[2023-09-07T15:58:09.957Z ERROR bytestream_server] Write Resp: 0.15555136 None Status { code: Internal, message: "Stream error at byte 36864 : In ByteStreamServer::write()", source: None }
[2023-09-07T15:58:26.965Z ERROR bytestream_server] Write Resp: 0.004299194 None Status { code: Internal, message: "Stream error at byte 32768 : In ByteStreamServer::write()", source: None }
[2023-09-07T16:02:00.397Z ERROR bytestream_server] Write Resp: 0.015137762 None Status { code: Internal, message: "Stream error at byte 20480 : In ByteStreamServer::write()", source: None }
[2023-09-07T16:02:07.979Z ERROR bytestream_server] Write Resp: 0.024254864 None Status { code: Internal, message: "Stream error at byte 45056 : In ByteStreamServer::write()", source: None }

Although they don't really explain what that issue was...

In looking into this, it's super strange, the reader and writer are both complaining about each other:
--> Receiver went away before receiving EOF ...
--> Writer was dropped before EOF was sent ...

This is super confusing.

Should there just be a retry in there perhaps?

I guess we could. I'd rather figure out the root cause though, because it might point to a more fundamental issue.
I'm still investigating what might be going on... The entire reason I creates .err_tip() was because buildbarn had the same issue with not giving much hints into where the problems where for this stuff, and .err_tip() was supposed to help... but I guess it's not enough :-(

Can you share your worker config file?

{
  "stores": {
    "GRPC_LOCAL_STORE": {
      // Note: This file is used to test GRPC store.
      "grpc": {
        "instance_name": "main",
        "endpoints": ["grpc://${CAS_ENDPOINT:-<IP_ADDRESS>:50051}"],
        "store_type": "CAS"
      }
    },
    "GRPC_LOCAL_AC_STORE": {
      // Note: This file is used to test GRPC store.
      "grpc": {
        "instance_name": "main",
        "endpoints": ["grpc://${CAS_ENDPOINT:-<IP_ADDRESS>:50051}"],
        "store_type": "AC"
      }
    },
    "WORKER_FAST_SLOW_STORE": {
      "fast_slow": {
        "fast": {
          "filesystem": {
            "content_path": "/root/.cache/turbo-cache/data-worker-test/content_path-cas",
            "temp_path": "/root/.cache/turbo-cache/data-worker-test/tmp_path-cas",
            "eviction_policy": {
              // 1gb.
              "max_bytes":<PHONE_NUMBER>,
            }
          }
        },
        "slow": {
          "ref_store": {
            "name": "GRPC_LOCAL_STORE",
          }
        }
      }
    }
  },
  "workers": [{
    "local": {
      "worker_api_endpoint": {
        "uri": "grpc://${SCHEDULER_ENDPOINT:-<IP_ADDRESS>:50061}",
      },
      "cas_fast_slow_store": "WORKER_FAST_SLOW_STORE",
      "ac_store": "GRPC_LOCAL_AC_STORE",
      "work_directory": "/root/.cache/turbo-cache/work",
      "platform_properties": {
        "OSFamily": {
          "values": ["Linux"],
        },
        "cpu_count": {
          "query_cmd": "nproc"
        },
      },
      "precondition_script": "/root/precondition_script.sh"
    }
  }],
  "servers": []
}

Well, found one bug. I'm pretty sure it is not the root cause of anything, but it's still wrong (fast_rx is going to slow store and vice versa):
https://github.com/allada/turbo-cache/blob/main/cas/store/fast_slow_store.rs#L161

That would explain why the log says it's populating the fast store but it's remote...

I'm pretty sure what is happening is that the GRPC store (or somewhere down stream) is getting the exact number of bytes needed, then closing the stream before the sender is able to send an EOF.
In other words, somewhere down stream says: "oh, i got all the data you are going to send, i might as well close the connection", even though there's a zero byte message that is required to be sent (the EOF message).
If this is the case, I'd bet money that it's on the fence-post (like 4096 byte), and somewhere there's a short circuit on "exact bytes received".

Another fence post?

For the theory to work DEFAULT_READ_BUFF_SIZE needs to be a multiple of the file I'm downloading or uploading, not just a smaller number, right?

Yes. But my idea is that there are so many files being uploaded that one of them is bound to be hit.

Unfortunately, I'll have to look at it tomorrow now.  I think we're certainly on to something though.  It might also explain why the integration tests are sometimes flaky.

Oh the red herring... This error message is super miss-leading...
All error messages after: Writer was dropped before EOF was sent is caused because slow_tx gets dropped because fast_tx.send_eof() sent an error and caused slow_tx to be dropped.

Si you still need the CAS config?

Let me see how far I can go, but it'd be nice to have.

I think I found the problem:
https://github.com/allada/turbo-cache/blob/f42f150926c23faba7aa63ba62a40eabb1ce8b20/cas/grpc_service/bytestream_server.rs#L398
It sees that the exact number of bytes have been received, publishes a EOF to the downstream store, then closes the channel without reading the possible EOF from the GRPC client's store.
I think to fix this we just need to try to read one last message here:
https://github.com/allada/turbo-cache/blob/f42f150926c23faba7aa63ba62a40eabb1ce8b20/cas/store/grpc_store.rs#L306
and if it returns EOF or an error ignore it. If it returns more data, it means it's an error.

DropCloserWriteHalf.send_eof should check close_after_size before producing an error, right?

The only way that error can become set is if stream.next().await is Err, and calling it again is unlikely to make it something other than Err, therefore your proposal is essentially removing the error from GrpcStore.write

The big problem is that inner_upload_file_to_store only returns the Err from the first Future to have one, so we don't actually get the error from the GrpcStore only the reader, which has had it's other half dropped, so it always errors.

I tried adding:
            let data = if data.is_empty() {
                local_state.reader.recv().await.unwrap_or(data)
            } else {
                data
            };

to the unfold in GrpcStore.update.  Didn't help.  Still getting loads of:
"Receiver went away before receiving EOF : Failed to write eof to slow store in fast_slow store update : Could not upload data to store in upload_file_to_store : for \"/root/.cache/turbo-cache/work/7cadf5b8cacd40c29a4cf5f691fad8d0d3c7f7ffe324aae81ed0cd4aaaa7769e/by/goma/obj/gpu/command_buffer/service/gles2_sources/shared_image_backing_factory.o\" : Error while uploading results"] }

It's super weird.  I modified all of the paths to merge errors now and I don't have any errors from any other paths, so I don't understand how the Receiver is being dropped.

Can I suggest we also add this to avoid closing both ends of the pipe in error cases:
diff --git a/cas/store/ac_utils.rs b/cas/store/ac_utils.rs
index cb42067..bf0fb44 100644
--- a/cas/store/ac_utils.rs
+++ b/cas/store/ac_utils.rs
@@ -17,7 +17,7 @@ use std::io::Cursor;
 use std::pin::Pin;

 use bytes::BytesMut;
-use futures::{future::try_join, Future, FutureExt, TryFutureExt};
+use futures::{join, Future, FutureExt};
 use prost::Message;
 use sha2::{Digest, Sha256};
 use tokio::io::{AsyncRead, AsyncReadExt};
@@ -111,7 +111,13 @@ fn inner_upload_file_to_store<'a, Fut: Future<Output = Result<(), Error>> + 'a>(
     let upload_file_to_store_fut = cas_store
         .update(digest, rx, UploadSizeInfo::ExactSize(digest.size_bytes as usize))
         .map(|r| r.err_tip(|| "Could not upload data to store in upload_file_to_store"));
-    try_join(read_data_fn(tx), upload_file_to_store_fut).map_ok(|(_, _)| ())
+    let read_data_fut = read_data_fn(tx);
+    async move {
+        // Ensure we get errors reported from both sides
+        let (upload_result, read_result) = join!(upload_file_to_store_fut, read_data_fut);
+        upload_result.merge(read_result)?;
+        Ok(())
+    }
 }

 /// Uploads data to our store for given digest.

Confirming that I am not seeing this issue with PR #250 applied.

Added your suggestion (but modified).


More verbose error messages for iOS

Output the reason for the error when failing to load source code. This was a big help when trying to diagnose https://github.com/facebook/react-native/issues/13299.
Unfortunately there still seems to be no way to get the offending line number (because loadError.userInfo[RCTJSStackTraceKey] is empty), but this is good enough.
Before:
[warn][tid:com.facebook.react.JavaScript][RCTBatchedBridge.m:510] Failed to execute source code. Unhandled JS Exception: SyntaxError

After:
[warn][tid:com.facebook.react.JavaScript][RCTJSCErrorHandling.mm:30] Couldn't get stack trace for http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false:81886
[warn][tid:com.facebook.react.JavaScript][RCTBatchedBridge.m:510] Failed to execute source code. Unhandled JS Exception: SyntaxError Unexpected keyword 'var'

Thanks! Can you make the same change to RCTCxxBridge too? I'd also drop the 'Description' and 'Reason' parts of the string. Just format it as '%@ %@'

@javache done! I also added one more commit that finally gets the line number to display.


updatehub: Update package version 2.1.0 -> 2.1.1

This commit includes de following changes:
- f2e56bd (cargo-release) version 2.1.1
- 69c7849 (cargo-release) version 2.1.1
- 50c1235 (cargo-release) version 2.1.1
- 5527f2c (cargo-release) version 2.1.1
- 385a50f cargo: upgrade dependencies
- 835f03d cross: use newer libarchive images
- 5ab607e sdk: api: info: fix response parsing for single items
- 6a4796b updatehub: installer: imxkobs: avoid allocating extra memory
- b019cfa updatehub: object: copy: if file is missing, install it
- 8a4eeb5 nix: start using 'flake' for development environment
- 1396d24 ci: drop ARMv7 and AArch64 jobs
- 6bc1a96 nix: avoid using lorri and instead use nix-direnv
Signed-off-by: Luan Rafael Carneiro<EMAIL_ADDRESS>

Please do the need backports


"Internal" access modifier

I wonder if there is a way to allow a class method accessible for those under the same namespace?
It would be nice to have something like internal or make protected accessible under same namespace or in the same module.

See https://github.com/Microsoft/TypeScript/issues/5228 for more details.


changes should use a channel to update files atomically

to get rid of the mutex we should use a channel to queue writes and reads to the data.
see https://github.com/owncloud/ocis-accounts/issues/82 and https://github.com/owncloud/ocis-accounts/pull/72

@butonic this is an old issue that was transferred from the archived ocis-accounts repo a few weeks ago.
Please close if no longer relevant.


Usage question

Hi!
I'm really excited by the possibility of this, but I can't get it to work for me. In the README, it simply says "Run the script on a PDF with highlighted text." Could we get more detailed usage directions here? I'm going to dig into the code itself, but people without a programming background probably wouldn't be able to do that.
Thank you, and great work!
Jeremy

Could we get more detailed usage directions here?

Hmm. It's been so long since I've used the script that I'm not sure I even recall how I was invoking it.
I think it was just "run the script (e.g., double click on it), then select your file". Let me know if that's not the case!

Thanks for getting back to me! Opening it in script editor and running it from there worked for me. However, it no longer works as is due to some changes that have been made. I'm still in the process of debugging it, but maybe I'll make my version available to people once I finish. Thank you!


[Accessibility] Reconsider the UI design for {"editor.screenReaderAnnounceInlineSuggestion": true}

CC @meganrogge
I have tested copilot with {"editor.screenReaderAnnounceInlineSuggestion": true}. Thank you very much for your hard work. I have some suggestions.

Prompting the suggestion via dialog box popup may not be effective.

Because the dialog box needs to be either accepted or dismissed explicitly in order to keep typing, screen reader users will experience extra delays. I don't recommend using dialog widget for this feature.

There is a significant and noticable delay between hint audio cue and the actual suggestion content popup.

"OK" button is automatically read aloud instead of the actual suggestion when the dialog pops up.

My typing does not work after clicking "OK" button and coming back to original editor cursor position.

System Info
Version: 1.76.0-insider (system setup)
Commit: 7b6b6869e8f5b71b5e9cdbd3f590b10964f89607
Date: 2023-02-22T05:24:32.270Z
Electron: 19.1.10
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621
Sandboxed: Yes

Thanks for trying this out and for the feedback.
When I tested this feature, I found it disruptive and was warned against this approach by @isidorn and @hediet , but thought that you had said there are ways around the disruption for advanced screen reader users.

Prompting the suggestion via dialog box popup may not be effective.
Because the dialog box needs to be either accepted or dismissed explicitly in order to keep typing, screen reader users > will experience extra delays. I don't recommend using dialog widget for this feature.

AFAIK, this is how aria-live alerts work. I tried to add those properties to the element directly and they were not announced by the screen reader.
Re the other notes, I tested this on macOS with VoiceOver and did notice these happening. Which screen reader were you using?
We can keep thinking about this and iterating on a better approach.

@meganrogge -- I think there has been a miscommunication between us regarding this implementation. Having a separate overlay dialog box can cause multiple aside effects and accessibility barriers in this context. I am sorry, but I think I tested your PR for the general suggestions that does not pop up the overlay dialog box. However, I was not able to use my copilot or any extensions for the dev VSCode when I was testing your PR.
I used JAWS for this test, but regardless of whether it is read or not, the dialog approach needs to be seriously reconsidered. I can demonstrate this issue when we meet.

I tried to add those properties to the element directly and they were not announced by the screen reader.

I cannot quite understand why it did not work. We may want to debug this first.

Yes I agree that the current experience is very bad when that setting is enabled, so I'm reverting the PR. I see that we use aria-live: assertive in other places, so it should be possible.

I believe this is now fixed


example link is broken.

More examples are available.
https://github.com/alecthomas/kingpin/tree/master/examples should be https://github.com/alecthomas/kingpin/tree/master/_examples

PR #108 fixes this.


add more vendors support.

@carlmontanari thanks for your comments, I have update the codebase base on your advices

👋 @wangxin688 thanks for the updates!  I also deleted the fortinet platform for now since you mentioned you were going to revisit that later.
if you're happy w/ this let me know and well get this merged! thanks a ton for all the work on this!

everything looks good. thanks


Dependency updates: React

Description
Update to the latest version of React.

A few more dependencies to update; waiting on React to release v18.

React v18 is out as of 3/29; this ticket is ready to be worked on again.

This is now blocked by many of our dependencies needing updates to support the new TypeScript requirements in React 18. For example, react-i18next throws errors like this:
ERROR in src/patientApp/timeOfTest/DOB.tsx:189:16
TS2322: Type '{ children: ("" | Element | { facilityName: string | undefined; } | undefined)[]; t: TFunction<"translation", undefined>; i18nKey: string; }' is not assignable to type '{ children?: ReactNode; components?: readonly ReactNode[] | { readonly [tagName: string]: ReactNode; } | undefined; count?: number | undefined; context?: string | undefined; ... 8 more ...; t?: TFunction<...> | undefined; }'.
  Types of property 'children' are incompatible.
    Type '("" | Element | { facilityName: string | undefined; } | undefined)[]' is not assignable to type 'ReactNode'.
      Type '("" | Element | { facilityName: string | undefined; } | undefined)[]' is not assignable to type 'ReactFragment'.
        The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types.
          Type 'IteratorResult<"" | Element | { facilityName: string | undefined; } | undefined, any>' is not assignable to type 'IteratorResult<ReactNode, any>'.
            Type 'IteratorYieldResult<"" | Element | { facilityName: string | undefined; } | undefined>' is not assignable to type 'IteratorResult<ReactNode, any>'.
              Type 'IteratorYieldResult<"" | Element | { facilityName: string | undefined; } | undefined>' is not assignable to type 'IteratorYieldResult<ReactNode>'.
                Type '"" | Element | { facilityName: string | undefined; } | undefined' is not assignable to type 'ReactNode'.
                  Type '{ facilityName: string | undefined; }' is not assignable to type 'ReactNode'.
                    Property 'facilityName' does not exist on type 'ReactElement<any, string | JSXElementConstructor<any>> | ReactFragment | ReactPortal'.
    187 |                 }}
    188 |               </Trans>
  > 189 |               <Trans t={t} i18nKey="testResult.dob.testingFacilityContact">
        |                ^^^^^
    190 |                 {{ facilityName: facility?.name }}
    191 |                 {facility?.phone && (
    192 |                   <span style={{ whiteSpace: "nowrap" }}>

There is an issue tracking the need to fix this in that dependency's repo.
This issue exists for several other dependencies as well, including FontAwesome. I'm guessing we'll just need to sit out this upgrade for a while until more work is done on our other dependencies.

This is still needed; enough time has passed that we should be able to upgrade successfully (our sub-dependencies should be update to date by now).

@johanna-skylight still working on this, finalizing some tests and code cleanup and hopes to open the PR soon.
Bug bash to be scheduled for G&E team for regression testing.

Johanna's PR still under review; bug bash to come soon.


When credentials are corrected for Global DNS provider , it does not take effect.

Rancher server version - Build from master (Feb 2)
Steps to reproduce the problem:

Create Global DNS provider with root domain - "test.com" for route53 provider with invalid cerdentials.
Create Multicluster App - mcapp1 for cluster1 and cluster2 with Global DNS enabled Ingress for fqdn - "test1.test.com"
Create globalDnsEntry for mcapp1 with fqdn - test1.test.com.

This results in ingress entry being created in cattle-global-data  as expected.
But fqdn fails to get programmed in AWS which is the right behavior since credentials are incorrect.
Edit  Global DNS provider and set the correct credentials.
Even after this , we dont see the fqdn - "test1.test.com" being progammed in Route53.
Create Multicluster another App - mcapp2 for cluster1 and cluster2 with Global DNS enabled Ingress for fqdn - "test2.test.com"
Create globalDnsEntry for mcapp2 with fqdn - test2.test.com.
We dont see the fqdn - "test2.test.com" being  programmed in Route53.
Expected behavior:
Once the  credentials are corrected for Global DNS provider , all ingress entries from cattle-global-data should be programmed in Route53.

Tested with latest build from master:
When credentials are corrected for Global DNS provider , we see the existing rancher-external-dns pod corresponding to the Global DNS provider get deleted and new instance of the pod getting created.
 kubectl get pods -n cattle-global-data
NAME                                                      READY     STATUS              RESTARTS   AGE
systemapp-mytest1-rancher-external-dns-77d768f48-h6gv7    0/1       ContainerCreating   0          2s
systemapp-mytest1-rancher-external-dns-8444dcc6f5-lk78f   0/1       Terminating         0          12m

This new instance of  rancher-external-dns pod uses the updated credentials and is able to create DNS records successfully in the Route 53 provider.


Can we have a template function to be able to apply the model to our data

Sorry, you need to implement the template code by yourself.


gallery-dl: 1.15.1 -> 1.15.2

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs 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/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 101977 run on x86_64-darwin 1

1 package failed to build:

gallery-dl

Result of nixpkgs-review pr 101977 run on x86_64-darwin 1

1 package built:

gallery-dl


Android Basics: ViewModel

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-viewmodel#6
In which task and step of the codelab can this issue be found?
7. Populate ViewModel
13. Solution code
Describe the problem
I got a shuffled word "you" which is equal to original word, problem solved by change to String(tempWord).equals(currentWord, false)
while (tempWord.toString().equals(currentWord, false)) {
    tempWord.shuffle()
}

Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Thank you so much for reporting this issue. This is fixed and will be published soon.


Added the missing Gem webrick.

Tested this PR locally.

@fulldecent we need this PR to be merged.

@Raza403 merged

@fulldecent please push the gem to rubygems.org so that it can be used.

Pushed. Please confirm I did it right

Yes the gem got published, and now we are using it in all of our websites.


Mm 40660 enable retros and status updates for test data

Summary
This PR will update test data generation logic(/playbooks test create-playbooks and /playbooks test bulk-data).
New Logic:

/playbooks test create-playbooks n command randomly selects unique n dummy playbooks and creates them.

/playbooks test bulk-data command:

Gets playbooks list for a specific user from DB
If there are no playbooks in DB, it will create dummy playbooks.
Creates each run using a random playbook.

Before: In command.generateTestData and command.actionTestGeneratePlaybooks methods playbooks where cteated without specifying pb.Members. Because of that in command.generateTestData method, playbookService.GetPlaybooksForTeam call result always was empty list.
After: Added playbook creator user to Members and playbookService.GetPlaybooksForTeam works properly.
Ticket Link
Fixes: https://mattermost.atlassian.net/browse/MM-40660
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

Hello @gbochora,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Extra context from the discussion with @lieut-data  is that we agreed it would be better if some of the runs(roughly 25%) had disabled retros and status updates for diversity.
Regarding other changes, I assumed generating unique random playbooks or choosing a random playbook for each run would give us more diverse test data.

that we agreed it would be better if some of the runs(roughly 25%) had disabled retros and status updates for diversity.

@gbochora Looks like this PR doesn't do that? Maybe I am missing it, but it looks like they all now have it enabled.

@gbochora Looks like this PR doesn't do that? Maybe I am missing it, but it looks like they all now have it enabled.
In the dummy playbooks list, one item(Blank Playbook) out of five has disabled retros and status updates. So when a run is created, there is a 20% chance to select it. Because exactly 25% was not required, I assumed it was an acceptable approach for test data generation.

I don't fully understand this. The call to GetPlaybooksForTeam in generateTestData grabs the playbooks the user has already defined. How is that behavior modified by adding the playbook creator user to the dummy playbooks? I suspect I misunderstood something here.

Generally, if we create a playbook from the web interface, 'api.playbook.createPlaybook' will be called. If members are not specified, it sets the creator user as sole admin and then calls app.playbookService.Create method.
In the case of the command.generateTestData method, we directly call app.playbookService.Create to create a playbook, which doesn't check/set members.

In the case of the command.generateTestData method, we directly call app.playbookService.Create to create a playbook, which doesn't check/set members.

That's exactly what I had missed. Thanks for the thorough explanation, @gbochora :)


subscription_settings: Fix subscriber search box width.

These properties were causing the search box to have a very small
width. Removing it returns search box to normal width.
before:

after:

Merged, thanks @amanagr!  I'm really glad you're taking this opportunity to clean up these media CSS issues.


Use up arrow and down arrow to scroll through past commands

Just like in command-line.
(inspired from https://github.com/AY2324S2-CS2103T-F13-3/tp/issues/53)

For clarification, would you all rather want the scroller to reset to the new command added, or keep the scroller in the absolute index whenever the user enters a new command?
For example, given the following command history (oldest to newest) add ..., delete ..., find ... and action:
I press up twice to get delete ... command and I press enter. (ignore the result. Now the command box is back to blank.)
Would you rather:

Press up again will show delete ..., OR
Press up again will show add ...

Let's say we mimic the behavior of bash shell. Press up again will show the latest delete, and press up one more time will show find.
Is the behavior of Windows's cmd or PowerShell different?
By the way, bash shell also supports ctrl+O to focus the immediately-next command in history, but I don't think this is a very useful thing to do here (the most common use case is probably to re-edit a edit command that contains a typo)

Window also resets back to latest command. I only vaguely remembered one of the systems doing the alternate version, which annoyed me alot.

Then we follow that obviously.


Add optional height to importprivkey RPC

This allows users to avoid rescanning the entire chain when importing a
new private key, if they provide the height of the block from which to
start. Note that any transactions to or from the corresponding wallet
will only be indexed if they occur at or after the given height.
The height argument is height, consistent with the height argument to
rescan.

This is a squashed version of PR #2942 .

Thanks! And apologies for the bad merge earlier


Support Decimal in Parquet predicates

Parquet predicates currently do not support push-down on Decimal columns.
This will require detecting the decimal storage and building the correct predicate that uses an integer, long, or binary value.

@rdblue, we do support row group skipping for predicates on decimal columns, don't we?

Iceberg doesn't currently support pushing down predicates because it can't translate from BigDecimal into predicates on Parquet primitives.
Parquet stats were also incorrect for decimals stored as Binary, but in that case the stats are suppressed so it is safe to push down the predicates. I think we just need to add the translation for int and long decimal storage, and a comparator for binary decimals.

@rdblue, I 'm trying to understand this, please correct me if I'm wrong.
Currently, ParquetFilters#getParquetPrimitive doesn't handle the BigDecimal case, we should add branches to translate decimal literal to int, long (, and binary?) according to its precision. So that ParquetFilter@predicate can return a matched pred correctly. Also because DecimalLiteral uses a default comparator (null first + natural order) which cannot compare binary decimals so we need to create a new comparator such as BinaryDeciamlComparator


no need to "float" items

Using floats (in this manner) is considered bad practice. Please use inline-block and if your HTML is not minified, then you will have to hack the container with font-size:0.

FYI the plugin does not require a float grid system you can also use display: inline-block without problems.


Fix outdated links for threat dragon

@ChristophNiehoff could you please add a bugfix changeset for this change? Looks good, aside from that!

@ghost91- Added a changeset.


Add .cls files

also should the readme point to the gettin started site?

@zkrowiak README will be point to Getting Started site after these changes get merged. I don't want to mess us the Github.

@zkrowiak I test your new change and it works. I will question Jenny later why she does not use Ens.Request and Ens.Response when we actually use this sample for Getting Started page. Please review and merge if you feel good about it.


Why there is no padding or truncation based on max length

In the finetune.py, there is:
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-2B-Instruct", min_pixels=2562828, max_pixels=5122828, padding_side="right")
It means we set padding strategy, it's behavior is add padding tokens to the shorter data sample in the batch to match the longest of data sample in the batch.
See  https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_fast.py#L82 for more details.


I got problem with CLIENT_ID and CLIENT_SECRET.

Hi,
I couldn't solve this issue https://github.com/DaftMonk/generator-angular-fullstack/issues/942#issuecomment-95194578 , i still have the same problem and i couldn't solve that.
I will be appreciated for your help.
Thank you .

solved


Introduce modern-normalize for postcss and sass installs

Adds modern-normalize to postcss and sass installation scripts in an effort to improve the developer experience.
This is consistent with the existing decision to include autoprefixer with the postcss installation script.
We chose modern-normalize over Normalize.css due to that fact that it is actively maintained and is used in Tailwind.
How to review this pull-request

Create a new rails app without specifying a --css option:
rails new cssbundling_demo

Add the gem referencing this fork.
gem "cssbundling-rails", github: "stevepolitodesign/cssbundling-rails", branch: "sp-modern-normalize"

Run the installation script for either postcss or sass.
bin/rails css:install:[postcss|sass]

Confirm the styles are compiled to app/assets/builds/application.css
yarn build:css
cat app/assets/builds/application.css

I'd rather be going in the other direction and consider whether we still need autoprefixer. This needs to be an absolute minimal install that people can then take further.


feat: add free text in appeal

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 74.662%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
6026

Relevant Lines:
8071

💛  - Coveralls


Card/spread descriptions

In tarot.js, we should have json for the cards and card slots that give descriptions of the cards, for tool tips or augmentation.
Ideally there would be an array of card objects with fields:
{
id: number // The value of the card, e.g. the fool is "0", the 10 of wands is "10"
name: string // The name of the card
suit?: string // The suit of the card, if minor arcana
description: string //Meanings or symbols present in the card, to be displayed as a tooltip.
}

major arcana portion addressed as part of update #14

Still todo here:
The card slots (@amcrisan I believe you had some opinions on this, but I can take a stab at some of them)
The minor arcana.

@mcnuttandrew and @mcorrell  : I can handle the spread descriptions. Might not get to it until tomorrow  or thursday because I have one more thing in my queue for today. Also, to consider here, is that we should do probably a stratified sampled sampling for card types and positions (i.e. major arcana should be oversampled, or exclusively sampled) for some positions in the spread relative to others. I'll also work that out and maybe hack out a spread specific sampling alg.

Okay. I'll put some initial placeholders there and then you can rewrite things as you want when you get around to it. Feel free to change names as well.

Working on this now ☝

I think this is now done - handed with pull request #26 and #27


[Document] Update links

What does this PR do?

Update user guide link.
Fix  WARNING: Duplicate explicit target name: "here".

Test CLI & API (bash tests/autotest.sh)

[ ] Test Pass

(Copy and paste the last outputted line here.)

[x] Not Applicable (i.e., the PR does not include API changes.)

Test quickstart & API (bash tests/docs/test_tutorial.sh)

[ ] Test Pass

(Copy and paste the last outputted line here.)

[x] Not Applicable (i.e., the PR does not include API changes.)

Check API Document

[ ] API document is updated (linear, nn)
[x] Not Applicable (i.e., the PR does not include API changes.)

solved by PR #242


MergeJoin experiment

Scope & Purpose
This is a small test suite to see if merge joins can be more efficient than nested loops when using rocksdb.

Regarding you question: what is called nested_loops is what our product management called the thing arangodb does currently. It is not O(n * m). In fact it is a binary search in the bigger list for every element of the smaller list. Which is O(n * log m). The difference to a merge join is that we only advance the first iterator by one.


Readme for Auth-Basic

Adds a readme file for the auth-basic service

I have committed all suggestiosn where there is an agreement so far.
But there is currently no info about how to configure the access to possible auth managers. This must be added here so we can use it in the admin docs. Means, defining eg ldap does what, requires what etc.
Like:

when configuring owncloudsql, envs starting with AUTH_BASIC_OWNCLOUDSQL_* need to be populated. The database needs following setup...
when configuring ldap, envs starting with AUTH_BASIC_LDAP_* need to be populated. Consider...


Removed duplicate heading

I recently reviewed the content and identified that there heading appeared twice on the docs.

@baskaryan , @hwchase17

@ShorthillsAI Why there are so many commits for this one-liner change in one file?
cc @briangraham

@ShorthillsAI Why there are so many commits for this one-liner change in one file? cc @briangraham

The numerous commits for this minor one-liner change in a single file can be attributed to the fact that all prior commits were preserved in this pull request. To address the high commit count, I plan to rebase my branch following this contribution. Thank you for your understanding.


Support append mode for write in fs service

https://github.com/datafuselabs/opendal/blob/88e3b0b3cd9bde47471b10c81bbec76ca286011a/src/services/fs/backend.rs#L418
It seems the OpWrite parameter is ignored in fs::FsBackend::write, but it is easy to support appending from my glance.
Feel free to correct me if there is anything I miss.

Appending data to local file systems and cloud storage works differently. Therefore, OpenDAL provides a Writer abstraction to handle both scenarios. You can find more details about it at https://opendal.databend.rs/opendal/struct.Writer.html

At the moment, OpenDAL does not have the capability to append data to an existing file.


Translation of object TABL

Translation of TABL object missing for serialization/deserialization.

also see comments in https://github.com/larshp/abapGit/issues/2424

see https://github.com/larshp/abapGit/issues/2539


Security question related to JIRA and dynamic issue links

Is there a way to disable to the JIRA links?  For security reasons, I can't use the integration tool to grant access to JIRA, so the links that Standup & Prosper automatically inserts are confusing - would rather they just don't exist.  Is there a way to disable them?

Hey @castalos!
There hopefully isn't a security concern, as Standup & Prosper doesn't require an integration or access to JIRA.
All you would need to do is paste your relevant URL in this field. Standup & Prosper doesn't need special access, your JIRA server doesn't need to be public, this even works if it locked down behind a VPN or firewall.
If there is a security concern, could you please let us know what that is, because we have gone through significant security reviews with some of our customers regarding the features of Standup & Prosper and this has not come up before.
I'm going to recommend due to the sensitive nature and relevance that you reach out to security @ teaminator.io and we can definitely take a look at what would need to be improved for you team.

Warren

Ok, so I guess I'm missing something.  I thought when I was setting up Standup & Prosper that there was something that was asking me to provide credentials to login to JIRA.  (Of course, I can't find that now)
In the configuration for my Standup & Prosper, under advanced tab, there is a section for Automatically insert issue tickets urls when issue tickets are mentioned.  But it's grey'd out.   Do I have to have the paid version to change the URL to what my JIRA URL is?

Ok, so I guess I'm missing something. I thought when I was setting up Standup & Prosper that there was something that was asking me to provide credentials to login to JIRA. (Of course, I can't find that now)

Hopefully not, it really is just a clever regex, a direct url from your standup in slack to your JIRA. There isn't an bot involvement there. If you do find a problem though, we would love to know.
Yes, dynamic issue links for JIRA are part of the paid version of Standup & Prosper. If there's a concern there, we are definitely able to work with your IT department to figure out how to get access for your team, so that property can be updated.
If there is anything we can do on that matter, feel free to reach out to standup-support @ teaminator.io.

I'm unlikely to be able to get the paid version of Standup & Prosper approved by my organization.   Is there a way to just get the checkbox under the key matching to be unchecked so no text matching occurs? (No links would be better than wrong links)

Is the bot incorrectly flagging text as linkable even when it shouldn't be? I would expect it to be pretty good. But it's possible that your team is using Ids in a way which our logic isn't catching. Or are these correctly being identified as issue/tickets/items in your system that should probably have a link?
I'm trying to understand if there is a bug here, in which case we absolutely would want to fix it. Might you have an example you could share here, in the case that the bot is incorrectly identifying issue numbers?
Regarding the paid version, I'm sorry to hear that. I would appreciate understanding what the challenge there would be, if there is something missing for them that prevents enabling the features you would want, our team here would definitely want to know. So anything additional information you could provide would be helpful.
Thanks,
Warren

Our JIRA tickets look like this:   TBS-#####   The bot identifies that as a JIRA ticket and makes it a link as shown here:

instead of our JIRA instance which looks like this: https://....com/jira/browse/TBS-16244 .
It seems that the tool default is set to make things in the format of KEY-xxx as links even if that option is not turned on - even though we're using the free version.   I would think the default would be to not match anything and not provide any links.
As for paid version, I work for a company with over 100K employees and trying to get something like this with recurring support charges (even though only a small number of people would actually use) is unfortunately a paperwork nightmare.

It's a good thought, we'll put it in our backlog. As for the product, the reason why it is there, is for discoverability. We want teams to be able to easily see that they have additional capabilities available to them if they choose to use them.
Regarding the issues with navigating your company. I can understand the challenges there. If there is anything we can do to ease that difficulty, please do let us know.


Error: Cannot find module '/tmp/.mount_pb-for4XKagy/resources/electron.asar/browser/init.js'

🤷🏽♂ Current Behaviour

I just downloaded pb-for-desktop-7.6.0-x86_64.AppImage (thanks!) in the Seamonkey browser to /tmp on Mageia release 6 (Official) for x86_64, made the file executable per google (my first appimage), and ran it from konsole.  A program icon was placed in my plasma5 menu under Tools but it fails to launch.
When I run from konsole, the message in Title is included in the output, copied below:
...
[rolf@z68x ~]$ cd /tmp/mozilla_rolf0/
[rolf@z68x mozilla_rolf0]$ ll
total 86632
-rwx--x--x 1 rolf rolf 88708003 Jun 17 08:10 pb-for-desktop-7.6.0-x86_64.AppImage*
[rolf@z68x mozilla_rolf0]$ ./pb-for-desktop-7.6.0-x86_64.AppImage
module.js:545
throw err;
^
Error: Cannot find module '/tmp/.mount_pb-for4XKagy/resources/electron.asar/browser/init.js'
at Function.Module._resolveFilename (module.js:543:15)
at Function.Module._load (module.js:473:25)
at Function.Module.runMain (module.js:683:10)
at startup (bootstrap_node.js:196:16)
at bootstrap_node.js:622:3
[rolf@z68x mozilla_rolf0]$ ps aux | grep bullet
rolf      5638  0.0  0.0  26128   872 pts/0    S+   08:23   0:00 grep --color bullet
[rolf@z68x mozilla_rolf0]$
...
🎯 Expected Behaviour

A program to launch in the gui, with certain configurations and capabilities explained.
👟 Steps to Reproduce (S2R)

I think was answered above.
🏡 Environmental Context

App Version
v7.6.0
Installation Type
appimage
Operating System
Mageia release 6 (Official) for x86_64

@rolfep
Thanks for your feedback. This is an upstream issue:
https://github.com/electron-userland/electron-builder/issues/2958
Until it is fixed, please fallback to one of the other package formats.
Cheers,
S


[arquillian/arquillian-extension-liferay#32] Add documentation

Just started reviewing :) :octocat: Sent from GH.


select placeholder not work in form

my component.ts
import {FormBuilder, FormGroup} from '@angular/forms'

@Component({
  selector: 'app-test',
  templateUrl: './test.component.html',
  styleUrls: ['./test.component.scss'],
})
export class TestComponent implements OnInit {
  validateForm: FormGroup

  constructor(private fb: FormBuilder) {
  }

  ngOnInit() {
    this.validateForm = this.fb.group({
      select: [null],
    })
  }
}

my template
<form nz-form [nzType]="'horizontal'" [formGroup]="validateForm">
  <div nz-form-item nz-row>
    <div nz-form-label nz-col [nzSpan]="6">
      <label nz-form-item-required>Select</label>
    </div>
    <div nz-form-control nz-col [nzSpan]="14">
      <nz-select formControlName="select" [nzSize]="'large'" [nzPlaceHolder]="'xx'">
        <nz-option [nzLabel]="'China'" [nzValue]="'China'"></nz-option>
        <nz-option [nzLabel]="'U.S.A'" [nzValue]="'U.S.A'"></nz-option>
      </nz-select>
    </div>
  </div>

</form>

I get this

this select placeholder 'xx' is not work

nzShowSearch = true

反人类啊老铁，为啥这么设计啊

if there is no search input, there will be no place for placeholder.

Please add this information into official documents.
https://ng.ant.design/#/components/select

Hi all, this feature will be supported in next version.

@leeziiAtCn I am seeing that you include sass into the component but the ng-zorro-antd is based on less. Is it a typo or you made it ?

@vlados angular cli support using both sass and less in one project.


Auto-crop gives unacceptable results

On several videos I'm trying to convert to h265 using h265ize the autocrop detection gives very bad results (blackboard tutorial videos, autocrop takes out half+ of the content which is actually wanted) so I would want and option to remove autocroping but keeping the rest of the normalization levels enabled.
From what I read in the code/docs, that is not possible because for disabling autocroping I would need to say --normalize-level 0 which takes everything out, right?
I think a specific option for disable only autocroping would be useful.
Additionally/alternatively a threshold option to keep autocroping within sane limits might work too: say "--max-auto-croping .2" which would mean that if autocroping tries to kill more than 20% of pixels it should be automatically disabled.
Thoughts?

support your request!!

Using --normalize-level 0 has worked flawlessly for me to eliminate cropping. In my experience so far, setting the normalization level just leaves the video ratio as is. I've had no issues with it yet.

Using --normalize-level 0 has worked flawlessly for me to eliminate cropping. In my experience so far, setting the normalization level just leaves the video ratio as is. I've had no issues with it yet.

I get that. That's exactly how I solved.
What I'm asking is being able to disable auto-cropping only but keeping the rest of the stuff that comes with higher values of --normalization-level:

various audio normalization alternatives
video deinterlacing
audio stream title handling

That's from a quick search on https://github.com/FallingSnow/h265ize/blob/master/lib/classes/video.js

I'm confused now as I obviously lack the knowledge :))) can I use the
normalize function without losing out on other benefits?
Thank you both!!
On Fri, 3 Apr 2020, 20:36 Pablo Lalloni<EMAIL_ADDRESS>wrote:

Using --normalize-level 0 has worked flawlessly for me to eliminate
cropping. In my experience so far, setting the normalization level just
leaves the video ratio as is. I've had no issues with it yet.
I get that. That's exactly how I solved.
What I'm asking is being able to disable auto-cropping only but keeping
the rest of the stuff that comes with higher values of
--normalization-level:

various audio normalization alternatives
video deinterlacing
audio stream title handling

That's from a quick search on
https://github.com/FallingSnow/h265ize/blob/master/lib/classes/video.js
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/FallingSnow/h265ize/issues/146#issuecomment-608621817,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRAUCJPLTU6DV3GHA2ZOWLRKY3DRANCNFSM4LW2P6DA
.

AFAIK you need to use --normalize-level 0 to disable auto-cropping and that disables everything else that is controlled with that flag.

It appears indeed that a few features are left out with --normalize-level 0. Fine for videos without subs ...


[5.10] Update swift-markdown and fix test case

Update Package.swift to use release branch + Cherry-pick of #708

Actually IMO the Package.swift update should be committed right after the release/5.10 is cut off. 😄

Explanation: Fix swift toolchain CI test case failing due to the swift-markdown breaking change PR.
Scope: Test case fix
Dependency: https://github.com/apple/swift-markdown/pull/147
GitHub Issue: None
Risk: Low
Testing: None
Reviewer: @eeckstein

What's your opinion on this cherry-pick PR? @franklinsch
If you have concern of the mix update in one PR, I'm also open to split them into 2 PR.

One for Update Package.swift to use release branch
One for Cherry-pick of #708

The swift-docc CI will only pass after the swift-markdown PR is merged. So there will be around 20 min failing period for the upstream swift-toolchain 5.10.
Merge Plan @franklinsch :

Merge swift-markdown PR on 2023/9/26 23:00(GMT+8)
Trigger this PR's CI (~20min)
Merge this PR.

@swift-ci please test

@swift-ci please test


Remove Kinesis bullet from 3.3.330.0 update

SubscribeToShard and RegisterStreamConsumer Kinesis Streams API updates apply only to Java SDK.

Description

Motivation and Context

Testing

Screenshots (if appropriate)
Types of changes

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

Checklist

[ ] My code follows the code style of this project
[ ] My change requires a change to the documentation
[x] I have updated the documentation accordingly
[ ] I have read the README document
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

Thanks @GitGaby!  What do you think about the following snippet instead of removing it outright?

This version adds the foundation for future support of HTTP2 based eventstream operations. For more information, see Developing Consumers with Enhanced Fan-Out in the Kinesis Developer Guide.

We are a bit concerned that removing the change log altogether maybe confusing for developers.


fix: Skip retrieving EKS cluster data when not creating the role

Description
Adds an additional conditional in the existing for_each for reading the EKS cluster data and constructing part of the policy document.
(I suppose the whole policy document can be skipped if there's no role being created... but no harm done in keeping it in, didn't want to break other things.)
Motivation and Context
Fixes https://github.com/terraform-aws-modules/terraform-aws-iam/issues/324
Breaking Changes
No breaking changes afaik, only adds hardening in the need for the execution of certain resources.
How Has This Been Tested?
Tested with the following code (module is local fork, at the v5.5.1 tag).
module "cluster_autoscaler_role" {
  create_role = false
  source      = "./modules/terraform-aws-iam/modules/iam-eks-role"
  #  version     = "5.5.1"

  role_name = "cluster-autoscaler-false"

  cluster_service_accounts = {
    "foo" = ["kube-system:cluster-autoscaler"]
  }

  #   role_policy_arns = {
  #     cluster-autoscaler = module.cluster_autoscaler_policy.arn
  #   }
}

Also toggled the create_role to true to validate that the old flow still functions.

[X] I have executed pre-commit run -a on my pull request

➜ pre-commit run -a
Terraform fmt............................................................Passed
Terraform wrapper with for_each in module................................Passed
Terraform validate.......................................................Passed
Terraform docs...........................................................Passed
Terraform validate with tflint...........................................Passed
check for merge conflicts................................................Passed
fix end of files.........................................................Passed

not stale ...

This PR is included in version 5.33.1 :tada: