Multi-select editor type with custom operator not allowing multi selection

After upgrading from 6.5.1 to 6.5.4, I started having issues with multi-select fields. After some debugging I found the culprit is the fix for #551 (yes, that edge case you were afraid of :smile:).
What happens is that because of the change, if listsAsArrays is enabled then a field with the following configuration will not allow multi selection (and the 'Empty' option will never be selected):
{
    name: 'test',
    label: 'Test',
    valueEditorType: 'multiselect',
    values: [
      { label: 'Empty', name: '' },
      { label: 'NotEmpty', name: 'not-empty' },
      { label: 'NotEmpty2', name: 'not-empty-2' },
    ],
    operators: [{ name: 'custom', label: 'custom' }],
}

I disabled the hook in a custom value editor as I don't need it, but I'm reporting because I think this default behavior is a little odd.
My understanding is that the hook might be missing some handling for listsAsArrays and also that it should consider the valueEditorType  to make changes to the value.

Thanks for the report! Can you do a couple of things for me?

Create a sandbox or repo demonstrating the issue
Try the same code with v7.0.0-alpha.5

I've created the sandbox with v7.0.0-alpha.5 (https://codesandbox.io/p/sandbox/react-querybuilder-issues-631-cqn77l)
and haven't noticed any change in behavior when comparing with `v6.5.4.

I agree this shouldn't be the expected behavior. Seems like the fix would be fairly simple? This is the current logic, as I laid out in https://github.com/react-querybuilder/react-querybuilder/issues/551#issuecomment-1691973492:

If the useValueEditor hook is executed (as when the default ValueEditor component is rendered),
and the value is an array (Array.isArray(value) === true),
and the operator is anything other than 'between', 'notBetween', 'in', or 'notIn',
then update the value to value[0].

The logic should be the same, with the addition of a check for valueEditorType !== "multiselect", like this:
 - If the `useValueEditor` hook is executed (as when the default `ValueEditor` component is rendered),
 - and the `value` is an array (`Array.isArray(value) === true`),
 - and the `operator` is anything _other than_ `'between'`, `'notBetween'`, `'in'`, or `'notIn'`,
+- and the `valueEditorType` is anything _other_ than `'multiselect'`
 - then update the `value` to `value[0]`.

Does that sound right?
I forked your sandbox and added an updated version of useValueEditor:  https://codesandbox.io/p/devbox/react-querybuilder-issues-631-forked-zdp88w?file=%2Fsrc%2FuseValueEditorCustom.ts%3A36%2C1-36%2C32

Hopefully fixed in v7 by #632. If this works for v7 I'll patch v6 as well.

I did some testing using your sandbox and it looks great. Thanks for the quick response and fix.

That's good news. I'll try to get a v6 patch out soon.

v6.5.5 was just released including the fix for this issue.

Just putting my findings here as an FYI for those that may encounter a similar problem as a result of these changes.
I had a Field which was using a multiselect, as well as the operators of '=' and 'in
{
    name: 'test',
    label: 'Test',
    valueEditorType: 'multiselect',
    values: [
      { label: 'Empty', name: '' },
      { label: 'NotEmpty', name: 'not-empty' },
      { label: 'NotEmpty2', name: 'not-empty-2' },
    ],
    operators: defaultOperators.filter(op => op.name === '=' || op.name === 'in' || op.name === 'notIn'),
}

When I would switch operators from 'in' => '=' whilst several values were selected I didn't get my intended behaviour of selecting the first item in the list.
I had previously been using a custom ValueEditor control which also handled the issue #551 resolved but I aimed to remove that custom solution and rather use the built in fixes. Hence upgrading to v6.5.5 and getting the above issue.
The root cause of the 'bug' is that even though I am changing the operator to '=', since the valueEditorType='multiselect' it would still inherit all the values from the previous 'in' operator.
My fix for this was leveraging the function prop for the valueEditorType. My resulting Field looks as follows:
{
    name: 'test',
    label: 'Test',
    valueEditorType: (op)=>'!='.includes(op)?'select':'multiselect',
    values: [
      { label: 'Empty', name: '' },
      { label: 'NotEmpty', name: 'not-empty' },
      { label: 'NotEmpty2', name: 'not-empty-2' },
    ],
    operators: defaultOperators.filter(op => op.name === '=' || op.name === 'in' || op.name === 'notIn'),
}

I'm unsure if this functionality is still usable in v7 but thanks @jakeboone02 for this function prop its really nifty 🧐


Subscribe a consumer with Partition Number

While producing a message we have facility that we can pass the partition number like below and it will produce the message to that partition.
const messages = [
    { key: 'key6', value: 'hello world 6', partition: 1 }, // send message in particular partition
];

but do we have any method on the consumer side, so we can subscribe to a consumer with the topic and partition number both? I have tried the below things but it's not working
       await consumer.subscribe({
            topic: topic_name,
            fromBeginning: true,
            partition:0
        });

I guess this is a duplicate of #373

Indeed. I'm closing this as a duplicate of #373.


[prompt] add ranger prompt to eriner theme

I often forget if I'm in a shell under a ranger instance or not, so I prefix an  r before the current directory to remind me. While a ranger prefix would be expected, it makes the prompt a bit too long, and because it only appears in a shell under ranger, the user would be able to figure out what it means, I believe.
I experimented with including RANGER_LEVEL in the prompt also, as it is incremented for every ranger level, but I couldn't figure out how to format it except for r[0-9-n], which I felt was superfluous.

Merged, thanks!


[DRAFT] Query accessible Capabilities on a ProxyAccount

Resolves: #43

TODO:
Deploy an ExampleNFT2 contract to test dictionary is working as expected. Merge #27 and uncomment the getProxyFTCapabilities tests.


Some of the "More Actions" should still show on non in-line editable blocks

Affected Versions
4.x
Description
When a block is not in-line editable it still makes sense for some actions to exist:

Publish
Unpublish
Archive

Steps to reproduce

Create a non in-line editable block type (or install one like dnadesigns/silverstripe-elemental-userforms)
Add that block type to an elemental area
Observe there's no "More actions" menu

Designs
See block basics designs https://projects.invisionapp.com/dsm/silver-stripe/silverstripe-cms/nav/5fa7cb5f8c012000183561a5/asset/607e6266ade40316eb2697ee/tab/design?mode=preview
ACs

Confirm the final list of actions to be included in the list (note to not include the 'tabs' like Content and Settings)

Ensure that the new 'Duplicate' action is present in the list (https://github.com/silverstripe/silverstripe-elemental/issues/881)

The finalised list of actions are implemented
Ensure that the status icons on the block reflect any action made, i.e publishing the block updates the status icon
Close this https://github.com/silverstripe/silverstripe-elemental/issues/881

PRs

[ ] ~~https://github.com/silverstripe/silverstripe-elemental/pull/925~~
[x] https://github.com/silverstripe/silverstripe-elemental/pull/963

Do we have designs with the > caret and the dropdown? I don't remember seeing anything

I think the original designs didn't have the "meatballs" on non in-line editable blocks. But I also remember us discussing this a few weeks ago and noting it'd be a UX improvement. Worth tracking at least :slig

Ok cool. This is probably one of those options where the UX team popping down while we design on the fly would be the easiest solution, but for the sake of open source perhaps @sachajudd you could provide a quick design mockup of what you want it to look like in case a community member wants to pick this up before we get to it

See collapsed dnadesigns/silverstripe-elemental-userforms block.

+1, just come across this as well.

Related, adding duplicate blocks to non-inline blocks https://github.com/silverstripe/silverstripe-elemental/issues/881

With non-inline blocks being still in relatively high use, providing this set of actions seems like a good first step. I'm increasing the impact as going in and pout of blocks to preform basic actions would be frustrating to say the least.

Linked PR has been merged


feature: Enhance Error Messages to Indicate Max Request Tokens

Hey Team!
I noticed that when we reach the limit of 4,096 tokens, the error message displayed is not very descriptive, and just says "Failed to fetch". This could lead to confusion and it would be beneficial to enhance this error message to indicate that we have hit the maximum request tokens.
Thus, I suggest modifying the error message to something like "Request Token Limit Reached. Please reduce the number of tokens in your request." This would make it easier for developers and users to take action and resolve the issue.
Let me know what you think, and if there are any suggestions or concerns. Thanks!

Thank you for raising this up. We have actually already implemented the error message.

Failed to fetch probably means there is a network error.


Significance of earley set id parameter to marpa_b_new unclear

Presumably marpa_b_new returns a bocage containing all valid parse trees ending at that earley set (and starting where?), but it's never quite specified.
Note: calling the parameter earley_set_id is a missed opportunity to communicate something useful about its meaning.  Not a substitute for fixing this issue, but it could help.

Fixed as of commit https://github.com/jeffreykegler/libmarpa/commit/c484ea432540e6c012925ce770b6ed13e08b2d87.  Absent feed back to the contrary, I will close this issue after a couple of days.

Closed as per https://github.com/jeffreykegler/libmarpa/issues/84#issuecomment-1187945712.


Tests pass locally but Travis can't run them

If you run the tests within Xcode or using the command given to Travis (xctool test -workspace Example/loudspeaker.xcworkspace -scheme Tests -sdk iphonesimulator) tests run and pass. However, the TravisCI environment fails to find and run tests.

Partially resolved in #20. Good enough for me close this issue.


Why not just use the crypto in node js

https://www.tutorialspoint.com/encrypt-and-decrypt-data-in-nodejs

Or if you just need to compare just use bcrypt.


fix(docs): Update Getting Started for dynamic plugins

Description
fix(docs): Update Getting Started for dynamic plugins, to add a step about how to include all the showcase plugins (now existing as as dynamic plugins) in the dynamic plugins root folder before starting.
Which issue(s) does this PR fix
No issue.
PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

/test


include openshift-operator-lifecycle-manager in monitoring

Which issue this PR addresses:
Fixes the drop of monitoring 'openshift-operator-lifecycle-manager'. ADO Ticket 14657169
What this PR does / why we need it:
We were previously monitoring this namespace which lead to a few clusters with unresolved issues. This PR is for the event we want to continue monitoring it.
Test plan for issue:
unit test
Is there any documentation that needs to be updated for this PR?
no.

@darthhexx
Thank you for the reminder, ticket is created and linked!


Update service-fabric-application-upgrade.md

Powershell -> PowerShell

@abatishchev : Thanks for your contribution! The author, @mani-ramaswamy, has been notified to review your proposed change.

Thanks for review/approval. Please merge now.

#sign-off


Add vkun as an alias to the veekun command

Who requested this? I don't know if the alias will be used by anyone...

[09:13:05] +Ridaz: xfix, how does vkun and/or vk sound as aliases for the veekun command
[09:13:31] &xfix: I don't know, really.
[09:14:48] +Ridaz: I mean, people use !dex and !dt
[09:14:59] +Ridaz: which is easier than typing !veekun
[09:15:06] &xfix: I don't see why not(...)
[09:15:35] &xfix: Either way, vk is not happening.
[09:17:07] +Ridaz: vkun then
[09:20:17] &xfix: DuckDuckGo only has !veekun, but I may consider vkun here.

I actually asked Ridaz to send a pull request if he wants vkun. I'm neutral towards it (vk is no, because @Zarel doesn't two letter commands to be taken without a really good reason).

Is /veekun used so commonly as to need an alias? o_O

I don't think it's been hotpatched yet ._.

I don't think the /veekun commands needs an alias.

As far I'm concerned, nobody thinks this is a good idea (I'm neutral myself on this), so might as well close it, because I don't see it being merged.


Add ignite and extinguish functions to E2

Enabled by default via wire_expression2_entity_ignite_enabled, although it checks the CanProperty hook and CPPICanProperty if applicable.

New WireLib function: WireLib.CanProperty
Added e:ignite(), and e:ignite(n) / e:ignite(nn) for length and radius overloads respectively
Added e:extinguish()
New convar wire_expression2_entity_ignite_length_max (default 30 sec)
New convar wire_expression2_entity_ignite_radius_max (default 500 units)

Resolves #2589
RFC
Should it be enabled by default? (Think it's fine as is with the check, but need opinions)
Default convar values fine?

New convar wire_expression2_entity_ignite_length_max (default 30 sec)

Could it be indefinite by default? I have some contraptions that utilize that personally, Could be owner only things by default or for non-player entities.

also

Should it be enabled by default? (Think it's fine as is with the check, but need opinions)

please yes i don't need to spend 20 years convincing morons to hit a checkmark lmao.
E2 should honestly run everything by default and owners should disable what has been abused or they don't need rather then the annoying process of doing it backwards.

please yes i don't need to spend 20 years convincing morons to hit a checkmark lmao.

Yeah I have this already set to work by default since it already checks CPPICanProperty / the CanProperty hook. Asking just in case anyone is really opposed

Could it be indefinite by default? I have some contraptions that utilize that personally, Could be owner only things by default or for non-player entities.

I guess so, I mean 30 seconds is already long enough to be annoying and you could just spam it to get the same effect since there's no cooldown.


Replaced the demo gif

Replaced the lower quality gif with higher quality gif which is more readable and clearier.

Closing this PR because #32  was merged, also the various CLI colours are not showing up on your terminal


Added a log

As noted by @diasdavid in https://github.com/ipfs/webui/pull/130#discussion_r48386312

How does this look?

Sure. I got that from /Users/richard/src/ipfs-webui/app/scripts/views/globe.js, which doesn't seem to have the same convention. Maybe we should make a styleguide? Also, there's a console.warn on the same page...

@RichardLitt yeah that all should be fixed in #155

LGTM :)


fix: declension of words "obuv" and "žolv" repaired

Issue source:
https://docs.google.com/spreadsheets/d/1N79e_yVHDo-d026HljueuKJlAAdeELAiPzdFzdBuKbY/edit?disco=AAAALpQoAcs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 92.292%

Files with Coverage Reduction
New Missed Lines
%

src/noun/declensionNoun.ts
1
97.91%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
1630

Relevant Lines:
1709

💛  - Coveralls


Committing changes required to have SignalR depend on the centralized Microsoft BOM file for Java libraries

For discussion with the Java client engineering team, @anurse @BrennanConroy @mikaelm12 @davidfowl. This is a proposal to externalise your dependency version management to an external POM. We are gradually rolling this out to all Java SDKs, and I am keen to hear your thoughts, feedback, concerns, or whatever else may be running through your mind 😄
All versions that have been removed from your Gradle file are now represented in the Maven parent POM file, and as your dependencies have not yet been encountered (and were therefore not included up to now), I have taken the exact same version numbers as you use. There will therefore be no functional difference.

 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.:x: JonathanGiles sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Just so I understand what's going on here. This is basically externalizing the version numbers of the dependencies we use so that we're aligned with the ones used by other Microsoft Java libraries? I think that sounds like a good idea.
What's the process we should follow if we need to update one of these dependencies? If it's urgent, can we override the version from com.microsoft.maven:java-8-parent with our own version locally?

Thanks guys for your questions. I have answered these elsewhere for other teams and I realise I really should centralise the answers to these kinds of questions. I'll do that and then get back to you.


Champ A20 issue

Champ Anger's description for higher ascensions fixed.

Sorry for the extremely delayed response and merge, but thank you for the pull request and fix! I am going to spend some time today re-installing my Java environment to build a new .jar for an updated release. Hopefully will get out this patch by the end of today!


Set default log level via env variable

Description
This PR allows for the configuration of the default log level, which is DEBUG by default.
Motivation and Context
It might be a first world problem, but sometimes it would be nice to control the default log level without the need to create (and deploy) a logging config file, but rather by a simple environment variable. The value of this variable must match the name of a python logging level. Usage example:
LUIGI_DEFAULT_LOG_LEVEL=INFO luigi --module my_module MyTask --x 123

An other option would be to add default_log_level to the core config and to prefer the environment variable if set (at least that's what most libs do).
Tests
Too trivial to test :P
Docs
I couldn't find a place in the docs for this feature, but I sure can add a sentence or two to a section of your choice.

Overall awesome patch. I have wanted this too sometimes. :)
Oh, bonus points if you assert that if there's a config set to read the logging-config, then luigi shouldn't allow one to set this new config variable as it will not take affect.

Like that?

Exactly like that. :)

Thanks @riga! :)


CompatHelper: add new compat entry for GlobalSensitivity at version 2, (keep existing compat)

This pull request sets the compat entry for the GlobalSensitivity package to 2.
This keeps the compat entries for earlier versions.
Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.
Note: Consider registering a new release of your package immediately after merging this PR, as downstream packages may depend on this for tests to pass.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 28.36%. Comparing base (e6b7032) to head (07e1e04).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   28.66%   28.36%   -0.30%
==========================================
  Files          13       13
  Lines        2006     2006
==========================================
- Hits          575      569       -6
- Misses       1431     1437       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[BEAM-13882][Playground] More tests for validators package

[BEAM-13882][Playground] More unit tests for validators package

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

LGTM. What's the issue with the Deploy examples workflow?


[CFT Scorecard] Add target and exclude filtering

Currently, the target and exclude fields are not correctly picked up by CFT Scorecard.
For instance, the following rule works and returns 6 violations in my env:
apiVersion: constraints.gatekeeper.sh/v1alpha1
kind: GCPExternalIpAccessConstraintV1
metadata:
  name: compute_org_found_public_ip
spec:
  severity: high
#  match:
#    target: ["organization/103912657018"]
#    exclude: []
  parameters:
    mode: whitelist
    instances:
    - //compute.googleapis.com/projects/blabla/zones/us-east1-b/instances/blalba

but, when trying to uncomment the target / match fields, it returns no violations.

@morgante


Your money ha not been debited. You've exceeded the bank limit for this payment. Retry with a smaller amount.

Describe the bug
I am getting following issue when trying to pay from Google pay.
"Your money ha not been debited. You've exceeded the bank limit for this payment. Retry with a smaller amount."
To Reproduce
Steps to reproduce the behaviour:

Enter VPA
Trigger payment
Go to opened UPI app

Expected behaviour
It should work however It is working when I am trying to pay directly from Google Pay
Environmental Details

OS: [e.g. Android 9]
Device: [e.g. Vivo V 9]
Package Version: [e.g. v1.0.0]
UPI Applications in the device: [e.g. - GPay, Paytm and BHaratpay]
Play Store: [Google]

Likely related to #38

Likely related to #38

It is not clear. Please make it more easy. Can you provide proper tutorial


Close button does not works in IE9,10

Internet Explorer 9 and 10 supports both attachEvent and addEventListener handlers
http://msdn.microsoft.com/en-us/library/ie/ms536343(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/ie/ff975245(v=vs.85).aspx
But IE9,10 Event object has no target property, so if you want to use attachEvent you need to use also event.srcElement instead of event.target

Closed by 1e039b3 a while back. This ticket just never got resolved.

I am actually having this issue right now with IE 9.  The close button doesn't fire for me.
This snippet will reproduce:
<div>
    <button id="mah-button" type="button">Show Lightbox</button>
</div>
<script src="js/picoModal.min.js"></script>
<script>
    document.getElementById('mah-button').onclick = function() {
        picoModal("Ah, the pitter patter of tiny feet in huge combat boots.").show();
    }
</script>

I got the latest source (instead of the release) and re-tested with IE 9/10 and all is good.  Sorry for the worthless comment!

Heads up: I bumped the version number and published an official release.


Improvements to when validation messages are displayed

At the moment, validation messages are displayed immediately, as soon as the form state for a validated form is modified:
https://user-images.githubusercontent.com/1270186/114006115-11e9a180-9858-11eb-861e-c7f81f2a4a2b.mp4
This is not ideal UX-wise - it feels a bit pushy of the form to start whining at you before you've even finished typing in the field. I think it would be preferable to wait until either the field loses focus or when the user attempts to submit the form to display these validation messages.
Another problem is that if I try to submit a form without filling in any required fields, validation errors are usually not shown. Again this is because we aren't setting validated form state fields to Modified when trying to submit the form, only when the form state for that field is changed.
These are separate issues but I think they might want tackling together; at least, we should probably ensure that trying to submit an invalid form cause any validation errors to be shown before we attempt to delay showing validation errors in form elements which have been modified until those elements lose focus, because in that case, if a "have I lost focus" flag doesn't get set properly for whatever reason then a validation error message might never appear at all.
Unfortunately there's probably no good non-breaking way of having attempted submission display validation errors - form submission is usually handled outside the form, via revalidate, which is pure and therefore doesn't provide the opportunity of modifying form state. Perhaps build could return not only a JSX, but a { trySubmit :: Effect (Maybe result), jsx :: JSX }, where trySubmit is defined as:
trySubmit = do
  props.onChange setModified
  pure (revalidate editor props props.value)

and then we might stop re-exporting revalidate from Lumi.Components.Form and make it only available from Form.Internal, and also add a warning in the docs that you should probably be using trySubmit instead.

I guess this would probably also mean that we'd have to add a Mapping ModifyValidated constraint on build and also on every function which calls build but defers picking a concrete type for the form state to its own caller, which is definitely not ideal. :/

Since some of this is specific to build, with useForm it's usually using these fields it gives you somewhere: validated :: Maybe result and setModified :: Effect Unit. But I agree, our forms would be a lot more consistent if this was automatic in some way.
useForm could hide those two fields and instead provide a trySubmit:
trySubmit = do
  setModified
  pure validated

Ideally we would also automatically scroll back to the first invalid field or the last focused invalid field when form submission fails.
Should we also consider browser <form onSubmit> + <button type=submit> behavior? I kind of get why it's never been a priority -- we have lots of large forms and we don't want to submit them accidentally -- but I think this is a symptom of UX issues in individual fields rather than an ideal fix. For example, the select dropdown could select on tab instead of enter (a change I've been wanting to make anyway), and even display that keyboard shortcut in a little icon on the right end of the focused option. If we want to use ctrl+enter instead we could still respond to enter with a slight flash of the submit button which adds a similar keyboard hint.

It would make me very happy if it were possible to use all of our forms comfortably without a mouse. I do feel like submitting on enter might not be worth the risk for larger forms, though; it's probably still quite easy to accidentally hit the enter key while filling out a form, even in a world where you can operate all of the other form elements without using it.


fix for #339

This commit fixes non-object arrays and changes loop-manip test for
this issue..

Awesome!
Could you fix a few minor syntax glitches (no bitwise operators & comma separated variables) so the code is compatible with our guidelines
Thank you

done ;)

Can I still ask one more thing: a test case.
And I'm happy to merge this! Pretty please :)

I already changed "loop-manip" test for testing this..

Ok to pull?

Awesome! Thank you.

No worries, thank you! I'm using Riot now in all my current projects and everything's smooth! It's so great to understand what's happening under the hood because of the simplicity.

So glad to hear this!
Me too. Cannot figure out any valid reason to to use React. Even the performance is better and going to be improved.

@tipiirai devs are just :cow: React now it's just 4 the galm!

I never actually used React, I hate those "data-reactid"-attributes everywhere. Ractive.js was my thing and Riot.js 2.0 is very similar but easier to understand. I hope that Riot's core also stays minimal.

BTW This seems to be a riot weakness https://github.com/muut/riotjs/issues/484 compared to React


Unable to retrieve child resources

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.31.0 (92)
Regression From
yes, not sure
Architecture
x64
Storage Explorer Build Number
20230810.9
Platform
Windows
OS Version
No response
Bug Description
Unable to retrieve child resources
ProducerError:{
"name": "Node Fetch Error",
"message": "{"name":"Node Fetch Error","cause":{"cause":{"name":"ConnectTimeoutError","code":"UND_ERR_CONNECT_TIMEOUT","message":"Connect Timeout Error"}},"code":"UND_ERR_CONNECT_TIMEOUT"}"
}
Steps to Reproduce

Launch Explorer
Expand subscription
expand storage account

Actual Experience
I can't expand storage containers without an error:
Expected Experience
that it would work?
Additional Context
Unable to retrieve child resources
ProducerError:{
"name": "Node Fetch Error",
"message": "{"name":"Node Fetch Error","cause":{"cause":{"name":"ConnectTimeoutError","code":"UND_ERR_CONNECT_TIMEOUT","message":"Connect Timeout Error"}},"code":"UND_ERR_CONNECT_TIMEOUT"}"
}

@aspnerd This is the first time I see this error. Could you do the following things to help us figure out what's wrong?

In settings, set log level to "Debug".
Restart storage and reproduce this issue.
Go to App Menu > Help > Go to log directories. It will open the directory for our log files. You can grab the latest folder of log files and share them with us.
After that I recommend setting the log level back to "Info" to reduce your future log file sizes.

Besides, how long does it take for the error to show up? Does it immediately show up as soon as you expand the storage accounts node or does it show up after a few seconds? If it's the 2nd case, how many seconds does it take roughly before the error shows up?
I tried searching for the error and some people mention IPv6 network. Could you try to figure out if your network supports IPv4 or IPv6 or both?

Ok, so....after having this error previously, I grabbed the old version and installed it over the latest update because I had to get back in and have it work. After your reply above, I updated ASE, set the log levels, restarted, and now I have no issue.
I am attaching the logs from earlier when I had the issue. Hopefully, it helps.
2023-08-17_130814.zip

Perhaps this was just a transient network issue then? I'm not seeing anything in the logs that point to anything obvious. We'll close this as no repro since you can't reprdouce anymore. Feel free to open a new issue if it happens again.

Perhaps this was just a transient network issue then? I'm not seeing anything in the logs that point to anything obvious. We'll close this as no repro since you can't reprdouce anymore. Feel free to open a new issue if it happens again.

It was not, as I had just been connected, installed the new version and it failed.

Hi,
I've the  issue when accessing child resources
attaching logs
please assist.Logs.zip
Regards,
Umed Ali

@umedipi Could you please open a new issue and fill the issue template to give more details of the issue you are facing? We need information like the platform you are on, the version of Storage Explorer you are using, and so on to help troubleshoot.
From the logs you shared. It seems you are listing blob containers for two kinds of storage accounts:

A storage account with a weird name, which looks like an email address and is invalid
The local emulator at <IP_ADDRESS>:10000

Are you sure you are trying to list blob containers for either of the two cases? For the 1st case, you may double check to see if you have connected to your storage account with the correct storage account name. For the 2nd case, you may double check to see if you have your Azurite emulator started. If you need additional help, please provide more information in a new issue and we'll help you there.

Hi Jason,
Thanks for prompt response, you are right, I've started both storage at the same time, azurite and local emulator. this is probably therefore, both are fighting.
I am trying to stop azurite from python script but it's not happening,
can you please advise how to stop it?
Regards,
Umed Ali

@umedipi To stop Azurite or emulator, you will need to find the process and kill it in the task manager.


Support for bluetooth audio output and connect to device

Hello,
We can use  changeSoundOutput to change the audio  to bt_soundbar. However, this does nothing  as webos will no try to connect to any known device.
Is there a way to connect to a bluetooth device by name ?
Thank you

I know this is an old question, but I'd love to know this too.


Registry authConfig including plain text credentials logged on startup

On container startup, credentials are logged plain text:

There is another variant of this, where the "auth"-field in this log contains a base64 version of the same information. I believe the entire "authConfig" should be omitted from logging.
Tested with Testcontainers 1.14.1.
I am aware that this log originates from an upstream dependecy of testcontainers, but I am still openening this here as I think that these kinds of logs should probably be disabled by default in testcontainers - also, docker-java has argued here that they won't fix it: https://github.com/docker-java/docker-java/issues/1125

Hi @Faradax,
This is indeed from docker-java, and, since I am the new maintainer of it, I'd say we should fix it there :)
Logging command's body isn't the best approach (or it should AT LEAST be moved to TRACE), since commands like CreateContainerCmd may also contain sensitive environment variables.
Do you mind re-reporting it there?


solve problem day0

test comment

why the "solution/solution.py" file added to repository?
This file seems unused.

اشتباه کردم. ندونستم چطور میشه پاکش کنم.
On Sat, Mar 17, 2018 at 12:56 PM, reza arjmandi<EMAIL_ADDRESS>wrote:

why the "solution/solution.py" file added to repository?
This file seems unused.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/reza-arjmandi/rpi-course/pull/64#issuecomment-373906674,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjeMlRVXiJ1y57hl3UOBscDbaDANzQspks5tfNa7gaJpZM4SuWPD
.

خوب، الان یک بار دیگه اصلاح کنید، یعنی فایل را حذف کنید و دوباره پوش کنید


Doesn't work with custom filetypes

Hi,
Thanks for the awesome package!
I'm struggling to make it work with a custom jinja filetype generated by a plugin. As there is no built-in jinja syntax support in neovim/vim, a lot of people use this plugin to add syntax highlighting: https://github.com/Glench/Vim-Jinja2-Syntax.
Whenever my filetype is jinja, htmx-lsp will not produce any completions. If I reopen the file manually setting the filetype to html or even txt, htmx-lsp works without issues.
Here are some log messages from :LspLog when using with jinja filetype:
[ERROR][2024-02-21 22:36:36] .../vim/lsp/rpc.lua:734	"rpc"	"htmx-lsp"	"stderr"	'{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/lib.rs","level":"ERROR","line":59,"message":"connection received message: Notification(Notification { method: \\"$/cancelRequest\\", params: Object {\\"id\\": Number(2)} })","module":"htmx_lsp_server","target":"htmx_lsp_server","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/lib.rs","level":"ERROR","line":59,"message":"connection received message: Request(Request { id: RequestId(I32(3)), method: \\"textDocument/completion\\", params: Object {\\"context\\": Object {\\"triggerCharacter\\": String(\\" \\"), \\"triggerKind\\": Number(2)}, \\"position\\": Object {\\"character\\": Number(42), \\"line\\": Number(5)}, \\"textDocument\\": Object {\\"uri\\": String(\\"file:///Users/olzhas/dev/pet/workout/templates/layout.j2\\")}} })","module":"htmx_lsp_server","target":"htmx_lsp_server","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/handle.rs","level":"ERROR","line":167,"message":"handle_request","module":"htmx_lsp_server::handle","target":"htmx_lsp_server::handle","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/handle.rs","level":"ERROR","line":112,"message":"handle_completion: CompletionParams { text_document_position: TextDocumentPositionParams { text_document: TextDocumentIdentifier { uri: Url { scheme: \\"file\\", cannot_be_a_base: false, username: \\"\\", password: None, host: None, port: None, path: \\"/Users/olzhas/dev/pet/workout/templates/layout.j2\\", query: None, fragment: None } }, position: Position { line: 5, character: 42 } }, work_done_progress_params: WorkDoneProgressParams { work_done_token: None }, partial_result_params: PartialResultParams { partial_result_token: None }, context: Some(CompletionContext { trigger_kind: TriggerCharacter, trigger_character: Some(\\" \\") }) }","module":"htmx_lsp_server::handle","target":"htmx_lsp_server::handle","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/tree_sitter.rs","level":"ERROR","line":108,"message":"get_position_from_lsp_completion","module":"htmx_lsp_server::tree_sitter","target":"htmx_lsp_server::tree_sitter","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/tree_sitter.rs","level":"ERROR","line":110,"message":"get_position_from_lsp_completion: text {% extends \\"base.j2\\" %}\\n\\n{% block body %}\\n    {% include \\"side_nav.j2\\" %}\\n\\n
\\n        {% block content %}{% endblock %}\\n
\\n{% endblock %}\\n","module":"htmx_lsp_server::tree_sitter","target":"htmx_lsp_server::tree_sitter","timestamp":1708533396795}\n{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/tree_sitter.rs","level":"ERROR","line":112,"message":"get_position_from_lsp_completion: pos Position { line: 5, character: 42 }","module":"htmx_lsp_server::tree_sitter","target":"htmx_lsp_server::tree_sitter","timestamp":1708533396795}\n'
[ERROR][2024-02-21 22:36:36] .../vim/lsp/rpc.lua:734	"rpc"	"htmx-lsp"	"stderr"	'{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/handle.rs","level":"ERROR","line":126,"message":"EMPTY RESULTS OF COMPLETION","module":"htmx_lsp_server::handle","target":"htmx_lsp_server::handle","timestamp":1708533396797}\n'
[ERROR][2024-02-21 22:36:37] .../vim/lsp/rpc.lua:734	"rpc"	"htmx-lsp"	"stderr"	'{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/lib.rs","level":"ERROR","line":59,"message":"connection received message: Notification(Notification { method: \\"textDocument/didChange\\", params: Object {\\"contentChanges\\": Array [Object {\\"text\\": String(\\"{% extends \\\\\\"base.j2\\\\\\" %}\\\\n\\\\n{% block body %}\\\\n    {% include \\\\\\"side_nav.j2\\\\\\" %}\\\\n\\\\n
\\\\n        {% block content %}{% endblock %}\\\\n
\\\\n{% endblock %}\\\\n\\")}], \\"textDocument\\": Object {\\"uri\\": String(\\"file:///Users/olzhas/dev/pet/workout/templates/layout.j2\\"), \\"version\\": Number(9)}} })","module":"htmx_lsp_server","target":"htmx_lsp_server","timestamp":1708533397565}\n'
[ERROR][2024-02-21 22:36:38] .../vim/lsp/rpc.lua:734	"rpc"	"htmx-lsp"	"stderr"	'{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/lib.rs","level":"ERROR","line":59,"message":"connection received message: Notification(Notification { method: \\"textDocument/didChange\\", params: Object {\\"contentChanges\\": Array [Object {\\"text\\": String(\\"{% extends \\\\\\"base.j2\\\\\\" %}\\\\n\\\\n{% block body %}\\\\n    {% include \\\\\\"side_nav.j2\\\\\\" %}\\\\n\\\\n
\\\\n        {% block content %}{% endblock %}\\\\n
\\\\n{% endblock %}\\\\n\\")}], \\"textDocument\\": Object {\\"uri\\": String(\\"file:///Users/olzhas/dev/pet/workout/templates/layout.j2\\"), \\"version\\": Number(10)}} })","module":"htmx_lsp_server","target":"htmx_lsp_server","timestamp":1708533398186}\n'
[ERROR][2024-02-21 22:36:38] .../vim/lsp/rpc.lua:734	"rpc"	"htmx-lsp"	"stderr"	'{"file":"/Users/olzhas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/htmx-lsp-server-0.1.0/src/lib.rs","level":"ERROR","line":59,"message":"connection received message: Notification(Notification { method: \\"textDocument/didChange\\", params: Object {\\"contentChanges\\": Array [Object {\\"text\\": String(\\"{% extends \\\\\\"base.j2\\\\\\" %}\\\\n\\\\n{% block body %}\\\\n    {% include \\\\\\"side_nav.j2\\\\\\" %}\\\\n\\\\n
\\\\n        {% block content %}{% endblock %}\\\\n
\\\\n{% endblock %}\\\\n\\")}], \\"textDocument\\": Object {\\"uri\\": String(\\"file:///Users/olzhas/dev/pet/workout/templates/layout.j2\\"), \\"version\\": Number(11)}} })","module":"htmx_lsp_server","target":"htmx_lsp_server","timestamp":1708533398643}\n'

Hey @olzhasar thanks for reporting. Would you be able to provide an example project where it happens? Nothing fancy, just to make it easier to debug that. :)

Hey @cristianoliveira ,
I believe a minimal example should be as simple as the following:
Assuming you are using nvim lspconfig:
lspconfig.lua:
local lspconfig = require("lspconfig")

lspconfig["htmx"].setup({
  capabilities = capabilities,
  on_attach = on_attach,
  filetypes = { "html",  "customfiletype" },
})
`

Then open a new file in Neovim and run:
:setfiletype customfiletype

# try to type some text that should trigger completion, e.g. <div class="bg-"

:LspInfo
:LspLog

I'm also running into the same issue but with the htmldjango filetype. :LspInfo shows that htmx-lsp is attached to the buffer, but the filetypes listed only include html and templ and not my custom filetype.
Here is my lspconfig:
return {
  "neovim/nvim-lspconfig",
  config = function()
    local lspconfig = require("lspconfig")
    lspconfig.htmx.setup({
      filetypes = { "htmldjango" },
    })
  end,
}

Also worth noting here that using the standard method that Lazyvim provides of specifying a servers table within the opts table to configure htmx_lsp doesn't work at all and requires me to specify all of my other configs within the config function due to overriding.

Is the filetype recognised by neovim, or do you need to do :set filetype=.... because if that is the case maybe adding this helps. Something similar was needed for me to get the go templ lsp working
vim.filetype.add({
        extension = {
                htmldjango = "htmldjango",
        },
})

Is the filetype recognised by neovim, or do you need to do :set filetype=.... because if that is the case maybe adding this helps.

Yup, :LspInfo shows the detected filetype correctly. I have an autocmd set up to set the filetype automatically for a custom arbitrary extension .dhtml (django html)

I figured this out, by the way...
If you're using Lazy as your package manager, you're unable to successfully define filetypes for the htmx lsp via opts > servers > htmx. The only way that works is to override the config function which unfortunately goofs up a lot of other stuff for me. Here's what I mean by how to successfully configure:
-- works
  config = function()
    local lspconfig = require("lspconfig")
    lspconfig.htmx.setup({
      filetypes = { "htmldjango" },
    })

-- doesn't work
  opts = {
      htmx = { filetypes = { "htmldjango" } },
    },
  },


[Bug] TabView SelectionChangedEvent returns the same value on both Old and New position.

Title
TabView SelectionChangedEvent returns the same value on both Old and New position.
Description
Please follow the steps to reproduce the issue.
Steps to Reproduce

Create a file new Xamarin Forms application.
Install Xamarin Communit Toolkit
Create a simple layout using TabView
Set SelectionChanged Event on TabView
Change the selection on TabView
You'll see that the SelectionChanged event args object has two values Old and New.
Both values are same.

Expected Behavior
Old and New value should be different.
Actual Behavior
Old and New value are same even if I change the Tab index
Basic Information

Version with issue:
Last known good version:
IDE:
Platform Target Frameworks:

iOS:
Android:
UWP:

Android Support Library Version:
Nuget Packages:
Affected Devices:

Workaround

Reproduction imagery

Reproduction Link

@samir-dahal could you update your issue by adding a title and a description? Thanks

@samir-dahal could you update your issue by adding a title and a description? Thanks

Please have a look now.

@samir-dahal thanks for that, can you upload a small repro? That will help us to triage faster the issue. Do you tried on our sample app?

@pictos  I have faced the same issue in version 1.1.0, but after updating to version 1.2.0, it works fine.
Looks like this bug has been resolved in version 1.2.0.

Thanks @guru1413. @samir-dahal Can you try the version 1.2.0 and see if that solves your issue? If don't, please reopen this issue

Thanks @guru1413. @samir-dahal Can you try the version 1.2.0 and see if that solves your issue? If don't, please reopen this issue

Yeah, I think it works in latest version.


[WFCORE-5943] Exclude undertow-servlet transitive dependencies

These changes resolve convergence errors produced during the
productized build of the server.
Issue: https://issues.redhat.com/browse/WFCORE-5927

Hello, dbkreling. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

/ok-to-test

/ok-to-test


Tensorflow 2.0 converter.experimental_new_converter = True still giving 'str' object has no attribute 'call'

System information

OS Platform and Distribution: Windows 10
TensorFlow installed from (source or binary): pip
TensorFlow version (or github SHA if from source): tensorflow 2.2.0

Command used to run the converter or code if you’re using the Python API
converter = tf.lite.TFLiteConverter.from_keras_model(keras_file)
converter.experimental_new_converter = True
tflite_model = converter.convert()
open("linear.tflite", "wb").write(tflite_model)

The output from the converter invocation
AttributeError                            Traceback (most recent call last)
<ipython-input-12-b0b66b38a77c> in <module>
----> 1 converter = tf.lite.TFLiteConverter.from_keras_model(keras_file)
      2 converter.experimental_new_converter = True
      3 tflite_model = converter.convert()
      4 open("linear.tflite", "wb").write(tflite_model)

c:\python\python38\lib\site-packages\tensorflow\lite\python\lite.py in from_keras_model(cls, model)
    426     # to None.
    427     # Once we have better support for dynamic shapes, we can remove this.
--> 428     if not isinstance(model.call, _def_function.Function):
    429       # Pass `keep_original_batch_size=True` will ensure that we get an input
    430       # signature including the batch dimension specified by the user.

AttributeError: 'str' object has no attribute 'call'

(https://github.com/tensorflow/tensorflow/issues/32693)
I referred to this previous forum for the same error and saw one of the solutions was to use the 'experimental_new_converter = True' function but I'm still getting the same error. I would reopen the mentioned forum if I could but I'm not sure how.

@JacobOfCorns
Hi, I think you need to use the following converter API since from_keras_model_file accepts the keras file while from_keras_model accepts the keras model instance.
converter = tf.compat.v1.lite.TFLiteConverter.from_keras_model_file(keras_file)
converter.experimental_new_converter = True
tflite_model = converter.convert()
open("linear.tflite", "wb").write(tflite_model)

It works!! you are amazing thank you so much!

@JacobOfCorns
Hi, I think you need to use the following converter API since from_keras_model_file accepts a keras file path while from_keras_model accepts a keras model instance.
converter = tf.compat.v1.lite.TFLiteConverter.from_keras_model_file(keras_file)
converter.experimental_new_converter = True
tflite_model = converter.convert()
open("linear.tflite", "wb").write(tflite_model)


sdk/staking

Description
Typescript SKD staking contract implementation.
Summary of changes
Staking Module

[x] approveStake(amount: BigNumber)
[x] stake(amount: BigNumber)
[x] unstake(amount: BigNumber)
[x] withdraw()
[x] slash(slasher: string, staker: string, escrowAddress: string, amount: BigNumber)
[x] allocate(escrowAddress: string, amount: BigNumber)
[x] closeAllocation(escrowAddress: string)
[x] distributeRewards(escrowAddress: string)
[x] getStaker(staker: string)
[x] getListOfStakers()
[x] getAllocation(escrowAddress: string)
[x] isAllowance(amount: BigNumber)
[x] Test coverage

Init Module

[x] getParams(signerOrProvider: Signer | Provider)
[x] Test coverage

How test the changes
yarn test
Related issues
[TS] Staking SDK - Create DistributeRewards method#403
[TS] Staking SDK - Create Slash method#402
[TS] Staking SDK - Create Withdraw method#401
[TS] Staking SDK - Create Unstake method #400
[TS] Staking SDK - Create stake method#397
[TS] Staking SDK - Create CloseAllocation method#399
[TS] Staking SDK - Create allocate method#398
[TS] Staking SDK - Create approveStake method#396
[TS] Staking SDK - Create staking client#395

Keep having this error : error Couldn't find match for "feat/smaller" in "refs/heads/1.3.x,refs/heads/1.4.x,refs/heads/master,refs/tags/v1.3.2,refs/tags/v1.4.10,refs/tags/v1.4.11,refs/tags/v1.4.7,refs/tags/v1.4.8,refs/tags/v1.4.9,refs/tags/v1.5.0,refs/tags/v1.5.1,refs/tags/v1.5.2,refs/tags/v1.6.0,refs/tags/v1.6.1,refs/tags/v1.6.2,refs/tags/v2.0.0" for "https://github.com/hugomrdias/concat-stream.git".
When I run yarn install on your branch.


Add ToOwned import for UUID feature

Resolves #37.

Yeah, there's really no good reason to use .to_owned() here.  This could be simplified by simply dereferencing the array, like:
impl From<uuid::Uuid> for GUID {
    fn from(value: uuid::Uuid) -> Self {
        let fields = value.as_fields();
        Self {
            data1: fields.0,
            data2: fields.1,
            data3: fields.2,
            data4: *fields.3,
        }
    }
}

If you'd like to make that change, go ahead and update and I'll approve.  Else, I'm fine with this PR as-is, so we could do that, too.  But the dereference is probably best.


Rewrite of "Quick Start" page.

What is this PR for?
A few sentences describing the overall goals of the pull request's commits.
First time? Check out the contributing guide - https://github.com/apache/zeppelin/blob/master/CONTRIBUTING.md
This is a rewrite of the "Quick Start" page, fixing syntax/grammar issues while trying to keep to the original content. I may look at other pages, but I wanted my first PR to be very small.
What type of PR is it?
Documentation
Todos
Verify the accuracy of the configuration settings section
What is the Jira issue?
(Does this apply to documentation PRs?)
How should this be tested?
Do documentation changes like this need to be tested?
If so, is the github preview sufficient for these changes? How is Zeppelin's markdown interpreter different than Github's?
If Github's MD preview isn't sufficient, is it possible to build the documentation locally?
Screenshots (if appropriate)
Questions:

Since this is my first PR on the project, I limited the scope of my changes. Is there any desire to  change the content of these pages in any way? Do we have documentation conventions?

Hi @rfilmyer, thanks for your first contribution to Zeppelin! I've just looked through the changes, definitely better. So LGTM I think 👍
Since this change is just for syntax/grammar fixing, github preview will be enough I guess. But If you want to check another docs pages, Contributing to Documentation will guide you. This page will give you the answer about most of your questions that you might be wondered(e.g. Do we have documentation conventions?)
Ah, I can answer to you about this question directly in here.

is it possible to build the documentation locally?

Yes it is. Please see "Dev Mode" section in the guide page I linked.
Please feel free to ask if you have any other questions. Zeppelin community will be happy to help you :D

Thanks for the feedback! If I want to make more contributions, should I do it in this PR, or should I make a new one.

@rfilmyer Actually it's up to you. If the changes that you want to contribute are also related to "Fixing syntax/grammar error", you can just push them here. Then the PR title needs to be updated accordingly. Maybe "Fix syntax/grammar errors in some documentations" ?

Thanks @rfilmyer for the great contribution!
Like @AhyoungRyu explained, you can either add more commits here or create new PR depending on further contribution you want to make.
LGTM

Alright. I'm probably going to make some more changes on this PR. (Probably 2 or 3 more pages).

@rfilmyer Do you need any help? :D

I've been busy and sort of fallen into the trap that I was trying to avoid
by leaving this PR dead. This weekend I'm going to try to finish another
page, close this PR, and make other changes on a fresh one.
On Fri, Sep 23, 2016, 5:10 AM Ahyoung Ryu<EMAIL_ADDRESS>wrote:

@rfilmyer https://github.com/rfilmyer Do you need any help? :D
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/zeppelin/pull/1416#issuecomment-249175520, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFo6dc5K8XrywrO4-cfrCRlKFBkivfaTks5qs8HGgaJpZM4J4VHE
.

@rfilmyer Yeah thanks for sharing your plain :) Then merging this one into master if there are no more discussions.

@rfilmyer Ah if you want to make another changes, how about creating a Jira issue for that?

What is the Jira issue?
(Does this apply to documentation PRs?)

Yes it does. Every Zeppelin-related issues can be reported in Jira. It's not a mandatory for now, but it's good to have one even if it's a minor issue. Also you can create another patch not in your master branch but sth like ZEPPELIN-(Jira issue number) branch.


label inside .input-group-addon breaks height of addon [v4-dev]

Nesting a label tag inside a .input-group-addon now breaks the height of the add-on.

  X
  <input name="go" class="form-control" type="text">

This seems to come from _reboot.scss:291
A possible fix is this override
.input-group label {
  margin: 0;
}

See this jsfiddle for sample.

Just get rid of the wrapper : http://jsfiddle.net/cvrebert/02hocdbh/

Hi @cvrebert!
You appear to have posted a live example (http://fiddle.jshell.net/cvrebert/02hocdbh/show/light/), which is always a good first step. However, according to the HTML5 validator, your example has some validation errors, which might potentially be causing your issue:

line 6597, column 5 thru column 46: The for attribute of the label element must refer to a non-hidden form control.
line 6602, column 5 thru column 47: The for attribute of the label element must refer to a non-hidden form control.
line 6610, column 5 thru column 46: The for attribute of the label element must refer to a non-hidden form control.
line 6615, column 5 thru column 47: The for attribute of the label element must refer to a non-hidden form control.

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)


style: a linter for colons

A linter that throws on seeing a colon at the start of a line, according to the style guideline that says these operators should go before linebreaks.

I saw someone touch this file so I thought I might as well un-draft this PR. I guess we want this whole script to be translated from Python to Lean, but this is a check I think I would find helpful.

bors r+

bors r+


Importing a non-supported Icon

From Prodin:
"When you use an icon that is not available (I picked some icons from https://tabler-icons.io/, but I don’t think all are available in DWCJ), the whole app crashes. Maybe good idea to fall back on a default icon or show a “broken” icon like you see sometimes when images can not be loaded? Just a thought."

Should be possible with BBj nightly build. This is not DWCj related.


Invalid request method when issuing update query.

Update query should always be POST request. See https://github.com/OpenTriply/YASGUI/issues/105

fixed


missing closing %

Page "Define and modify your variables in a script" is missing closing % on variable name AGENT_WORKFOLDER in the description section. It is written as %AGENT_WORKFOLDER where it should be %AGENT_WORKFOLDER%. In the script below it is correctly written.
Wrong section
Second line has mistake
For example, `Agent.WorkFolder` becomes `AGENT_WORKFOLDER`.
On Windows, you access this as `%AGENT_WORKFOLDER` or `$env:AGENT_WORKFOLDER`.

Should be
Notice added % after variable name
For example, `Agent.WorkFolder` becomes `AGENT_WORKFOLDER`.
On Windows, you access this as `%AGENT_WORKFOLDER%` or `$env:AGENT_WORKFOLDER`.

Already existing example from the script
Script is using %SAUCE% and %SECRET_SAUCE%
@echo off
set sauceArgument=%~1
set secretSauceArgument=%~2
@echo No problem reading %sauceArgument% or %SAUCE%
@echo But I cannot read %SECRET_SAUCE%
@echo But I can read %secretSauceArgument% (but the log is redacted so I do not spoil
     the secret)

PR sent


Fixed module issue & integrated location JSON template with Custom Image Build solution

Fixed an issue with PowerShell module incompatibilities. The Az.ImageBuilder module has a dependency on the Az.Accounts module.  On 4/24/2023, a new version (2.12.2) of the Az.Accounts module was released and is not compatible with the latest version (0.3.0) of the Az.ImageBuilder module. The ARM template now has hardcoded module versions to prevent compatibility issues going forward. Az.Accounts is hardcoded to the last known working version of 2.12.1. Az.ImageBuilder is hardcoded to the last known working version of 0.3.0.
Incorporated the locations JSON file to ensure consistent location acronyms, time zones, and time differences are used across all the AVD Accelerator solutions.
Fixed an issue with VDOT. When using VDOT in an AIB build, you can't run all the optimizations.  The disk cleanup portion breaks AIB and must be excluded.  Also, removed OneDrive from the advanced optimizations since most customers will want to keep that application.

@jamasten thanks for your contribution.


Display "Highest recorded prices" for Account Value

We don't store such data, and it's hardly a useful metric.


Add RevA2 documentation

Origin design file
PCB components location
BOM

Got you. But since the old version is still on sell, or some one may need to view these old version docs, I am not sure if it is OK to cover the old version documents.


Add FUJITSU ConnectionChain-sample

Signed-off-by: takeutak<EMAIL_ADDRESS>

🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


motor does not reply

Hellow!
I tried to control A1 motor with Raspberry Pi 4b(ubuntu 20.04).
But when I ran the "motorctrl", the following information is continuously printed:
"
[WARNING] SerialPort::recv, unblock version, wait time out
[WARNING] motor id=2 does not reply
motor.Pos: 0
motor.Temp: 0
motor.W: 7.06952e-10
motor.T: 7.93298e+34
motor.MError:<PHONE_NUMBER>
"
Because I don't know the exact motor id, I tried "motor id = 0, 1, 2, or 0xBB". These situation all showed similar errors and the motor didn't work.
So, I wonder what the problem is and how I can solve it.

did you manage to get it to work? I have the same issue

Hello, may I ask which chat app you use? We might be able to communicate faster offline.

I can give you my phone if you message me on discord guyo4863

I can give you my phone if you message me on discord guyo4863

By the way, do you use WeChat?

I can give you my phone if you message me on discord guyo4863

or WhatsApp

you can contact me in whatsapp +972543488268, send me a message so ill delete this post

Thanks for reply. I have solved the problem. The sequence of line which bought together from the motos is wrong. We adjust the line sequence then the motor works well.

thank you for helping in private.

Thanks for reply. I have solved the problem. The sequence of line which bought together from the motos is wrong. We adjust the line sequence then the motor works well.

You're welcome! if there are any further issues, you could contact<EMAIL_ADDRESS>, they will respond more quickly.


Spark NLP

CoreNLP

https://github.com/JohnSnowLabs/spark-nlp should be more scalable and is compatible with pipelines.
Depends on https://github.com/rstudio/sparklyr/issues/1180

@kevinykuo @javierluraschi guys I just tried to run some state-of-the-art NLP algos on my machine, and it is S L O W !!!!! we really need NLP on spark! better yet, NLP on sparklyr ! :) do you think this is doable soon?

@randomgambit Yes, I should have this moving in December. Shoot me an email if I don't update by the end of the year.

@kevinykuo itssssssss tiiiiiiiimee ! :) any good news on that??? thanks guys!

@randomgambit Yeah still on track to get to this this year. The prerequisite is https://github.com/rstudio/sparklyr/pull/1778 which I'm working on at the moment together with the xgboost extension (which will be in a public repo soon.)

It would be really, really awesome if we could get this in. We've just started evaluating Spark-NLP and I am really impressed with it. We'll likely be using it as our core NLP platform and I would really like to be able to continue working in R instead of shifting to Python or Java. Is there anything we can do to push this along?

@dkincaid Yes! I'd started working on it but haven't touched the branch in a while. If your team has some cycles to spare we can definitely use the help. If you're interested, shoot me a note at kevinykuo at gmail.

https://github.com/r-spark/sparknlp


use proces.env.NODE_PATH when set to get node_modules path

the following line could check to see if proces.env.NODE_PATH. currently this must be done manually by the developer. https://github.com/liady/webpack-node-externals/blob/master/index.js#L56

@mattkime that sounds like a good idea. As I'm not very familiar with the NODE_PATH setting, can you give an example how to improve this check? (or better yet, a PR?)
thanks!

@liady i'll make a pr. wanted to make sure there wasn't a specific reason for avoiding it. thanks!

@mattkime is this still relevant?

It is, apologies for forgetting about this.


Mega Issue: Manual node provisioning

Tell us about your request
What do you want us to build?
I'm seeing a number of feature requests to launch nodes separately from pending pods. This issue is intended to broadly track this discussion.
Use Cases:

Create a System pool to run components like karpenter, loadbalancer, coredns, etc
Provision baseline capacity that never scales down
Manually preprovision a set of nodes before a large event

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

/remove-lifecycle stale

When migrating from Cluster Auto Scaler to Karpenter, we would like Karpenter to provision a node beforehand, before we perform a drain on the old node. It takes time for Karpenter to provision a new node based on the unscheduled workloads, and due to this, the pods are kept in a Pending state for too long.

@chamarakera would just requesting a node via nodeclaim be enough in this case? No managed solution is requried if you just want to create a node from my testing just applying nodeclaims with a reference to valid nodepool is often enough.
Note this example uses a instance type size from azure.
k apply -f nodeclaim.yaml
apiVersion: karpenter.sh/v1beta1
kind: NodeClaim
metadata:
  name: temporary-capacity
  labels:
    karpenter.sh/nodepool: general-purpose
  annotations:
    karpenter.sh/do-not-disrupt: "true"
spec:
  nodeClassRef:
    name: default
  requirements:
  - key: kubernetes.io/arch
    operator: In
    values:
    - amd64
  - key: kubernetes.io/os
    operator: In
    values:
    - linux
  - key: karpenter.sh/capacity-type
    operator: In
    values:
    - on-demand
  - key: node.kubernetes.io/instance-type
    operator: In
    values:
    - Standard_D32_v3
  resources:
    requests:
      cpu: 2310m
      memory: 725280Ki
      pods: "7"
status: {}

@chamarakera how bad is the pod latency you're describing here? Do you have a long bootstrap/startup time on your instance? What would be an acceptable amount of pod latency to not need prewarmed instances ?

@Bryce-Soghigian - To use NodeClaims, we would need to generate several NodeClaim resources depending on the cluster's size. I would like to see a configurable option within the NodePool itself to provision nodes prior to the migration. I think, having a way to configure min size/max size parameters in the NodePool itself would be a good solution.
@njtran - Usually it takes for 1 - 2mins for startup, this is ok in non-prod,  but in a production I would like to have all pods scheduled in a node as soon as possible (few seconds).

After chatting a bit in Slack on the Karpenter channel with awiesner4 I think i have some thoughts around this problem.
First I want to contrast Karpenter's primary objective then break down Karpenter's current responsibility and maybe this will help drive the design choice. I think Karpenter's main objective is be an efficiency cluster autoscaler so it makes it difficult for leaving around nodes that isn't doing work go against what Karpenter is trying to achieve. I think to add something that works around it would likely be problematic because you would have to work around everything Karpenter is built to do.
However, at the moment is doing more than just autoscaling which is where I think problems and usability issue arises. It autoscales but it also manages nodes. It takes over how nodes are configured and the lifecycle of nodes and it closes the door for other things to manage nodes.
https://github.com/kubernetes-sigs/karpenter/issues/742
https://github.com/kubernetes-sigs/karpenter/issues/688
https://github.com/kubernetes-sigs/karpenter/issues/740

this issue.

What does this mean? I agree with those who are saying nodeclaim should be able to create nodes essentially outside of Karpenter's main autoscaling logic so we don't change what Karpenter is trying to do (save money). I think at this time NodePools does hold the logic and concept of how Karpenter tries to optimize the cluster so I don't think manual provisioning should live there. On the max/min nodes on NodePool, it was pointed out to me that how would a nodepool know what instance types those min nodes should be and in order to protect those min nodes Karpenter would have to cut through most of its disruption logic to support don't drop node count below min.
That isn't the say supporting node management or different autoscaling priority isn't possible but I think the entity that contains that logic should not be node pool in its current form. If Karpenter expands NodePool such that it is extensible, _karpenter_nodepool_provider_N, that allows users to group nodeclaims with different intention that differs from the primary objective of Karpenter users can create nodepools variants where keeping a min make sense. Where scheduling logic is different and so on.
From my view, I think its important to keep Karpenter's main focus clear and clean because its complicated enough. But if we allow for more extension on the base concepts, we may be able to support use cases to fall out of what Karpenter is trying to do.

However, at the moment is doing more than just autoscaling which is where I think problems and usability issue arises.

There are mentions of node autohealing, using budgets to manage upgrades, etc. Seems its moving to be a node lifecycle management tool. It has more value than just statically autoscaling. So I am for a static provisioning CR that helps manage lifecycle of static pools.

Hi. I am really looking forward to this feature too. Is there an open PR for it? Or is it still in the discussions phase?

We have 9 minimum nodes in our ASG for a batch job workload that gets kicked off by users through a UI.
The users find the EC2 spin-up time unacceptable and expect their pod to spin up quicker than the EC2 can start.
We must have a way to run a minimum number of nodes in a nodepool.

We must have a way to run a minimum number of nodes in a nodepool.

You can already do that (run low-priority placeholder Pods), but AFAIK there's no controller that does exactly this.
Maybe I'll put some time in and try to write one.

Cluster Autoscaler now also supports ProvisioningRequest CRD

There is an additional financial impact caused by the de-facto solution for a warm pool of capacity by overprovisioning. When high priority pods are scheduled, preempting the overprovision workloads, Karpenter will scale the nodegroup immediately in order to regain capacity to reschedule the overprovision workloads. In some cases it may be preferable for the headroom to be elastic, such that the desired headroom is restored after a deployment or batch job completes. This could be accomplished by setting a desired range of overprovisioned resources. But I also believe @sftim minimumPodPriority solution presents an acceptable solution.

+1

Cross ref-ing the ProvisioningRequest ask here: https://github.com/kubernetes-sigs/karpenter/issues/742#issuecomment-2122005473

cc @raywainman who is tracking warm replicas stories on behalf of WG Serving here:
https://docs.google.com/document/d/1QsN4ubjerEqo5L4bQamOFFS2lmCv5zNPis2Z8gcIITg

For everyone's context, we did a little bit of ideating and came-up with an API that we were pretty happy with from the Karpenter side (see https://github.com/jonathan-innis/karpenter-headroom-poc). We're having an open discussion with the CAS folks about the difference between how we are thinking about the Headroom API and the ProvisioningRequest API, feel free to take a look and comment on the doc if you have any thoughts: https://docs.google.com/document/d/1SyqStWUt407Rcwdtv25yG6MpHdNnbfB3KPmc4zQuz1M/edit?usp=sharing

Hi guys, how's it going?. I have been looking for a fixed provisioning solution with Karpenter-
We need to have a minimum amount of on-demand nodes (I'd say 2, one per AZ) and then scale-up/down with spot instances the rest of the workload, I haven't found a solution yet, we tried to play with "On-Demand/Spot Ratio Split" but didn't work and continues spreading Spot instances for the whole workload.
Some workaround or thougts about how to solve it, we really want to fully use Karpenter for our workload.

We need to have a minimum amount of on-demand nodes (I'd say 2, one per AZ) and then scale-up/down with spot instances the rest of the workload, I haven't found a solution yet, we tried to play with "On-Demand/Spot Ratio Split" but didn't work and continues spreading Spot instances for the whole workload.

You don't need this issue resolved for your use case @balmha.

Create 1 NodePool with requirement karpenter.sh/capacity-type set to ["on-demand"] and higher weight. Set limits to control how much on-demand "base capacity" you need.
Create another NodePool with requirement karpenter.sh/capacity-type set to ["spot", "on-demand"] (it'll schedule spot nodes and only fallback to on-demand in case of availability issues) with lower weight.

Even better, you can let your workloads that can't tolerate interruptions, set nodeSelectors or affinity to run on on-demand nodes. That's something which is cleaner to do with Karpenter than on CA.

@jonathan-innis I really like the look of the headroom APIs, I think they'd cover the requirements I was talking about in #993. Is there a separate issue to track the headroom APIs? Google docs are blocked from our corporate machines.

Is this still planned to be implemented? Any kind of ETA?
Our use case also would greatly benefit from it: We scale up GitLab Runners for our organization. However the cold-starts (60-90 secs) is not ideal for CI/CD. Having 1-2 nodes always available as headroom would make sure that every pipeline coming in, directly get started. Ideally, the minimum number of nodes can be set for a specific schedule (e.g. office hours only) to make sure that during night or weekend it ramps down to zero to minimize costs.
(Or is there any other approach I can choose to fulfill my usecase with e.g. EKS + Karpenter?)

Our team is using blue/green deployment and always needs to wait a few minutes to make the new nodes come. And then Karpenter will disrupt nodes (after deployment, there will be an overuse of resources).
It would be great if we could allow a buffer like CPU or Memory. For example, if we constantly use a 1000m CPU, it would be a 1200m—20% buffer for deployment and cronjob running.

One suggestion for always have a fixed set of nodes available is heaving a deployment with proper topologyspreadconstraints to force the pods one node per replica. (set very low requirements)
Don't set a lower priority so it won't get prempted (as in the prewarm/headroom Szenario mentioned before).
If you combine this with keda you can do that even dynamically basted on external factors.


Add a backend test for infinite loops

We should add the following test:
fn foo() {
    while true {
        bar()
    }
}

Fixed in https://github.com/AeneasVerif/aeneas/pull/213


Move benches to benches/

Had a look through the library and noticed that the crate's benchmarks don't live in the benches/ top level directory, which is the expected directory structure.
I moved the protocol and mimc benchmarks to their respectives benchmark files (see also the [[benches]] array in Cargo.toml).
I wasn't 100% sure what the purpose of the println! macros in generate_proof is. They made the output of cargo bench very noisy, so I removed those and moved the code blocks to their own benchmarks (making a wild guess that the println!s were for monitoring the perf of the 2 components of that function).
I also replaced bench_function with bench_with_inputs where appropriate (because ideally inputs are kept invariant between benchmark runs).

Had a look through the library and noticed that the crate's benchmarks don't live in the benches/ top level directory, which is the expected directory structure.

Rust allows tests to live both in the module and as standalone tests. Both have their uses. Tests in the module allow code, documentation and unit tests to all live together. Standalone tests are good for complex integrations tests.
The same applies for benchmarks. These benchmarks are like unit tests, they measure a small part. It thus makes sense to keep them next to the unit tests.