Submodule for UI tests

This PR adds the rust compiler as a submodule, so that the UI tests may be updated.

A doit script will update the submodule (be aware this is a large download, I couldn't get sparse checkout to work without error) and will update all the tests in our ui/ directory - if the test is removed, moved, or renamed it will be deleted from ui/ directory.
The Makefile has been simplified, so that tests targeted by previous compilers are removed.
After updating some tests were unable to compile to mir due to changes in the compiler (also the point above), I removed those tests. This means that the number of tests in ui/ has changed from ~3500 to ~2700.

Regarding the changes in thi PR, it is pretty slow to load in safari (maybe it’s too large). Some further comments, I’ll leave it here.

For the not able to compile tests using the 1.72 nightly version, is there a way to ignore them using commands? In case, we needed to add them back in future.
Regarding the flags, it is better to be at least consistent with the makefile in handwritten rust tests. You are welcome to try out the other options. One rule is that, we'd better turn off the optimization passes which generates syntax KMIR is unable to parse.
The ConstDebugInfo seems not working on some cases. In some examples, the syntax debug _1 = const A still exists. I think we do not support debug var to be assigned with const. Would you experiment on an example to understand why?
In the makefile, the commands to compile rust program with older versions, shall we comment out them instead of delete? We might in future need to look into those. What do you think?

Yes it is a lot to load. I think you can improve the performance of the browser by holding Alt and clicking the inverted carrot symbol, and that should close all windows. And then up the top you can filter out .mir, .rs files etc.

We can bring them all the failing tests back and change the command to compile from
$(RUSTC) --emit mir $(RUSTC_OPTIONS) -o $@ ui/$*.rs to
-$(RUSTC) --emit mir $(RUSTC_OPTIONS) -o $@ ui/$*.rs
This should stop blocking if there is a compilation error and continue the make command with the next file.

Okay I will change to be the same as the handwritten and will bring up if I find something different that is interesting.

I think I forgot to build with that flag added. The files in the repo right now are without that flag. I will compile with the handwritten flags and push again.

We can comment them out. They will be in the version control system but they can get easily forgotten that way.

We can bring them all the failing tests back and change the command to compile from
$(RUSTC) --emit mir $(RUSTC_OPTIONS) -o $@ ui/$*.rs to
-$(RUSTC) --emit mir $(RUSTC_OPTIONS) -o $@ ui/$*.rs
This should stop blocking if there is a compilation error and continue the make command with the next file.
Okay I will change to be the same as the handwritten and will bring up if I find something different that is interesting.
I think I forgot to build with that flag added. The files in the repo right now are without that flag. I will compile with the handwritten flags and push again.
We can comment them out. They will be in the version control system but they can get easily forgotten that way.

Thanks, these should do. As for the 4th issue, let's keep this for a while until some point, we are sure we won't need them any more.

@yanliu18 The compiled mir matches the Makefile now

@yanliu18 The compiled mir matches the Makefile now

Thanks, the generated mir file looks well-formatted now.
I guess we should not download rust as submodule (I believe we will be paying for storage, is it correct @ehildenb ? )
We might better update the tests locally (by comparing to the lastest test suite in Rust repo) and only upload the changes. What do you think?

Oh does it actually store the module? I thought it was just a pointer to the rust repo essentially?
It's still overkill to download the whole rust repo to just update the tests, but it shouldn't have to happen much and by many people.
I did have sparse-checkout, but I couldn't get it to work properly.

It also seems to me that adding rustc as a submodule is unnecessary, just provide instructions in teh README about how to obtain the correct version. If you want to use the rustc on CI, you should add a file deps/rustc, which contains the version of the rustc compiler to use, so that you cna do something like rustup install $(cat deps/rustc), and then it will get you th ecorrect rustc to use. We can use that file on CI as well.

@yanliu18 Seems like the way forward is to compile the tests with a particular nightly version, and have that version as the target for kmir for the forseeable future. I removed the submodule and added instructions for how to install this particular version of the toolchain.
My only thoughts are is there any chance that targetting a different version of the toolchain could be preferable? This is just the version from yesterday or so, but maybe there is a preferable version from before. Worth mentioning is that I checked the difference in compilation between a target from last week to this week, and there actually was a breaking difference for some tests (a change of name from Pointer to PointerCoercion). I wonder how frequently they make changes.

@dkcumming Indeed, the MIR syntax and its optimization passes are changing from time to time, even in the stable rustc. Th nightly version has lots of experiment features, it would change more frequently. However such changes are not necessary permanent.
We will need to fix a version until we have the main semantics defined.
I would prefer a nightly version before a stable release, though I do not have a good idea of how to choose a version. I also think it is not an issue since we will eventually trace back to its unoptimised version and consume the data from memory directly.
I would also expect recompiling the MIR files for test when we discover some other optimization should be turned off.
Lastly, removed the submodule is good. Otherwise the CI will have to download all submodules which is not necessary at all.
This PR should be good to go.
Thanks.

@ehildenb Thank you for suggesting the configurations, we will need such a solution in future.

@dkcumming BTW, in future, when we will need to handle the syntax differences between rustc version, we could implement configuration files/ separate modules for each version.


Update for "master" -> "main" branch rename

vcpkg.json -- update all links to point to "main" .. This is hardcoded and will go out in future releases. @antkmsft
ci.yml -- add - main to trigger criteria where there is also - master ... This adds forward compatilbitiy when we rename the branch in the repo
archetype-cpp-release.yml -- use a script which evaluates a repo's default branch and sets that in a global variable, then use that variable instead. When vcpkg updates their branch the publishing scripts will continue to work transparently.
Collect-Changelogs.ps1 -- Add default hardcoded branch name of main for use with future releases. This can be optionally overridden with a parameter when invoking the script. @vhvb1989
eng/pipelines/client.yml -- Delete this file. It is no longer in use.

Example PR for template release -- https://github.com/microsoft/vcpkg/pull/18522/files


[Bug]: Compatibility Issue Between Cohere Rerank and Cohere Embeddings

Bug Description
Version compatability issue between cohere rerank and cohere embedding.
Because no versions of llama-index-postprocessor-cohere-rerank match >0.1.2,<0.2.0
 and llama-index-postprocessor-cohere-rerank (0.1.2) depends on cohere (>=4.45,<5.0), llama-index-postprocessor-cohere-rerank (>=0.1.2,<0.2.0) requires cohere (>=4.45,<5.0).
And because llama-index-embeddings-cohere (0.1.5) depends on cohere (>=5.1.1,<6.0.0)
 and no versions of llama-index-embeddings-cohere match >0.1.5,<0.2.0, llama-index-postprocessor-cohere-rerank (>=0.1.2,<0.2.0) is incompatible with llama-index-embeddings-cohere (>=0.1.5,<0.2.0).
So, because search-service depends on both llama-index-embeddings-cohere (^0.1.5) and llama-index-postprocessor-cohere-rerank (^0.1.2), version solving failed.

Version
in error
Steps to Reproduce
install both
Relevant Logs/Tracbacks
Because no versions of llama-index-postprocessor-cohere-rerank match >0.1.2,<0.2.0
 and llama-index-postprocessor-cohere-rerank (0.1.2) depends on cohere (>=4.45,<5.0), llama-index-postprocessor-cohere-rerank (>=0.1.2,<0.2.0) requires cohere (>=4.45,<5.0).
And because llama-index-embeddings-cohere (0.1.5) depends on cohere (>=5.1.1,<6.0.0)
 and no versions of llama-index-embeddings-cohere match >0.1.5,<0.2.0, llama-index-postprocessor-cohere-rerank (>=0.1.2,<0.2.0) is incompatible with llama-index-embeddings-cohere (>=0.1.5,<0.2.0).
So, because search-service depends on both llama-index-embeddings-cohere (^0.1.5) and llama-index-postprocessor-cohere-rerank (^0.1.2), version solving failed.

You can bump down the version of the embeddings as a workaround.
Will publish a new version of rerank though


use high level method for unstakes

Depending on radix.activeAddress() to update unstakes does not work as expected, since the active address stream will only push new values when changing account (or when starting the app).
Using the helper method radix.unstakingPositions() however, periodically pushes values and therefore will keep triggering the subscribe logic, updating the state as expected.

Yep there was some issue back then - but changing this back now I'm seeing expected behavior so far.
I will also remove the filter that we are using in the SDK, but theoretically that should not affect anything.


code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './utils' is not defined by "exports" in
<EMAIL_ADDRESS>
I am stuck on the following error

What are deep imports, I don't get it??

I am sure you could google that yourself...


Error when click on Properties menu as a vendor (when i have installed multivendor extension)

Error when click on Properties menu as a vendor (when i have installed multivendor extension)

you can follow this link for adding this code this location and better way you can copy  full code of admin folder  after that  product/_index.erb page has replaced given this link
https://github.com/spree-contrib/spree_multi_vendor/edit/master/app/views/spree/admin/products/index.html.erb

I had the same error, copied this view and it worked. Still not sure what caused it. Here is the view link:
https://github.com/spree-contrib/spree_multi_vendor/blob/master/app/views/spree/admin/properties/index.html.erb
Also adding the error message in text so other can find this more easily in the future: ActionView::SyntaxErrorInTemplate in Spree::Admin::PropertiesController#index

fixed in 2.0


Render custom element from a custom attribute

I have a need for being able to render a custom element using a custom attribute. Dynamically creating my custom element and being able to pass values to the custom element.
My custom element allows for styled select elements. Using it in the form of <au-select> is fine and works as expected. However, I want the option for users to be able to decorate an existing select with a custom attribute and then convert that into a custom element. Essentially replacing the element with a custom element (and parsing any options).
I am not too well-versed in how the view engine stuff works, this seems like something that many people would want to do. Being able to use an attribute to render custom a View (with support for custom elements in that view). Is this currently possible? If not, would be a great feature.

It's not possible and definitely won't be added for v1. Sorry. We are trying to keep element and attribute scenarios clearly separated. Adding this would require probably a major re-working in the compiler if any attribute can just turn the hosted element into something else...
If you really want to do this, I would recommend creating a custom element and a custom attribute. They can both be registered with the same name and share some infrastructure. The attribute would just inject Element and manipulate the DOM manually.

No worries Rob. I actually have made some ground exploring this concept since posting this issue. It isn't ideal however I think it will work. Basically it involves removing the element that the custom attribute is wrapping, then I render a custom element using the view compiler and then insert it into the ViewSlot. It is almost there.  I've got it inserting the custom element, parsing the options and pass them through is another thing entirely. I'll let you know how I go.

Maybe marking it as a template controller could help?
On Sep 12, 2015 9:20 PM, "Dwayne Charrington"<EMAIL_ADDRESS>wrote:

No worries Rob. I actually have made some ground exploring this concept
since posting this issue. It isn't ideal however I think it will work.
Basically it involves removing the element that the custom attribute is
wrapping, then I render a custom element using the view compiler and then
insert it into the ViewSlot. It is almost there. I've got it inserting the
custom element, parsing the options and pass them through is another thing
entirely. I'll let you know how I go.
—
Reply to this email directly or view it on GitHub
https://github.com/aurelia/templating/issues/172#issuecomment-139837069.


Request: allow out_functions/out_publish directory names to be configurable

I spent quite some time editing my netlify.toml, trying to consolidate the outputs into one folder with subfolders, i.e.:
[build]
  command = "npm run build"
  functions = "out/functions"
  publish = "out/publish"

I ran npm run build and was confused that it would still output to out_functions and out_publish folders. Then I realised these are hard-coded and cannot be configured.
Could we make this configurable? If not, could we make it clearer in the README that these are fixed directory names?

yes and yes.
it is currently on our agenda to support custom netlify functions which would happen to fulfill your request!
and yes, in the meantime, i will update the README along with the fix from your other issue :)
thanks so much again for opening these! we appreciate it <3

updated!


BigQuery: listJobs is throwing IAE

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Please run down the following list and make sure you've tried the usual "quick fixes":

Search the issues already opened: https://github.com/googleapis/google-cloud-java/issues
Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform

If you are still having issues, please be sure to include as much information as possible:
Environment details

Specify the API at the beginning of the title (for example, "BigQuery: ...")
OS type and version: Ubuntu 19.04
Java version: openjdk version "1.8.0_222"
google-cloud-java version(s): com.google.cloud:google-cloud-bigquery:1.96.0

Steps to reproduce
Happens about 100 times while listing 65,000 jobs on a project.
Code example
bq.listJobs(...);
for (Job job : page.getValues()) { // Throws.
}

Stack trace
java.lang.IllegalArgumentException: Provided dataset is null or empty
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:142)
        at com.google.cloud.bigquery.TableId.<init>(TableId.java:67)
        at com.google.cloud.bigquery.TableId.fromPb(TableId.java:109)
        at com.google.cloud.bigquery.QueryJobConfiguration$Builder.<init>(QueryJobConfiguration.java:178)
        at com.google.cloud.bigquery.QueryJobConfiguration$Builder.<init>(QueryJobConfiguration.java:89)
        at com.google.cloud.bigquery.QueryJobConfiguration.fromPb(QueryJobConfiguration.java:903)
        at com.google.cloud.bigquery.JobConfiguration.fromPb(JobConfiguration.java:128)
        at com.google.cloud.bigquery.JobInfo$BuilderImpl.<init>(JobInfo.java:158)
        at com.google.cloud.bigquery.Job.fromPb(Job.java:485)
        at com.google.cloud.bigquery.BigQueryImpl$32.apply(BigQueryImpl.java:1127)
        at com.google.cloud.bigquery.BigQueryImpl$32.apply(BigQueryImpl.java:1124)
        at com.google.common.collect.Iterators$6.transform(Iterators.java:786)
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)

External references such as API reference guides used

?

Any additional information below
Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!

Closing this issue. Feel free to reopen if above reply did not help.

Situation still arises, and the above has not helped, because when I call this function, it still throws an exception in code I do not control, but I do not appear to have permission reopen the issue.


Nonce is too small!

Traceback (most recent call last):
File "loc.py", line 7, in
conn.call('GET', '/api/myself/').json()
File "/Users/andrew/Library/Python/3.7/lib/python/site-packages/lbcapi-1.0.2-py3.7.egg/lbcapi/api.py", line 131, in call
Exception: Nonce is too small!

This is not a bug. You must always use bigger nonce than with last call, even between different sessions.

example?

Ah I remembered wrong. The library chooses the nonce, and in your case you have used it so fast, that it has selected same nonce twice.
Hmm yeah, this could be fixed. Right now your can bypass the problem by having at least 1 ms time between API calls.


upload file error

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

ready source images
include annotations
zip one files
upload

Expected behavior
there are seventy files
but there is empty

could you provide an example file that failed to be uploaded?

how uploaded the example file?


Overflowing link of invite users in Mobile View.

In mobile view the link of inviting users overflows.
Steps to reproduce (Make sure you are in mobile view) :

Go to settings menu
Click on invite users
Switch from Send an email to Generate Invite Link
Click on Generate Invite Link

Note: Log in as an administrator or owner to be able to generate link

Hey @nimishmedatwal, I have fixed the issue occurring in the mobile view.


Upper limits

The code is capable of calculating flux upper limits as a function of different sky positions for multiple time bins and spectral templates

If you can just run it once to make sure there's no errors, then I'll merge


Prepare release 1.2.2

Codecov Report

Merging #412 into 1.2 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              1.2     #412   +/-   ##
=======================================
  Coverage   38.41%   38.41%
=======================================
  Files          20       20
  Lines        1658     1658
=======================================
  Hits          637      637
  Misses       1021     1021

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 b314e24...357d7be. Read the comment docs.


Inventory of working samples

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/32
Originally created by @aaronsteers on 2021-03-03 19:26:58

Until we get the new Singer Hub up and running, it could be helpful for prospective SDK users to be able to browse other developers' working examples. Should we add a section in the repo that links to an inventory of working examples?
In the interim, here are links to the 2 3 4 WIP implementations I am currently aware of:

https://github.com/dataops-tk/tap-powerbi-metadata
https://gitlab.com/autoidm/tap-bamboohr
https://github.com/edgarrmondragon/tap-confluence
https://gitlab.com/DouweM/tap-investing
https://github.com/dataops-tk/tap-parquet (wip)

And (at least?) one more private repo which is being built by Edgar Ramírez Mondragón as noted here in slack: https://meltano.slack.com/archives/C01PKLU5D1R/p1614382174006900

View 9 previous comments from the original issue on GitLab


TimeZone clock is not changed according to timezone prop.

Clock is not recalculate to new Time Zone after propery timeZone is change dynamically.
Example:
locale = 'Australia/Sydney'
after oneMinute i am setting new TimeZone:
locale = 'Europe/London'
but the Clock component not changing the time based on the new zone.
<Clock className="world_clock__item" format={format} ticking={true} timezone={locale}/>

What version are you using of the package and react?

What version are you using of the package and react?

What version are you using of the package and react?

Just upgrade from version 4.x and it was solved.

What version are you using of the package and react?

Just upgrade from version 4.x and it was solved.


Add Smtp project

Pull Request Description
Adds Smtp project to the suite - https://github.com/Mikroservices/Smtp.
Note that a recent compiler regression was discovered when building this project in release mode. https://github.com/apple/swift/issues/64219
Acceptance Criteria
To be accepted into the Swift source compatibility test suite, a project must:

[x] be an Xcode or swift package manager project
[x] support building on either Linux or macOS
[x] target Linux, macOS, or iOS/tvOS/watchOS device
[x] be contained in a publicly accessible git repository
[ ] maintain a project branch that builds against Swift 4.0 and passes any unit tests
[x] have maintainers who will commit to resolve issues in a timely manner
[x] be compatible with the latest GM/Beta versions of Xcode and swiftpm
[x] add value not already included in the suite
[x] be licensed with one of the following permissive licenses:

MIT

[x] pass ./project_precommit_check script run

Ensure project meets all listed requirements before submitting a pull request.
PASS: Smtp, 5.0, e8f09e, Swift Package
========================================
Action Summary:
     Passed: 1
     Failed: 0
    XFailed: 0
    UPassed: 0
      Total: 1
========================================
Repository Summary:
      Total: 1
========================================
Result: PASS
========================================

Might be a step ahead of myself, but I've added the xfail because the project doesn't currently build in recent toolchains.

CC @mczachurski - in case you wanted to keep an eye on this.

Removed the xfail since a fix has landed on main.

@swift-ci test

@swift-ci test


TypeError upon API response

Describe the bug
When executing the API call specified in the code snippet the following error occurs:
error.txt
Based on printouts, in some cases the API return with an ill-formed Python dictionary as below.
API response with null part of the dictionary:
{"error":{"message":"The response was filtered due to the prompt triggering Azure OpenAI’s content management policy. Please modify your prompt and retry. To learn more about our content filtering policies please read our documentation: https://go.microsoft.com/fwlink/?linkid=2198766",
"type":null,"param":"prompt","code":"content_filter","status":400}}
To Reproduce
Run the code snippet attached on the input 'doc.txt'.
Code snippets
def prompt_openai(doc, max_tokens):

    prompt = f"""
    Create a summary of the text below.

    '{doc}'
    """
    try:
        response = openai.Completion.create(
        engine = openai.deployment,
        prompt = prompt,
        temperature = 1,
        max_tokens = max_tokens,
        top_p = 0.95,
        frequency_penalty = 0.5,
        presence_penalty = 0.5,
        stop = None#"<|im_end|>"
        )

    return response['choices'][0]['text'].replace('\n', '').replace(' .', '.').strip()

OS
Windows 10
Python version
Python 3.10.9
Library version
openai 0.27.2

Workaround is to add the is to ..\Lib\site-packages\openai\api_requestor.py
at line 619
rcontent = result.content.decode("utf-8")
        if ":null," in rcontent:
            rcontent = rcontent.replace(':null,', ':"None",')
            rcontent = json.loads(rcontent)

Any chance you could repro this with a curl command and show what response you're getting? I can't see the doc.txt file here and am unable to repro this.
It's also possible that https://github.com/openai/openai-python/pull/356 might help with this issue

Yeah, #356 definitely looks like the root cause of the problem. Below you can find the minimum viable query which striggers the error. It'll not come with curl. Happy to test a new release with fix for #356.
"query": """Summarize the following text: 'of Grozny to obtain drinking water and food.", "11. On 5 March 2000, at around 10 a.m.,
the applicant was distributing drinking water among the residents of the Oktyabrskiy District when a group of federal servicemen in
two UAZ vehicles arrived and enquired as to how they could get to a certain street. The applicant and some other residents explained to them how
to find that street, but the commander of the group asked the applicant to come with them and show them the way. The applicant agreed. The applicant s
ubmitted eyewitness statements by two residents of the Oktyabrskiy District confirming the above-mentioned episode.", "12. When the servicemen arrived
at the street they were looking for, the applicant asked them to let him out. Instead, the military hit the applicant in the kidneys and put a bag over
his head. They ordered him to be silent and delivered him to the Temporary Office of the Interior of the Oktyabrskiy District of Grozny ([\u201cthe](file://u201cthe/)
Oktyabrskiy VOVD\u201d, [\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439](file://u0432/u0440/u0435/u043c/u0435/u043d/u043d/u044b/u0439) [\u043e\u0442\u0434\u0435\u043b](file://u043e/u0442/u0434/u0435/u043b) [\u0432\u043d\u0443\](file://u0432/u043d/u0443/)
u0442\u0440\u0435\u043d\u043d\u0438\u0445 [\u0434\u0435\u043b](file://u0434/u0435/u043b) [\u041e\u043a\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u043e\u0433\u043e](file://u041e/u043a/u0442/u044f/u0431/u0440/u044c/u0441/u043a/u043e/u0433/u043e)
[\u0440\u0430\u0439\u043e\u043d\u0430](file://u0440/u0430/u0439/u043e/u043d/u0430) [\u0433](file://u0433/). [\u0413\u0440\u043e\u0437\u043d\u043e\u0433\u043e](file://u0413/u0440/u043e/u0437/u043d/u043e/u0433/u043e)). According to the applicant, the officers who
apprehended him could not know his identity because they did not check his identity papers.", "13. At the Oktyabrskiy VOVD the officers intimidated and ill-treated the applicant for several hours. In particular, they severely beat him, cut his hair and forced him to chew and swallow it, pressed a red-hot nail into his hands, forehead, nostrils and tongue and carved a derogatory word [\u201cChichik\u201d](file://u201cchichik/u201d) on his forehead with a nail or knife.", "14. The officers also questioned the applicant, but made no written record of the interrogation. They asked the applicant where he had fought as a rebel fighter and why there was a lis'
"""

We released v0.27.3 today which has the fix for #356. Can you take another look?


Lightbox in CKeditor link plugin

In 5.7, there was a possibility to make a link to a page or an image open in a lightbox using Magnific pop-up.
Since all the code was still there, I modified concrete5link plugin.js to get the lightbox back in the editor.
The only difference is I didn't make it an option to switch on or off. It's just included.

Thanks!

Hey @mnakalay do you have any thoughts on this? https://github.com/concrete5/concrete5/issues/5797 I think the updates in this pull request are making it so that you can't save and then re-edit a content block to add new links (without refreshing the page.)

ok I'll have a look


ability to add additional labels

Describe the feature:
We need to add additional labels for monitoring into the daemonset as it's the case for podAnnotation.
Describe a specific use case for the feature:
Monitoring for prometheus, Service mesh ( istio), are based on the label.
PR should come from me !!

PR should come from me !!

Awesome! I just merged in the first version of the metricbeat chart in https://github.com/elastic/helm-charts/pull/127. Could you also add the additonal labels into it as well? The charts are very very similar so it should just be a matter of copy paste.

cf la PR : https://github.com/elastic/helm-charts/pull/214

Did you also plan on porting the same change to the metricbeat chart? If not I can pick that up.


How to switch to another token to initiate a vault request

In my application scenario, I need to switch another token with other policies for subsequent vault operations, and then switch back. How to use spring-cloud-vault to achieve this goal?
Thank U.

You could use cubbyhole authentication. Besides that, there's no automatic support for switching tokens.


ci: release file names with version number

Brief Information
This pull request is in the type of:

[ ] bug fixing
[ ] new feature
[x] ci

Related issues:

resolve #387

Details

Now files in release assets have version suffix and all compressed files are in zip root dir:

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA

Others

Related test workflow run:

https://github.com/tyn1998/workflows-for-hypercrx/actions/runs/2723977708

/approve


Fail to publish version: Not found tablet to publish_version

load 1T data, then occurred "Fail to publish version: Not found tablet to publish_version"
W0516 22:11:02.477641 27690 task_worker_pool.cpp:886] Fail to publish version. signature:364 related tablet num: 0 time: 3ms
W0516 22:11:18.515771 27698 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10015, txn_id: 362
W0516 22:11:18.515787 27711 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10035, txn_id: 362
W0516 22:11:18.515794 27698 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10015, txn_id 362, err: Not found: Not found tablet to publish_version. tablet_id: 10015, txn_id: 362
W0516 22:11:18.515808 27703 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10055, txn_id: 362
W0516 22:11:18.515810 27711 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10035, txn_id 362, err: Not found: Not found tablet to publish_version. tablet_id: 10035, txn_id: 362
W0516 22:11:18.515834 27703 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10055, txn_id 362, err: Not found: Not found tablet to publish_version. tablet_id: 10055, txn_id: 362
W0516 22:11:18.515923 27701 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10107, txn_id: 362
W0516 22:11:18.515933 27701 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10107, txn_id 362, err: Not found: Not found tablet to publish_version. tablet_id: 10107, txn_id: 362
W0516 22:11:18.515938 27701 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10115, txn_id: 362
W0516 22:11:18.515944 27701 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10115, txn_id 362, err: Not found: Not found tablet to publish_version. tablet_id: 10115, txn_id: 362
W0516 22:11:18.518035 27690 task_worker_pool.cpp:886] Fail to publish version. signature:362 related tablet num: 0 time: 2ms
W0516 23:13:59.119130 27715 tablet_manager.cpp:1390] before adding new cloned tablet, delete stale TABLET_SHUTDOWN tablet failed tablet:10115 st:Not supported: used in somewhere, use count:2
W0516 23:13:59.119405 27715 engine_clone_task.cpp:195] Fail to load tablet from snapshot: Not supported: used in somewhere, use count:2 tablet:10115. schema_hash_dir=/home/disk1/sr/output/be/storage/data/41/10115/1180030677
W0516 23:13:59.119421 27715 engine_clone_task.cpp:207] Removing /home/disk1/sr/output/be/storage/data/41/10115
W0516 23:14:00.700803 27715 task_worker_pool.cpp:1149] clone failed. signature: 10115

fe.log
2022-05-16 22:01:52,169 INFO (tablet scheduler|43) [TabletScheduler.deleteReplicaInternal():1001] decommission tablet:10023 type:REPAIR replica:10002 reason:src replica of rebalance watermark:343 replicas:10002:233/-1/233,10004:233/-1/233,10006:233/-1/233,10005:233/-1/233,
2022-05-16 22:01:52,170 INFO (tablet scheduler|43) [TabletScheduler.deleteReplicaInternal():1042] delete replica. tablet id: 10163, backend id: 10002. reason: src replica of rebalance, force: false replicas: 10002:233/-1/233,10004:233/-1/233,10006:233/-1/233,10005:233/-1/233,
2022-05-16 22:01:52,170 INFO (tablet scheduler|43) [TabletScheduler.removeTabletCtx():1224] remove the tablet 10163. because: redundant replica is deleted

be.log
I0516 22:02:01.819612 15542 tablet_manager.cpp:331] Dropping tablet 10163
I0516 22:02:01.819613 15781 task_worker_pool.cpp:265] success to submit task. type=DROP, signature=[10163], task_count_in_queue=0
I0516 22:02:01.819639 15542 tablet_manager.cpp:1226] drop tablet:10163, stop compaction task
...
...
I0516 22:04:50.260385 15553 engine_publish_version_task.cpp:80] Publish version successfully on tablet. tablet=10107.1180030677.bb4e8902d46843b4-5576c785ef400596, transaction_id=337, version=234, res=OK
W0516 22:04:50.260394 15553 engine_publish_version_task.cpp:49] Not found tablet to publish_version. tablet_id: 10163, txn_id: 337
I0516 22:04:50.260449 15565 tablet_updates.cpp:460] commit rowset tablet:10115 version:234 txn:337<PHONE_NUMBER>0019a2bd4add2317aa353374df7a3aff881bb3 rowset:236 #seg:1 #row:24833 size:38.45 MB #pending:0
W0516 22:04:50.260743 15553 task_worker_pool.cpp:767] failed to publish version for tablet, tablet_id 10163, txn_id 337, err: Not found: Not found tablet to publish_version. tablet_id: 10163, txn_id: 337

after rebalanced and drop tablet, process the publish version task early time.


Cars assemble enhance test output

Add function name to the panic message and fix the function name typo in the test failure error message.

I am not convinced we want to go this route (ie. improving TDD). The concept exercises are supposed to be trivially easy and not really built around TDD. This is why (for example) we do not show the tests in the website editor for concept exercises.
@ekingery - do you have any thoughts?

I am not convinced we want to go this route (ie. improving TDD). The concept exercises are supposed to be trivially easy and not really built around TDD. This is why (for example) we do not show the tests in the website editor for concept exercises.
@ekingery - do you have any thoughts?

We do want to fix the test, so that commit should be approved. As for the test names being in the panic, I agree that panic("not implemented") is sufficient. That said, I don't necessarily have an issue with hardcoding the test name into the panic argument.


Emacs mode: do we need cl-lib?

There is a line at the beginning that seems unnecessary to me: (require 'cl-lib)
I’ve removed it locally and everything still works.
Asking Emacs for a description with M-x describe-package cl-lisp gives this answer:
Package cl-lib is built-in.

     Status: Built-In.
    Version: 1.0
    Summary: Common Lisp extensions for Emacs
Required by: popup-0.5.8
Other versions: 0.7 (gnu).

These are extensions to Emacs Lisp that provide a degree of
Common Lisp compatibility, beyond what is already built-in
in Emacs Lisp.

This package was written by Dave Gillespie; it is a complete
rewrite of Cesar Quiroz's original cl.el package of December 1986.

Bug reports, comments, and suggestions are welcome!

This file contains the portions of the Common Lisp extensions
package which should always be present. Emacs Lisp.

I thought that austral-mode might use some CL functions/forms but maybe it does not.
My familiarity with elisp and CL is quite rudimentary.

It might just be an archaism on my part. I didn't know cl-lib was built in.


How to do a monthly or yearly analysis in RFM?

In my company we sell yearly and monthly subscriptions with possibilities of cross-sell and upsell. How can I use the rfm_summary with monthly or yearly periods? When I try to set time_unit="M", I get this error:
ValueError: Unit M is not supported. Only unambiguous timedelta values durations are supported. Allowed units are 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns'

Hey @franzoni315,
Use the time_unit and time_scaler parameters for this:
rfm_summary(data,
            customer_id_col,
            datetime_col,
            time_unit="W", # "M" & "Y" are unsupported TimeDelta units in pandas,
            time_scaler=4.33, # so Weeks must be rescaled into Months
            )

It worked, thanks very much, @ColtAllen !

@ColtAllen I actually discovered that this parameter is not available for the expected_customer_lifetime_value function. I am trying to adapt the CLV quickstart notebook for a yearly based business model, so for the rfm_summary I used the parameters time_unit="W", time_scaler=55, but I can't do the same for the expected_customer_lifetime_value function. I tried to set
clv_estimate = gg.expected_customer_lifetime_value(
    transaction_model=bgm,
    data=rfm_data,
    future_t=55,  # year
    discount_rate=0.01,  # monthly discount rate ~ 12.7% annually
    time_unit="W")

but I am not sure if this is correct, and also it takes too long.

@franzoni315 sorry for not seeing this sooner; I get a lot of emails related to pymc-marketing notifications.

I actually discovered that this parameter is not available for the expected_customer_lifetime_value function.

It's not used in this function because rfm_summary aggregates data for model fitting, not predictions.

clv_estimate = gg.expected_customer_lifetime_value(
    transaction_model=bgm,
    data=rfm_data,
    future_t=55,  # year
    discount_rate=0.01,  # monthly discount rate ~ 12.7% annually
    time_unit="W")

but I am not sure if this is correct, and also it takes too long.

Set time_unit='M' and future_t to the number of months in the future you want predicted. "Years" is an unsupported time unit, but equivalent to future_t=12*N_years. This will also require the transaction model to be trained on monthly data.
Also, is this model only being used for cross-sells and upsells? If you're trying to predict if a customer will renew a subscription, ShiftedBetaGeoModelIndividual is the intended model.
However, for large customer populations ShiftedBetaGeoModelIndividual may take too long since it'll generate unique posteriors for each customer, and it can't currently be used with the expected_customer_lifetime_value function. This could be the proper motivation for us to create the population equivalent of this model and add discounted CLV support.


About the annotations of keypoints

Dear @silviazuffi ,
Thanks for your sharing. Excellent works!
Could you please upload the code to generate keypoints of the input image?
I want to apply this to my customed dataset without keypoints. Could you please give me some suggestions of the
keypoints generation?
Thanks very much.

Hi,
We do not use key points on the input image, we only use keypoints during training, and these are obtained from the 3D avatars.
You can just use the project_points function of the renderer to project selected 3D vertexes of the model on the image plane.

On 19. Sep 2020, at 03:54, sdf0615<EMAIL_ADDRESS>wrote:
Dear @silviazuffi https://github.com/silviazuffi ,
Thanks for your sharing. Excellent works!
Could you please upload the code to generate keypoints of the input image?
I want to apply this to my customed dataset without keypoints. Could you please give me some suggestions of the
keypoints generation?
Thanks very much.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFP3KDDMTSCKLXWCZUTSGQFLZANCNFSM4RSXBTHA.

Dear @silviazuffi ,
Thanks for your quick reply. I will try the method you told me.
Besides, I have another question. Given a full image, how could I process it as the cropped one. What operations did you do
when you process the original image. I guess you handle these images with horse detection and segmentation, as well as align all the images. Could please upload the process code?
Thanks very much,
yours
Wenfeng

We got the images from Wildbook (https://zebra.wildbook.org/ https://zebra.wildbook.org/) through our co-author, and those were already as bounding boxes.
I think you can run something like Mask R-CNN to identify the zebras

On 19. Sep 2020, at 08:44, sdf0615<EMAIL_ADDRESS>wrote:
Dear @silviazuffi https://github.com/silviazuffi ,
Thanks for your quick reply. I will try the method you told me.
Besides, I have another question. Given a full image, how could I process it as the cropped one. What operations did you do
when you process the original image. I guess you handle these images with horse detection and segmentation, as well as align all the images. Could please upload the process code?
Thanks very much,
yours
Wenfeng
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-695173880, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFOJJSZ22IYSLCZXZQTSGRHLPANCNFSM4RSXBTHA.

Yes, definitely I could get the boxes and mask via Mask R-CNN, however, I saw your zebra images are all aligned so that the images are in the same locations and even all the heads of the zebra are in the right side, I wonder how to process all the images to get such results. In addition, whether this processing results will have a influence on the mesh model generation.

We mirror the images, so they are not all from the same side.

On 20. Sep 2020, at 09:17, sdf0615<EMAIL_ADDRESS>wrote:
Yes, definitely I could get the boxes and mask via Mask R-CNN, however, I saw your zebra images are all aligned so that the images are in the same locations and even all the heads of the zebra are in the right side, I wonder how to process all the images to get such results. In addition, whether this processing results will have a influence on the mesh model generation.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-695754676, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFMTD5N6AP2NENKOK4TSGWT6ZANCNFSM4RSXBTHA.

Yes, I get it. Thanks for your kind reply.

Dear @silviazuffi ,
I have sent you the results of my customer dataset, please check your<EMAIL_ADDRESS>Thanks very much,

Are those images of Grevy’s zebras?

On 21. Sep 2020, at 11:09, sdf0615<EMAIL_ADDRESS>wrote:
Dear @silviazuffi https://github.com/silviazuffi ,
I have sent you the results of my customer dataset, please check your<EMAIL_ADDRESS><EMAIL_ADDRESS>Thanks very much,
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-695994101, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFMFYQZKB23XJZQRWODSG4J3HANCNFSM4RSXBTHA.

No， I apply it to some web searched horse images.

The pre-trained network is trained on Grevy’s Zebras, it cannot be used for horses.

On 21. Sep 2020, at 11:46, sdf0615<EMAIL_ADDRESS>wrote:
No， I apply it to some web searched horse images.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-696011318, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFME4MT5UUNOFQWZCM3SG4OI5ANCNFSM4RSXBTHA.

Hi @silviazuffi ,
What should I do to train a new model for horses?

You would need to create a synthetic dataset for horses like the one for the zebras.
For doing this you need to have SMAL models of horses with variable textures and a 3D prior for sampling horse poses.

On 21. Sep 2020, at 15:08, sdf0615<EMAIL_ADDRESS>wrote:
Hi @silviazuffi https://github.com/silviazuffi ,
What should I do to train a new model for horses?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-696102245, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFILRWHGGBKV5QZ5ZSLSG5F4DANCNFSM4RSXBTHA.

hi @silviazuffi ,
I have read your works '3D Menagerie: Modeling the 3D Shape and Pose of Animals', This is great work.
I saw some demos of reconstructing 3d mesh from the 2d images. Could you send me this part of the code to do further research?

hi @silviazuffi ,
I want to make myself SMAL model such as pig, but I don't know the model .pkl file.  Now I have a .obj model which contains the information of v, vt, f...Could you please tell me how to make the .pkl model which contains J,betas?

Hi,
You should align the SMAL model to your 3D model.
If you look at this repository https://github.com/silviazuffi/smalr_online https://github.com/silviazuffi/smalr_online there are functions to compute mesh distances. You can use those to perform the alignment.
Best

On 5. Nov 2020, at 08:30, Autumnfall-Me<EMAIL_ADDRESS>wrote:
hi @silviazuffi https://github.com/silviazuffi ,
I want to make myself SMAL model such as pig, but I don't know the model .pkl file. Now I have a .obj model which contains the information of v, vt, f...Could you please tell me how to make the .pkl model which contains J,betas?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/silviazuffi/smalst/issues/12#issuecomment-722197349, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNYVFL2H7FPZO3XXZRPOJTSOJIABANCNFSM4RSXBTHA.

Dear @silviazuffi ,
Thanks for solving my confusion. I will try the method you told me.

Dear Silivia,
I read the Supplemental Material for the SMALST model, where you mentioned generating a synthetic training set and training a network for horses . Is the dataset published anywhere? If not,  can you share it with me? I'm interested in using it and comparing it to my current dataset Thank you in advance?

Yes, I still have the dataset, it is about 9K images, I am quite busy in these days, but I will try to make it available.

Thank you for your reply. I truly appreciate your willingness to make the
dataset available
On Thu, 27 Jun 2024 at 13:08, silviazuffi @.***> wrote:

Yes, I still have the dataset, it is about 9K images, I am quite busy in
these days, but I will try to make it available.
—
Reply to this email directly, view it on GitHub
https://github.com/silviazuffi/smalst/issues/12#issuecomment-2194403039,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3RBGH2RDP5I6UTK6LR7HYTZJPXETAVCNFSM6AAAAABJ7PJHXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJUGQYDGMBTHE
.
You are receiving this because you commented.Message ID:
@.***>


Memory leakage when client disconnects

I am running websockets on Raspbian (python 3.5.3) in two separated scripts. But every time the client disconnects, the code does not clear the memory, which is constantly increasing until one of the scripts (client or server) is interrupted by the operating system.
I tried with garbage collector, but the problem is still present. Below you can find a testing code: it merges server and client within the same script, and frequent client disconnections/reconnections are simulated.
Is there anything I am doing in the wrong way?
import asyncio
import websockets
import time

CLIENTS=set()

async def server_handler(websocket_server,path):
	CLIENTS.add(websocket_server)
	print("client connected")

	try:
		server_receiver_task=asyncio.ensure_future(server_receiver(websocket_server))
		server_sender_task=asyncio.ensure_future(server_sender(websocket_server))
		done,pending=await asyncio.wait([server_receiver_task,server_sender_task],
			return_when=asyncio.FIRST_COMPLETED,)

		for task in pending:
			task.cancel()

	finally:
		CLIENTS.remove(websocket_server)

async def server_receiver(websocket_server):
	try:
		while True:
			message=await websocket_server.recv()
			print("Message received from the client: "+message)
			await asyncio.sleep(0.1)
	except:
		print("client diconnected")

async def server_sender(websocket_server):
	while True:
		if CLIENTS:
			await asyncio.wait([client.send("server time: "+str(time.time())) for client in CLIENTS])
		await asyncio.sleep(1)

async def client_handler():

	while True:
		async with websockets.connect("ws://localhost:8765") as websocket_client:

			try:
				client_receiver_task=asyncio.ensure_future(client_receiver(websocket_client))
				client_sender_task=asyncio.ensure_future(client_sender(websocket_client))
				done,pending=await asyncio.wait([client_receiver_task,client_sender_task],
					return_when=asyncio.FIRST_COMPLETED,)

				for task in pending:
					task.cancel()

			finally:
				await websocket_client.close()

async def client_receiver(websocket_client):
	message=await websocket_client.recv()
	print("Message received from the server: "+message)
	await asyncio.sleep(5)

async def client_sender(websocket_client):
	while True:
		await websocket_client.send("client time: "+str(time.time()))
		await asyncio.sleep(1)

start_server=websockets.serve(server_handler,"",8765)
loop=asyncio.get_event_loop()
loop.run_until_complete(asyncio.gather(start_server,client_handler()))
loop.close

I've encountered the same

I modified the script as follow to see where extra memory gets allocated with tracemalloc. gc.collect() doesn't make a difference.
First I found that each request adds about 6kB to memory usage, mostly coming from the threading module. That was quite confusing as websockets doesn't use threads.
It turns out this asyncio runs getaddrinfo in a thread to make it non-blocking. After binding the server to <IP_ADDRESS> and telling the client to connect to <IP_ADDRESS>, this goes away.
With this script, I'm no longer seeing memory change. I just ran it and the last 3 runs out of 10 report +184 bytes, -40 bytes, -144 bytes, which evens out.
import asyncio
import gc
import websockets
import time
import tracemalloc

CLIENTS=set()

async def server_handler(websocket_server,path):
	CLIENTS.add(websocket_server)
	# print("client connected")

	try:
		server_receiver_task=asyncio.ensure_future(server_receiver(websocket_server))
		server_sender_task=asyncio.ensure_future(server_sender(websocket_server))
		done,pending=await asyncio.wait([server_receiver_task,server_sender_task],
			return_when=asyncio.FIRST_COMPLETED,)

		for task in pending:
			task.cancel()

	finally:
		CLIENTS.remove(websocket_server)

async def server_receiver(websocket_server):
	try:
		while True:
			message=await websocket_server.recv()
			# print("Message received from the client: "+message)
			await asyncio.sleep(0.01)
	except:
		pass
		# print("client diconnected")

async def server_sender(websocket_server):
	while True:
		if CLIENTS:
			await asyncio.wait([client.send("server time: "+str(time.time())) for client in CLIENTS])
		await asyncio.sleep(0.1)

async def client_handler():
	snapshot = tracemalloc.take_snapshot()
	current, peak = tracemalloc.get_traced_memory()
	for _ in range(10):
		async with websockets.connect("ws://<IP_ADDRESS>:8765") as websocket_client:

			try:
				client_receiver_task=asyncio.ensure_future(client_receiver(websocket_client))
				client_sender_task=asyncio.ensure_future(client_sender(websocket_client))
				done,pending=await asyncio.wait([client_receiver_task,client_sender_task],
					return_when=asyncio.FIRST_COMPLETED,)

				for task in pending:
					task.cancel()

			finally:
				await websocket_client.close()

		del websocket_client

		# Let the server clean up the connection...
		await asyncio.sleep(0.1)

		# Collect garbage...
		gc.collect()

		# And check what changed.
		snapshot2 = tracemalloc.take_snapshot()
		current2, peak2 = tracemalloc.get_traced_memory()
		print("=" * 79)
		print("=" * 79)
		print("=" * 79)
		print()
		print(f"Current memory use variation: {current2 - current} bytes")
		print(f"Peak memory use variation: {peak2 - peak} bytes")
		print()
		print("=" * 79)
		print("=" * 79)
		print("=" * 79)
		top_stats = snapshot2.compare_to(snapshot, 'traceback')
		for stat in top_stats:
			if stat.size_diff != 0:
				print("-" * 89)
				print(f"+ {stat.size_diff} bytes")
				print(stat)
				print("-" * 89)
				for line in stat.traceback.format():
				    print(line)
				print()
		snapshot = snapshot2
		current, peak = current2, peak2

async def client_receiver(websocket_client):
	message=await websocket_client.recv()
	# print("Message received from the server: "+message)
	await asyncio.sleep(0.5)

async def client_sender(websocket_client):
	while True:
		await websocket_client.send("client time: "+str(time.time()))
		await asyncio.sleep(0.1)

start_server=websockets.serve(server_handler,"<IP_ADDRESS>",8765)
loop=asyncio.get_event_loop()
loop.run_until_complete(start_server)
tracemalloc.start()
loop.run_until_complete(client_handler())

os.cpu_count() reports 8 on my machine, so ThreadPoolExecutor spawns 40 threads by default, so I would expect memory use to stabilize after 40 requests.
I changed the script above to run 50 iterations instead of 10 and to connect to ws://localhost:8756 instead of ws://<IP_ADDRESS>:8756. Indeed, memory usage increases for the first 40 requests, then stabilizes.
If os.cpu_count() * 8 is too many threads for your use case, look at https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.set_default_executor to set an executor with fewer threads.

Note that I tested the master branch with Python 3.7.
Python 3.5 is no longer supported in the master branch.
If I misunderstood the problem or didn't reproduce it correctly, please explain and I'll reopen the issue.

Looks like that python 3.5 was the problem. With the more recent 3.7, the memory increases but then stabilizes without crashing (even with my code).


Notebook API: Notification of what NotebookController is selected when document is initially opened

Opening a new issue per the discussion here:
https://github.com/microsoft/vscode-jupyter/pull/5635#discussion_r621409778
I want to be open about how this could be implemented, so I'll try to stick to just detailing what we'd like. Right now we're only getting onDidChangeNotebookAssociation for controllers specifically on user actions for picking a Controller from the drop down. We'd like to get a notification about when a Controller is initially selected at document open, or if it's changed due to updateNotebookAffinity. Right now when a document is initially opened (or a new blank notebook is created) we don't actually know what NotebookController is associated with this. We'd like to know this so that (if it's one of our controllers) we can start prewarming kernels as well as for our test infrastructure to make sure that the correct initial kernel is selected.

@DonJayamanne and @jrieken Opened a new issue to move discussion out from that PR thread.

I feel like you are making fun of me... As stated repeatedly (https://github.com/microsoft/vscode-jupyter/pull/5635#discussion_r621365125)

Notebook controller selection (what causes the onDidChangeNotebookAssociation-event) is a user action. Extensions can use the affinity API to become more prominent in UI for that user action. Users can explicitly select a controller via the picker or implicitly when running with a suggested controller.

So, what is your suggestion? How should this work?

So, what is your suggestion? How should this work?

These events are not exposed to all extension authors, only the extension that created the controller. Hence I don't see the need to be strict about raising the event only when a user selected this. It's not an event for other extension authors.
One Solution - fire the event and pass a flag that indicates whether user selected this vs vscode auto selected this.
Further to ian's reasons, we also need this to setup the communication channel with ipywidgets. Without this I'll need to initialize the comms with all controllers - which is wrong.

Hence I don't see the need to be strict about raising the event only when a user selected this. It's not an event for other extension authors.

Well, it's the opposite. Another extension can appear and always be faster in creating a preferred controller. Then yours is never selected and I don't believe you want that.
I simply don't see the ability to auto-select (not suggest) a controller and be fair to extensions. So, I still believe the logic of explicitly or implicitly selecting a controller is the only viable approach. Today, implicit selection only happens when users execute cells. Because some kernels also offer language services we should think about more of these implicit selector event, like completion or hover requests.

So, I still believe the logic of explicitly or implicitly selecting a controller is the only viable approach.

This would be a regression for our extension & not how Jupyter works either.

Since I was testing the controller API, I read through the discussions in the PR and here and try to understand.
@DonJayamanne correct me if I was wrong. What you was asking for is Know if your preferred kernel will be the active kernel when users press run button (and assuming there is no other preferred kernels pushed from any extensions) and then the Jupyter extension can do a warm up for the kernel (even if the users never hit the run button).

Further to ian's reasons, we also need this to setup the communication channel with ipywidgets. Without this I'll need to initialize the comms with all controllers - which is wrong.

@DonJayamanne can you also elaborate more on this? how do you initialize the comms without the controller being the real active controller?

how do you initialize the comms without the controller being the real active controller?

@DonJayamanne Esp, how do you communicate with a renderer which preloads haven't been loaded?

I feel like you are making fun of me...

Very sorry if you are feeling that way, not my intention at all. I was just trying to move the discussion out of the PR and into a new area, and to try to define exactly what we are looking to accomplish. I feel like we're not fully connecting on what we are asking for so I was trying to define it better. There are also some terms that I felt were unclear between the two teams.

Today, implicit selection only happens when users execute cells.

This the part that is still confusing to me. When I open up a document now there is a kernel selected in the lower right kernel before the document runs. And when we add our preferredKernel this selection changes. I don't understand why this is not being counted as "selection" as being discussed above. To my understanding vscode internally has some concept of what kernel would be run if the user would hit the run button. This kernel that would be run might change as we (or other extensions) do things like register kernels or change preferred kernels.

I simply don't see the ability to auto-select (not suggest) a controller and be fair to extensions.

So auto-selection is not what I'm trying to ask for here. I know that VS Code's API needs to be fair to all extensions. I just want to know if any of my controllers is the controller that VS Code would current use if the user was to execute cells on the given document. If foo.ipynb is opened I'd like to suggest kernel A (I understand that I'm not in full control of selection) and be notified if VS Code does prefer it (by which I mean it's the current kernel showing in the lower right).

Ok, I think we can solve two issues we are having:

Ipywidgets - we can setup the comms for preferred controller
prewarming - @IanMatthewHuff we can prewarm the preferred kernel (even if we're don't get an event from vscode).

@IanMatthewHuff I think the only other place we're blocked is our tests, we don't know what has been selected/preferred. I guess we can change the tests to call method on the controller manager to check whether the right controller had been setup as preferred.
Sorry I didn't read the previous messages. Will do so

Very sorry if you are feeling that way, not my intention at all. I was just trying to move the discussion out of the PR and into a new area, and to try to define exactly what we are looking to accomplish.

No worries, I like having the discussion here. I reacted because I feel like I have explained selected vs suggested controllers too many times already.

This the part that is still confusing to me. When I open up a document now there is a kernel selected in the lower right combobox before the document runs. And when we add our preferredKernel this selection changes.

There is two concepts:

A "list of potential controllers" - this is all currently available notebook controllers filtered by viewType and sorted by affinity.
A "selected controller" for a notebook - which is always one from the list of potential controllers and which has been picked through a user gesture.

There are subtle differences in the UI and I am trying to explain them in the following screen shots (I have dummy notebooks and three available controllers):
Case 1: Selected controller
For the test.lnb-file the user has selected a controller ("Rundam"). In the picker that is shown with the "Currently Selected" suffix.

Case 2: No selected controller
For the test-2.lnb-file no controller has been selected. In the picker no controller shows as selected and tooltip in the status bar has the little "suggestion"-suffix

So, in case 2 there is a list of controllers and none of them has been selected. Despite the similar UI for selected and suggested controllers, it's up to the user to select one. This selection happens explicitly from the picker or implicitly when running a cell while a controller has been suggested.
I am happy to tweak the UI, like add more reasons to implicitly select a controller or make implicit selection more explicit. However, the list of potential controllers and a user selected controllers is here to stay. Extensions control the list of potential controllers and users select from that list. It's not extensions selecting from that list.

I just want to know if any of my controllers is the controller that VS Code would currently use if the user was to execute cells on the given document

This is the catch. The UI only shows one suggested controller but in fact there can be many preferred controllers for a single notebook. So, we would have a bucket of controllers that are likely to be selected and we would need to inform all of them. But that only means that we are telling you something that you already knew - you already knew that you are preferred because you told us so.
To summarize:

I want us to agree on the difference between potential controllers and user-selected controllers and that only users pick controllers.
We all agree that the UI is bad and needs improvement. We could do away with the implicit stuff and be more explicit, e.g. show picker on run, show stronger status bar messages etc
Concrete feedback please! Saying A, B, C and D doesn't work without further depth is not helpful

I want us to agree on the difference between potential controllers and user-selected controllers and that only users pick controllers.

@jrieken one misunderstanding I found during discussion with @IanMatthewHuff (you can correct me if I was wrong) is the status bar item is not telling you if the controller is selected or suggested, though it's clear in either the quick pick or the API events.

@jrieken one catch I found during discussion with @IanMatthewHuff (you can correct me if I was wrong) is the status bar item is not telling you if the controller is selected or suggested,

Yeah, only through the status bar tooltip. Not the best UI...

@rebornix and I just had a long chat on teams regarding this in the AM.
To be clear, what @DonJayamanne mentioned here I've already done.

@IanMatthewHuff I think the only other place we're blocked is our tests, we don't know what has been selected/preferred. I guess we can change the tests to call method on the controller manager to check whether the right controller had been setup as preferred.

When we set the preferred controller on document open at the same time I send basically a fake "selected" method. For the purposes of our code when we set a preferred controller we consider that controller selected and start our prewarming and whatnot. Also for our tests we can then tell what the preferred controller is. What we have now I believe we can work with. @DonJayamanne do you agree? Not fully sure if there are widget issues that I'm not aware of currently.
Per @jrieken 's post.

I want us to agree on the difference between potential controllers and user-selected controllers and that only users pick controllers.

Yup, we are in agreement on this. The confusion for me on this was more around the state that preferred controllers were in before user-selected controllers were added into the mix. Relevant to this comment here:

This is the catch. The UI only shows one suggested controller but in fact there can be many preferred controllers for a single notebook.

There were two confusing bits about the status bar UI regarding this for me.

From the status bar UI in the state where no controller is selected there appears to be a preferred controller, or at least a more preferred controller, not a bucket of preferred controllers. Per your comments above this is not the case. I was confusing the one suggested controller with a more highly preferred controller.
If you execute in this state where there is no user selected controller yet the implicit selection happens at execution time. Given that one controller was explicitly shown in the status bar UI my assumption was that this implicit selection was basically happening in real time, continually updating as more controllers were added or if new affinities were set. This is not the case though, until execution there is just a bucket of preferred items, and no implicit selection happens until execution.

A few things that I was discussing with @rebornix from this AM.

I was concerned about knowing when and how updateNotebookAffinity would take effect. In our test code if I know that I've called updateNotebookAffinity with our preferred controller do I know that right away I can execute a cell in the file and get that preferred controller via the implicit selection? From the discussion above I believe that I can rely on this. Since updateNotebookAffinity is sync as long as it has returned I should be safe to execute as my preferred controller would be added to the preferred controllers bucket and would be selected by the selection that takes place during first execution.
If our code to find a preferred controller fails (so a document opens, but we don't call updateNotebookAffinity for any of our NotebookControllers on it) what controller would we prewarm? Given the discussion above the UI would just be showing a list of all the registered controllers and would pick one of them on execution. I think this just means that in our extension we need to make sure that if we want to prewarm we need to pick a preferred controller. If we don't have metadata in the file, just fall back on some heuristic for the most reasonable controller that we have.
If we optimistically pre-warm when we set a preferred controller what about the case where another extension also registers a preferred controller. As I understand, at execution time vscode will just select between the two controllers based on some heuristic and we might have prewarmed a controller that doesn't actually execute when the user runs. I think this could be possible, but at this point it just is what it is. Our extension will just prewarm and not be called on execute. Probably not a huge deal.

Summary: I think that we have a better understanding on our side now. For the Jupyter extension we can get the behavior that we want by doing what we are already doing, on document open setting a single preferred controller and then treating that controller as the expected target launch controller (prewarming and what not) in our code. In our test code we can assume that as soon as we set controller affinity we can execute on the document and vs code will have that preference.

For the Jupyter extension we can get the behavior that we want by doing what we are already doing, on document open setting a single preferred controller and then treating that controller as the expected target launch controller (prewarming and what not) in our code.

That is good to hear and also sounds reasonable to me. In my (simplified?) mental model jupyter does the following

When being activated find jupyter-kernels and create corresponding notebook controllers
When notebook documents (ipynb) are being opened set affinity and optimistically pre-warm kernel etc
When a pre-warmed kernel is not used, then tear it down after some time has passed

For the UI side, I am working on making things more explicit. There is two cases for which I have a proposal, both are for the case in which no controller has been selected yet
Case 1: no kernel has been selected, there is only 1 kernel available
This is the github issue notebook case and presumably the case for many "simple" notebooks that only have a single controller. We stick to the concept of implicit selection. Today, only execute is an implicit selection trigger but we are thinking of adding more of these implicit trigger reasons.
https://user-images.githubusercontent.com/1794099/116534552-f3b91380-a8e2-11eb-902d-98f9e40997e9.mov
There is only one controller for the 'test.nodebook'-file. That controller is suggested and becomes selected when pressing run. 🤔 The status bar picker is disabled but we could also show a picker with a single entry
Case 2: no kernel has been selected, multiple kernels are available
This is the jupyter case and the UI is now making you explicitly select a controller. The status bar entry is more prominent and shows a selection affordance. Also, when selecting run you must select a controller to continue
https://user-images.githubusercontent.com/1794099/116535012-8bb6fd00-a8e3-11eb-8245-a5c84c9b22fb.mov
There are multiple controllers for the test5.lnb-file. The status bar entry shows more prominent and wants you to make a selection. Pressing run also shows the picker first. Note the slight difference in the picker: its placeholder says "select controller" vs "change controller"

🤔 The status bar picker is disabled but we could also show a picker with a single entry

Replying to myself: ✔ did that, even with a single controller you can pick (and select) that controller

The one issue I see here is that the controller terminology which works well on the API side now flows through to the Jupyter world. There, as a user, I don't know what a controller is, but I do know kernels. We should use the kernel terminology in the UI.

Thanks @jrieken
I believe https://github.com/microsoft/vscode/issues/122415#issuecomment-829109276
Will resolve the issues we have, and the behavior will be similar to what it was prior to kernel push


Bug - manually adding location doesn't update results in sidebar

מציאת הפגנות באזורי
In the sidebar, click on שינוי כתובת
Change to a different address

Expected: sidebar get's updated with relevant protests.
Actual: Old results stay

I fixed this in #43

This issue should have been closed.


Failed to load class "org.slf4j.impl.StaticLoggerBinder"

> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

what is the solution

what is the solution


Add Sherlock provider for locator suggest endpoint

This was tested using masquerade but it should work with any esri locator service.

Actually, just found a bug...

OK. This is ready for another look.

@steveoh This is ready for a look when you get some time.


En-dash for number ranges

I was planning to add a line in punctuation.js to replace a hyphen between two numbers without a space with an en-dash (14-31 days  → "14–31 days").
It looks like for ranges with a space, we're expecting it to be replaced with an em-dash. I'm unsure if this is by design but the test HTML (and the Chicago style) calls for an en-dash. Should this be corrected or is there a different rule for ranges with spaces that I'm missing?
Thanks!

That sounds interesting, I would like to investigate this further. Found some very nice notes here too, I'm adding some others below:
Dash in Dates & Numbers

Between times: 1200–1600
Between times: 6 am–8 am
Between days: Monday–Friday
Between dates: 12–15 October
Between months: June–August
Between years: 1967–1969

Dash in any range:

Pages 2–4
100–150 people

Do's and Don'ts
Don't use "From" or "To"
Don't use the word "from" or "to" if you're using a dash to show a range.
If you're not using a dash, then you can use "from" and "to." Don't mix these conventions.

Correct: Lunch break is 1200–1300.
Correct: Lunch break is from 1200 to 1300.
Incorrect: Lunch break is from 1200–1300.

Another example:

Incorrect: Nelson Mandela was president of South Africa from 1994–1999.
Correct: Nelson Mandela was president of South Africa from 1994 to 1999.
Incorrect: Homer eats between 60–75 donuts per month.
Correct: Homer eats between 60 and 75 donuts per month.

I’ve been referencing this blog post a lot lately, thin spaces with an en-dash looks nice. https://clagnut.com/blog/2419

That's a great resource. How can I help implement this?


Automatic import of numerical tools

It would be wonderful to have the major numerical packages imported automatically.

import pandas as pd
import numpy as np
from pylab import plt
import seaborn as sns
from sklearn import linear_model, preprocessing, grid_search, tree, metrics, pipeline, ensemble, cross_validation

If it is too long to import those packages,  I suggest a "-n" ie "--numerical" option that import the major packages.
It would also be nice to convert the input, but I am not sure which behavior should be implemented.

Are you aware that you can say:
py 'numpy.arange(3)'
0
1
2

numpy and pandas have been addressed in https://github.com/Russell91/pythonpy/commit/12eaa7fb79e6799e94e5255f86d64765589cec4f. I don't think the others are common enough to warrant special exceptions (even pandas was a bit of a stretch). But adding others in the future could make sense.


cmake not build with BASEMENT_HOST_COMPAT_TOOLCHAIN: "0"

cmake not build with BASEMENT_HOST_COMPAT_TOOLCHAIN: "0"
just for me?
/home/mhaase/ws/fdt.bobrecipes/dev/dist/libs/libuv-dev/x86_64-bob-linux-gnu/1/workspace/usr/lib/libuv.a(libuv_la-fs.o): In function `uv__mkostemp_initonce':
/home/mhaase/ws/fdt.bobrecipes/dev/src/libs/libuv/1/workspace/src/unix/fs.c:280: undefined reference to `dlsym'
/home/mhaase/ws/fdt.bobrecipes/dev/src/libs/libuv/1/workspace/src/unix/fs.c:286: undefined reference to `dlerror'
collect2: error: ld returned 1 exit status
[456/520] Linking CXX static library Source/libCMakeServerLib.a
[457/520] Linking CXX executable bin/ctest
[458/520] Building CXX object Tests/CMakeLib/CMakeFiles/CMakeLibTests.dir/testArgumentParser.cxx.o
[459/520] Building CXX object Tests/CMakeLib/CMakeFiles/CMakeLibTests.dir/testCTestBinPacker.cxx.o
[460/520] Building CXX object Tests/CMakeLib/CMakeFiles/CMakeLibTests.dir/testCTestResourceAllocator.cxx.o
ninja: build stopped: subcommand failed.
++ bob_handle_error 1
++ set +x
Step failed with return status 1; Command: ninja ${MAKE_JOBS:+-j "${MAKE_JOBS}"} "$@"

I've never tested BASEMENT_HOST_COMPAT_TOOLCHAIN=0 to be honest. What did you try to build? I'll look at it in the evening...

Works for me (on Debian GNU/Linux 10 (buster)):
$ cd tests/linux
$ bob dev -DBASEMENT_HOST_COMPAT_TOOLCHAIN=0 buildall/devel::cmake -j

Either your host misses some development packages or something else is broken for your system.
But why do you build with BASEMENT_HOST_COMPAT_TOOLCHAIN=0? Do you need to build with some special host compiler or libraries?

i am not really interested into this, this was just a try to get python3 buildable. with my private machine, i got this now.
let's close this ticket. thanks so fare. i should check my office-pc.

Ok, then I'll close it. Feel free to reopen if you suspect an error in the recipes for builds without a compatibility toolchain...


Kaori Miyazono

Issue no: #4

I am thanking you for adding the hacktoberfest tags. Please merge it as October comes to an end.


Invariance of $F$ under gauge transformations of $A$

Important feature is that, while $F_A = \nabla \wedge A$ is invariant under gauge transformations $A \mapsto A - \nabla \phi$, $F$ is not.

Clarification: I've defined $F = \langle \nabla M \rangle_2$ so that it satisfies $$\nabla F = J$$ by construction. Gauging gives the equation $$\nabla F - I A F = J.$$ Saa argued that this equation was not gauge invariant under $$M \mapsto M - \nabla \phi,$$ and my argument here was to dispute that in the general setting where $$M = M_e + I M_b.$$
However, it is certainly the case that the equation above is not gauge invariant under $$A \mapsto A - \nabla \alpha,$$ even though $F_A$ is. That is, gauge transformations of $F_A$ affect the physical content of $F$.

My conventions for $F_A = \nabla \wedge A$ and $F = \langle \nabla M \rangle_2$ convolute things. I should maybe switch $A$ and $M$ or use $a$ instead of $A$.

Can this lack of invariance be rectified by insisting that $F \mapsto F e^{I \phi}$?


Ability to mutate product variant name.

productvariant.name is present in both schemas :
product_productvariant
order_orderline
I'm not sure why it has been ommited in graphql spec but it's pretty useful to have ability to set this field.
In case it is a deliberate omission ignore this PR.

Screenshots

Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Database queries are optimized and the number of queries is constant.
[ ] Database migration files are up to date.
[ ] The changes are tested.
[ ] GraphQL schema and type definitions are up to date.
[ ] Changes are mentioned in the changelog.

We omitted this field on purpose, as the idea behind variant names was that they will hold the string representation of attributes assigned to a variant. So if my variant has two attributes "size" and "color" with some values assigned, the variant name would be e.g. "Red - XL". This saves database queries when rendering variants as we don't have to fetch all attribute values.
I think this may be a bit confusing and should store the representation of the attributes in some other field, while "name" would be just the optional name of a variant? What do you think @patrys?

We have very custom use case when we have just a few products and 100's of variants. So the name definitely helps to distinguish the variants. For the case @maarcingebala is describing postgresql's  JSONB or Array fields would be a more suited alternative. I also agree it is a bit confusing to be using name field as a string representation of variants attributes.


hyper v is not show in my window feture but show in system information

#pleaser can anyone help me to solove this is problem.
i want to disble hyper v for haxm installation
and also i am enable the vertuallization from bios thanku

Thanks for your questions. You may refer to this wiki page to set up your host environment.

Thanks for your questions. You may refer to this wiki page to set up your host environment.

i have amd ryzen graphics
is it reason perhaps?

Currently HAXM only supports Intel CPU and it may be the cause of your problem if your CPU brand is AMD.

1 error

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2s
at makeError (C:\adeshfile\adershsurf\node_modules\execa\index.js:174:9)
at C:\adeshfile\adershsurf\node_modules\execa\index.js:278:16
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async runOnAllDevices (C:\adeshfile\adershsurf\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:109:5)
at async Command.handleAction (C:\adeshfile\adershsurf\node_modules\@react-native-community\cli\build\index.js:192:9)

info Run CLI with --verbose flag for more details.
C:\adeshfile\adershsurf>
I have also this error come durin make run react native app
at makeError (C:\adeshfile\adershsurf\node_modules\execa\index.js:174:9)
at C:\adeshfile\adershsurf\node_modules\execa\index.js:278:16
what should i edit in this folder?
please help bro.


Convert video to GIF improvements

Hi matey,
Great repository, especially with the MOV 2 GIF conversations.
Which I found very valuable, but I got frustrated with a couple of things:

Apple Shortcuts – didn't work for me (it's probably new thing, which is not available to me
I replace it with Automator workflow, a bit of learning here for me.
So now, everyone can invoke the conversion via a context menu  on a video file in Finder > Quick Actions (if they read the instructions)
made the script a bit robust with an UI feedback to the user.
updated the on-demand invocation with the curl

Feel free to take some bits from my PR or nothing. (The whole is not recommended because of the PATHes references.) So, it is not the PR that you could directly take and merge, but rather a communication conveyed to you.

Hi! Thx a lot for your PR. I will take a deeper look during this weekend.
Can you describe me what didn't go well with Apple shortcuts?

Hi! Thx a lot for your PR. I will take a deeper look during this weekend.
You're welcome:) I'm glad you're responded.
You may like the shell script improvement, but maybe not the readme.  I guess, if it is working for the latest macOS, then you certainly want to keep the "Shortcuts" part. So, I might update it to have those two options of installations: via Shortcuts or via Automator.
But I'll wait for your response.

Can you describe me what didn't go well with Apple shortcuts?
Alright, I do my best: It literally did nothing when clicked on "Get Shortcut" button.
In the console I could see this error msg:
Failed to launch 'workflow://shortcuts/db18892750f3453c83d57281915be17f' because the scheme does not have a registered handler.
I guess it is because I don't have the Shortcuts app installed, but as I said it is not available to me :-( I'm on v11.7.10 and can't upgrade.

It is weird. This shortcut works very well for on MacOS. Which version of MacOS do you have?

I checked more in details your changes and I will definitely merge them! I just want to test the shell script separately since it impacts both Apple Automator and my Apple Shortcut and I need to be sure it works for both.

Of course! Testing is important and I'm glad you've done it too:)
I spent a couple of days (not entirely) by improving and testing the script and then writing the doc (readme) as I thought it would be great to share it with the world but wanted to contribute the improvements back to the source:)
Well, as I wrote, I'm on v11.7.10 which is Big Sur and I can't upgrade, which I think is the reason, why it doesn't work for me.
I can revert (or improve the readme) instruction, so it will keep your original Apple Shortcut assets (as you've confirmed it is working) and I add my Aotmater bits there as a fallback instruction.
Let me know your thoughts.

Yes I think it would a good idea to show the Automator as a fallback since it requires more setup. Apple Shortcuts just requires to click on the link. Maybe we can show the section like MacOS v... and below so people understand for which reason they should use Automator.

Oki, sounds like a plan. I'll update the instructions over the weekend (busy now) and yeah, hopefully, you could take those bits.
Cheers.

Oki, sounds like a plan. I'll update the instructions over the weekend (busy now) and yeah, hopefully, you could take those bits.
Cheers.

Thank you. A really appreciate!

Hi there, sorry it took me that long. Last weekend I was mostly away, so didn't have a chance.
Anyway, I did my best to update the instructions, which you can read nicely rendered in my repo.
The only concern I do have, is the path to the script as I use my repo in the path, instead of yours.... Not sure how to go around it.
I will highlight it in that diff for the instructions files.

Thank you a lot for your PR, I also accepted the tag hacktoberfest so it can be added to your profile I think: https://hacktoberfest.com/


Update dependencies

Update 3rd-party modules and supported node engine. Switch to the new Buffer API available since v4.5.0.

Coverage remained the same at 100.0% when pulling 280de1a15cbd9c0920a66b639ecb24e255dd14d8 on support/update-dependencies into 1b696876c51b3785df4d9d21ee3617564206255d on master.


activate at specific time

I'd like to set a specific time for it to activate instead of x from now.

Hi @bjlockie, unfortunately I don't see any "simple" UI to do that in a notification.
This will end up defeating the whole purpose of this straightforward sleep timer app.
You can still fork this repo if you want to and build this feature ;)


Lock Icons with mac resolution on windowed

I have a macbook pro 14" with a 3024x1832 in game windowed resolution
my max world generation is set to 20%

In the first image with 9 worlds on wall, 4 of them are fully generated (locked previews) and 5 are at 20%
out of the 4 locked worlds only 1 of them has an icon and it is much larger than it should be
The default simulated window size was 1512x916 (50% of in game resolution on each dimension)
I have tried 3024x1832, and 1920x1080. All the resolutions have the same behavior
However the icons function correctly in fullscreen as shown in the 2nd image. It is only windowed that causes this behavior.

could you send your seedqueue and standardsettings config files?
you can find them in .minecraft/config/mcsr/
could you also check if setting your Gui Scale to 1 in StandardSettings fixes your issue?

are you using retino?

Fixed by https://github.com/KingContaria/seedqueue/commit/8cc9e3f1db363c8b2d905fe4c623a8cd7344144a, forgot to add that to the commit message


Fatal Error

Whenever i start up the manager , it shows me this

Were you able to fix this error? I recently reinstalled GL and have it.


decouple business logic

Hey!
I would propose a change to decompose the business logic from the HAL dependent parts.
The motivation is to be able to use just the core logic, if needed. I have a project where I am using a lot of rotaries and ran out of real MCU pins. So that I read them through shift-registers. and I was not able to properly set up fake OutputPins with this setup in a way, where it could be moved into the RotaryEncoder instances.
 I tested it and works great.
I did the change for StandardMode first, to have something to discuss, but the approach should also work with the angular mode as well.

Hey @libesz !
Thanks for the suggestion, I totally agree, we should have this library decoupled from the Pin traits and just pass bools instead. Although I would go with a slightly simplified different approach
I think it would be better just to remove reference to the Pins entirely from both StandardMode and and AngularMode, and simply pass bools to the update function.
Then once that logic is decoupled, RotaryEncoder could be renamed "RotaryEncoderCore" and then create another wrapping struct "RotaryEncoder" that consumes the pins.
Wdyt?

Hey!
Thanks for the input. I am not sure how your suggestion is different than what is in the PR 😄 sorry.
So I removed the reference to the Pins in StandardMode and just using bool inputs from the caller: https://github.com/ostenning/rotary-encoder-embedded/pull/9/files#diff-cf82145bdc03093795bf0aed602b62f5e6932d28918e683430af047df946b914R21
This will also work with AngularMode.
The RotaryEncoder is now an owner of both an instance of the core logic and the Pins. It is feeding the core logic with bools. This way the library should be fully backward compatible, while the core logic can be used on it's own.

Hey @ostenning !
Let me ping this one. I don't get how your suggestion is different from mine. Please let me know ☺

No issues, thanks for taking another look! I hope this is 100% fine also for any other use-cases.
However, I did not refactor the angular velocity version of the logic in this PR. I will look into the updates of that as well and post it in another PR, hopefully soon. 🤞

@libesz there were issues with the angular velocity stuff, so I've fixed that. Basically you can now just use the StandardMode or AngularVelocityMode directly and bypass the pins. See the README for how to do this.
Thanks!


Can't change story journal entries to other types of sheets or rename them.

I want to change the name/title of the story sheets, but for some reason I can't change the sheets into other ones, nor can I rename them.

Fixed in recent versions


AI

Question
I want Leon to improve by Leon knowing Information all around the globe knowing Places,Tech, if you can do it Thanks.

Uhhh...
Leon is AI, you can make it use different LLMs varying in complexity


Create a button inside the code editor next to where the code is written/read/displayed.

Can you please create a button inside the code editor next to where the code is written/read/displayed? It would be better if this button can be a part of a debugger extension that is when there is an error in a line of code, the user can click this button to update with corrected lines of code suggested by the code editor.
It would be highly appreciated if this feature can be added to Visual Studio Code Editor at the earliest.
Thanks.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Random state per connection

In the stress test, the random generator is initialized once per context. Consider having a generator context per connection. For example, random generator might be f(crypto_key, initial_cid, number_space, packet_number). This would allow for replay of a connection, identified by its CID.

This requires identifying the connection during the trials, and then keeping state per connection.

Done. State is kept per ICID, which works on both client and server.


cf8468a breaks apps that don't use Application.Current

Describe the bug
Starting with commit cf8468a3f86ce7fa56f75405c707b595706f9d77 and therefore 3.0-preview8, you can no longer use theming on buttons if your app doesn't use the Application.Current app lifetime. (In my case, because the main portion of the app is WinForms.)
To Reproduce
In an empty WPF app, add a button to MainWindow.xaml:
<wpfui:Button
	Width="100"
	Height="40"
	Appearance="Primary">
	Hello
</wpfui:Button>

Then, replace the constructor with:
public MainWindow()
{
    foreach (var uri in new[]
    {
        "pack://application:,,,/Wpf.Ui;component/Resources/Theme/Light.xaml",
        "pack://application:,,,/Wpf.Ui;component/Resources/Wpf.Ui.xaml"
    })
    {
        resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri(uri) });
    }
    InitializeComponent();
}

This will throw:

System.Windows.Markup.XamlParseException: ''Provide value on 'System.Windows.Markup.StaticResourceHolder' threw an exception.' Line number '308' and line position '6'.'
Exception: Cannot find resource named 'SystemAccentColorPrimary'. Resource names are case sensitive.

Unfortunately, that's still the case if I explicitly add the resource to my window:
Resources["SystemAccentColorPrimary"] = Colors.Red; // still throws!

Only if I explicitly add it to the application's resources does the exception go away:
Application.Current.Resources["SystemAccentColorPrimary"] = Colors.Red; // works, but I'd rather avoid it

Expected behavior
WpfUi should IMHO avoid tight coupling with Application.Current. While fine for apps that newly or entirely WpfUi styling, this approach isn't ideal for apps that want to transition to use it in places. There are previous discussions on this in #837, #662, #668, etc.
OS version
Windows 11 22H2 23590.1000
.NET version
.NET Framework 4.7.2; .NET 7
WPF-UI NuGet version
3.0 previews 8 through 10, but not preview 7, nor 2.1.
Additional context
No response

https://github.com/lepoco/wpfui/pull/840 related


fix(python): do not set PIP_USER

No longer set PIP_USER=yes.
It's no longer required by pip as ist installing as user automatically asn we have latest pip in all python images.
fixes renovatebot/renovate#8547

build/pip.sh and build/poetry.sh are only used in tests. Maybe we can remove them?


inventory now support defaults and inheriting from multiple groups

Ok, I think this is the last enhancement I want to do before reviewing the documentation and releasing the first stable version.
There are two changes introduced here:

Ability to associate multiple groups to a Group or Host
The introduction of "defaults"

Multiple groups
Basically any group and host can have attached multiple groups to it instead of just one. The way resolution works is bottom up and left to right. For instance:
host(g1, g2)
g1(g3, g4)
g2(g5, g6)
In this case if we look for var X we will search in the following order:
host -> g1 -> g3 -> g4 -> g2 -> g5 -> g6
I decided to go with this method because it is very easy to reason about and as easy to implement.
defaults
The introduction of defaults serves a "similar" purpose as the old "all" group. However, defaults is not really a group, it's a dictionary with default variables that is consulted if a var is not found in any of the parent groups. It's better to illustrate it with an example. Imagine the following:
host(g1, g2)
g1(g3, g4)
g2(all)
g3(all)
g4(all)
Now, if you search for a variable present in "all" your resolution order is going to be as follows:
host -> g1 -> g3 -> all
If you search for a variable present in "defaults" and no "all" group what you'd get is:
host -> g1 -> g3 -> g4 -> g2 -> defaults
So you'd traverse all the possibilities before using the default value.
P.S: I still have pending updating the docstrigs. I just wanted to get the discussion out before.

The general proposal sounds reasonable for both items. I think for the groups hierarchy the key things is the easy to reason about and easy to implement.
The defaults sounds fine.
Is this what this would look like in practice at least for the defaults (from your changed files)?
---
defaults:
    group: null
    domain: acme.com
bma-leaf:
    group: bma
bma-host:
    group: bma
bma:
cmh-leaf:
    group: cmh
cmh-host:
    group: cmh
cmh:

Why do we need the group: null in the defaults? I also assume the default behavior for Simple Inventory would be to create a blank defaults if none was provide.
In other words, this would be similarly valid (minus not specifying a default domain)
---
bma-leaf:
    group: bma
bma-host:
    group: bma
bma:
cmh-leaf:
    group: cmh
cmh-host:
    group: cmh
cmh:

Is this what this would look like in practice at least for the defaults (from your changed files)?

Yes. Note though that I renamed group -> groups and that it's a list to acomodate multiple groups:
---
bma-leaf:
    groups: [bma]
bma-host:
    groups: [bma]
bma:
cmh-leaf:
    groups: [cmh]
cmh-host:
    groups: [cmh]
cmh:

Why do we need the group: null in the defaults?

We don't. The one you are referring to is probably something I just half updated. Will fix docs regarding this once we agree on the PR. Here is a fully working and update groups file: https://github.com/napalm-automation/brigade/pull/86/files#diff-c8e57a8e6cc57f466e72bc0aafea8708

I think this looks good. My only issue is that the groups key requires a list. Do we want this? I'm assuming this is just due to the fact that it hasn't been tested.
one.yaml
---
nas-1:
    brigade_host: nas-1
    groups: sweden

Failure:
Traceback (most recent call last):
  File "one.py", line 6, in <module>
    inventory=SimpleInventory("one.yml", "single_group.yml"),
  File "/Users/patrick/src/forks/brigade/brigade/plugins/inventory/simple.py", line 120, in __init__
    super().__init__(hosts, groups, defaults, **kwargs)
  File "/Users/patrick/src/forks/brigade/brigade/core/inventory.py", line 279, in __init__
    h.groups = self._resolve_groups(h.groups)
  File "/Users/patrick/src/forks/brigade/brigade/core/inventory.py", line 286, in _resolve_groups
    r = [self.groups[g] for g in groups]
  File "/Users/patrick/src/forks/brigade/brigade/core/inventory.py", line 286, in <listcomp>
    r = [self.groups[g] for g in groups]
KeyError: 's'

Based on the earlier code it looks like you intended this to be allowed? Other that issue I think this PR is a good addition.

Looks good to me.
I agree on @ogenstad point that we should allow a single element groups to be a string and not a list.

Based on the earlier code it looks like you intended this to be allowed? Other that issue I think this PR is a good addition.

No, I never intended that to work and I am not a fan of allowing things to have multiple types. It just adds complexity for no real benefit other than accommodating mistakes. But i can make it work if you have strong opinions about it.

Yeah, I think it goes against the ducktyping principle. So unless you or kirk has strong opinions about it I will leave it as it is. As you pointed out it is easy to fix later on anyway.

Ok, just updated the docstrings so I will merge. If there is anything else it can be changed in small PRs.


pytest_pyfunc_call now broken with python 3.6b4+ and nightly

This commit to python yesterday has broken pytest_pyfunc_call with the error
RuntimeError: Cannot run the event loop while another loop is running

Example of the failure in travis here.
I guess the default loop on the main thread needs to be stopped first?

No, it's not broken.
But your test is not correct: it is a coroutine which  starts a new loop by check_app_factory call: https://github.com/samuelcolvin/aiohttp-devtools/blob/master/aiohttp_devtools/runserver/main.py#L37

Thanks, sorry I was being dumb.