Create blank.ymleng

Engineering

Overview/Summary
Replace this with a brief description of what this Pull Request fixes, changes, etc.
This PR fixes/adds/changes/removes

Replace me
Replace me
Replace me

Breaking Changes

Replace me
Replace me

Testing Evidence
Please provide any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).
Testing URLs
The below URLs can be updated where the placeholders are, look for {YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also} & {YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also}, to allow you to test your portal deployment experience.

Please also replace the curly brackets on the placeholders {}

Azure Public
[](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2F{YOUR GITHUB ORG/ACCOUNT HERE - Remove Curly Brackets Also}%2FEnterprise-Scale%2F{YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also}%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2F{YOUR GITHUB ORG/ACCOUNT HERE - Remove Curly Brackets Also}%2FEnterprise-Scale%2F{YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also}%2FeslzArm%2Feslz-portal.json)
Azure US Gov (Fairfax)
[](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2F{YOUR GITHUB ORG/ACCOUNT HERE - Remove Curly Brackets Also}%2FEnterprise-Scale%2F{YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also}%2FeslzArm%2FeslzArm.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2F{YOUR GITHUB ORG/ACCOUNT HERE - Remove Curly Brackets Also}%2FEnterprise-Scale%2F{YOUR GITHUB BRANCH NAME HERE - Remove Curly Brackets Also}%2FeslzArm%2Ffairfaxeslz-portal.json)
As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Performed testing and provided evidence.
[x] Ensured contribution guidance is followed.
[x] Updated relevant and associated documentation.
[x] Updated the "What's New?" wiki page (located: /docs/wiki/whats-new.md)

Engineering electrical assessment career but sustainability

Engineering electrical assessment career but sustainability. Goodlike
On Sun, 24 Mar 2024, 13:42 microsoft-github-policy-service[bot], <
@.***> wrote:

@t5h2i0tadi https://github.com/t5h2i0tadi please read the following
Contributor License Agreement(CLA). If you agree with the CLA, please reply
with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of
intellectual property rights to my Submissions and I am not making
Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work
for my employer (or my employer has intellectual property rights in my
Submissions by contract or applicable law). I have permission from my
employer to make Submissions and enter into this Agreement on behalf of my
employer. By signing below, the defined term “You” includes me and my
employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the
party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its
affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is
effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable
or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft
and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or
distributing code or other content to any
Project, including but not limited to communication on electronic
mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf
of, the Project for the purpose of
discussing and improving that Project, but excluding communication
that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material
Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement
before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now
or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions
is entirely Your original work.
Should You wish to Submit materials that are not Your original work,
You may Submit them separately
to the Project if You (a) retain all copyright and license information
that was in the materials as You
received them, (b) in the description accompanying Your Submission,
include the phrase “Submission
containing materials of a third party:” followed by the names of the
third party and any licenses or other
restrictions of which You are aware, and (c) follow any other
instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include
Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a
contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your
employer has intellectual
property rights in Your Submission by contract or applicable law, You
must secure permission from Your
employer to make the Submission before signing this Agreement. In that
case, the term “You” in this
Agreement will refer to You and the employer collectively. If You
change employers in the future and
desire to Submit additional Submissions for the new employer, then You
agree to sign a new Agreement
and secure permission from the new employer before Submitting those
Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly
display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all
of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or
the combination of the
Submission with the Project to which it was Submitted to make, have
made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the
Project.
Other Rights Reserved. Each party reserves all rights not
expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without
limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are
legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your
original work (except as You may
have disclosed under Section 3). You represent that You have secured
permission from Your employer to
make the Submission in cases where Your Submission is made in the
course of Your work for Your
employer or Your employer has intellectual property rights in Your
Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You
represent and warrant that You
have the necessary authority to bind the listed employer to the
obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless
You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED
UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO,
ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of
any facts or circumstances of which
You later become aware that would make Your representations in this
Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to
Projects and information about
contributions may be maintained indefinitely and disclosed publicly,
including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the
laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal
courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in
which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County,
Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire
agreement between the parties, and
supersedes any and all prior agreements, understandings or
communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may
be assigned by Microsoft.

—
Reply to this email directly, view it on GitHub
https://github.com/Azure/Enterprise-Scale/pull/1609#issuecomment-2016781412,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDVPD74SDAW6RT6PQPEUHPLYZ233BAVCNFSM6AAAAABFFUDSJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWG44DCNBRGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Congratulations!
On Tue, 26 Mar 2024, 11:22 Jack Tracey, @.***> wrote:

Closed #1609 https://github.com/Azure/Enterprise-Scale/pull/1609.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/Enterprise-Scale/pull/1609#event-12246746398,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDVPD74T4S2N4PS4EBSCQCDY2EV5LAVCNFSM6AAAAABFFUDSJOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGI2DMNZUGYZTSOA
.
You are receiving this because you were mentioned.Message ID:
@.***>

G ood like


Make crate no-std

This will be used for tracking the crate's migration to no-std.
Use case: #7

Changes are complete, currently in testing.

All examples pass and give the desired behavior.


Numbers have white background in Dracula theme

Same as in solarized theme?

Any chance of a fix for this?

I am still waiting :/

I had the same problem with the Obsidian style. To fix it, go to Language > User Defined Language > Define Your Language. Selected reStructuredText from the dropdown and then click on all the "Styler" buttons on all four tabs. For each one, click the "Transparent" option for Background color.

Before:

After:


Development ideas

[x] Add RLE for flat images
QB3 is very efficient for natural, smooth images. Maximum compression is two bits for a 4x4 band block, which for byte data means a 64:1 compression ratio. For images with large areas of the same value, further compression can be achieved by applying something as simple as an RLE to the compressed output. Yet this case is not the main target, and 64:1 compression is more than sufficient. Even better would be to use zstd, but that means introducing a very large external dependency.

Improve BEST compression mode by reusing the common factor and adding index based encoding, when only a few values are present in a block

Reduce the size of the lookup tables and move them in the encoder and decoder. There isn't much performance gained from the larger tables anyhow. This would also allow use of the decoder (and encoder) by itself

Fine tune the 4x4 padding
The library will encode a few lines and columns twice when the input is not a multiple of 4x4 pixels. This is simple, fast and efficient since no data is copied. It is possible to adjust the extra values such that the output size is smaller. However, this would be unnecessary slow and complicated, and the benefits would be minor.

[ ] Add a store mode, to be used when compression is not possible at all


Comment on Wiki "FAQ: Cannot connect" item

There doesn't seem to be a way to comment directly on the Wiki so I'm noting this here:
At least one developer reported here that simply stopping scanning before connecting wasn't enough to connect successfully. Their solution was to insert a 500 ms delay after stopping the scan. (The linked item includes other things people have tried, some successfully. As is often the case it seems to be highly device-dependent.)

This is correct, in my case 250ms was enough for all devices that I had tested on. Worth noting, thanks!

I have added a Connect right after scanning paragraph


Docs for hi/lo are confusing

On the README, I understand the description for hi/lo as:
lo() is just a start offset for each dimension. hi() is the opposite, that is, it truncates by the amount for each dimension. But in fact, hi() is also based on absolute indices and not by an amount. So, I think this should be changed also examples with output added.

Also, I think lo() is inclusive and hi() is exclusive in the indices, which is common but should be mentioned.

Unless you're talking about something different, they both just clip the array. So note in particular that
.lo(1,1).hi(4,4)
is NOT the same as
.hi(4,4).lo(1,1)
They operate on the previous command's result, the first:

.lo(1,1) trims off the first row and column
.hi(4,4) trims off all the last rows and columns, leaving a 4x4 array

For the second:

.hi(4,4) trims off all the last rows and columns, leaving a 4x4 array
.lo(1,1) trims off the first row and column, leaving a 3x3 array

So in other words, the don't commute. The docs specify "Note: hi and lo do not commute. In general: a.hi(3,3).lo(3,3)  !=  a.lo(3,3).hi(3,3)"
Is there additional wording or explanation you think would help prevent confusion?

I just think the doc description for lo and hi is extremely misleading, if not wrong.
Let's start with lo:

This creates a shifted view of the array. Think of it as taking the upper left corner of the image and dragging it inward by an amount equal to (i,j,k...).

First thing that confuses me is the word "shift". Shifting for me means that something changes but not the size of it, which would be wrong here.
Now hi:

This does the dual of array.lo(). Instead of shifting from the top-left, it truncates from the bottom-right of the array, returning a smaller array object.

Here it says that it is a different operation basically, not shifting but truncating, and making the array smaller, which however is the case for both hi and lo. Also, it doesn't say how truncation exactly works. The description of lo speaks of "amount" and so I would assume that hi (since it is the "dual") just truncates by an amount, but that's not it, it's not the length or size or number of elements that get killed off.
The way I could make sense of it was to just try it out and figure out how it maps to numpy slicing syntax: a.hi(4).lo(2) => a[2:4]

Haha, yeah, maybe the answer is to word it in terms of more common operators:
a.lo(2,3) => a[2:, 3:]
a.hi(8,7) => a[:8, :7]
I added a couple resources links right at the top of ndarray. The goal of this document was to clarify some of this, but I think it's too buried and frankly not good enough. The numpy version was a great resource when I was figuring out numpy. Oh man, I have a lot of cleanup work to do....
I'll see if I can clean up the lo/hi docs and run it by you.

I love this:
a.lo(2,3) => a[2:, 3:]
a.hi(8,7) => a[:8, :7]

Because when I first see lo and hi, I totally have no idea about what is happening.

I wonder “lo” and “hi” are short for what？

Yes, I just came here trying to understand it - and in fact in the beginning I was pestering that hi() was so impractical to use when in fact it is perfect - but the doc is somewhat confusing
This does the dual of array.lo(). Instead of shifting from the top-left, it truncates from the bottom-right of the array, returning a smaller array object.
should be
This does the dual of array.lo(). Instead of shifting from the top-left, it truncates from the bottom-right of the array, returning a smaller array object of (i, j, k) shape.


SAK-39976 Please improve style/sizing of buttons

I've deleted unnecessary rule of simplepagetool.css

Thanks for the contribution


Bump kube-proxy hotfix version

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

@lodrem Thanks for the update. please merge the PR after "AKS Windows VHD Build - PR check-in gate" passes


PR: Fix warning and todo action menu entries

This was broken after PR #7205.

Hello @ccordoba12! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/editor.py:

Line 1538:13: E731 do not assign a lambda expression, use a def
Line 1538:80: E501 line too long (80 > 79 characters)
Line 1565:13: E731 do not assign a lambda expression, use a def


LD_PRELOAD doesn't work with some binaries from toltec

reMarkable: /opt/lib/ LD_PRELOAD=/opt/lib/librm2fb_client.so.1.0.0 grep ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored. Usage: grep [OPTION]... PATTERNS [FILE]... Try 'grep --help' for more information.
reMarkable: /opt/lib/ file which grep /opt/bin/grep: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /opt/lib/ld-linux.so.3, for GNU/Linux 3.2.0, stripped
LD_PRELOAD works fine with the busybox grep:
reMarkable: /opt/lib/ LD_PRELOAD=/opt/lib/librm2fb_client.so.1.0.0 busybox grep BusyBox v1.30.1 (2020-11-04 10:42:32 UTC) multi-call binary. Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]...
reMarkable: /opt/lib/ file /bin/busybox.nosuid /bin/busybox.nosuid: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=e9c75f6d853dde1bbf974fdf11daa3493f4eadde, stripped
I suspect it's a matter of the interpreter. If it's ld-linux-armhf.so.3, it works fine, if it's /opt/lib/ld-linux.so.3 it shows error.

wow, thanks for the investigation!
the good news is that /opt/lib/ld-linux.so.3 is an artifact of Entware (i believe). Any packages relying on that interpreter will not be remarkable specific (or even trying to draw to framebuffer), so while this is a noisy error, it isn't affecting actual behavior (usually)

I'm guessing there is no way to work around this? It's an annoying warning.

I'm guessing there is no way to work around this? It's an annoying warning.

one workaround proposed by @LinusCDE is to clear LD_PRELOAD path before calling out to binaries from entware that are linked against /opt/lib. this will help suppress some warnings but not all of them.

This is a per-application solution though, and not something that rm2fb handles itself.

there is also the question of whether re-linking toltec binaries against the same location (/opt/lib/) will fix things. the main issue is that xochitl is still pointing to /lib. if we can have one client.so for xochitl (and /lib) and one client.so for toltec (and /opt/lib), i think this would resolve things.

That's probably the best idea.

one workaround proposed by @LinusCDE is to clear LD_PRELOAD path before calling out to binaries from entware that are linked against /opt/lib. this will help suppress some warnings but not all of them.

This is a per-application solution though, and not something that rm2fb handles itself.

there is also the question of whether re-linking toltec binaries against the same location (/opt/lib/) will fix things. the main issue is that xochitl is still pointing to /lib. if we can have one client.so for xochitl (and /lib) and one client.so for toltec (and /opt/lib), i think this would resolve things.

That's probably the best idea.


Add new solr collection resource type

Add ability for the operator to create solr collections

Hey Aaron, thanks for reaching out.
So far the operator only really manages solr nodes. Solr has a CollectionsApi to manage collections, so I would imagine that this would just be a wrapper to call that endpoint. What additional features would you want from a Collection CRD?

The ability to backup and restore collections, the ability to split shards when scaling out, the proper management of ensuring shards are spread across availability zones, just to name a few.
Thanks for the awesome operator.

I think that's a good point with availability zones and shard splitting, etc. And it would definitely allow for better horizontal scaling (as mentioned in Phase V Auto Pilot, from you other issue).
I'm currently working on the backup and metrics collector CRDs, but I'll loop back around to this after that. Feel free to take a stab and create a PR though!
I do imagine that this CRD would change what the backup CRD would look like, but we can cross that bridge when we get to it.

One other feature I would like is a CollectionShardDisruptionBudget.  It would work just like a PodDisriuptionBudget but when draining a node it would make sure at most only x replicas are down for any collection shard.

I definitely agree. Would you make a separate PR for that? Cause PodDisruptionBudgets need to be supported as well.

I can take a stab at creating the Collection CRD.

Initial feature CRD for collections setup and tested here https://github.com/bloomberg/solr-operator/pull/17

We can probably close this now. Initial support in place for collections CRD.


Add a wiki: Sonic Retro

Link to origin wiki: Sonic Wikia
Link to destination (independent) wiki: Sonic Retro wiki

oh. It still doesn't have all the same articles.

oh. It still doesn't have all the same articles.

let's not actually

let's not actually


Encountering an undefined reference link error when attempting to use the Google GCS C++ library

We have a need to use Google's GCS C++ client library. We've downloaded the library (version 1.23.0) and all of its dependencies. We've built those libraries. I am attempting to modify one of the sample programs that Google supplies along with their GCS C++ library. Background: we're running on RHEL 7, gcc 7.4.0, GCS C++ 1.23.0 and building using the std=C++11 keyword.
The sample program creates credentials and a client handle. It then uses that handle to exercise various API methods in the GCS C++ library.
The relevant portion of the sample code I have follows:
std::string authBuffer = ""; //Deleted actual key for obvious reasons

// The credentials are successfully created:
auto creds = gcs::oauth2::CreateServiceAccountCredentialsFromJsonContents( authBuffer );

// As is the client handle:
gcs::Client client=gcs::Client(gcs::ClientOptions(*creds));

// This code will build and run without error:
auto writer = client.WriteObject(std::string("temp"), "quickstart.txt");
writer << "Hello world!";
writer.Close();

// However this is the problem line of code:
auto bucketReader = client.ListBucketsForProject( std::string( "my_project" ) );

As stated in the comments above, the bucket reader code fails to link. I encounter the following link error:
In function `google::cloud::v1::StatusOr<google::cloud::storage::v1::BucketMetadata>::StatusOr(google::cloud::v1::Status)': <first part of path snipped>/gc-cpp/google-cloud-cpp-1.23.0/install6/include/google/cloud/status_or.h:118: undefined reference to `google::cloud::v1::internal::ThrowInvalidArgument(char const*)'

sample.o: In function `_ZNK4absl14lts_2020_09_2316variant_internal17PerformVisitationIZN6google5cloud2v18internal11StreamRangeINS4_7storage2v114BucketMetadataEE4NextEvE13UnpackVariantJNS0_7variantIJNS5_6StatusESA_EEEEE3RunIJLm0EEJLm18446744073709551615EEEEvSt17integral_constantIbLb1EENS0_16integer_sequenceImJXT_EEEEDpSI_ImXT0_EE':

<first part of path snipped>/abseil-cpp/abseil-cpp-20200923.3/install6/include/absl/types/internal/variant.h:942: undefined reference to `absl::lts_2020_09_23::variant_internal::ThrowBadVariantAccess()'

All of which is a bunch of gooblty-gook upon first glance. I mean we all know what an undefined reference is, but why is this happening within the GCS C++ library code? It's almost as if Google is utilizing some type of macro build magic in order to tell me that I have malformed code of some sort. If that's the case I'm not certain where I am going awry.
Interestingly, if I comment the bucket reader statement out, then the program will build and run without incident. I can see the new quickstart.txt file appear in the bucket within the project in my GCS account via a web browser.  Furthermore, if I add in code to read the objects in a bucket (object reader) then I encounter the same link error but instead of the text stating "BucketMetadata" it states "ObjectMetadata".  And why does commenting out this code avoid the link error?  Is the internal ThrowInvalidArgument method not referenced by the code that I've stated does build and run successfully (ergo the write code)?
So what gives with this bucket reader/object reader business? Anyone have an idea where I am off base?  Thanks!

Thank you for filing a detailed bug report, and sorry you are running into trouble.
Can you share how are you compiling and linking your program?  It almost seems that some libraries are missing, for example:
<first part of path snipped>/abseil-cpp/abseil-cpp-20200923.3/install6/include/absl/types/internal/variant.h:942: undefined reference to `absl::lts_2020_09_23::variant_internal::ThrowBadVariantAccess()

That makes me believe that an Abseil library is missing from the link line, probably -labsl_bad_variant_access.  And this:
In function `google::cloud::v1::StatusOr<google::cloud::storage::v1::BucketMetadata>::StatusOr(google::cloud::v1::Status)': <first part of path snipped>/gc-cpp/google-cloud-cpp-1.23.0/install6/include/google/cloud/status_or.h:118: undefined reference to `google::cloud::v1::internal::ThrowInvalidArgument(char const*)'

Makes me believe that -lgoogle_cloud_cpp_common is missing.
Now, if you are compiling with CMake and using the exported targets (currently google-cloud-cpp::storage, but I think it was storage_client as-of 1.23.0) then the targets should define all their dependencies and this is a bug in our (CMake) code.  Same thing if you are using something like pkg-config to find the necessary libraries.
If you are writing your link lines manually, then I am afraid you need to discover these the hard way.

And why does commenting out this code avoid the link error? Is the internal ThrowInvalidArgument method not referenced by the code that I've stated does build and run successfully (ergo the write code)?

Right.  Listing the buckets hits a different path, links a different .o from the .a and you get different dependencies.

So what gives with this bucket reader/object reader business? Anyone have an idea where I am off base?

Hopefully I started giving an answer above. If that does not solve your problem please send us more details, including how you are compiling your program.  An MVCE would help, but we understand that you may be working with confidential or proprietary information, and thus it is not required.

Hi Carlos-
Thank you for the detailed feedback, I appreciate that.  Yes, I am composing the build script manually with this project.  Prior to reading your reply I searched the symbol table for those names and added the -l for the two libraries that you cited, respectively, to the script.  Glad to receive verification from you that I was on the right path.  Too much reliance on automation can make one rusty with this stuff and I suppose that this was an example of that phenomenon.  I digress.
We are using the GCS C++ client library to support customer need in our products.  Therefore this is an important endeavor for us.  For that reason I may have additional questions in the future.  I'll try to make them more substantive (though the instructions did say to ask anything - hah!), but  for my information, is this the best place to pose such questions?
As an example, one question that comes to mind is in regard to the string parameters that are passed to the various GCS C++ library API methods.  Is there a particular encoding (UTF-8, ASCII, etc.) that the content of these strings should be in?  My guess was UTF-8, but not certain.
Thank you again for  your time and expertise Carlos, I appreciate it!

but for my information, is this the best place to pose such questions?

Yes.  We try to monitor other channels (GitHub issues, the Google Cloud Platform community slack, stackoverflow questions tagged for google-cloud-cpp and/or the several products), but this is the most reliable way to get our attention.  If your questions need to be confidential then you should get in touch with your sales rep, they can find us inside Google (or maybe you can guess my email address).

Is there a particular encoding (UTF-8, ASCII, etc.) that the content of these strings should be in?

Generally UTF-8. Names of buckets, objects, metadata, etc. are expected to be UTF-8 encoded.  We will URL encode them as-needed when sending them via HTTP (the object names for example go in the URL).
Data (the contents of a GCS object) is generally treated as binary blobs.

Ok Carlos, thank you for the additional feedback.  I'll be in touch if I have any further questions.


Build error when using ember-cli-page-object v2.0.0-beta.4

The version of ember-cli-page-object required in package.json is ~v2.0.0-beta.3, which includes the newly-released v2.0.0-beta.4. However, that version converts ember-cli-page-object to a V2 addon, and we now see this error when trying to build our app:
ember-classy-page-object needs to depend on ember-auto-import in order to use ember-cli-page-object

Our workaround is to force ember-cli-page-object to v2.0.0-beta.3 using yarn resolutions. But it seems like this addon should probably move ember-auto-import to dependencies instead of devDependencies as recommended in the ember-auto-import documentation.
I'll open a PR but I'm not sure if this is a breaking change for consuming apps/addons, so some additional thought might be required there.

Looks like #38 should fix this actually.

closing this as #38 has been merged and released as v0.8.0-beta.2


tfcompile of a fitted keras model

Hello,
I want to define a simple model in keras, fit it, then tfcompile it.
import tensorflow as tf
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense
model = Sequential()
model.add(Dense(input_dim=X.shape[1], units=hidden_dim))
model.add(Dense(units=Y.shape[1], activation='linear'))
model.compile(loss='mse', optimizer='adam')
model.fit(X, Y, batch_size=100)

Can you please give an example of how to tfcopile this fitted model, or at least give some steps (for example, should the graph be frozen before using tfcompile?)

OK, I figured out that I needed to freeze the Keras graph before calling the tfcompile
So I do this:
session = tf.keras.backend.get_session()
output_node_names = [node.op.name for node in model.outputs]
graphdef = tf.graph_util.convert_variables_to_constants(session, session.graph_def, output_node_names)

I need indeed to transform variables to constants> Now how can I get a graph from the graphdef, and how can I get the input and output of that graph. Here is what I did, but does not seem to work
with tf.Graph().as_default() as graph:
    tf.import_graph_def(graphdef)
    inp = graph.get_tensor_by_name(graph.get_operations()[0].name+':0')
    out = graph.get_tensor_by_name(graph.get_operations()[-1].name+':0')

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!


Instruct GCode parse to fill

Hi,
Great convertor it's so close to perfect for what I need. Wondering if there is a setting that I can choose to rather than outline a shape in SVG > GCode but to infill/pocket.
I'm hoping so and I just haven't configured it properly. Please can you review and advise if this is possible with SvgToGcode Repositiory.
Images attached, outline is from this repo - filled in tool path the other convertor which I can't use.
SVG is the source.

Other Convertor

This repo convertor

Thank you so much
Chris

As is the library only converts SVG paths to gcode paths. However, after converting the SVG paths to geometry, you could make a loop which copies and shrinks your objects before compiling it to gcode.

Thank you replying.
Not sure I know how to do that. Would this be something you could help me with?

Hi, filling stroke width etc can be achieved by rendering the svg to an image file (jpeg, png ...) and subsequently convert the image to gcode. Repeat this (in a loop) if you want to burn deep (or even through) material.


[Card] Card onExpandChange is called twice when clicking on CardHeader expand icon

Problem description
Card.onExpandChange is called twice when clicking on the expand icon on the CardHeader.
Link to minimal working code that reproduces the issue
https://www.webpackbin.com/bins/-KoneVjXo4E69DDO7X--
import React from 'react';
import { Card, CardHeader } from 'material-ui';

const HelloWorld = () => (
  <Card onExpandChange={() => console.log('onExpandChange Called!')}>
    <CardHeader
      actAsExpander
      showExpandableButton
      />
  </Card>
);

export default HelloWorld;

When clicking on the expandIcon on the CardHeader, you will see the 'onExpandChange Called!' console log appear twice.
Versions

Link to old issue that was closed even though the issue still exists: #2081
P.S. Someone did mention a potential solution in the linked issue above:

tbescherer commented on Aug 25, 2016 • edited

It looks to me like this issue still exists. See https://github.com/callemall/material-ui/blob/v0.15.4/src/Card/Card.js#L106-L114
In the event that showExpandableButton and and actAsExpander are true, the child (CardHeader) will receive handleExpanding as the prop touchTapEvent AND CardExpandable will receive handleExpanding as the prop onExpandChange. Both of these will be triggered by a click on the CardExpandable component. I think this issue could be solved by adding event.stopPropagation() to the handleExpanding function.

We have been porting the component on the v1-beta branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.
Still, we will accept PR fixes until v1-beta takes over the master branch.


Add a rule for creating single-file Yosys synthesis steps

Looks like there's a lint failure/

LGTM! Thanks.


Add support for types whose underlying type is supported via detection

In much later version, add support for any type that can be detected as having an underlying type that is supported.
This is sort of already done; we still need to test for those types whose underlying type is only supported via it implementing a marshaler/unmarshaler interface, but if they do, we need to remove references from the docs that state the opposite.

isn't this already done? when we call Kind() for type detection, it SHOULD pick up everything whose underlying type is that.

it's kind of done, see above note glub in the description

406b955 has an incorrect msg stating it closes #61; actually, it closes this one


Show errors in status conditions

If the operator encounters an error when calling the Aiven API (for instance if there are invalid values in the resource being updated), those errors are logged, but nothing is reflected on the actual resource.
Since the resource is the interface for the developer, it would be expected that any errors are shown there in some way.
It could for instance be by updating the Conditions fields with proper details for the current status and last known state/message.

Relevant part of the guide on API conventions from SIG architecture:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties

It looks like this was solved in v0.16.0, so I'm closing this.


Unable to decrypt data that wasn't encrypted with rage-wasm

I set up a browser test doing a simple decryption as described in this project's javascript unit test. When I tried to decrypt data that was encrypted at the command line with age, I get a decryption error. I verified that I was able to decrypt the same data at the command line with both age and rage.
My test case was essentially:
age-keygen >key.txt
age -e -a -i key.txt -o encrypted.txt

const secret_key = '<pasted from key.txt>';
const encrypted_data = '<pasted from encrypted.txt>';
console.log(decode(await decrypt_with_x25519(secret_key, encode(encrypted_data))));

Where encode and decode are copied from ./tests/all.test.js.
If I use the same key in key.txt to both encrypt and then decrypt with rage-wasm, it works, but if it's encrypted at the command line, it desn't seem to be possible to decrypt it with rage-wasm.
In case it matters, I'm running my test in a vanilla javascript app using vite to build. I can provide a full reproduction, if needed.
Edit: I verified that keys generated with rage-wasm and data encrypted with that key can be decrypted at the command line with both age and rage.

Closing, as I think this was due to not encoding the data before trying to decrypt it.


Bug fix: only PUT request when change on share & publish modal

Loom video: https://www.loom.com/share/9c9fa0d6014f4b04b639b885f829f2ae

Looks good to me. Minor UX comment.


Minimum Spanning Tree (MST) algorithms added

Based on #177 issue and #178 pull request, I implemented 'Prim’s MST', 'Kruskal’s MST' and 'Salin’s MST' again (follow all coding guidelines) in reorganise. @faheel Be mindful, please.

[x] Read the contribution guidelines
[ ] Added unit tests (or unit tests have already been added)
[x] Updated the Contents

@hkhojasteh Thanks for your submission, Hadi. There are several failing checks. Are you planning on addressing them?

@alxmjo Sure, I was waiting for your review. I will correct this soon.

@alxmjo The codes are almost correct and it takes a long time for this request. Is there any solution to merge this?

@hkhojasteh Definitely. Just make sure the code meets current standards, namely that source code goes in
include and tests go in test. We can do a thorough review once those changes are committed and the Travis tests pass.


window.addEventListener not running for message event

I have an event listener listening to a message event that emits an event in an angular 9 application. This event listener is not being triggered when testing this component with testcafe. As a result I am unable to actually test this functionality. Here is the code where this event listener is implemented:
`  ngOnInit(): void {
const component = this
window.addEventListener(
  'message',
  function (event: any) {
    const response = JSON.parse(event.data)
    component.ccEntered.emit(response)
  },
  false
)

}`
What is your Test Scenario?
I would like to test submitting values in a form
What is the Current behavior?
Unable to click the submit button because it is still disabled in my application due to the fact that this event listener has not been triggered.
Your Environment details:

testcafe version:                   1.9.4
node.js version:                    14.15.1
command-line arguments:  yarn testcafe -c 1 chrome -t 'Can I request a quote product? | 19979' --selector-timeout 30000 --assertion-timeout 30000 --page-load-timeout 30000 --skip-js-errors --debug-on-fail
browser name and version: chrome
platform and version:          windows
other:

I apologize for the delayed response. I cannot reproduce the issue with my own examples. Could you please provide a sample page and tests that can be used to reproduce the problem?

@kingeric027 Are you certain the listener is not being hit?
I'm seeing a similar issue, but it's around references to event.data. It appears that TC wraps your messages in it's own, so my own data object moves from event.data down to event.data.message. I would imagine TC wraps and unwraps all messages and this may be a defect in the unwrapping as the data structure should be the same for our code to work.
Were you perhaps getting any error on JSON.parse(event.data).
Aside, I'd love to know where this MessageEvent handling is documented / coded so I could figure out whether it's a defect.

Please send us a sample page and tests to reproduce the problem. We'll try to figure out what's going on.

Please send us a sample page and tests to reproduce the problem. We'll try to figure out what's going on.

Thanks. I was slow to respond as it took some time and help to produce a sample.  I'll raise a new ticket today and mention you and this ticket in the description.


typo: Double word "from"

Hi, @nschonni the specs files are generated from our source code so we don't accept fixes to them as they would be overwritten.
However, I checked the typos you pointed out and found that some are still present even in the newer versions, I will be fixing the typos from our side so the generated specs do not have these typos. Thanks!


Move DATA_SOURCE parameter to stream-producer

See https://github.com/Senzing/community-roadmap/issues/63

No changes to implementation because it may not applicable to the use-cases of the resolver by the customer.
Since there is a g2_engine.purgeRepository() after every call, it's possible that on every invocation a different data source or data sources could be introduced.  There is no window of opportunity for code to configure Senzing for additional data sources.  The underlying database is a SQLite database that is copied from a template.
https://github.com/Senzing/resolver/blob/e3adbacb336bd7260e153ce9f22f7ef3eb5e78df/resolver.py#L706
The code currently dynamically configures Senzing to accept any data source given during the HTTP POST request.
Changing this behavior may disable the usefulness of the resolver.


AttributeError: partially initialized module 'deepcut' has no attribute 'tokenize'

Hi,
First of all, Thanks for a really useful library.
I'm trying to use Deepcut library and I'm facing this error:
AttributeError: partially initialized module 'deepcut' has no attribute 'tokenize' (most likely due to a circular import)

I've installed deepcut with pip, like pip install deepcut, and then written a very simple python code
import deepcut
print(deepcut.tokenize('ตัดคำได้ดีมาก'))

And I got that error message.
My environment:
Python: 3.10.12, 3.7.17 (tried both)
pip: 23.2.1
OS: MacOS
Chip: M2

[SOLVED] This was my fault, I named the file with the same as an imported module  (tokenize.py). So, I solved it by changing the file name to something else.

Nice, glad you found the solution, and thanks for the comments!


clean build warnings

Clean up the warnings during the build. E2E build and screenshot are attached

There are a lot of suppressions here. Can we instead actually fix the things that are being complained about instead of ignoring them? We should only be ignoring something if we absolutely cannot fix it.

I'm honestly surprised that there's apparently only about 20 "unused" warnings in here, and really nothing else.

There are a lot of suppressions here. Can we instead actually fix the things that are being complained about instead of ignoring them? We should only be ignoring something if we absolutely cannot fix it.

There are a lot of suppressions here. Can we instead actually fix the things that are being complained about instead of ignoring them? We should only be ignoring something if we absolutely cannot fix it.

I have reduced the number of suppressions by removing unnecessary code after speaking with @nwithan8. We still need a few suppression, for example, the @SuppressWarnings("deprecation") is needed since we are still supporting Java 8.


FR: Submit to community for easier install

This would be convenient

I'm organizing the tasks from this link
Preparing your repository
Publish an initial version of your plugin.
Make sure you have a README.md file in the root of your repo, clearly describing the plugins purpose and providing clear usage instructions.
Add a license to your repository. You can use Choose a License if you don't know which one to pick.
Check that your manifest.json is at the root of your repo.

I'm organizing the tasks from this link as some of them should be done by the owner. From what I can see the only thing lacking is the license.

[ ] Add a license to your repository. You can use Choose a License if you don't know which one to pick.
(GH has also a helping template that helps you choose)

After adding the license, @muness could fork this repo? I'll set it up so that you can just do the final PR.

Thanks @rzfzr ! I added a license to the plugin.

@rzfzr fork of https://github.com/obsidianmd/obsidian-releases#community-plugins created at https://github.com/muness/obsidian-releases

Submitted a PR to obsidian-releases: https://github.com/obsidianmd/obsidian-releases/pull/965 .
Build broke when 0.14.8 shipped (npm install was failing) fixing that now...

Github Actions Workflow continues to stall during npm install https://github.com/muness/obsidian-ics/runs/6536940288?check_suite_focus=true . I'll take a look later to see if it's something on my end or an infra issue in GH Actions.

Great stuff! I'll do my part later this week

Build fixed. I'll test the plugin zip tomorrow one more time given the dependency changes then promote the PR from draft once I confirm 0.9.12 works correctly.

Tested the plugin and fixed https://github.com/obsidianmd/obsidian-releases/pull/965/. PR is now ready for review.

In my last attempt I got feedback  to address:

[ ] remove the console.log
[ ] You should add some error handling for the request() function
[ ] while there's no rule against it, I suggest removing the default hotkey and maybe mentioning a recommended hotkey in your README.
[ ] you should use window.moment instead to avoid including your own instance of Moment.js. Obsidian also has the window.moment instance localized based on the user settings, so it's best to avoid this.
[ ] Isn't dates an array? You shouldn't use for ... in here. That is for iterating over objects. You should be using for ... of

New feedback:

[ ] Avoid including sentences like "This is a plugin for Obsidian" in your description.

[ ] re node-ical: This library is only available from a nodeJS runtime, which means that this will throw errors on Mobile (that's a problem since you have isDesktopOnly marked as false in your manifest.json file, or am I missing something?

[ ] You should use a editor callback here, that way the command will only be available if there is a editor available: https://docs.obsidian.md/Plugins/User+interface/Commands#Editor+commands

[ ] Would be nicer to use import {moment} from "obsidian"; here.

[ ] Only use headings under settings if you have more than one section.

[ ] Use sentence case in UI


Reduction of the streamed frame size.

The depth data is currently not being streamed in an efficient manner.
If its size was reduced, the live view would have a better framerate and the frame download.after recording would be quicker.

The newest commit reduces the streamed frame size to 60% of what it was before. This increases the frame rate of the live view window and speeds up the frame download after recording.


Write a TypeScript program to find sum of digits of a number by recursion

Description
Write a TypeScript program to find sum of digits of a number by recursion
Suppose we have a number n and we want to find the sum of its digits. For example, if n = 123, then the sum of its digits is 1 + 2 + 3 = 6.
Recursion is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem. In this case, we can use recursion to find the sum of digits of a number.
Input  : 123
Output : 6

How to contribute

Save the solution in FindSumOfDigitsOfANumberByRecursion.ts file
Add FindSumOfDigitsOfANumberByRecursion.ts file in find-sum-of-digits-of-a-number-by-recursion folder

!assign


Repository - ReadMe: root

ReadMe file at the root was not modified and had the initial Fork information.
Per Instructions:

ReadMe.md
> Use the provided file as a Template Guide for how it should be structured and the information to be conveyed.
> Must include: Java Run-Time Version

Added Java Run-Time Version.


grafana add new data sorce error

my grafana version v10.4.2
IoTDB version 1.2.2

but i use postman ,that`s ok

how to solve the problem?
thanks anyway

Hi, this is your first issue in IoTDB project. Thanks for your report. Welcome to join the community!
I am delighted to be able to join the community

Meet the same problem.
IoTDB 1.3.2
Grafana 11.1.0


Feature Request: Add nixpkgs-review meta pr-id to review metadata

Thanks for your nice project. I am relatively new to NixOS and i am trying to contribute to nixpkgs.
Right now i am using your project to test newly added package pull requests (pname: init at x.x.x). Most of these pr do not have a good description and extracting the source code url from the nix file does often need multiple copy and past commands.
I would like to have a meta command to extract the homepage and source link (and other meta data) and make it easily clickable in the terminal before executing the build or checking out the branch of the pull request manually. This may also be a security check before executing a build.
Example
Random example pr: 202355
Command:

nixpkgs-review meta 202355

Output:
pname:                 d2
version:                0.0.13
meta.description:  A modern diagram scripting language that turns text to diagrams.
meta.homepage:  https://d2lang.com
source:                 https://github.com/terrastruct/d2
Related Discussion on nixos.org

You can easily create shell commands for this
nix-homepage(){
  url=$(nix-instantiate --eval --json -A "$1.src.meta.homepage or $1.meta.homepage" | jq -r .)
  xdg-open -- "$url"
}

You can easily create shell commands for this
nix-homepage(){
  url=$(nix-instantiate --eval --json -A "$1.src.meta.homepage or $1.meta.homepage" | jq -r .)
  xdg-open -- "$url"
}

I tried this on a checked out commit and did get an error saying:
pkgs/applications/science/robotics/plotjuggler/default.nix
error: cannot evaluate a function that has an argument without a value ('lib')

Also i have to check out the commit and run git status to get the file name. So this is not as easy as running nixpkgs-review meta prid.
The aim of the Feature request is to discuss if this would be a helpful feature for nixpkgs-review or not?
And if i should invest time to implement it and create a pr.

pkgs/applications/science/robotics/plotjuggler/default.nix

that path does not exist in nixpkgs.
I don't think we need this.


Can you reference a private key on disk for the encrypt.key property

There is an example like such in the documentation:
$ spring encrypt mysecret --key @${HOME}/.ssh/id_rsa.pub

Can you do the same in the application yml file for the config server like:
encrypt.key<EMAIL_ADDRESS>

Did you try it?  Did you find it is not working?

Yes I tried it and it did not work.
The string used<EMAIL_ADDRESS>was treated as a normal string and used as
the salt for the encryptor that was created.
On Wed, May 24, 2017 at 9:17 AM, Ryan Baxter<EMAIL_ADDRESS>wrote:

Did you try it? Did you find it is not working?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-config/issues/701#issuecomment-303737831,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADVJnZ0pIa6HWsQ73FelcixE7jaEBgbSks5r9DwWgaJpZM4Nj691
.

encrypt.key: ${HOME}/.ssh/id_rsa.pub should work. Env vars are available to expand.

I think the above still gets read as a string. It would be great to get the get from a file instead of a plain string.

Is it still a problem with Finchley.RELEASE?

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


binary tree plot

When the cell dies in G1 it shows a red line and censors the rest of the defending of that cell.
When dies in G2, shows a blue line and cuts the rest of the descendings.
I couldn't use the ax[i]... for Phylo.draw, so the function in figureCommon plots the tree, saves it to the cartoon directory, and like other cartoons, it overlays the figure on figure0.svg
@shak360 let me know if you have a better suggestion instead of this setup.
The function that plots and saves the figure is now in figure2.py.
it looks like this:

Codecov Report

Merging #426 into master will decrease coverage by 0.49%.
The diff coverage is 37.50%.

@@            Coverage Diff             @@
##           master     #426      +/-   ##
==========================================
- Coverage   88.79%   88.30%   -0.50%
==========================================
  Files          22       22
  Lines        1705     1718      +13
==========================================
+ Hits         1514     1517       +3
- Misses        191      201      +10

Flag
Coverage Δ

#unittests
88.30% <37.50%> (-0.50%)
:arrow_down:

Impacted Files
Coverage Δ

lineage/LineageInputOutput.py
80.18% <37.50%> (-7.58%)
: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 95d9d80...a4efd32. Read the comment docs.

Also thanks for linting as much as you can @Farnazmdi . That helps a lot.

When the cell dies in G1 it shows a red line and censors the rest of the defending of that cell.
When dies in G2, shows a blue line and cuts the rest of the descendings.
I couldn't use the ax[i]... for Phylo.draw, so the function in figureCommon plots the tree, saves it to the cartoon directory, and like other cartoons, it overlays the figure on figure0.svg
@shak360 let me know if you have a better suggestion instead of this setup.
The function that plots and saves the figure is now in figure2.py.
it looks like this:

Ah I just saw this comment, my bad. Let me think about this for a little bit. I think for now it works, but ideally, let's try to make it work with the axes from matplotlib. Do you mind pasting the link to the documentation for this code from Phylo?

Do you mind pasting the link to the documentation for this code from Phylo?

I can paste the source code. I looked at that since all the documentation were reading from an XML file.

Do you mind pasting the link to the documentation for this code from Phylo?

I can paste the source code. I looked at that since all the documentation were reading from an XML file.

Oh ok, you can just link the GitHub repo or something or a link that takes you to the source code. Rerequest a review from me @Farnazmdi  if you're OK with the changes.

@shak360 could you take a look at the comment thread regarding cell.time? I mean, what does cell.time return? tuple or something?

@shak360 could you take a look at the comment thread regarding cell.time? I mean, what does cell.time return? tuple or something?

Yeah I added some comments to your questions above. Let me know if that makes sense or if you need some more clarification.

Should be ready to merge.


Make AuthToken optional as a command-line argument

Giving the AuthToken as a command-line argument is not very secure, because it's visible in top, w and history. You could make the AuthToken argument optional, and fallback to a hardcoded value inside the scipt. So someone could put their AuthToken in the script, and call the script with
$ docker-hook -c <command>

I can make a PR if you're ok with it

How about an env variable instead? Happy to merge a PR.


Python Intellisense Issues?

Environment data

Language Server version: v2023.4.40
OS and version: Windows 11
Python version (& distribution if applicable, e.g. Anaconda): Python 3.11.3

Code Snippet
Pylance is telling me I have errors when the code is working.

client here is an optional argument, but Pylance thinks it is required.

Can you provide us some logs as described in the troubleshooting guide?

I'm running into the same issue w/ langchain on mac OS

Closing old issue. If this is still a problem, please reopen with the information requested. thanks


Error: pkg_resources._vendor.packaging.requirements.InvalidRequirement

Hi,
I installed the latest development branch with
pip install git+https://github.com/garnaat/kappa.git

and then when I run kappa, I get an error:
console> kappa
Traceback (most recent call last):
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/bin/kappa", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2912, in <module>
    @_call_aside
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2898, in _call_aside
    f(*args, **kwargs)
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2925, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 642, in _build_master
    ws.require(__requires__)
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 943, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 838, in resolve
    new_requirements = dist.requires(req.extras)[::-1]
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2462, in requires
    dm = self._dep_map
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2686, in _dep_map
    self.__dep_map = self._compute_dependencies()
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2696, in _compute_dependencies
    current_req = packaging.requirements.Requirement(req)
  File "/Users/rabraham/Documents/dev/python/virtual_envs/tracker_env/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 94, in __init__
    requirement_string[e.loc:e.loc + 8]))
pkg_resources._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'and plat'"

When I install kappa with pip install kappa it works but I am trying to get the latest version which reflects the Github docs.

Development should work fine now, I've just tested this out in a local development setup:
[kappa] jose@mactaku:~/src/opensource/kappa git:master $ pip install git+https://github.com/garnaat/kappa.git
Collecting git+https://github.com/garnaat/kappa.git
  Cloning https://github.com/garnaat/kappa.git to /var/folders/fb/tdb_c9rj1v9982l6qrd4whrw0000gn/T/pip-y3I0E1-build
Requirement already satisfied (use --upgrade to upgrade): PyYAML>=3.11 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): boto3>=1.2.3 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): click>=5.1 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): placebo>=0.8.1 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): jmespath<1.0.0,>=0.7.1 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from boto3>=1.2.3->kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): futures<4.0.0,>=2.2.0; python_version == "2.6" or python_version == "2.7" in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from boto3>=1.2.3->kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): botocore<1.5.0,>=1.4.1 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from boto3>=1.2.3->kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.10 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from botocore<1.5.0,>=1.4.1->boto3>=1.2.3->kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil<3.0.0,>=2.1 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from botocore<1.5.0,>=1.4.1->boto3>=1.2.3->kappa==0.5.1)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /Users/jose/.virtualenvs/kappa/lib/python2.7/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.5.0,>=1.4.1->boto3>=1.2.3->kappa==0.5.1)
Installing collected packages: kappa
  Running setup.py install for kappa ... done
Successfully installed kappa-0.5.1
[kappa] jose@mactaku:~/src/opensource/kappa git:master $ kappa
Usage: kappa [OPTIONS] COMMAND [ARGS]...

Options:
  --config FILENAME        Name of config file (default is kappa.yml)
  --debug / --no-debug     Turn on debugging output
  --env TEXT               Specify which environment to work with (default
                           dev)
  --record-path DIRECTORY  Uses placebo to record AWS responses to this path
  --help                   Show this message and exit.

Commands:
  delete         Delete the Lambda function and related...
  deploy         Deploy the Lambda function and any policies...
  event_sources  List, enable, and disable event sources...
  invoke         Invoke the command synchronously
  status         Print a status of this Lambda function
  tail           Show the last 10 lines of the log file
  test           Test the command synchronously


NDRS-450: accept public key as arg to client query for now

While testing this I found an issue I'd overlooked in the hex-decoding of PublicKey and Signature types whereby a panic would happen if an input of length < 2 was given.  I added two tests for these cases and fixed the issue.

bors r+


MongoDB.Driver 3.0 changes MongoClientBase visibility to Internal

I was able to log properly when I tried using 2.30, but when I updated the package to 3.0 it became unavailable.
When printing logs it returns that MongoClientBase could not be found.
I checked the PR for MongoDB.Driver and found that it has been changed to internal.
https://github.com/mongodb/mongo-csharp-driver/pull/1461#discussion_r1785051354

I just faced with the same issue, moreover they removed the MongoClientBase and swithed to IMongoClient interface.
mongodb/mongo-csharp-driver/commit/dacd83ce

Hello I have the same issue
My error is Could not load type 'MongoDB.Driver.MongoClientBase' from assembly 'MongoDB.Driver, Version=<IP_ADDRESS>

Just released v7.0 that uses MongoDB 3.0.


Remove unneeded steps_per_epoch

ImageDataGenerator.flow() returns an instance of Sequence for which steps_per_epoch is determined automatically.

Made possible after PR https://github.com/fchollet/keras/pull/8509

Seems Keras 2.1.1 complains about the required steps_per_epoch argument in the cifar10_cnn example:
model.fit_generator(datagen.flow(x_train, y_train,
                                 batch_size=32),
                    epochs=100,
                    validation_data=(x_test, y_test))

Fails:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-81e373fed2f8> in <module>()
     16                                  batch_size=32),
     17                     epochs=100,
---> 18                     validation_data=(x_test, y_test))

~/.local/lib/python3.5/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
     85                 warnings.warn('Update your `' + object_name +
     86                               '` call to the Keras 2 API: ' + signature, stacklevel=2)
---> 87             return func(*args, **kwargs)
     88         wrapper._original_function = func
     89         return wrapper

TypeError: fit_generator() missing 1 required positional argument: 'steps_per_epoch'

PR in the second comment is not in 2.1.1

I've had the problem exactly like @tundo91


Make minimum HA version less that latest

HA core version
2024.4.4
Intergration version
0.3.23
Device type and model
n/a
Used App
n/a
The description of problem
A recent commit bumped the minimum required HA version to 2024.5 while correcting the HACS filename (mieda -> midea). 2024.5 is latest as of this writing. I did not see anything in the commit that indicated why this was done, and nothing jumped out as actually requiring 2024.5 per se.
Could we restore original minimum version of 2022.5? Or least something less recent than latest where some users are reporting issues with. Maybe 2023.1 since it is the required version in the README?
The logs
n/a

I think there are a few deprecations on older code.
Anyway, if we are moving to integrate into core, it will auto-solve itself ;-)

yes, thanks all , we may need time to fix it and continue improve it.

@wuwentao Thanks! Would you mind making a new release so users in older HA versions can download the add-on via HACS?

@wuwentao Thanks! Would you mind making a new release so users in older HA versions can download the add-on via HACS?

yes, we also did more code changes, will check and confirm the detail later, may be these days, sorry for the delay.

@holocronweaver after confirm with rokam, i have create a v0.4.0 release, please help to check and confirm. thanks!

@wuwentao Works, thank you!


Branch 134471468

Jenkins, test this please

@gunan fyi for 0.11

Hmm, somehow missing the change we wanted for the cherrypick. Abandoning.


Add/modify content types relating to NEST

@apdavison do you understand why all checks fail for this PR? I can't see an error in your code.Is there a bug in the pipeline?

The error message was ```
./generator/generator/OpenMINDS_Base.py:5:8: E999 SyntaxError: unexpected EOF while parsing

@skoehnen FYI (could you have a look at the OpenMINDS_Base.py, please?)

Was an old version of the file, I removed it for now.
Checks are now running.


Support for armor and parry states

Armored moves:

Katalina 5U
Katalina 2S+U
Ladiva 6S+U
Lowain S+T
Nier 6S+M/H/U
Siegfried 4S+U
Soriz 66H
Soriz 5U
Soriz 5U 6X
Soriz 5S+U
Vaseraga charged normals
Vaseraga 5U
Vaseraga 6S+M/H/U
Vaseraga 2S and follow-ups
Zeta 4S
Zooey 66H

Parry moves:

Anre 5U
Anre 2S
Belial 5U
Belial 2S+U
Charlotta 5U
Lowain 6S
Narmaya 6S+M/H/U during Kagura Stance
Nier S+T+U
Seox 6S
Siegfried 2S > M
Yuel 5U

Added in version 1.3.0


gatecat FPGA

Second FPGA repo Matt wanted migrated.
Did the basic work, but this one's even worse than the s4ga--no testing present at all, not sure how to handle or if we just include as-is (has a lot of direct PDK inclusions)
https://github.com/psychogenic/tt03p5-gatecat-fpga

This one is failing STA/has setup violations.

STA could maybe be fixed by just reducing the clock period in the config.tcl.
https://github.com/gatecat/tt02-fpga-respin/blob/main/src/config.tcl
the original clock period is huge

Ok, goes green @ 20MHz.
Still no actual tests in there, so dunno if I messed something up. but GDS is good, it's green on a 1x2 tile.
https://github.com/psychogenic/tt03p5-gatecat-fpga/actions


Warning 'No subsegment to end' written to logs when X-Ray SDK is disabled.

When running locally, I don't want X-Ray to be enabled. Out of the box, the sam local start-lambda logs warnings about the X-Ray SDK, but I'm trying to disable the SDK entirely.
I'm disabling the SDK by checking the environment variable AWS_SAM_LOCAL. If it's present and it's value is 'true', then the global SDK config is disabled. Then when I patch the desired libraries, nothing happens and there are no [INFO] logs. That's good.
from aws_xray_sdk import global_sdk_config as global_xray_sdk_config
from aws_xray_sdk.core import patch, xray_recorder

if environ.get('AWS_SAM_LOCAL', 'false') == 'true':
    global_xray_sdk_config.set_sdk_enabled(False)

patch(['boto3', 'requests'])

However, I have a function that adds a subsegment, and this is emitting logs even with the X-Ray SDK disabled.
def add_xray_subsegment(name: str, annotations: dict, e: Exception = None) -> None:
    with xray_recorder.capture(name) as subsegment:
        a = {k: v for k, v in annotations.items() if v is not None}
        for k, v in a.items():
            subsegment.put_annotation(k, v)
        if e:
            limit = xray_recorder._max_trace_back
            stack = traceback.extract_stack(limit=limit)
            subsegment.add_exception(e, stack)

[WARNING]	{date}	{request-id}	No subsegment to end.

While the function still works locally, it's causing delay because people don't expect to see these warnings in the logs and are wasting their time investigating.
I'm guessing this isn't expected behaviour with the SDK disabled; so is this a bug, or is there some other configuration that I can add to remove the warnings?
Thanks.

Hi @dgard1981
This is definitely not the expected behavior.
xray_recorder.capture internally calls begin_segment and end_segment, and both methods have a check of SDK enabled status (here and here).
The behavior you described tells that the check is working fine for begin_subsegment but not for end_subsegment and that's why the warning message.
In your add_xray_subsegment function, can you try and log the subsegment type? Ideally it should be DummySubsegment. Also, try logging the global_sdk_config.sdk_enabled() value to check if it's still False within the function.

Hi @srprash,
Thanks for your reply. As requested I have added logging for the subsegment type and sdk_enabled() method as below.
def add_xray_subsegment(name: str, annotations: dict, e: Exception = None) -> None:
    with xray_recorder.capture(name) as subsegment:
        a = {k: v for k, v in annotations.items() if v is not None}
        for k, v in a.items():
            subsegment.put_annotation(k, v)
        if e:
            limit = xray_recorder._max_trace_back
            stack = traceback.extract_stack(limit=limit)
            subsegment.add_exception(e, stack)
        print(f'Subsegment type: {type(subsegment)}')
        print(f'SDK enabled: {global_xray_sdk_config.sdk_enabled()}')

The output is I believe as expected, but the warning about no subsegment to end is still output.

Subsegment type: <class 'aws_xray_sdk.core.models.dummy_entities.DummySubsegment'>
SDK enabled: False

Thanks @dgard1981 for confirming. It's highly likely that this code is malfunctioning.
I think I have enough code snippet to put together for reproducing this issue. I will update here soon with my observations.
One more question. Are you only encountering this issue when running your Lambda function locally or is this present in actual function invocation as well?

@srprash So far as I can see, this is only present locally using sam local start-api or sam local start-lambda.


home-manager tried to remove ~ when deleting an obsolete file

I renamed one of the config file (home.file.".minidlna".text = "..."), but it looks like home-manager tried to nuke my home directory instead :). I'm not sure if there's a risk or not, but seeing rmdir: failed to remove: /home/utdemir was pretty scary.
See:
$ home-manager switch
Starting home manager activation
Activating checkLinkTargets
Activating writeBoundary
Activating installPackages
replacing old ‘home-manager-path’
installing ‘home-manager-path’
building path(s) ‘/nix/store/9wyqccwgy02j6p5hzdi5iqqdxdj75i2w-user-environment’
created 438 symlinks in user environment
Activating linkGeneration
Creating profile generation 47
Cleaning up orphan links from /home/utdemir
Checking /home/utdemir/.minidlna  gone (deleting)
rmdir: failed to remove '/home/utdemir'
Activating reloadSystemD

I understand your worry but in this case it is harmless and your home directory will not be removed unless it is actually completely empty. When a link is removed by home manager it will attempt to remove the containing directory, if it is empty using rmdir --parents. Unfortunately this means that it will print this error on the first non-empty directory it finds, which in your case is your home directory.
Unfortunately rmdir doesn't seem to offer a way to silence this particular error message. I've considered simply doing something like
rmdir --parent blahblah 2>&1 | grep -v 'Directory not empty'

but it's not exactly pretty so I have delayed in case a better solution comes.

Fair enough, I'm closing the issue 👍 .
It's an awesome tool, thank you very much!

Thanks! That's nice to hear :-)
By the way, I've pushed commit 5862a05fb1cc0de5d6c48ea4d709c2fca8050689 to master and I think it will fix this issue. Basically, the error will only show up if the containing directory is $HOME so I just added a little code to run rmdir only if the containing directory is not $HOME.
Many thanks for reporting this issue!


Color picker clipped

When the color picker is used in a position (like near the top of a menu) where it doesn't have enough room, it gets clipped. Needs to float above other elements and position accordingly.

Resolved in v0.45.0


Vscode 1.12 no longer obeys 'sortText' in completion items (from language server)

VSCode Version: VSCode Version: 1.12 (latest today May 5th 2017)
OS Version: Ubuntu 14.04

Steps to Reproduce:

Install this vsix file: http://s3-test.spring.io/sts4/vscode-extensions/snapshots/vscode-concourse-0.0.2-201705052220.vsix
Create a text file called 'pipeline.yml' and put this text in it:

resources:
- name: fff
  type: foo
  <*>

The <*> marks the spot where to put the cursor. So delete it, and put your cursor there.
Press CTRL-SPACE to invoke content assist.
The order of the content assist items that appears in vscode 1.11 is like this and is the correct order:

check_every
source
← groups
← jobs
← resource_types
← - name

After updating to vscode 1.12 today, the order changed to this:

← groups
← jobs
← resource_types
← - name
check_every
source

The completion items my extension produces explicitly sets a sortText to get exactly the desired ordering. Somehow, it seems like VScode 1.12 no longer consults the sort text but instead just uses the label for sorting. I double-checked that my extension indeed sets the sort-text. Below is some log output showing ${sortText}:${label} for these completion items as 'proof'.
00000: check_every
00001: source
00002: ← groups
00003: ← jobs
00004: ← resource_types
00005: ← - name

I uninstalled vscode 1.12 and am sticking with 1.11 for now. Unfortunately this little bug put completion items in almost the opposite order of what I'd want. The ← means the completion applies to a further removed context (requires a de-indent in the yml structure). So they tend to be the ones that are least interesting and should go on the bottom. Unfortunately, the current sorting mechanic actually puts the labels with the most arrows right at the top).

@kdvolder you can change the sort order of snippets by using the setting  "editor.snippetSuggestions": "bottom",

@egamma how is the sorting of snippet suggestions related to the sorting of completion items? I think @kdvolder refers to the sorting of completion items only.

@martinlippert A completion item can be of kind snippet which makes it conform to the snippetSuggestions-sorting rules

You mean we should change the completion items that we would like to show up first to be of kind snippetand then change the settings? (all as a workaround)?!?

If the sortText issue gets fixed in a recovery release, I think we would prefer to wait for that before we release the updates of our language servers... :-)

You mean we should change the completion items that we would like to show up first to be of kind snippetand then change the settings? (all as a workaround)?!?

No, my question was if your (unsure if @kdvolder and you work on the same extension) extension uses the snippet type or if you have ordinary/mixed completion items. There has been no change to sortText but a change that sorting updates when more text is being typed. That makes is two steps: no text left of the cursor and items get sorted lexicographical using label or sortText, when there is text left of the cursor we rank each item wrt how well it matches that text and sort by those ranks. (Before we kept the sorting stable but revealed the best match, often resulting in the second, third best match being far away)

So, what happens with the step from above is a little more complicated. When I said above "text left of the cursor" it actually means the text an individual suggestion selects for being replaced with its insert text. For above sample (see below screen shot) there are a few completions that select the leading two whitespaces for replacement while some other don't. That makes some completions get a score according to how well they match and some don't get a score because no text for matches yet. When comparing all of them we favour those that are more specific

Unsure what to do next with this, but this isn't the issue that snippets now get demoted. @egamma I'll pick a better issue which is about snippets and our (now) unlucky default to sort them at the bottom. This issue is still to be discussed.

Using https://github.com/Microsoft/vscode/issues/26182 to track the unhappy snippet sorting

So basically we would like to list proposals that do not replace the two whitespaces first and then proposals that do replace those two whitespaces in front of that line. Is there a combination of properties for the completion items that would allow this to work?

what would happen if we remove the two leading whitespaces on the filterText?

If we remove the whitespace from filtertext the items disapear completey. It took me some time to figure this out. I guess the 'filter' picks up the text in the edit range and matches that against the filter text. Since that text starts with spaces (so we can replace the leading space to cause a 'de-indent' effect) we have to include spaces in our filter text.

or if you have ordinary/mixed completion items

All our items are the same w.r.t. to using snippets (all of them have snippet flag turned on). Not all of them really need it, but it was easier to just always turn it on rather than trying to determine precisely when its needed or not).
So I think Jim's right. This has nothing to do with sorting of snippets versus non-snippets.
After Jim's explanation about different sorting strategies depending on whether we have text left of cursor or not. I think I understand what's happening (thanks Jim). To paraphrase the 'deindented' proposals score higher because they select some spaces in front of the cursor, which makes them be considered 'more specific' than the ones that don't. Correct?
I think I understand the motivations behind vscode sorting rules when 'more text is being typed', to allow for filtering a completion list without having to make another request on the language server after I typed some extra character(s).
The thing is, your rules for 'more text is being typed' are already being used even though I haven't actually typed anything yet. So maybe that is wrong? It seems to me that, at least, immediatly after asking the language-server for a list of completions, you should assume its 'sortText' reflects the intended sorting order accurately and not try to second-guess sorting order based on other heuristics.
The fact that the language-server sets sortText explicitly rather than just leave it blank, should be taken as pretty strong evidence the server is trying to enforce a very particular ordering.

Hmmm... This is blocking us from shipping an update for your language servers at the moment. So I would love to learn whether there is a workaround possible to get our proposals showing up in the "right" order (from the point of view of our language server) or if we need to wait for a change or fix in vscode. Any suggestions or ideas?

The thing is, your rules for 'more text is being typed' are already being used even though I haven't actually typed anything yet. So maybe that is wrong?

Well, not necessarily agreeing because the two spaces have been typed (or smartly inserted). I think the problem is more towards the score-algorithm we run. That makes no a difference if a space matches with a space or if two other letters match. Let we think about trimming whitespace (or ignoring) when running the scoring-logic. That will then land in insiders soon'ish (end of this week, early next week) but won't make the cut for the recovery release

Can you explain the exact logic of how proposals are sorted? I am confused how filterText, sortText, and the "magic" that you described above is playing together. Maybe if I understand the exact meaning of those and their combined behavior, I can dive deeper. That would be awesome.
(also a pointer to the code would be great, then I would parse the logic from the code myself...) :-)

Well, not necessarily agreeing because the two spaces have been typed

My point was if they were typed, it was before making the CA request to the server. So what I mean is, the server new about the spaces and has exactly answered a list of items with exactly intended sorting order, for exactly the current contents in the editor. So there should be no uncertainty on how the server intended the items to be sorted. So... applying these heuristics in such a case seems like a mistake to me.
But yes, I understand its complex :-)
Your idea of special casing and ignoring leading white-space to be counted as 'matching' will probably return some sanity in this case.

and some things in the API (sortText, filterText) became weaker.

I wonder whether this effectively makes sortText obsolete, it seems language server now has very little, if any control over the sorting order of its completions. Are there actually any cases where sortText still has an effect now?

So... applying these heuristics in such a case seems like a mistake to me.

I understand where you are coming from but the problem is that most language service return results based on a different positon, like the console.lo case which returns more than log. Unsure if would then still be able to filter out other member suggestions...

Are there actually any cases where sortText still has an effect now?

Only when no suggestion has selected a word yet (left of the cursor), a sample would be console.<cursor> with log, et al. Then we would use the sort text.

What would happen if we made our completions lazy resolved (in which case, I guess you do not have the edit ranges, until its time to apply the completions). How would things work in this case?
I'm asking because I'm wondering if this could be a possible workaround for us to have to sortText count again.

most language service return results based on a different positon, like the console.lo case which returns more than log. Unsure if would then still be able to filter out other member suggestions...

To be honest that's a bit of surprise to me. I thought it was up to the server to return a precise list and not rely on smarts in the client to do the job. So our server(s) returns precise results based on the current document state. I see how supporting 'sloppy' servers kind of makes this not so straightforward to resolve.
Would you be able to use the presence of an explicit sortText as a strong enough signal that the server is 'precise' and you could back of the heuristics only in that case?

What would happen if we made our completions lazy resolved

While I have no idea about exactly how the detailed sorting mechanics in vscode play out.... Yep. Looks like that works as a workaround for us. It seems that by depriving vscode the info about the editText in the unresolved completion items, we are falling back to sorting based on sortText for this example.
I feel a little uncomfortable about this to be honest. It works now for this case, it seems, but it feels too much like a fluke/hack and I fear it might break again in future vscode releases.
So I'd still like @jrieken (if/when you have the time) to explain how the sorting mechanics for unresolved items which only compute edits upon resolution are (supposed to be) sorted/filtered in general. (I.e. lacking the edit-range, what precisely will filter text be matched against? Since, obviously its not being matched against the text inside the edit range in this case).

So I'd still like @jrieken (if/when you have the time) to explain how the sorting mechanics for unresolved items which only compute edits upon resolution are (supposed to be) sorted/filtered in general.

In the absence of an text edit we fallback to use the current word which is computed using a language specific regex.

@jrieken many many thanks for all the details, much much appreciated. I think this is indeed an interesting discussion. The question how you divide the control over the content-assist proposals between the editor (client) and the language server is indeed complex and difficult.
We try to be very very smart about which proposals to deliver to the client and in which sequence they should be presented to the user in order to provide the best possible user experience. We do that because we think the language server deeply understands the context and the structure of the file and what proposals make the most sense in a certain situation.
On the other hand it seems like you have to deal with language servers that aren't that smart, so that the editor needs to do a bunch of work in order to provide an excellent user experience. This is the reason why you implemented the new ranking that affects the ordering of proposals after they got delivered (and maybe pre-sorted) by the language server - if I understand this correctly.
Can you explain in more detail what those language servers exactly return for those not-so-smart completion proposals? (for example for the console.log/debug/error case) Do they return a sortText at all? Or do they rely on the client to sort them? And match them against existing characters?
One of my thoughts was: if a language server explicitly provides a sortText to put the completion proposals in an order, the client should not override this sorting.

@jrieken can you point me to a few language servers that return those non-sorted proposals, like the console.log/error/debug case? Would love to take a look myself to understand this in more detail. Many many thanks!!!

On the other hand it seems like you have to deal with language servers that aren't that smart, so that the editor needs to do a bunch of work in order to provide an excellent user experience.

Yeah, and we don't actually think that this is a bad thing because it allows us to sort and filter by our rules. Sample (I am aware of) are TypeScript and Roslyn for C# and they always suggest completions based on the 'larger scope'. For instance, workspace symbol search doesn't usually work like this and we get very different behaviours between different languages, e.g some only do prefix search, some do camel-case search but not subsequent-match search etc etc.

e.g some only do prefix search, some do camel-case search but not subsequent-match search etc etc.

Hmm, yeah, but if a language server is doing 'prefix search' in the completions, then it doesn't matter whether vscode is capable of a more 'fuzzy' matching logics, since there will only be prefix-matched results in the pool you have to match against.
I think the only way to really make this consistent between different servers would be to more precisely describe in the LSP document what exactly a server is expected to return and what kind of search and filtering is applied on the client side. I don't think LSP spec is very clear on this at the moment. (Which is not a VScode issue I know, but something to raise against the Spec, I'll ponder it some more, but I'll probably raise a 'request for clarification' with the spec about this.
Anyhoo... just being practical at the moment, I think the most reasonable thing to do about the vscode issue right now, is maybe simply don't match against spaces for the 'scoring' of completions, like you proposed. Since they are effectively 'invisible' and, as a user, they don't feel like they are part of my 'query' I think that just makes good sense.

Yeah, and we don't actually think that this is a bad thing because it allows us to sort and filter by our rules. Sample (I am aware of) are TypeScript and Roslyn for C# and they always suggest completions based on the 'larger scope'. For instance, workspace symbol search doesn't usually work like this and we get very different behaviours between different languages, e.g some only do prefix search, some do camel-case search but not subsequent-match search etc etc.

@jrieken fully understand and agree to the solution to ignore the spaces for the moment. However, I would love to learn more about what you would suggest how our language server should implement those completion proposals in the future. I think Kris described what we would like to offer to the user (as completion proposals, including the sequence/sorting in which they should appear). But let me know if you have more questions about that. Would love to hear your advice on this.

Understood, the spec isn't very clear in that area and sortText-bit became weak after the latest changes.
Wrt how to filter on the server, I would suggest to go with a subsequent-substring-matcher. That is easy to implement, fast at runtime and enables all sort of prefix, camel-case, and fuzzy filtering in the editor. In fact, our filter performs this checks always to know if further (expensive) matching will pay off. It will block super smart features like accounting for typos etc but if you want to filter on the server, go with that one.
On the sortText topic another idea has been discussed in https://github.com/Microsoft/vscode/issues/26944#issuecomment-303319615. When an item has a sortText-property we could use that when computing the rank. That will only define the value of the (sort-)rank, not if the item appears for which we use filterText or label. Challenge is that most completions define the sortText-property as an absolute value like 0001, 0002, 0003 etc. We might be lucky tho: Scoring absolute values will likely always yield in a rank of -1, in which case we fallback to the initial sort which is solely based on the sort text. Ideas, feedback?

Ideas, feedback.

Just some vague thoughts :-)
About the 'absolute values' like '0001', '0002' etc. In our case, this is because we use a kind of pattern matching to filter the completions and this matcher also returns a 'score'. So we want to have the items appear in the order with the highest score first. The absolute values are merely a roundabout way to accomplish that goal.
The good news is that, for the most part, the goals of our sorting/scoring are much in line with what vscode does. I.e. to try and put the things that 'match better to what a user typed' at the top.
So for the most part, I think that a user wouldn't notice that 'sortText' isn't quite working the same way as the server intended, since, the end-result will usually be very similar anyway. The only thing here that made this obviously wrong was the unfortunate interpretation of space in the match.
The bad news... We also incorporate some heuristics that aren't purely based on textual matching but relate to some kind of 'distance' between originating context. I think these heuristics mostly matter when the user's query itself is 'weak' (e.g. empty string) or when there are several matches that are textually very similar, but come from different contexts. For example several context may have properties with identical names. So, in other words, even though I 'typed a strong query' it still doesn't strongly distinguish two matches, because they are textually identical. This is when the sorting based on 'contextual distance' would really need to come into play.
So summarizing, I think this is where we are at:

if the 'query' is empty, you have a score of -1 and fall back on sortText => good (especially if we to the special case for leading spaces).
if the 'query' is 'strong', you show the best matches textually
=> good, except when several 'good' matches are virtually indistinguishable based on textual matching rules. This is when things only the server knows about, such as 'contextual distance' would need to come into play.

This is fixed by ignoring leading whitespace when doing the ranking and filtering. After discussions with @aeschli we decided that sortText is used for the initial sort and that we sort by rank as soon as there is something to rank against. With the improved whitespace ignore-behaviour this should now be a lot more logical.

What about adding another special case for when there is a ranking, but the ranking of two items are identical. Maybe it make sense to also consider the original sortText to order such elements relative to each other. I think that that should tie up the last loose end:

... => good, except when several 'good' matches are virtually indistinguishable based on textual matching rules. This is when things only the server knows about, such as 'contextual distance' would need to come into play.

That's exactly how it is implemented, when score (of the ranking operation) is equal to another score we fall back to the initial sorting which is based on sortText and/or label

Hm, tl;dr for verification?

to verify have a completion item provider (extension) that returns two items. One with sort text aaa and label ABCabc and another one wth sort text zzz and label ABC_abc. Trigger suggest on an empty line, suggestions should be sorted based the sort text ([ABCabc, ABC_abc], type a sorting shouldn't change, type another a sorting should be changed now to [ABC_abc, ABCabc]


Fix implementation of raw_program

Remove RawProgram to make raw_program emit n instructions so that the address of label is calculated correctly.

Thank you and sorry for late to response.


Student: Offerings to be listed in chronological order

User story
As a student user, I want to see my offerings in chronological order so that I can quickly select the upcoming term more easily
Acceptance Criteria
Student User

[ ] List the offerings in chronological order

Additional context
Ref: MOD Inbox email: SIMS PoS Offering Name sort order
Inst seeking intuitive way to list the offerings in chronological order

Currently for the institution: Spaces included in offering names are removed when saved

Student dropdown list: Student will not see in chronological order

Institution would need A, B, C in front of the term name for chronological order

Student would then see in chronological order

This could be updated to modify more to the overall search functions on these pages.


Added million.js

Description
This is a second response to the issue named "Add million.js"
Motivation and Context
@joswayski I deleted the first fork because of the code I pushed earlier. In this pull request I have followed the instructions you provided.
Hope this is better.

Hey in #990 i updated to the latest versions of Remix & Vite so now the millionjs instructions make more sense sorry about that.
The changes you made in remix.config.js are ok but this file has been renamed to vite.config.js now since Remix is just a vite plugin
Also it looks like there's no need for an npm command since everything is handled by the VSCode extension :)


Refactoring Cassandra workflow persistence manager for NoSQL support-Part 2

What changed?

Create NoSQL interface for updateWorkflow and conflictResolveWorkflow
Extract the logic of Cassandra to implement the interface
Replace executionStore with NoSQL plugin db style
Remove unused code

Why?
For https://github.com/uber/cadence/issues/3514

How did you test it?
existing tests. Working on adding more test to the PR.

Potential risks
Medium risks.
Even though the goal of the PR is to keep the same behavior, it's still some uknown and this is the critical persistence for Cadence.

Release notes
No

Documentation Changes
No

Pull Request Test Coverage Report for Build b81f3318-6690-4597-9d66-c73c79ba847c

16 of 22 (72.73%)  changed or added relevant lines in 2 files are covered.
37 unchanged lines in 12 files lost coverage.
Overall coverage increased (+0.05%) to 60.216%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

common/persistence/nosql/nosqlplugin/cassandra/workflow.go
7
13
53.85%

Files with Coverage Reduction
New Missed Lines
%

client/history/client.go
2
44.35%

client/history/metricClient.go
2
49.43%

common/membership/rpServiceResolver.go
2
73.58%

common/persistence/nosql/nosqlplugin/interfaces.go
2
37.5%

common/task/fifoTaskScheduler.go
2
82.47%

common/task/weightedRoundRobinTaskScheduler.go
2
89.12%

service/history/execution/mutable_state_builder.go
2
69.87%

service/history/handler.go
2
46.67%

service/matching/matcher.go
2
91.46%

service/frontend/workflowHandler.go
4
58.48%

Totals

Change from base Build 60b59472-1dae-4c2b-bc35-275ee62aac27:
0.05%

Covered Lines:
89960

Relevant Lines:
149396

💛  - Coveralls


Add before_record_interaction

allows modifying response based on request, and vice-versa
helps filter sensitive information out of recorded responses

Closes #556 #527
Co-authored-by: Edward Delaporte (@edthedev)
Co-authored-by: David Riddle (@ddriddle)
Co-authored-by: Michelle Pitcel (@mpitcel)
Co-authored-by: Zach Carrington (@zdc217)

@kevin1024 any chance this PR might get merged?


Fix promotion from http -> https

Currently, a http connection is not forcefully promoted to a https connection.
As we want to deliver all content over https, this needs to be fixed.

Done because of new infra