MSID: 87668 Version: 2 DOI: 10.1101/2<IP_ADDRESS>2370

MSID: 87668
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>2370
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=87668
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>2370

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/87668v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>2370
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/87668/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Schematron:
error: This journal reference (id c23) has no article-title element.
error: This journal reference (id c38) has no article-title element.

@fred-atherden This does not appear to be in the meca bucket.

@JGilbert-eLife, sorry - should be there now

Cheers!


Add support for normalizing Markdown

Related to issue #17
This is still in wip.

[x] support all CommonMark core components

wip

[ ] Add normalize options (limit text width....etc.)
[ ] support all extensions

Is there a blocking issue on PR? Or is there anything we can help out with? This would be a great feature to have -- as I would love to be able to programmatically create a MarkdownDocument and be able to generate the markdown string from it.

Nothing blocking, just my limited spare time and lower personal interest for this specific feature.

I'd like too help out on it - could you provide any overview of what is left?

@eamodio sure, you are welcome. The first round is to support the core CommonMark syntax. The current commit changes on my branch contains some work for this (but still some syntaxes are not supported/well supported, like escape characters - I can explain later how to implement it)
Then, once the core part is done, we can start to select candidate for extensions (prioritize first the extensions that are part of the Github Flavored Markdown like pipetables, strikethrough... etc.).
Let me know if you need more details.

I just stumbled over this. I need something similar (I want to analyze the AST, fetch some stuff from it, and then serialize some parts of the AST (normalized or not).
What is the progress? How heavy would this be to complete it? 2 hours, 10 hours, 20 hours?

What is the progress? How heavy would this be to complete it? 2 hours, 10 hours, 20 hours? Willing to help out.

I have no spare-time to work on this (as I have no personal requirement for this feature), so no progress has been done since I started to prototype the idea. For the core Markdown features (CommonMark only), I guess it requires a few hours of work (with tests...etc.). For all the extensions, quite more.

Feel free to branch from my original PR

I forked the repo and the normalize branch and saw into what is missing. This is my view (correct me if I am wrong)

rebase to the HEAD of master works
Renderer for normalization exist in similar scale than for the HtmlRenderer
Most of the unit test cases are missing.
There are no test cases for normalization. But maybe that is already covered in the parser tests.
TODOs for

[ ] List
[ ] CodeInline
[ ] LineBreakInline

No options like

[ ] Limit Text Width

Questions @xoofx

Are the renderer - ignoring TODOs - covering the complete syntax?
Extensions are not covered. Maybe better as separate PR?
Do we need unit tests for the "normalization" test cases? Or is that covered as part of the parser unit tests?
Is there any list of "normalized" markdown? I checked the CommonMark spec for (as a sample) http://spec.commonmark.org/0.27/#thematic-breaksbut they do not specify a preferred sample.
What about LinkReferenceDefinition?

About normalization, it is just options to modify the way is printed back to markdown (like limit the column of paragraphs). You don't have to worry too much of it at this point.
The original PR is very far from complete even for the renderers that were implemented. It was just a bootstrap to check how much work it would require and if there was any changes required to some existing classes (like handling the indent). Most likely there are missing TODO as well.

Are the renderer - ignoring TODOs - covering the complete syntax?

Can't remember the state of each, so you have to check them. The CommonMark part is quite limited, so it is only a few classes.

Extensions are not covered. Maybe better as separate PR?

yes

Do we need unit tests for the "normalization" test cases? Or is that covered as part of the parser unit tests?

we will (for the part specific with options activated, like limit column). One possible automated part for all tests is to output some markdown, re-feed it to the parser, re-output it and check that it doesn't shift.

Is there any list of "normalized" markdown?

I don't know, but "normalized" is nothing more than just a few rendering options. We have the freedom to add whatever is relevant for common use cases. We will see which one are valuable. Obviously, limit the width could have an impact on many renderers, so some normalization are more generally intrusive than others (e.g a normalization could work on list numbering for example).

What about LinkReferenceDefinition?

They should be part of the rendering as well... not sure exactly what do you imply?

I found some bugs, check this commit file content

Sure, again, the original PR was a very small proof of concept and in the early stage of a WIP.
There will be may be some challenges with detecting characters that need to be escaped also (for the inline part)

I have now unit tests for the straight forward things and fixed the bugs and TODOs so far.
I will go ahead by ...

cleaning the test suite
spec the normalization cases
not implementing the line breaking thing. Too complex for me right now ;) That will also go to an extra PR.

@xoofx can you take a look at https://github.com/tthiery/markdig/blob/normalize/src/Markdig.Tests/TestNormalize.cs
I am curious about your opinion in testing AST to nomalized Markdown? I find the AST very hard to work with (I know.. damn youth...  we enjoyed XLinq to much ;)). Is there a better way to annotate that? Or should we better base testing on alernative-to-normalizet text cases.

I am curious about your opinion in testing AST to nomalized Markdown? I find the AST very hard to work with (I know.. damn youth... we enjoyed XLinq to much ;)). Is there a better way to annotate that? Or should we better base testing on alernative-to-normalizet text cases.

Yeah, it will be too laborious. I would prefer if we could test as I started by checking plain markdown text:

Input and renormalize ouput are equal, so just an AssertNormalize with only one input (that will be the output used to check the renormalize)
Input and renormalize output are different: same AssertNormalize with the two args (input and output)

Okay, understood. How far should normalization go? I think I will start to support the variations offered by the AST (e.g. different fencing characters for a FencedCodeBlock). Later PR should focus on limiting this by (default) settings.

Closing this issue as the first part (core CommonMark) is handled by the PR #154 which was a continuation of this PR.
Will open a separate issue to track the remaining work


allow zero substitutions into the denominator, fixes #290

Currently not working on jenkins linux because of an older version of numpy...

Working on Jenkins, now.

Ok, this is looking great, but I think zero_lower_unbounded should be recursive. Here's an example that won't solve with a single call to zero_lower_unbounded , but solves with two calls:
from gpkit import Variable, Model
from gpkit.tools import zero_lower_unbounded
x = Variable('x', value=4)
y = Variable('y', value=0)
z = Variable('z')
t1 = Variable('t1')
t2 = Variable('t2')

prob = Model(z, [z >= x + t1,
                 t1 >= t2,
                 t2 >= y])
zero_lower_unbounded(prob)
# zero_lower_unbounded(prob)
sol = prob.solve()
print sol.table()

The test failures here are a result the serialized testing. If we remove .gpkit the testing can be done in parallel and each commit should pass the tests.

fix merge conflicts, otherwise looks great


Adding update stage for static versions page in docs.

Relates to #472
Requires #661 to be merged before this can be.

Changes Unknown when pulling fd0e143e547cde1714e30c1f903a437e4eeec4bd on dhermes:versions-update into ** on GoogleCloudPlatform:master**.

@tseaver This is a follow-on to #662 (so we don't have to manually update the versions list)

LGTM


[standard:function-literal] Crash with reduntant lambda arrow

Expected Behavior
ktlint should not crash

Observed Behavior
ktlint crashes

Steps to Reproduce
fun foo(block: () -> Unit): Unit = foo { -> block() }

Your Environment

Version of ktlint used: 1.0.1
Relevant parts of the .editorconfig settings: none, although function-literal seems to be crashing even with ktlint_code_style = intellij_idea, whereas the documentation states the rule runs only with kotlin_official code style
Name and version (or code for custom task) of integration used (Gradle plugin, Maven plugin, command line, custom Gradle task): ktlint-gradle-plugin
Version of Gradle used (if applicable): 8.3
Operating System and version:

The function-literal rule is introduced in version 1.0.0. The documentation is incorrect. The rule is an experimental rule and is enabled for all code styles.
Both documentation and rule need to be fixed. Tnx for reporting.


setDecayMode() always sets decay mode to 000

In the function setDecayMode(), the mode argument is shifted left by 8 bits before being OR'ed with the current register value, resulting in the DECAY bits being cleared no matter what the initial mode argument was. In addition to preventing the DecayMode from being set to anything other than the default SmartTuneRippleControl or SLOW:SLOW, this also breaks stall detection, which requires the decay mode set to the default. Users who think they are confirming that the decay mode is properly set are actually setting it to another mode, preventing the feature from working.
void setDecayMode(DRV8434SDecayMode mode)
{
    ctrl2 = (ctrl2 & 0b11111000) | (((uint8_t)mode & 0b111) << 8);
    writeCachedReg(DRV8434SRegAddr::CTRL2);
}

Thanks for pointing this out!


Markdown Preview not handling a specific kind of line break

@mjbvz , While i was creating a test file for checking #72671, I found that line breaks are not added in the preview for the kind of file I created.
Just for your info , this is how I created using terminal
for ((i=1;i<=10;i++));
do
   echo "Hello World $i" >> testSmallMdfile.md
done

Please confirm if we have to take care of this ? ( I can fix this if you can guide me :) )
Attaching screenshot for further reference.

Does this issue occur when all extensions are disabled?: Yes

This is how markdown handles line breaks. To separate lines, you either need a double line break or end the line with two spaces


Kings next to each other

Hi! Another bug I noticed, you can reach positions with kings on squares next to each other. For example 1.e3 e6 2.Ke2 Ke7 3.Kf3 Kf6 4.Ke4 and here Kf5 is allowed, while Ke5 is not allowed. After 4...Kf5, the white king is in check. Let me know if you need some pull requests, btw, nice work with this package!

Fixed in 42658ce59b25f59a8bbc8404416fbae8e924e92b Thanks a lot

Fixed in 42658ce59b25f59a8bbc8404416fbae8e924e92b Thanks a lot

Works fine now, cheers!

Works fine now, cheers!


Eq 1394 escape char fix

What is the context of this PR?
Fixes #1394
How to review
Retest #1394

Worth adding the same test to TextArea as well as just TextField.


Add godep to list of supported external tools

should we maybe also have an FAQ item specifically for "what external tools are supported"?

Tests are failing because of a network error and a data race.
The data race might be related to #763. It should be solved by #779.
It's iroinic that this is happening on a docs PR. 😆

Where's the facepalm reaction when I need it? heh, I've kicked the failing job. I am leaving the the gps race PRs to Sam as the best I can do is a LGTM which isn't terribly helpful!

Fixed and squashed!

Fixed the nit and rebased on the latest FAQ change.


Enable Managed API to process VerifiableMlsPlaintext

This PR enables the Managed API to process VerfiableMlsPlaintext objects, which is required, as it's not possible (and not meant to be) to deserialize MlsPlaintext directly. This PR creates a new enum MlsMessageIn which contains either an unverified plaintext or a ciphertext. The ManageAPI then decrypts the ciphertext (decryption already deals with verification of the contained ciphertext) or verifies the plaintext (this step was missing) and continues processing.
This is a temporary fix until verification is dealt with properly as per #133.

Is this really specific to inbound messages? It sounds like you want to introduce a distinction between inbound and outbound messages. This might make sense, I just want to know if that's really the intention and also what the motivation is.

Since @franziskuskiefer made the verification of signatures type-safe, you can't de-serialize a payload directly into an MlsPlaintext, but instead you have to de-serialize into a VerifiableMlsPlaintext, which you can then verify. As of now, the verification takes place behind the Managed API (although this might change in the future), so the input messages have to be assumed to be unverified, thus the change. Meanwhile the output messages don't have to be verified (except in the context of the test framework, where we don't serialize and de-serialize betwen clients), since they originate with the locally running client (which we trust).

I'm not sure I fully understand this PR. While something like this certainly is necessary the code here should have either broken or be unusable. Since neither has been the case I suspect that it's simply not used (properly)? Then the question would be why the code is even there. It then either needs tests and usage examples or should be removed.

My understanding is that we don't have a real consumer of the Managed API that serializes and de-serializes messages. Otherwise this problem would have arisen when we removed the ability to de-serialize bytes into MlsPlaintext.
We have the testing framework, which uses the Managed API, but that doesn't serialize and de-serialize and the cli uses the MlsGroup API, which only takes MlsPlaintexts as input. The difference here is that Managed API wants to allow both ciphertexts and plaintexts as inputs, which means that either all verification has to performed by the API or only ciphertexts are verified by the API, while plaintexts have to be verified by the consumer. The core difference here being that the Managed API deals with decryption, while the MlsGroup API makes the consumer do that.
To conclude: We have several options:

split verification to outside for plaintexts and inside for ciphertexts, which would allow us to keep the MlsMessage enum as-is.
only take plaintexts as input and enable the consumer to deal with decryption themselves, which in turn enables them to verify both plaintexts and (after decryption) ciphertexts

I'm not a huge fan of the first option, because it seems inconsistent and, after all, the goal of the Managed API is to deal with this sort of stuff for the consumer as much as possible.

My understanding is that we don't have a real consumer of the Managed API that serializes and de-serializes messages.

Exactly. That's why it must get a consumer. Only then we can talk about the right way of "fixing" this.

My understanding is that we don't have a real consumer of the Managed API that serializes and de-serializes messages.

Exactly. That's why it must get a consumer. Only then we can talk about the right way of "fixing" this.

The consumer would be the interop client, and trying to merge the interop client into main is exactly why I stumbled across this problem and filed this PR 😄
Should I make this PR part of the PR that merges the interop client into main?
Alternatively, I can start serializing and de-serializing in the testing framework.

Alternatively, I can start serializing and de-serializing in the testing framework.

This would certainly be nicer, because it tests more. Having it configurable would be even nicer to be able to switch it off for debugging. But it's not really necessary.

I essentially copied some of the code of DsMlsMessage from ds-lib to the test framework, because it seems like we need this MessageType in both places. The use is slightly different in both places and I don't see this flag as part of OpenMLS, so I copied the relevant parts of the code for now.

The last failing test on this one should go away after merging #451. (Or just re-running the test, but that would be cheating!)


Participant Q/A

Feel free to leave question or comments here that don't warrant their own full github issue !

Links to other meta issues:

title
link

engine-meta
#3

game1-meta
#7


Is there a better way to get a byte[] from an XmlHttpRequest?

I'm fetching a binary file using XmlHttpRequest and need to convert it to a C# byte[]. I'm passing it to code I wish to share with real C# so I can't just use the Uint8Array directly (though I can use it for converting).
Current code looks like this (which works):
static void BeginLoadRom(string rom)
{
	var req = new XMLHttpRequest();
	req.ResponseType = XMLHttpRequestResponseType.ArrayBuffer;
	req.Open("GET", rom);
	req.OnLoad = e => EndLoadRom(ConvertToByteArray(req.Response as ArrayBuffer));
	req.Send();
}

static byte[] ConvertToByteArray(ArrayBuffer buffer)
{
	var data = new Uint8Array(buffer);
	var dataBytes = new byte[data.Length];
	for (var i = 0; i < data.Length; i++)
		dataBytes[i] = data[i];
	return dataBytes;
}

Although this works, the ConvertToByteArray looks a bit sucky. I'm creating a new byte[] then literally just copying the data into it (there isn't even a cast!). Generated JS looks like this:
var data = new Uint8Array(buffer);
var dataBytes = System.Array.init(data.length, 0);
for (var i = 0; i < data.length; i = (i + 1) | 0) {
	dataBytes[i] = data[i];
}
return dataBytes;

Two questions:

Can I simplify the C# at all? (even if the JS is output the same)
Can the output JS be any better? I guess a Uint8Array is really just the same as a C# byte[]?

@DanTup, there is an option for typed arrays  and you can use as. Eg.
uInt8Array.As<byte[]>()

Excellent, that's much cleaner. Thanks! :-)
// ...
req.OnLoad = e => EndLoadRom(GetResponseAsByteArray(req));
// ...

static byte[] GetResponseAsByteArray(XMLHttpRequest req)
{
	return new Uint8Array(req.Response as ArrayBuffer).As<byte[]>();
}

@DanTup, another option is to use Array.from.
[Template("Array.from({value})")]
public static extern byte[] ArrayFrom (Uint8Array value);

or if you care about browser support
[Template("[].slice.call({value})")]
public static extern byte[] ArrayFrom (Uint8Array value);

and use:
ArrayFrom(uInt8Array);

if you don't want to use typed arrays internally.


The fluids produced includes water, distorting that metric a lot.

Mod source
Factorio Mod Portal
Which mod are you having an issue with?

[ ] pyalienlife
[ ] pyalternativeenergy
[ ] pycoalprocessing
[ ] pyfusionenergy
[ ] pyhightech
[ ] pyindustry
[ ] pypetroleumhandling
[ ] pypostprocessing
[ ] pyrawores

Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[X] Other

What is the problem?

Overall this new Py wiki is amazing, and I really love the idea of the statistics on total amount of items made!
However the fluids include water, even water from offshore pumps, making it very inflated. Perhaps this becomes trivial amounts later in the game, but early game it seems to make it almost irrelevant? While writing this I remembered that this might be steam from boilers as well, however I checked, and almost all the water has been making soil...
Is this intended? While it might make sense to be, at the same time, my first reaction was that the number couldn't be correct, as I had on this save yet to "make" any fluids that I could think of.
Basically the same happens for ores, at least early on, the ore + ash counts dwarf everything else by crazy amounts.

Steps to reproduce
No response
Additional context
No response
Log file
No response

Not a bug. It is intended to count water from pumps.


Update 20.8

Checklist

[X] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[X] Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Seems like this patch, fixes issue #45. See conda list here.

The usual timeouts in ppc64le, merging and retrying as needed!


Examples test update clean

Clean version of the branch to reorganise tests and examples; see also issue #44. Thanks @Thomas-95 for doing most of the legwork!

Ok, other than a generic downloader function in pull_data.py this looks great and is good to go.

Rewritten pull_data.py - functions replaced by single class with three instances, code generally cleaner. @erikvansebille has given the all clear.

Ok, this looks great now. Thanks a lot. Merging....


Getting previous date in method didSelect date

Hello,
I have upgraded the library to the latest changes, and when I print the date which user has selected it is showing previous day.
For example when I select Dec 26, the date that it prints is 2016-12-25 18:30:00 +0000
Earlier it used to work correctly.
May I know why it is happening the way it is?
Thanks!

Use NSDateFormatter to convert your date to string, then print the string instead.

Yes, I can do that.
But, I have my data structure based on Date or date.timeIntervalFrom1970
and when user selects a particular date - I want to query my data based on date object or timeIntervalFrom1970 value and do something.
My data is not like String : String, it is more like Date : String or Int : String
With NSDateFormatter - I have to format it twice once from date to string and then again string to date.
Hence, I was asking why the method didSelect returns a different date.
Earlier it used to work correctly?
Is this because of a recent change that I can see or we can provide a customization point?
Thank you!

@raghvendra I still don't get what does returns a different date means. Here is the screen shot of the example project.

ok,
I am attaching the screenshot of the Example Code with the print statements, that will make things clear.
If I use NSFormatter - I get the date as Dec 28, but when I print that date object it has some different value.

Ok, I figured out what was the issue that caused it.
The commit with sha ** d3a4531**,  changed earlier implementation. The commit description says that - "Local timezone is better"

How to solve this issue. I didn't get the point.


IE11 "multiple definitions strict mode" bug

I got IE11 error "multiple definitions strict mode".
Inspection show that it caused by next code:
e.JsonObject.metaData.addProperty("sortablelist",{name:"emptyText",category:"general",default:"Move items here.",category:"general"})
I think problem is in duplicated category property. I found at least 3 duplications.
Can You fix it?

How can we reproduce the issue?

How can we reproduce the issue?

In my case it's react app with '"use strict";' and IE 11.0.9600.18860
In repo src/sortablejs.js we can find on line 35 next code:
      Survey.JsonObject.metaData.addProperty("sortablelist", {         name: "emptyText",         category: "general",         default: "Move items here.",         category: "general",       });       Survey.JsonObject.metaData.addProperty("sortablelist", {         name: "useDefaultTheme:switch",         category: "general",         default: true,         category: "general",       });       Survey.JsonObject.metaData.addProperty("sortablelist", {         name: "maxAnswersCount:number",         category: "general",         default: -1,         category: "general",       });
In any case: what sense in category: "general", duplication? It's an issue I think.

Thanks, I see now. I should be more scrupulous. It's a bug indeed. We'll fix it.

Fix will be available in 1.8.2


[bug] $projectRoot is rendered with a leading tilde

Describe the bug
The $projectRoot variable is being rendered with a leading tilde (~) when interpolated. This is causing issues with third parties which do not automatically expand paths. (e.g. most node package CLIs)
Using bash to expand the result is yielding a negative DX as it requires changing the paradigm of how the task command is constructed.
Steps to reproduce
Using a moon task:
  test:
    command: ava $projectRoot
    inputs:
      - src
      - test

Yields:
[DEBUG 10:47:22] moon_process::command_inspector  Running command node --title svc-test:test ../../node_modules/ava/entrypoints/cli.mjs ~/code/test/services/svc-test

Update: I upgraded to 1.7.1 to see if that had an effect and it looks like there's some more info, but the same bug:
[DEBUG 10:56:47] moon_process::command_inspector  Running command node --title svc-test:test ../../node_modules/ava/entrypoints/cli.mjs ~/code/test/services/svc-test  env_vars={"MOON_PROJECT_SOURCE": "services/svc-test", "MOON_CACHE_DIR": "/Users/user/code/test/.moon/cache", "MOON_TARGET": "svc-test:test", "MOON_PROJECT_RUNFILE": "/Users/user/code/test/.moon/cache/states/svc-test/runfile.json", "MOON_PROJECT_ID": "svc-test", "MOON_WORKSPACE_ROOT": "/Users/user/code/test", "MOON_PROJECT_ROOT": "/Users/user/code/test/services/svc-test", "MOON_TOOLCHAIN_DIR": "/Users/user/.proto", "MOON_WORKING_DIR": "/Users/user/code/test/services/svc-test"} working_dir=/Users/user/code/test/services/svc-test

Note that the MOON_PROJECT_ROOT environment variable is correct but the interpolation result is not.
Expected behavior
I expected moon to render Users/user/code/test/services/svc-test
As an aside; it would be very helpful and useful if the release notes could list the actual things fixed, and link back to their respective PRs/commits. I had looked there before opening this bug and couldn't determine quickly if it had already been addressed in 1.7.1.
Screenshots
n/a
Environment

MacOS Ventura 13.3.1 (22E261)
Moon 1.7.0

Additional context

@shellscape The logs always replace the home dir with ~. Is this actually happening when the task is executed?

yeah I added some logging to Ava's source and it was receiving the tilde

@shellscape I can't seem to reproduce this 🤔
tasks:
  tilde:
    command: 'echo "$projectRoot"'

▪▪▪▪ website:tilde
echo /Users/miles/Projects/moon/website (in ./website)
/Users/miles/Projects/moon/website
▪▪▪▪ website:tilde (6ms, 6a6c0645)

Super weird. I'll nuke a few things and see if I can track down the cause.

@shellscape Did you ever figure this out?

not as yet. traveling this week so I'm on pause.

Closing this. Let me know if it's still a problem in v1.11.

Will do. We're upgrading later this week.


Add AsyncFileReader trait

Which issue does this PR close?
Part of #1605
Rationale for this change
I originally wanted to introduce an API that would afford clients greater control of this, but particularly with the in-flight work to support column indexes (#1749) and (#1191), it is unclear what exactly this interface should look like. Rather than potentially paint us into a corner, lets keep the interface high-level and we can introduce a lower-level API as and when desired.
What changes are included in this PR?
This extracts an AsyncChunkReader which exposes an API to fetch byte ranges. For backwards compatibility, an implementation is provided for AsyncRead + AsyncSeek. This provides a fairly straightforward location for DataFusion to plug in an object store that supports byte range fetches.
Are there any user-facing changes?
No

Codecov Report

Merging #1803 (c6d8230) into master (c8d4323) will decrease coverage by 0.00%.
The diff coverage is 80.06%.

:exclamation: Current head c6d8230 differs from pull request most recent head 98515a0. Consider uploading reports for the commit 98515a0 to get more accurate results

@@            Coverage Diff             @@
##           master    #1803      +/-   ##
==========================================
- Coverage   83.42%   83.42%   -0.01%
==========================================
  Files         198      199       +1
  Lines       56327    56632     +305
==========================================
+ Hits        46990    47243     +253
- Misses       9337     9389      +52

Impacted Files
Coverage Δ

parquet/src/arrow/async_reader.rs
0.00% <0.00%> (ø)

parquet/src/file/metadata.rs
95.12% <ø> (ø)

parquet/src/file/serialized_reader.rs
94.46% <ø> (ø)

parquet/src/util/memory.rs
87.17% <0.00%> (-2.30%)
:arrow_down:

parquet/src/file/page_index/range.rs
90.26% <90.26%> (ø)

arrow/src/ipc/writer.rs
81.78% <95.12%> (+0.85%)
:arrow_up:

arrow/src/ipc/reader.rs
90.82% <100.00%> (+0.08%)
:arrow_up:

parquet/src/encodings/encoding.rs
93.65% <0.00%> (+0.19%)
:arrow_up:

arrow/src/ipc/gen/Message.rs
35.39% <0.00%> (+0.74%)
:arrow_up:

Continue to review full report at Codecov.

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


New language instead of just lua or another scripting lang?

Why is a new language being create for this rather than an already existing language?

Why not, just wanted to create a new language to improve my skills.
Not really good at any other languages other than C/C++, Obj-C/C++ and Python. However those languages wouldn't work well at all for a hoi4 conversion library (Apart from Python technically but it would still not look that appealing due to how Hoi4 mod files are written in).
(Ties in with the previous point's last sentence) As far as I know, I am not really aware of any programming languages that could have a wrapper library to convert to hoi4 code properly. More specifically implementing scope and its results. Like how would you implement anif statement from HOI4? It probably is possible, but I can think

(missclicked the close button, sorry!)

Why not, just wanted to create a new language to improve my programming skills.
Not really good at any other languages other than C/C++, Obj-C/C++ and Python, so I have a limited perspective having HCL as a library. However those languages wouldn't work well at all for a wrapper library like that (Apart from Python technically but it would still not look that appealing due to how Hoi4 mod files are written in).
(Ties in with the previous point's last sentence) As far as I know, I am not really aware of any programming languages that could have a wrapper library for and make it look good. More specifically implementing scope and its results. Like how would you implement an if statement from HOI4? It probably is possible, but I can't think of an language that can implement it sanely (fill me in if there is one). And depending on the language, the learning curve could be so much higher than of just learning HCL or the pre-built HOI4 scripting that the user would just forget it and not learn it (the goal is to retain as much of the ease of use and learning from the base HOI4 scripting language as much as possible while making the syntax much better).

Apologies if my original comment seemed aggressive, I mainly am saying that lua would be a better fit due to it having a long standing use, and already used in hoi4 and hoi4 mods, having similar syntax to hoi4 scripting, and being simple and easy to use
--This can also be turned into an implicit global
local pdx = require("libpdx")

pdx.removeFolder("build/output")
--also legal
pdx.createFolder "build/output"

local mod = pdx.mod.create {
		name = "test mod",
		game_version = "1.12.*"
}

local ev = pdx.event.create {
		title = "bro",
		id = 2,
		description = [[
				This ain't fr!!!!!!!!!!!!!!!
		]],
		image = "res/remtard.jpg"
}

ev:addoption("nice")

I totally understand if you wanna make a new language though, this is an amazing project!

lua was created for these types of tasks, so in my mind it makes sense to use it

While Lua does sound nice and I might consider not only learning it but also porting libpdx to it in the future, I have quite a few concerns with it. As I mentioned in my previous comment, I don't even know Lua, so I obviously didn't pick it for the task of trying to replace HOI4 scripting.
However, as you brought this topic to the table, I still had my biggest concern - implementation. How well would Lua implement stuff like result scopes, Hoi4 scripting's if statements and for loops in result scopes, among other things? I already know how I would plan these things out in HCL as I have full creative control as to what the syntax will look, but in Lua or in any other language? No clue. I would be interested to see if Lua can offer such implementations, however I kinda doubt it and I definitely can't answer this unless I actively would start learning Lua for months to figure it out, which everyone can agree is stupid to do.  I'll provide a few HCL implementations of things I mentioned above and see if a Lua port would be possible or even better. I doubt the end result will change HCL's course path, however I'll definitely keep in mind from these results.
The actual implementations
Scope results
For how HCL would deal with scope results, refer to this part of the README.md. Not sure how Lua would implement scope results, using a function-based method (can't imagine that looking good)?
If statements (or just any X statement in general)
In HCL statements would behave differently in a scope variable (a scope result) than in normal use. Instead of actually checking if a logic is valid, it would convert the line to HOI4 scripting (this is why I mention possible backwards compatibility in scope typed variables in the README.md). However, the syntax doesn't change between these two modes so it becomes really convenient for devs as not only you don't have to learn more syntax, but also makes the code more consistent, understandable and readable.
An example of how it would look
bool includeEvents = true

if (includeEvents) { // Brackets aren't required, however the option is available for those that want it.
	newOption(someEventVar, "scoping around") = {
		if isInFactionWith("SOV") { // This is to show that the syntax doesn't change between a non-scoped `if` and a scoped `if`
			addStability("ROOT", 50) // The player would gain 50% stability if it's in a Soviet faction.
		}
	}
}

How the generated HOI4 code would look
option = {
	name = namespace.id.whatever
	if = {
		limit = {
			is_in_faction_with = SOV
		}
		ROOT = { add_stability = 0.50 }
	}
}

for loops
A for loop would be harder to include and less handy to use, as Paradox hasn't implemented any real generic way of using for loops in the text files, however HCL will just duplicate the generated HOI4 code to achieve the same effect. I am most interested seeing how this would even get implemented in Lua while looking good.


fix: update openshift npm script.

fixes #192

Pull Request Test Coverage Report for Build 663

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.75%

Totals

Change from base Build 658:
0.0%

Covered Lines:
12

Relevant Lines:
12

💛  - Coveralls

Pull Request Test Coverage Report for Build 663

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.75%

Totals

Change from base Build 658:
0.0%

Covered Lines:
12

Relevant Lines:
12

💛  - Coveralls


Getting a timeout error when using LoggingBunyan

No matter what I try, I'm getting the following error when logging to GCP using Bunyan and this library
GoogleError: Total timeout of API google.logging.v2.LoggingServiceV2 exceeded 60000 milliseconds before any response was received.
    at repeat (/Users/ramonpans/Developer/Bankflip/core/node_modules/google-gax/src/normalCalls/retries.ts:84:23)
    at Timeout._onTimeout (/Users/ramonpans/Developer/Bankflip/core/node_modules/google-gax/src/normalCalls/retries.ts:125:13)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7) {
  code: 4
}

Providing a minimal reproduction. Unsure if it's a bug or just something that I'm doing wrong
const gcpTransport = new LoggingBunyan({
    credentials: JSON.parse(credentialString),
    projectId,
});
const logger = bunyan.createLogger({
    name: 'core',
    serializers: { err: bunyan.stdSerializers.err },
    streams: [gcpTransport.stream('info')],
});
const httpRequestSerializer = (res: Response) => {
    return {
        requestMethod: res.req.method,
        requestUrl: res.req.url,
        requestSize: res.req.socket.bytesRead,
        status: res.statusCode,
        responseSize: res.req.socket.bytesWritten ?? 0,
        userAgent: res.req.get('user-agent'),
        latency: `${(Number(res.get('x-response-time') ?? 0) / 1000).toFixed(6)}s`,
        protocol: `HTTP/${res.req.httpVersion}`,
    };
};
logger.addSerializers({ httpRequest: httpRequestSerializer });

const app = express();

app.use(responseTime({ digits: 3, suffix: false }));
app.use(requestId());
app.use((req, res, next) => {
    onFinished(res, (err, res) => {
        const log = logger.child({ id: res.req.id }, true);
        log.info({
            httpRequest: res,
            err: err ?? undefined,
        });
    });
    next();
});

app.use('/', (req, res, next) => {
    res.json({ all: 'good' });
});

app.listen(3002);

I get nothing on stdout or GCP until a minute passes and then the error shows and the app crashes.
Thanks in advance for the help!!

I'm guessing it is somehow related to this: https://github.com/googleapis/nodejs-logging/issues/1185

As far as I can tell, it's due to logging on the "onFinished" callback, since I log a "Logger ready" after initialization, and it logs normally.
The problem is that when I try to await it, it makes no difference since I'm using bunyan and not the base logging library.
The error handling will help in the app not crashing, but I still won't get logs, right?

Any updates on this?

Thanks a lot for your patience - I believe this issue is addressed by 605. Feel free to reactivate or comment if you have more concerns.

I can confirm this fixed my issues in Cloud Functions.


NPM warning after install icon

Installing the icon module npm install @angular2-material/icon --save gives me a warning
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
I had already the RC-2<EMAIL_ADDRESS>installed but the icon component is searching for the rc-1

The dependency hasn't been updated for the latest @angular release. You should be able to ignore the warning until the next release.


(Temperature) || karnel_task using High CPU  😐*

Assalamu Alaikum Sir, I hope you are well🤗. I am here to disturb you again 😅 I found a new issue which was not there before. I didn't have this issue on my laptop when I first installed Hackintosh. I've seen in my activity monitor for a while now that the process called kernel_task is using High CPU, along with the fan rpm going up sometimes. So I started using it normally without thinking of it as a problem or any type of issue.
So yesterday all of my work finished Suddenly I saw the temperature and fan rpm getting back to normal😃, then I went to the activity monitor and saw that my kernel_task was using less CPU than before.
Then I restart the laptop after work, then again I see kernel_task is using a High CPU again 😔😩.
I thought it was important to show you this, so I have included before and after videos and screenshots.
Please take some time out of your busy schedule to watch them. 🤗
Normal CPU use : https://www.dropbox.com/sh/wx9vxko2ogh6oz5/AACLv1Jr51PTjt2GT1x9JNuua?dl=0
High CPU use: https://www.dropbox.com/scl/fo/9wqe7p200vnsbcy5onkv2/h?dl=0&rlkey=n8u54oyfxszr2mvmu8fc4g99n

Hi! Hope you are doing well!
Some Bios settings could lead to this issue. If I recall correctly, if you set Thunderbolt to Native instead of BIOS and some other Thunderbolt stuff. Setting thunderbolt exactly as described on the Readme.md will resolve the issue, but as you said before, the default configuration shown on Readme.md was leading your macOS to behave poorly with drag and drop. Try reverting the Thunderbolt settings to verify if the kernel_task issue is related to it.
best regards

I hope you are well🤗, you are indeed right. You're right, the (kernel_task) was using a lot of High CPU due to completely disabling the thunderbolt option⚡. Now my machine Alhamdulillah is performing very well.🤩
NB: Sir, Can we connect on WhatsApp or another?
Please 🥺🫣

Glad you could resolve your issue!


"Try parse" family of functions

Currently, both direct casting and the to_* family of functions throw an error if the value to be converted is not valid for the type being converted to. This makes a lot of sense given the highly typed nature of EdgeDB. However, sometimes it can be useful to try to cast from one type to another, or similarly, to try to parse a string to another type, and to fail gracefully if such a conversion is not possible. For example, one may have a type in one's schema with a string property, and may wish to have a computed property that tries to parse that string to another type, such as a datetime or float64, and if this is not successful, returns a null object instead. Example schema pseudocode:
type SomeType {
  required value: str;
  required numeric_value := try_to_float64(.value);
}

And what the returned results might look like:
[
  {
    "id": "79ae1d30-df9c-11ee-94a9-6b08d824cfdd",
    "value": "123.4",
    "numeric_value": 123.4
  },
  {
    "id": "8823c96e-df9c-11ee-94a9-3b2eaee6ce4e",
    "value": "abc",
    "numeric_value": {}
  }
]

Typically, other languages handle this by either not throwing an error when an invalid conversion is attempted (see javascript and typescript, where NaN is returned for invalid calls to parseInt and parseFloat), or by providing "TryParse" functions (see for example .NET).
It would be good to have a family of functions that handle this gracefully: either just returning {} if a conversion fails, or possibly allowing a user-specified fallback value: some_property := try_to_float64(.value, -1). This isn't limited to just floats, of course; I can see potential use cases with date strings, etc.

Discord thread (for completeness; there isn't any more info there than in this issue)

I'd suggest a wrapper to intercept exceptions. It would have more usages and not increase the API surface.
Naming can lean on std::assert(input, options):
Function name could be any of suppress, catch, throws ... I feel like suppress best describes the intention
result := std::suppress(
  to_float64(.str),
  catch := <float64>{}
)

I'm not sure its possible to default an empty set here based on the passed first args return type? If so the default should be an empty set of the inferred type.
The good thing is that this would allow having more logic if you know you have a mixed set where you need different handlers.
Ofc this could be achieved with regex matching and ifs too.
result := std::suppress(
  to_float64(.str),
  catch := (to_float64(str_split("foo#12", "#")[1]))
)

Another option would be to use if-then-else syntax with keywords, which tbh might be the most idiomatic.
result := try to_float64(.str) catch <float64>{}


Add option to index specific files in data directory

Maybe by providing a command-line option that takes a comma-separated list of paths, like
--files_to_index="foo.txt,dir/bar.xml"
Not sure what the resulting field names should be. Perhaps ES's dynamic mapping is useful here.


⚠ Bofrost.fr has degraded performance

In 77c0ea2, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1492 ms

Resolved: Bofrost.fr performance has improved in a0e5052 after 7 minutes.


Fix #[dotenvy::load] and #[async-std::main] used on one function

Will eventually close https://github.com/allan2/dotenvy/issues/117
Adds support for async-std along with the new load macro for dotenvy. Also includes an example with tokio and the new macro.
(Apologies for creating a second PR. I did not properly name my branch before opening the previous one.)

Please read the std::env::set_var safety notice.

This makes it not practically possible for you to guarantee that no other thread will read the environment, so the only safe option is to not use set_var or remove_var in multi-threaded programs at all.

Two comments:

#[load] should be on top of #[async_std::main]
no need to have the expansion output in the repo
just an example parallel to the tokio example will suffice


includeTimeZone: '2010-2020' broken

The latest release of moment-timezone (0.5.12) has broken the ember-moment configuration option includeTimeZone: '2010-2020'. The new truncated time zone data file covers years 2012-2022.
$ ember build -prod
[...]
The Broccoli Plugin: [Funnel] failed with:
Error: ENOENT: no such file or directory, lstat '[...]/tmp/funnel-input_base_path-qB4w31tO.tmp/builds/moment-timezone-with-data-2010-2020.js'

Trying to use 2012-2022 as the configuration value produces the following output:
$ ember build -prod
ember-moment: Please specify the moment-timezone dataset to include as either "all", "2010-2020", or "none".

Would it be possible to support configuration value truncated, which would automatically select the current truncated time zone dataset?

Seems like ember-moment is doing the right thing and moment-timezone introduced a breaking change in a patch release.
This workaround kept me going today:
https://github.com/moment/moment-timezone/issues/466
I can't really think of a way to keep the includeTimeZone options in sync with moment-timezone unless moment-timezone also followed and provided a 'truncated' option; which sounds like a more robust solution.
Maybe 'recent' over 'truncated'

I release ember-cli-moment-shim 3.0.3 to lock the dep to <= 0.5.11 and I'm in the process of versioning 3.0.4 which will support 2010-2020, 2012-2022 but will encourage users to use the option "subset" to signify you only want the subset of data.  This way we're not dealing with this again in a few years.

3.1.0 was just versioned with the deprecation of "2010-2020" and the new option name "subset" (will scale better :)).

Can someone better explain how these subsets work? It saves some bytes to use the subset, instead of all, but I am unclear on when they change and if it might break things.


testnet network support - 33h742ybqshcvie - validator,rpc,api

@dropthepain, Your Moniker and validator addresses are required, please update the PR with those details.

@dropthepain, Your Moniker and validator addresses are required, please update the PR with those details.

@dropthepain, Your Moniker and validator addresses are required, please update the PR with those details.
Moniker dropthepain
Address akashvaloper14m9sk5qj8gf0n2v7e6mgmc0thqp3vmdr02mwk2

@dropthepain, Your Moniker and validator addresses are required, please update the PR with those details.
Moniker dropthepain
Address akashvaloper14m9sk5qj8gf0n2v7e6mgmc0thqp3vmdr02mwk2


Correct badge branches

Badges have been corrected to point to master builds

Coverage remained the same at 100.0% when pulling 02ae7665ab77e38ea8e48594cafca160c5cace3c on correct-badge-branches into d76b672811ccf224e07d6de57ce5c7ccd1c0a6dc on master.


Fix issue #357 for authenticator hidedefault

Issue #, if available:
#357
Description of changes:
Avoid hiding child components in Authenticator
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #400 into master will decrease coverage by 0.03%.
The diff coverage is 75%.

@@            Coverage Diff            @@
##           master    #400      +/-   ##
=========================================
- Coverage   89.33%   89.3%   -0.04%
=========================================
  Files          54      54
  Lines        2598    2600       +2
  Branches      531     531
=========================================
+ Hits         2321    2322       +1
- Misses        266     267       +1
  Partials       11      11

Impacted Files
Coverage Δ

...kages/aws-amplify-react/src/Auth/Authenticator.jsx
92.1% <75%> (-2.34%)
:arrow_down:

Continue to review full report at Codecov.

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


workbench.settings.openDefaultKeybindings && workbench.action.openRawDefaultKeybindings

New Setting: workbench.settings.openDefaultKeybindings
New Action: workbench.action.openRawDefaultKeybindings

Currently, {"workbench.settings.openDefaultSettings": false} allows users to disable the side-by-side default/user settings view, instead allowing us to view our customized settings file in isolation when using the workbench.action.openSettings command.
A corresponding option does not yet exist for workbench.action.openGlobalKeybindingsFile, although it would be equally useful.
Additionally, something like @sandy081's workbench.action.openRawDefaultSettings contribution in https://github.com/Microsoft/vscode/commit/f8c9ed837ae3306abc55051c44fc32de6e77d6b9 should be implemented to allow access of the default keybindings if workbench.settings.openDefaultKeybindings is disabled.

I'd like to take solve this issue. @sandy081 any suggestions? What files will I have to work with for this?
This would be my first contribution to VSCode!

References:

https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/services/preferences/browser/preferencesService.ts#L170 for Opening raw default settings

https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/services/preferences/browser/preferencesService.ts#L265 for not opening default settings

Hey guys, I got some work around for showing user settings in keyboindingEditor (GUI) (yet not pushed in my PR), but I had a question.
If we set workbench.settings.openDefaultKeybindings:false and open kebindingEditor (GUI), it should show only user keybinding settings. But then how should we handle Show Default Keybindings and Show User Keybindings in menu (3 dot at right corner)?


How to exclude specific tr?

Hello,
suppose I have some tr with the class group-head and other without any class, how can I get all the rows excluding the tr which have group-head class?

Hello serdam55,
Could you share an HTML example, the answer will slightly change depending on how the HTML provided.
Best Regards,
Jonathan

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Bulk Operations •  Dapper Plus •  LinqToSql Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Hi @JonathanMagnan sorry for this, I mean:
`

`
I want get only the tr without the class group-head I tried:
HtmlNodeCollection rows = doc            .GetElementbyId("page_player_1_block_player_trophies_5")             .SelectNodes("//tr[not(@class, 'group-head')]");


New Host List

Summary
This blocks IP Loggers, keeping you safe.
Blocklist Homepage
https://github.com/DevShubam/Blockd-IP-Loggers
Blocklist Link
https://raw.githubusercontent.com/DevShubam/Blockd-IP-Loggers/master/uBlock_or_AdGuard.txt

Thanks for suggesting this 👍


Add support of optional parameters in NilPortugues\Api\JsonApi\Server\Actions\CreateResource

Some parameters could:

be null
have default value
be set by client or counted by server (like nickname from first name, last name and year of birth)

@GSokol
This can be solved already, but code needs to be added in place before release.
See https://github.com/nilportugues/php-json-api/commit/490b15f0a346ac989cf8e102d3aec2d2a1f059e3
Need to finish this release to allow this behaviour.

Ok. Waiting for release.

@nilportugues why could not be an object without required properties? (I mean, if we use NilPortugues\Api\Mapping\Mapping, created from symfony-jsonapi bundle by yamls)


authorization (AWS is a required dependency)

When upgrading to 10.7 portal  the authorization piece at the end gets stuck.  It has access to the file share where the .json file is located but it will not authenticate.
Here is the error
#<Mixlib::ShellOut::ShellCommandFailed: arcgis_enterprise_portal[Authorize Portal for ArcGIS] (arcgis-enterprise::portal line 22) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '-1073741502' ---- Begin output of "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S ---- STDOUT: STDERR: ---- End output of "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S ---- Ran "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S returned -1073741502> had an error: arcgis_enterprise_portal[Authorize Portal for ArcGIS] (arcgis-enterprise::portal line 22) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '-1073741502' ---- Begin output of "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S ---- STDOUT: STDERR: ---- End output of "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S ---- Ran "C:\Program Files\Common Files\ArcGIS\bin\SoftwareAuthorization.exe" /VER 10.7 /LIF "\\GISMetro\GIS_Config\Repository\10_7\ArcGIS_Enterprise_Portal_107_278223_20190411.json" /S returned -1073741502

@jsthusker
The issue is most likely because the chef process that is executing the authorization command is LocalSystem, which may not have access to the file share where the authorization file is located.
If the portal authorization file is moved to a local path does it succeed?

no I tried that.  I think I just realized that for some reason the chef server is trying to run the 3.2.1 version of arcgis-enterprise.  It still runs but not correctly.  3.3 is in my repo and uploaded to the Chef Server but if I go to the portal node the 3.2.1 cookbooks are in the chef/cache folder.  ???  Any ideas?  I know that I am getting out of scope here

no I tried that. I think I just realized that for some reason the chef server is trying to run the 3.2.1 version of arcgis-enterprise. It still runs but not correctly. 3.3 is in my repo and uploaded to the Chef Server but if I go to the portal node the 3.2.1 cookbooks are in the chef/cache folder. ??? Any ideas? I know that I am getting out of scope here

@jsthusker Perhaps try renaming (or removing) chef/local-mode-cache and chef/nodes directories.

I have figured out my issue.  This is very important and I have not found mention of it anywhere.  AWS cookbook is now a required dependency for arcgis-enterprise 3.3.0 cookbooks.  If you try and run your scripts and do not have aws the cookbook will revert to the previous version 3.2.1 which is not compatible.  Here is the kicker.  It won't error out saying that.  It will run until it cannot authenticate and will mess up your install.
It took me all day to figure this out. ugh

Re-Opening so this gets documented

@jsthusker
Wow, great catch! Looks like arcgis-enterprise cookbook has a dependency on arcgis-repository cookbook:
ArcGIS-Enterprise cookbook dependencies
And the ArcGIS-Repository cookbook has a dependency on the AWS cookbook.

I have figured out my issue. This is very important and I have not found mention of it anywhere. AWS cookbook is now a required dependency for arcgis-enterprise 3.3.0 cookbooks. If you try and run your scripts and do not have aws the cookbook will revert to the previous version 3.2.1 which is not compatible. Here is the kicker. It won't error out saying that. It will run until it cannot authenticate and will mess up your install.
It took me all day to figure this out. ugh

@jsthusker
Wow, great catch! Looks like arcgis-enterprise cookbook has a dependency on arcgis-repository cookbook:
ArcGIS-Enterprise cookbook dependencies
And the ArcGIS-Repository cookbook has a dependency on the AWS cookbook.

@jsthusker
aws cookbook exists in arcgis cookbook zip file. Didn't you copy it on the server? I am curios to know.

@jsthusker
aws cookbook exists in arcgis cookbook zip file. Didn't you copy it on the server? I am curios to know.

Where does it exist? Not here that I can find.

Trevor at ESRI helped me through this issue.  I am closing this, but make sure you clarify the information on this page.  The repository does not contain all required dependencies, but the release does.  Lesson learned.


German Vowels not handled correctly ?

Hi,
i just encoded a license file with a  German vowel (ä) as a feature value.
When loading the license file with
License lic = new License();
try {
  lic.loadKeyRingFromResource("license3j/pubring.gpg", digest);
  lic.setLicenseEncodedFromFile(licenseFileName);
} catch(Exception e) { }

and ask for that value i get back "Ã¤".
The plain license file is UTF-8.
Am i missing here something or could this be a bug of your tool ?

When a license is loaded from an encoded file the byte stream created by the decoding is converted to String using the platform default charset. Probably that is not utf-8 and that is the reason why you get the special characters.
As a side note: the method setLicenseEncodedFromFile is deprecated and will be removed from newer releases, but this has nothing to do with the issue.
I will modify the behaviour to use utf-8 instead of the default charset in the next release, which is not scheduled yet.

So this means at the moment i cannot solve that problem by myself...
Using just UTF-8 probably also is not a good idea.
How about an overloaded License constructor (or the successor of setLicenseEncodedFromFile()) which uses per default the system charset and in a parameterized version the user can define it?
But at first it would be interesting if the problem with the German vowel also happens on your side.

If you look at the last commit diff you will see what causes the problem. I temporarily comitted into the source code change that makes the decoding to use utf-8.
The sample you provided and the analysis clearly leads to the conclusion that the default encoding on your machine is iso-latin-1. I see no point to reproduce the issue on my dev machine. And I also do not have the time.

I will consider your suggestion extending th API with overloaded methods.

That would be nice, thank you!

I'm experiencing exactly the same issue. (for the records: my system's encoding is UTF-8).  The problem is obviously at this point in License:
/**
 * Set the license values from an input stream. The stream has to contain
 * properties.
 *
 * @param is
 *            the input stream to read the properties values from
 * @throws IOException
 *             when the input stream can not be read
 */
public void setLicense(final InputStream is) throws IOException {
	verified = false;
	licenseProperties = new Properties();
	licenseProperties.load(is);
}

java.util.Properties.load(InputStream) will always decode the InputStream using ISO 8859-1 as stated in the JavaDoc. I solved that problem by overriding the setLicense method as follows and the umlauts decode just fine:
License license = new License() {
	@Override
	public void setLicense(InputStream is) throws IOException {
		// super implementation sets verified = false, but the field cannot be accessed here,
		// however, that doesn't seem to be an issue in my case, as the fields seems to get
		// set correctly through setLicenseEncoded anyways; do not call super, because
		// it will eat up the InputStream
		licenseProperties = new Properties();
		licenseProperties.load(new InputStreamReader(is, "utf-8"));
	}
};

I'm experiencing exactly the same issue. (for the records: my system's encoding is UTF-8).  The problem is obviously at this point in License:
/**
 * Set the license values from an input stream. The stream has to contain
 * properties.
 *
 * @param is
 *            the input stream to read the properties values from
 * @throws IOException
 *             when the input stream can not be read
 */
public void setLicense(final InputStream is) throws IOException {
	verified = false;
	licenseProperties = new Properties();
	licenseProperties.load(is);
}

java.util.Properties.load(InputStream) will always decode the InputStream using ISO 8859-1 as stated in the JavaDoc. I solved that problem by overriding the setLicense method as follows and the umlauts decode just fine:
License license = new License() {
	@Override
	public void setLicense(InputStream is) throws IOException {
		// super implementation sets verified = false, but the field cannot be accessed here,
		// however, that doesn't seem to be an issue in my case, as the fields seems to get
		// set correctly through setLicenseEncoded anyways; do not call super, because
		// it will eat up the InputStream
		licenseProperties = new Properties();
		licenseProperties.load(new InputStreamReader(is, "utf-8"));
	}
};

new version 1.0.8 will contain the new methods and the old methods are deprecated


Add Offerings to InstanceType to hold zone and capacity type, remove OS from InstanceType, promote capacity-type label

1. Issue, if available:
Part of https://github.com/awslabs/karpenter/issues/371
2. Description of changes:

OS is not an instance type level concept - this seems to have been shoehorned in and causes unnecessary confusion. Removing it until we figure out proper support for OS constraints.
When we do ICE caching we need to be able to filter out combinations of zone and capacity type when we see ICEs. Since packing otherwise does not care about them it seemed preferable to put a slice of these tuples ("Offerings") inside InstanceType rather than having to permute all the possible combinations in bin packing (i.e. if there are 3 zones and 2 capacity types then we can still consider just a single InstanceType for an actual instance type with this Offering re-factoring rather than having to create 5 InstanceType instances in the status quo to cover the permutations of zone and capacity type).
Added a note on tailing logs to the dev guide. Maybe obvious to those of you very familiar with K8s, but was not obvious to me =P
In talking to Ellis, decided to bite the bullet and re-name the capacity-type label to make it a first class citizen rather than being relegated to the AWS cloud provider. This simplifies some of the scheduler code a little and honestly just makes more sense.

I'm not entirely sure if I need to add additional unit tests at this time - I think we're covered with what's there but open to feedback.
3. Does this change impact docs?

[x] Yes, PR includes docs updates
[ ] Yes, issue opened: link to issue
[ ] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I appreciate you including docs changes, it's helping me keep the thread.


The graphic being drawn is not displayed sometimes.

When triggered by the DrawingEnded event and executing the DrawEndedCommand to repeat the drawing, a strange phenomenon occurs:
During the drawing process, under normal circumstances, as you move the mouse, a graphic that changes in size with the mouse's position is displayed.
However, in some cases, while moving the mouse, the graphic being drawn is not displayed, and it only appears after releasing the mouse to indicate that the drawing is complete.
For instance, if I click the button "Draw xx" three times before starting to draw, it will not display every third time. In other words, it won't display on the 4th, 8th, 12th... drawing
If I start drawing after the first click, it will not display every other time. In other words, it won't display on the 2nd, 4th, 6th, 8th... drawing.
This phenomenon occurs in both the RichCanvasDemo and my own project.
Why does this phenomenon occur, and are there any solutions?
https://github.com/mircea21S/RichCanvas/assets/47235091/8b395656-3859-4aa8-b534-0b38cc98523c

This could be an issue and I would need to investigate more on it. This is all I can say at the moment, I can't say why this happens and what's a quick solution at the moment.

c5fb17f6c93d79b42387dd8520667dcbf2337f87 commit id fixing this issue. Releasing with v.3.0.0


Agricover - Typo in company description

ENVIRONMENT: production
URL: https://scrapers.peviitor.ro
Browser: Microsoft Edge
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Search for "Agricover" Company and look at the description
Open https://agricover.ro/cariere and check the description

EXPECTED RESULTS:
The description of the company is the same in scrapers.peviitor.ro as on the company website
ACTUAL RESULTS:
An "S" was added to the word "Agricover", on the first line of the description

This section will be deprecated


Ios connection problem

Hi brother,
First of all thank you for this great plugin.
I am developing a chat app using xmpp ejabberd server. And I implemented your plugin in the app. at the beginning everything is ok and messaging was really fast for both OS(iOS and android). But 2 days ago iOS connection is cutted suddenly even though I did nothing.
The strange thing is this android connection has no problem against iOS. Everything is good in android.
Unfurtunately I couldn't understand the reason of the problem which is in iOS. How can we repair this?
Please help us..

Can you see anything on logs and paste it here ?
Same user works fine for android but not for ios ?
Please share some more details to investigate.

Unfortunately I couldn't see anything on logs.
Just have seen "onConnectionEvents ~~>>{type: XmppConnectionState.disconnected, error: }".
If you could test your own xmpp_plugin example app on ios.
I think you will get the same error and you will not connect to server.
Could you try it?

I will try and update if required, However you can test with the latest version and let me know if that doens't work.
If you can send me your server hostname and one test creds i can test with your server space since it is working for me here.

ok.
"user_jid" -><EMAIL_ADDRESS>"password" -> "6ZXhjw9s8QXSO7I4VTi1"
"host" -> "grafen.org"
"port" -> "5222"
connected with these creds on android but disconnected on ios.

Nothing is changed about the problem. Do you work on it?

@ismailgzn Working on it, Should've been fixed this week.

Hi, same problem here with iOS. Any update on this issue?

Hello, Thanks for your wonderful plugin but it is not working in IOS it is throwing the same error as the one mentioned above and there is no reason or cause of the error in log can you please check that

i had the same problem and was a problem with DNS server.

Hi bro, i had same problem :(

Fixed in latest version 2.1.11

Hi, @vavadiyahiren it seems that the issue is back. I experience the same troubles as @ismailgzn - I can connect using Android device, but can't with iOS with the same credentials.
Log file for iOS:
Time: 2024-05-18 14:19:05.7130
Action: methodReceiveFromFlutter
NativeMethod: login
Content: Optional({
    autoDeliveryReceipt = 1;
    automaticReconnection = 1;
    host = "my-host";
    nativeLogFilePath = "some/path/to/Documents/xmpp_logs";
    password = xyz;
    port = 5222;
    requireSSLConnection = 1;
    useStreamManagement = 1;
    "user_jid" = "6c71b096-d3f0-40aa-a1cc-69189dbc57f4@some-domain/iOS";
})

Time: 2024-05-18 14:19:05.7140
Action: methodReceiveFromFlutter
NativeMethod: get_connection_status
Content: nil

Only entry in dev console is this one:
flutter: >> onConnectionEvents: XmppConnectionState.disconnected

Also I've extend my Info.plist with code below (however, ejabberd is using ssl).
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSExceptionDomains</key>
		<dict>
			<key>my-domain-here</key>
			<dict>
				<key>NSIncludesSubdomains</key>
				<true/>
				<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
				<true/>
				<key>NSTemporaryExceptionMinimumTLSVersion</key>
				<string>TLSv1.0</string>
			</dict>
		</dict>
	</dict>

Tested on 2.2.12

Ok, I found the solution... but I'm not a Swift dev, so I can't provide a valid fix. But looks like ios/Classes/FlutterXmppPlugin.swift and it's method performLoginActivity is looking for String for port, while in most cases what's Flutter giving is int.
So "temporary" solution is to fix Flutter part of the code to something like
    _auth = {
      'user_jid': 'user@server/resource',
      'password': 'mysterious-secrets',
      'host': 'host',
      'port': '5222', <<<<<<<<<<<<< set port as string instead of integer
    };

    _connection = XmppConnection(_auth);

I had faced same issue here. Its not solved by setting port as a string.
Sometimes connection fails and i got disconnected message and sometimes its authenticated successfully but some features like MUC not working properly on just iOS.
Everything is ok on android.


Removing BNB from the tickers results in a crash

While looking at #72 also noticed this if custom ticker list is enabled, console output:
Traceback (most recent call last):
  File "D:\Python\Binance Detect Moonings.py", line 398, in <module>
    orders, last_price, volume = buy()
  File "D:\Python\Binance Detect Moonings.py", line 241, in buy
    volume, last_price = convert_volume()
  File "D:\Python\Binance Detect Moonings.py", line 202, in convert_volume
    volatile_coins, number_of_coins, last_price = wait_for_price()
  File "D:\Python\Binance Detect Moonings.py", line 152, in wait_for_price
    while initial_price['BNB' + PAIR_WITH]['time'] > datetime.now() - timedelta(seconds=TIME_DIFFERENCE):
KeyError: 'BNBUSDT'

Yes, BNB must be in the tickerlist for the price check function to work.

Yes, makes sense after reviewing the code.
I guess it would be nice if app could exit gracefully but it seems like a no-issue so closing this now.


Support WPF

🔗 https://github.com/aienabled/WpfNetStandardSample

I'm working on an initial version of this.


RE8 crashed after initialize REFramework

Failed to initialize REFramework on DirectX 12
tested on Win10 21H2 with latest GPU driver (Nvidia 512.15  WHQL)
latest VR Mod Build 1.3
re2_framework_log.txt
5

Only fix for this is to buy the game. I don't have a pirated copy to even attempt to fix this, so this is a wontfix from me.


GLSL: Reflection of builtin outputs throws exception on destruction

Hiya.
Seems that my builtin outputs are being allocated incorrectly. I resynced my fork (84 commits behind prior to sync) and now this exception is thrown!

Have I done something wrong? If so, how would I resolve it?

Regards!

Solved: Accidentally changed my include from the submodule I build with my library to the one provided by the Vulkan SDK. Changed the paths back to my submodule, works fine again. Sorry!


Blocks.txt

https://unicode.org/Public/UCD/latest/ucd/Blocks.txt

Implemented in https://github.com/nektro/zig-unicode-ucd/commit/af185fe4e1496189fd90f6649f133ae171eadd96


Feature Request: Generate Entity framework ValueConverter

I think it will be helpful to add Microsoft.EntityFrameworkCore.Storage.ValueConversion.ValueConverter for each domain primitive

@xshaheen Thanks for the suggestion. We've added support for ValueConverters, available in version 4.1.0. Please refer to the Value Converters Example.

Great thank you for the quick response


simplify the start processing and support python2 and python3

1.create the user.properties to  simplify startup process, users only need to fill in the configuration file at the beginning
2.support pyhon2 and python3

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


Kingsoft Cloud CDN access quality is very bad

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.89-Insider
OS Version: Windows 11 Insider Preview 26100.1 (ge_release)

In mainland China, downloading or updating VS Code from Kingsoft Cloud CDN access quality is very bad, download speeds are almost non-existent and the download success rate is extremely low, even close to zero.
Steps to Reproduce:

Open CMD or PowerShell, type curl -s https://update.code.visualstudio.com/latest/win32-x64/insider to get the latest download link.
Copy the link and type curl -O <copied-download-link> and see download speed, it almost is 0.

Microsoft Azure has a proxy operator in mainland China, which is called 21Vianet aka 世纪互联 www.azure.cn. Previously, the VS Code download CDN in mainland China (vscode.cdn.azure.cn) was provided by this company, so maybe we can consider cooperating with it?

Screenshot:

@WitherZuo , can you please give more detail? which city in China that you tested from? and can you please share your testing enviornment? such as carrier company name?

@WitherZuo , can you please give more detail? which city in China that you tested from? and can you please share your testing enviornment? such as carrier company name?

Hi, I tested this in Beijing, ISP is Beijing Unicom (北京联通), I don't have any carriers, only directly connect to this link.
Sometimes the download speed can keep between 3 MB/s and 7 MB/s, and sometimes just don't have speed at all and stay at 0 KB/s, wait 1 to 2 minutes and then failed to download, as shown in the image above.

Maybe you can try again for this same content. The issue from your screenshot looks like the network issue from your place (your last mile) to Kingsoft Cloud Edge. I have tried it on my end (Beijing), it can be downloaded easily with full content in a couple mins.


Broken link to NEAR wiki on homepage of https://explorer.near.org/

The explorer homepage has a section "Node validating" whose tooltip links
https://wiki.near.org/resources/faq/integrator-faq#validators
The link is dead and leads to a Page Not Found.

@frol
What was the original intent of the link? It says "docs" though I'm not sure there were docs in there.
I suggest we use either a very general page on validators or staking and delegation.

Merged


Fix: Can't export from CLI because of the null byte in the key last byte

Description

Fix a bug that the user can't export a file because the key wouldn't match, because internally it was being added a null byte at the end of the key. Possibly, it is the bug presented in #1859
E.g:
doc import path/to/file/name_here
doc export name_here -o target/dir would have searched for name_here, but would not match the internal name_here\0 (Null byte at the end), therefore, never exporting the file.

Relates to #1619

Breaking Changes

Possible breaking change: Removes the \0 (Null byte) at the end of a key in file imported from the CLI

Notes & open questions

If the \0 (Null byte) has some actual definition and purpose in the key, it is needed to also apply this byte to the CLI command  doc set foo bar, which does not seem to add the Null byte

I may have missed something, but the original commit that introduced the char insertion did not make it clear what purpose it serves (https://github.com/n0-computer/iroh/pull/1793/files#diff-6cb6932fd260f19df9c3f69652d5115449234fb6e0f3931e64d356962f47e01bR286)

Change checklist

[x] Self-review.
[ ] Documentation updates following the style guide, if relevant.
[ ] Tests if relevant.
[ ] All breaking changes documented.

Thank you so much for contributing! I don't think we can merge this exactly as-is. Perhaps it's best if I answer some of your questions first:

the original commit that introduced the char insertion did not make it clear what purpose [the null byte] serves

It's pretty technical.
Deletions in willow (the specification that iroh documents are based on) work by overwriting a key with a tombstone.
Think of deleting a value at path/to/value by overwriting path/to/value with something indicating a deletion.
These paths are hierarchical, though, so that means that you can also delete whole "trees" of keys by writing something that indicates deletion to e.g. path/to, and then path/to/value and any other path/to/x will be gone.
The problem is that sometimes your intention is to delete a specific key not a whole tree. Willow by itself doesn't distinguish these, but it's easy to modify the key structure to support this distinction: That's where the trailing null byte comes in.
To indicate that a key is supposed to represent a single key, not a whole tree, you add a trailing null byte. This way, if you delete path/to/value\0, that's not going to be a prefix of path/to/value/child\0, so overwriting it won't delete the child.
But you still retain the option to delete whole trees by leaving out the trailing null byte on an operation.

If the \0 (Null byte) has some actual definition and purpose in the key, it is needed to also apply this byte to the CLI command  doc set foo bar, which does not seem to add the Null byte

Yes. My personal opinion is that the iroh doc set command should work like iroh doc get with respect to the key handling. The doc get command supports a --prefix option which skips adding the null byte suffix. But I'll let the other's from the iroh team weigh in on that.

Possible breaking change: Removes the \0 (Null byte) at the end of a key in file imported from the CLI

We should keep the null byte suffix for the prefix deletion reasons I explained above.

Yes. My personal opinion is that the iroh doc set command should work like iroh doc get with respect to the key handling. The doc get command supports a --prefix option which skips adding the null byte suffix. But I'll let the other's from the iroh team weigh in on that.

yes, agreed

Closing as for the above described reasons. Lets keep the conversation in the mentioned issues going.


Unable to build on armbian on ARM64

grpcio causses build to fail on armbian... can I ask why we need to use this?

Hi there! @stephansturges If you'd like to use our API without having to bother with gRPC, we now have a functional V1 of a REST API that you can find out more about here: https://platform.stability.ai/rest-api https://platform.stability.ai/docs/release-notes#rest-api-v1


XFA Code appears as text

Attach (recommended) or Link to PDF file here:
http://www.igwp.org.pl/images/pliki/ankiety/Ankieta_Cenowa_IGWP_2016.pdf
Configuration:

Web browser and its version: 92.0a1 (2021-07-17) (64-bit)
Operating system and its version: Windows 10

Steps to reproduce the problem:

enableXfa = true
Open form

What is the expected behavior? (add screenshot)
No overlay of JS code

What went wrong? (add screenshot)

(Page 2)

A draw element with some html which looks like js code overflows its parent container (with a positioned layout).
It seems that we should hide this overflow.


Added Gemfile and initialize load-path when including the gem

Is there a good reason for changing the require_relative to change the load path?

Hm, it is the default if you generate a dummy gem using bundle gem. I can change it back if you would like to keep it ...

require_relative is shorter and more concise so would be better to keep it. The .gitignore is also a bit large for this project (I assume another auto generated file).
I would have expected to see a Gemfile.lock too with the addition of the Gemfile. Is there any reason for adding the Gemfile?

Yup, I copied an auto-generated .gitignore. I prefer specifying versions in the gemspec and not pushing the Gemfile.lock as it can surprise some people on other platforms than mine.
I would like to have some integration with my development pipeline and with bundler. I'm planning to implement some additional features provided by the plug.

Best practice says that the lockfile should be checked into the repository (and is what I do in all my projects). Perfectly happy to have a Gemfile though, it's often useful. I've added it quickly into master. Right now, I don't see any need for the large gitignore or the change to the gemspec.
New features, though, I'd love them 👍


Add features to enable Async and Impure node delegation

This feature looks to enable async and impure node delegation as long as Features are enabled for it.
Additionally, removes the ICustomDelegationFunction interface in favor of a more generic property in TexlFunction that can be overridden to always delegate async calls of the function for appropriate functions (i.e. current behavior of User function in Power Apps).

✅ No public API change.

✅ No public API change.

        }

Suggestion: This logic should probably be present in
DelegationValidationStrategy.IsValidDottedNameNode

Refers to: src/libraries/Microsoft.PowerFx.Core/Functions/Delegation/DelegationStrategies/DelegationValidationStrategy.cs:372 in 9f8b53f. [](commit_id = 9f8b53fe3588cf0cc997324ddafdfa8476130a96, deletion_comment = False)

Are we planning to add test cases for these changes?

✅ No public API change.

✅ No public API change.

✅ No public API change.

Closing in favor of https://github.com/microsoft/Power-Fx/pull/1213


Correct README for calling serialization without phoenix

First just wanted to say thanks for this awesome library!
I noticed an issue with the README while working through some different usages. The call to serialize was incorrect in the README when you are not using phoenix.
Just a quick little README correction.

Thank you!

NP!


Explanation of input bindings is a bit confusing

I ran into some confusion with hotkey after reading this part of the README:

Druid utilizes the /builtins/input/all.input_binding input bindings. For custom input bindings, refer to the Input Binding section in the Advanced Setup.

I took the reference to "all.input_binding" to mean that hotkeys would work with any key action defined there, but that's not how it is. Instead, any hotkey you want to use must have custom bindings defined in /input/game.input_binding. Perhaps we could add something to that effect (although I may be the first person on the planet who has misinterpreted the docs in this way).
Incidentally when I clicked the hotkey example on the Druid site, it uses ctrl-G which doesn't seem to work in either Firefox or Chrome for me; it triggers the browser text search feature instead.
[edit]
I know the second half of that quote literally mentions "custom input bindings", but I wasn't sure what that meant, thinking maybe it meant gamepad inputs or something. Maybe it's clear enough and I just haven't had enough sleep!

Hello! Sure there are can be some misunderstanding, so we can help each other to understand it better ;)
For input component you should pass the key ids that trigger this hotkey, for example
self.druid:new_hotkey("key_g", ...)
-- or
self.druid:new_hotkey({ "key_lshift", "key_a" }, ...)

The list of "modificator" key_ids are listed in the default style.lua and it equals to

modificator keys is something that tracked to be pressed before other keys in the hotkey list

M["hotkey"] = {
	-- Add key ids to mark it as modificator keys
	MODIFICATORS = {
		"key_lshift",
		"key_rshift",
		"key_lctrl",
		"key_rctrl",
		"key_lalt",
		"key_ralt"
	}
}

So "Druid utilize default bindings" means this default modificator key ids.
If you are using this all.input_bindings, all things should work from the box without any modification.
Also, if you don't need any modificators and want to add callback just for one key, you also can use next thing:
local button = self.druid:new_button("button_node", ...)
button:set_key_trigger("key_g")

About live example: In browser some of hotkeys can be hooked by the browser itself. In Druid example my ctrl + g is working, by cmd + g is shows the text search as you said. Which system do you use? (Windows/Linux/MacOS)

Thanks for that quick response! I did get it working earlier with a single hotkey, but had to add that hotkey to my input bindings. I think my misunderstanding is related to what you said here:

If you are using this all.input_binding

I didn't even think about whether I was using it or not, and just assumed Druid magically uses it once the dependency is installed. Now I see there are two ways to use hotkeys:

Use the "all" bindings, by specifying that file in /builtin/... in the game config file, or
Add the specific hotkeys you need to your projects /input/game.input_binding

So I wrongly assumed option 1 was sort of implicitly done when using Druid, but it's not. Probably anyone with more experience using Defold would not make that mistake, so we can probably close this 😅

Good catch for the example issue, will update it!
But I didn't get the which exactly thing should be better explained. In short current workflow I can describe next:
Input bindings is just a map with key_id with action_id for your game. If you wish to use custom key_id (for example "shift" instead of "key_lshift"), you make a your input bindings with custom key_ids and update the Druid style. If you don't use modifiers, you just pass the your game "key_id" to the Hotkey constructor
So probably the advantage for this will be to add something about how input bindings works in Defold? wdyt?

But I didn't get the which exactly thing should be better explained. In short current workflow I can describe next:
Input bindings is just a map with key_id with action_id for your game. If you wish to use custom key_id (for example "shift" instead of "key_lshift"), you make a your input bindings with custom key_ids and update the Druid style. If you don't use modifiers, you just pass the your game "key_id" to the Hotkey constructor

That workflow makes sense now -- I think the remaining question mark is that the above workflow still requires you to either declare the "non-custom" bindings, e.g. key_a.
When I read this sentence from the README:

Druid utilizes the /builtins/input/all.input_binding input bindings

what my brain actually told me was:

You can make a blank project, install the Druid dependency, then immediately use a hotkey with "standard" bindings like key_a, without touching any settings or editing the input bindings file

So yeah I think adding a little "basic Defold" note there could help, e.g. something like this in the README (and Hotkey API page)? Assuming I finally understand things :smile:
- Druid utilizes the /builtins/input/all.input_binding input bindings. For custom input
- bindings, refer to the Input Binding section in the [Advanced Setup](https://github.com/Insality/druid/blob/master/docs_md/advanced-setup.md#input-bindings).
+ Druid utilizes the /builtins/input/all.input_binding input bindings. Either use this
+ file for your project by setting the `Game binding` field in the `game.project` input
+ section to `/builtins/input/all.input_binding`, or add the specific bindings you need
+ to your game's input binding file. For custom input bindings, refer to the Input Binding
+ section in the [Advanced Setup](https://github.com/Insality/druid/blob/master/docs_md/advanced-setup.md#input-bindings).


Release - 4.9.0

https://github.com/nimblehq/ios-templates/milestone/27

Features

#526
#527
#537

Chores

#514
#525

Fine to ignore TestFlight workflow, we had many commits recently.


Include nodeId in key in cluster connectionpool, correctly refreshing connections when nodeId changes

Fixes #1778

This patch is available as npm package at @scienta/ioredis
To replace your current install: npm install ioredis@npm:@scienta/ioredis

Is there anything stopping this from being merged and released?


Window installs should default kwarg user to True when not specified.

Windows os.geteuid() generates an AttributeError.  See #12

Fixed by #12.