Provide a way to get extrinsic hash, when submitting a transaction

I'm using code like this, to teleport tokens:
const tx = api.tx.XcmPallet.limited_teleport_assets(...);
const result = await tx.submit(this.account.address);

I would like to have an API to get extrinsic hash for it, which that I can drop into a subscan link, like this one: https://rococo.subscan.io/extrinsic/0x14e2e103b79acc0100612c758721d70862ac6076354ed3d20a29795d3259faab

Once #347 gets merged, then it should be possible to create a hash from the extrinsic. Allow me to elaborate: as of today, the only way (using the top-level client API) to get the hash is to do something like this:
const tx = api.tx.XcmPallet.limited_teleport_assets(...);
const signedTx = await tx.getTx(this.account.address);

const hashedTx = myHashingFunction(signedTx)

However, if you do that, then you won't be able to (easily) validate, submit and watch the transaction that you just hashed. Which is, indeed, very unfortunate.
With the changes introduced on #347 you will be able to do either this:
const tx = api.tx.XcmPallet.limited_teleport_assets(...);
const signedTx = await tx.sign(this.account.address);

const hashedTx = myHashingFunction(signedTx)

const txResult = await client.submit(signedTx)
// of if you like to use observables:
// client.submitAndWatch(signedTx).subscribe(console.log)

or this:
const tx = api.tx.XcmPallet.limited_teleport_assets(...);
tx. signSubmitAndWatch(this.account.address).subscribe(event => {
  if (event.type === "signed") {
    const hashedTx = myHashingFunction(signedTx)
    console.log({hashedTx})
  }
  // Or a strongly-typed switch case over `switch(event.type)`
});

Perhaps you think that this still doesn't answer your question, because Polkadot-API is not directly providing the hash that you want.
However, AFAIK there is no such thing as a canonical way of hashing an extrinsic. Please, do correct me if I'm wrong on this, because it's quite possible that I'm mistaken.
What I mean is that the transaction that we provide through these APIs is a blob of SCALE encoded binary data, containing the extrinsic info that it's being broadcasted. You could hash that binary data in a thousand different ways, and to be honest I haven't check yet which one is the hashing method that these block-explorers are using.
The point being that: unless we have some evidence about the existence of a canonical/documented way of hashing the extrinsics, this API is not going to provide a hashed extrinsic (because it can be hashed in a million different ways)... Instead we expose the actual extrinsic and we allow the consumer to hash it however the see fit.
Once again, I could be wrong. Perhaps there is a documented/canonical way of hashing extrinsics. If that's the case then we will make sure that we provide this canonical hashing function from the public API.

However, AFAIK there is no such thing as a canonical way of hashing an extrinsic. Please, do correct me if I'm wrong on this, because it's quite possible that I'm mistaken.

For sure there is. The hashing used for the extrinsics is the same hashing as configured for the block type. I assume you can extract this from the Metadata and then use it?

The hashing used for the extrinsics is the same hashing as configured for the block type.

I actually have no idea how to get this from the metadata. Could you please help me out here? 🙏
I mean, in the case of the storage-entires, it's very simple because the storage.items.type has a hashers property that allows us to know how to properly hash the storage entry.
However, I have no idea how to get the hashing function for the extrinsic from the metadata. I have tried to find this information within the all the different properties of the metadata Extrinsic entry, but I didn't find anything in there...
Then, I thought that perhaps is the same hashing function defined for the storage entry System.BlockHash, but that doesn't seem to be the case...
If you could please let me know what's the "proper" way of getting that information from the metadata, that would be greatly appreciated.

I mean, I think that I found a rather hacky way to get it:

First we find the entry in the registry that has a path property of: ["frame_system", "EventRecord"]
For that entry we look at the type of the parameter named T
That will take us to a lookup entry with a path that looks like this: ["primitive_types", "H256"]
Then, we can try to infer the hashing function from the primitive_type defined in that path property.

It feels a bit hacky, though... Could anyone please let me know if there is a better way of getting the runtime hasher from the metadata? 🙏

I'm not aware of a straightforward way to find out the hasher from the metadata. It's an associated type in some runtime config, and the metadata doesn't contain any information about said types / type names.
In Subxt, the hasher for a chain is configured by the user prior to instantiating a client, ie:
// We define config for Subxt like this; the goal of the config is to provide
// the information / types / logic we can't otherwise extract from metadata.
pub enum SubstrateConfig {}
impl subxt::config::Config for SubstrateConfig {
    type Hash = H256;
    type AccountId = AccountId32;
    type Address = MultiAddress<Self::AccountId, u32>;
    type Signature = MultiSignature;
    type Hasher = BlakeTwo256;
    type Header = SubstrateHeader<u32, BlakeTwo256>;
    type ExtrinsicParams = SubstrateExtrinsicParams<Self>;
    type AssetId = u32;
}

// And then later, when we instantiate a client, this config is passed in.
// This config is handed around so that we have access to eg `C::Hasher`
// to know how to hash extrinsics.
let client: OnlineClient::<SubstrateConfig>::from_url("..>").await?;

I'd very much like to find a way to add this sort of information to the metadata eventually (we were going to look at this sooner but with Tadeo leaving and Alex part-leaving the team, we don't have the bandwidth right now).
If we did add this (maybe in the form of type information for each associated type in each config instance) you could inspect the name of the hasher type in order to know which hashing logic to use. (A more out there idea is that we could provide little WASM bundles or something in or pointed to by the metadata that contain the logic for things like hashing or whatever, so a client could download and use this chain-specific logic without needing to know anything at all up front)

As of right now I'm tempted to do something along the lines of this:

Allow the consumer to pass a hashing function when creating the client.
If the user has not provided one, then use the hacky method described in this comment as an attempt to obtain the hasher from on-chain data.
If that fails, then we use H256 as the final fallback.

However, I want to sleep on it... We will see.

I think we should just put Hashing from the frame_system::Config into the metadata. This would make this here much easier.

I think we should just put Hashing from the frame_system::Config into the metadata. This would make this here much easier.

Works for me!

Reopening this, as it was accidentally closed when #347 got merged.

Fixed in #507


Changed prefix for any servcies by supplier query

This used to require '123' to perform the any non-alphanumeric supplier name search
Changed to 'other' to be more clear
Matched changes in buyer app
This needs to go first

:+1:


MI - DEVELOPER section (Installing Integration Studio)

Updating the the content, links, replacing screenshots etc. on [1].
[1] https://github.com/wso2/docs-ei/blob/master/en/micro-integrator/docs/develop/installing-WSO2-Integration-Studio.md

Done. Need review.

Closing issue as it was reviewed for EI650. Will do follow up changes for EI7 after testing.


Move SYSEX buffers to high memory bank

Sysex buffers are currently defined in  main.cpp
281 uint8_t sysexBuf[5500];
282 MidiClass Midi(&MidiUart, sysexBuf, sizeof(sysexBuf));
283 uint8_t sysexBuf2[2800];
284 MidiClass Midi2(&MidiUart2, sysexBuf2, sizeof(sysexBuf2));

These are  not large enough to contain pattern dumps from Analog4 and other machines.
Suggest defining memory regions in "memory.h" for sysex and then creating put_byte and get_byte functions to shift data in and out.
The memory reclaimed in bank0 can be used for the internal sequencer.

There are some macros defined in the DataEncoder objects.
To note: we are using "DataEncoderUnchecking.hh"


once and doOnce fixed time delay

Ideally once(cond, delay = 100) do(): echo "Hello" should exist to allow users to customize the watch time instead of having a hard coded value. An overload probably should exist to enable this.

Gonna do it. Thanks.


Colourized terminal output

Similar to how nimble looks.

when the program is called with some arguments, print a hint:  message to read back the interpreted arguments/option/flag
tell the user whenever something is being pulled from the world wide web.
nice colourized error messages.

For reference did replace the exception handing with a error message as such https://github.com/beef331/picostdlib/blob/master/src/piconim.nim#L5


D2NeRF Implementation?

Will you provide an implementation of D2NeRF? The TensorFlow implementation of the original D2NeRF is not friendly to Pytorch users.
The official implementation:
https://github.com/d2nerf/d2nerf

We are not currently implementing that method, but invite others to. We have instructions here for adding a new method and registering it with nerfstudio so that other can use it.


Fix typo in the synchronous loader code example

this.callback is called with sourceMaps instead of map.

Thanks for the correction!


GDB-4775 GREL preview should use the form values

GREL preview should use the form values while you are editing a cell.

lgtm


minor_version() returns and empty string on Debian 10 Buster

The minor_version() returns an empty string ('') on Debian 10 Buster (amd64 and armhf).
The platform module reports 10.12 for the version, but the distro equivalent does not.  I consider this a bug.
# cat /etc/debian_version
10.12

In this case, distro.minor_version() should return '12', and distro.version(), distro.version_parts() should return the minor version number accordingly.
Similarly distro.build_number() also returns ''.  This may or may not be correct, but might also be a bug if falling foul of the same bug as minor_version().
>>> import platform as p
>>> import distro as d

>>> d.__version__
'1.7.0'

>>> p.linux_distribution()
('debian', '10.12', '')

>>> d.linux_distribution( full_distribution_name=False )
('debian', '10', 'buster')

>>> d.version()
'10'

>>> d.major_version()
'10'

>>> d.minor_version()
''

>>> d.build_number()
''

Hi @brendan-simon-indt, please see #332 and #339, this should be fixed in the next distro release.


Sticky header along with filterable fast adapter

Hi Mike,
Using FastItemAdapter() along with sticky header doesn't show items. I have to use FastAdapter to make items shown but that's not filterable.
rv.setAdapter(stickyHeaderAdapter.wrap(itemAdapter.wrap(headerAdapter.wrap(fastAdapter))))

Because the sticky adapter is not notified about the changes from the filter. You would have to notify it in your own afterwards

@mikepenz Can you provide an example please?

@mikepenz I tried using all adapters notifying methods but didn't help. still items are not showing while using FastItemAdapter (without filtering).

I figured out, thanks mike.

Awesome. Great :)

Could you post your solution? So others could learn. :-)

@Rainer-Lang I was wrong! I was trying to use FastItemAdapter as my base adapter, but FastAdapter supports filtering as well. I'm talking about this line. To enable filtering along with sticky header, use filtering methods for fastAdapter field (in that sample).


Could use information on Distribution Profiles

This page explains how to create a Manual or Automatic Developer profile. Where can we find information on Creating and using a Distribution Profile?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2f798d8c-b191-34a4-55dd-02005b0b6332
Version Independent ID: 2f6ec8bd-359d-a5a6-891a-6c60ff52adb7
Content: Manual provisioning for Xamarin.iOS - Xamarin
Content Source: docs/ios/get-started/installation/device-provisioning/manual-provisioning.md
Product: xamarin
Technology: xamarin-ios
GitHub Login: @davidortinau
Microsoft Alias: daortin

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


parsed document thumbnail

Hello,
Is it possible to generate a thumbnail screenshot for parsed documents that are being crawled and committed to Solr? I see that phantomjs can take screenshots of HTML pages, but I need for things like PDFs, Word docs/ppt, etc.
Thanks,
Doug

This is not available out-of-the-box.  It would be tricky to implement given you would need a "viewer" (app or library) for each type.  There are open-source projects that attempt to do this, but only support a limited set of files.  A quick search revealed the following:

https://github.com/btimby/thumbnailer (Python)
https://github.com/kig/thumbnailer (Ruby)
https://github.com/benjaminpick/java-thumbnailer/ (Java)

Not sure how well they work and in some cases, you may have to run them as an external application.
Your best integration option is probably to implement your own IDocumentTransformer and configure it as a pre-parse handler in the Importer module.  If using an external process to do so, you can look at using the ExternalTransformer.

Aha, ok...yes, this seems like a risky bit of integration, and definitely not within the client's budget/timelines.
As always, thanks!


Update gh-pages github action to install dev deps using pyproject.toml

Codecov Report

Merging #319 (844580c) into main (78da281) will decrease coverage by 0.10%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #319      +/-   ##
==========================================
- Coverage   73.68%   73.59%   -0.10%
==========================================
  Files         172      172
  Lines        8687     8687
  Branches     1400     1399       -1
==========================================
- Hits         6401     6393       -8
- Misses       2103     2113      +10
+ Partials      183      181       -2

see 6 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Missing implementation of Can-Hiberate/Can-Suspend/Can-Reboot/Can-PowerDown

When performing Hibernate/Suspend/Reboot/PowerDown, one should first check whether the system is allowed to perform the desired action using Can-Hiberate/Can-Suspend/Can-Reboot/Can-PowerDown. This is also implemented by most (all?) skins and prevents eg. shutting down the system with ongoing PVR recordings.

Seconded. It seems silly to give power options that the system is incapable of performing.


Propose IoT for advanced topics

You're welcome Sadra,
I added IoT to table of contents.
I don't have much experience in GPIO, so I can't decide it.

You're good. Thanks for updating the table. I may add it.

I think we need embedded systems topic, then GPIO would go under it, not under IoT. Your thoughts?


Clicking on preview image should enlargen it

From behaviour of other sites, I've raised the expectation, that clicking preview images automatically enlargens them.
The site currently does not do that.
To repro:

Open any app (like https://beta.flathub.org/de/apps/details/org.mozilla.firefox)
Click on the preview image

The preview image should enlargen (as if you clicked the magnifying glass next to it)
I am not sure if this is covered by #662 , but thought it'd raise an issue for it.

There's a drag interaction on the image already, I'm not sure if that would work fine with a click also being on it.
And right now the provided resolution of "zoom" images is not very good anyway.

I don't think we should do this, as it collides with the drag and while we could try to figure out if the user has a mouse etc, that's a slippery slope for very little gain.


Incorrect column names

The names of the fields do not correspond to the data, and their content changes every time I add a column to a table. For example, I have a column Date and a column ID. Sometimes the ID column shows dates (which are not present in the dataset) and sometimes it shows the content of another column.

I am experiencing the same issue. Did you have any luck solving it so far?

@all google app script already had csv parsing utilities
https://developers.google.com/apps-script/reference/utilities/utilities#parsecsvcsv
See the usage in this sample app
https://developers.google.com/apps-script/samples/automations/import-csv-sheets#step_1_set_up_the_apps_script_project

@donnykurnia we were aware of this. The native connector doesn't support getting CSV's from an URL however. Uploading CSV's every time I need to update the data, even through scripts, is very inconvenient.

@lionjashari the reason this connector code has the wrong data and column is because this code use indexOf inside getData() function. I've created my own csv connector based on the connector code in this repo, but fixing this problem. and also using the Utilities#parseCsv method instead of string splitting.
I'll add my code to github and then you could try it.

@lionjashari see the updated code here
https://github.com/donnykurnia/fetch-csv


Request to provide a RAG example?

this is a cool project. I can make it run well on my meteorlake system.
btw, would you kindly provide a RAG (Retrieval Augmented Genration) example that can refer to external documents using RAG technique? Soon or later. Thanks.
Reference link: https://github.com/yas-sim/openvino-llm-chatbot-rag

I think is a great idea! I was working on some splashy demos like Lora fine-tuning but this is a much lower hanging fruit. Given the nature of this library I think we should aim for lanchain smooth integration

Exactly, go with langchain is the most popular RAG solution! Hope I can help validate soon!
https://python.langchain.com/docs/expression_language/cookbook/retrieval

@alessandropalla
I managed to verify using NPU as device with this GitHub https://github.com/yas-sim/openvino-llm-chatbot-rag.  However it turns out the error logs as it cannot support dynamic shape...
I was using 'dolly2-3b'.  Hence there should be not a memory issue.

File "/opt/intel/openvino/python/openvino/runtime/ie_api.py", line 543, in compile_model
super().compile_model(model, device_name, {} if config is None else config),
RuntimeError: Exception from src/inference/src/core.cpp:113:
[ GENERAL_ERROR ] Exception from src/vpux_plugin/src/plugin.cpp:579:
get_shape was called on a descriptor::Tensor with dynamic shape

Therefore I checked the openvino documents about NPU device. Mentioned it has certain limitations.
https://docs.openvino.ai/2023.3/openvino_docs_OV_UG_supported_plugins_NPU.html

Currently, only the models with static shapes are supported on NPU.  <---
Running the Alexnet model with NPU may result in a drop in accuracy. At this moment, the googlenet-v4 model is recommended for classification tasks.

Could you kindly verify whether this limitation is observed from your end? Thanks a lot.
output.log
CPU/iGPU works well.

How did you enable the NPU inference on that repo? I suggest to edit Line 59 of openvino-rag-server.py with the following (like the llama.py example)
model = AutoModelForCausalLM.from_pretrained(model_id, use_cache=True).eval()
model = intel_npu_acceleration_library.compile(model, dtype=torch.int8)

You should also import the proper libraries
from transformers import AutoModelForCausalLM
import intel_npu_acceleration_library

Appreciate for your suggestions! I can use NPU for inferencing RAG now. Although both CPU and NPU are with extremely high loading.
Do you know what the policy is for the resource assignment on CPU and NPU within your library?

I'm trying to reverse eng. the script you provided. From that one it seems that the embedding model runs on CPU while the llm runs on mixed NPU/CPU. Then it really depends on the model used. Library default offload torch.nn.Linear layers and few others to NPU but we have ad-hoc optimizations for some networks. We want to add torch.nn.functional.scaled_dot_product_attention to offload to NPU and I'm working on that. Also the more you offload at the same time the better, as explained very well here.
The  NNFactory class can be used to create custom graphs to offload to the NPU (example here for MLP) and is the next logical step for this library performance journey:

torch.compile -> fx graph -> subgraph extraction -> NPU

External contributions are very welcomed by the way if you want to implement some ad-hoc backend on NPU

Not sure what I can contribute to this project. Hopefully you can give me some more hints.
btw, I verified multiple times that the LLM powered RAG has performance with CPU (13words/s) > GPU (8words/s) > NPU (3 words/s). I wonder if it is proper to offload more loads to NPU.  It seems not as you expected.

Hi @alessandropalla
I would like to verify this library with CPU, GPU as inferencing devices as well for platforms without NPU. How to configure the compile API?
And even wonder if it can also support AMD platforms. Thanks.

Can you clarify what script are you using so I can debug performance? Also I'd like to know more about your usecases for heterogeneous compute so I can adapt the compile API to user's need.
Related to AMD support, it is not in our short term roadmap but I'm very sensitive of community needs so if you have a strong usecase I'd love to hear it

Hi @alessandropalla,
Kindly ignore the title for request to support RAG. We shall focus on LLM performance at first.
Therefore no need new script/python code, I recommend just to use the llama.py to benchmark performance with xPU options. So far there is no parameter to choose the device with the API.  Or this API/library is meant to use NPU mandatorily?
No hurry for AMD support. Thanks. :)

Ok, I'll go to close the issue then. I'll keep you posted in the next releases


name added

added my name to the list

code has been updated, can you merge now?

Please I am sorry for all the trouble we have caused you but count it all joy. Your PR is about to be merged and you will be able to see your name on this url.
To enable me to do this, READ the README again carefully, update your code with the latest and push the update. I am here for you for the next 6 hours before I close the PR so you can initiate a fresh PR which will be easier to merge.


Quote name portion of recipient for Mailgun

If the name portion of a recipient contains a comma, weird things will happen. With multiple recipients, some of them will be chopped off without any warnings or errors.
This changes the formatting from
Acme Inc, headquarters<EMAIL_ADDRESS>to
"Acme Inc, headquarters"<EMAIL_ADDRESS>Ref: https://stackoverflow.com/questions/35370571/how-to-add-a-comma-to-a-mailgun-from-field-for-outbound-emails
Ref: http://www.rfc-editor.org/rfc/rfc2822.txt

Note that the display names for Joe Q. Public and Giant; "Big" Box needed to be enclosed in double-quotes because the former contains the period and the latter contains both semicolon and double-quote characters (the double-quote characters appearing as quoted-pair construct).

This bit me HARD, so I hope you'll consider this PR.
Thanks!

Hi @tmjoen , thanks for the first time contribution! The test failure seems like an easy fix. If you could take care of that, I'll merge this PR right in. If not, I'll fix it tomorrow (Australia time).
@stevedomin this will need a patch release.

Hello @tmjoen,
Thanks for the report and PR. This definitely needs to be fixed.
Your PR looks great, I've just one minor thing to ask. This bug was fixed in the Postmark adapter and I'd like to use a sigil there as well. Can you make the change?
Thanks

Ah, didn't see @princemaple reply :)
I can take care of the test failure don't worry!

Thanks for the fast replies!
I pushed some fixes

Thanks @tmjoen! It's perfect.
We'll push a minor version out now.

@tmjoen version 0.9.1 is out: https://hex.pm/packages/swoosh


Add Kasidit (Kass) Ouitayakul to Contributors list

Please accept my pull request, thank you.

Hi  @kouitayakul, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

@Roshanjossey , I felt overwhelmed trying to understand what to do initially, but the list made it simple and very comprehensible, thank you.

I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://goo.gl/PM1Jdh


Implement CEP-12 to generate run_exports.json

Description

Following approval of CEP-12, this PR implements how to generate the run_exports.json documents along repodata.json.

New API kwargs: write_run_exports=<bool> (defaults to false)
New CLI flags: --run-exports / --no-run-exports

Checklist - did you ...

[x] Add a file to the news directory (using the template) for the next release's release notes?

[X] Add / update necessary tests?
[ ] Add / update outdated documentation?

@dholth - this is ready for review!


OSError: Read-Only file system: '/assets'

Running the script on a mac, i get an error trying to write to /assets. This is coming from line :105, and works if i change it to a relative path instead of the root directory.  See pull request for my fix.

I think I came up with a solution. Try the version that I just committed to the repository.


Improve Bower Workflow

Overview
This change removes the bin files from version control and create a process with allows for Bower releases to be published on Github.
This requires the publishing to be done with NPM first and then the Github release is created (this is a change to our existing workflow @GoodBoyDigital ). To do a release, first we publish to NPM:
# "patch" can also be "minor" or "major"
npm run publish:patch

This script bumps the release, rebuilds and pushes everything in current branch to the "release" branch. NOTE: when a Github release is created, it needs to reference the "release" branch (not "master") in order to work for Bower.
Builds are versioned only in the "release" branch. For folks looking for the latest build, they can use/download from our S3 bucket.
Changes

Cleaned up the Bower ignore list
Updated Travis to not build twice

@GoodBoyDigital could you weigh in or merge? I think this is a good publish process update and removes bin files from versioning.

Let's do it!


use k8s_cluster_info to get api version availability from the cluster

fixes: https://github.com/kiali/kiali/issues/5857

To test this, I just installed the latest minikube with dex, installed Istio, built and pushed the images via make build build-ui cluster-push then ran ./hack/run-molecule-tests.sh -dorp podman -ce $(which kubectl) -mp ci -ct minikube -udi true. Everything passes:
=====================
=== TEST RESULTS: ===
=====================

              accessible-namespaces-test... success [9m 46s]
     affinity-tolerations-resources-test... success [4m 20s]
                      config-values-test... success [3m 26s]
                  default-namespace-test... success [2m 28s]
                            grafana-test... success [4m 20s]
                        header-auth-test... success [2m 38s]
                      instance-name-test... success [3m 34s]
                             jaeger-test... success [3m 18s]
                            metrics-test... success [4m 28s]
                     null-cr-values-test... success [2m 26s]
                only-view-only-mode-test... success [3m 24s]
                             openid-test... success [2m 22s]
                     openshift-auth-test... skipped
                   os-console-links-test... skipped
                 read-certs-secrets-test... success [2m 18s]
                              roles-test... success [6m 37s]
                    rolling-restart-test... success [3m 20s]
                              token-test... success [2m 43s]

a quick smoke test just to make sure nothing broke, you can just do a make build build-ui cluster-push operator-create kiali-create to ensure Kiali is installed and the operator works.

It seemed to work although my Kiali pod seemed a little sluggish to start, it was sitting at 0/1 container for about 30s. Usually it starts immediately.

That is concerning. Let me hold off on merging this. I want to do some perf tested here. It is expected to be slower at start up, but not by that much. This is due to the introduction of the usage of:
- name: Get api version information from the cluster
  k8s_cluster_info:
  register: api_status

Running the operator profiler while on minikube, I can see this new task takes just under 1 second (I highlighted the profile line that shows this - search for <<<< and >>>).... so this should not be a concern, it is run only one time per reconciliation.
Tuesday 21 February 2023  21:41:54 +0000 (0:00:00.013)       0:00:25.618 ******
===============================================================================
default/kiali-deploy : Create resource [service] on [kubernetes] -------- 1.18s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 1.00s
default/kiali-deploy : Get information about the operator --------------- 0.96s
default/kiali-deploy : Determine if the operator can support accessible_namespaces=** - can_i create clusterroles --- 0.95s
default/kiali-deploy : Create resource [ingress] on [kubernetes] -------- 0.94s
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
default/kiali-deploy : Get api version information from the cluster ----- 0.91s
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
default/kiali-deploy : Create resource [deployment] on [kubernetes] ----- 0.86s
default/kiali-deploy : Create resource [role] on [kubernetes] ----------- 0.71s
default/kiali-deploy : Create resource [rolebinding-controlplane] on [kubernetes] --- 0.71s
default/kiali-deploy : Determine if the operator can support accessible_namespaces=** - can_i create clusterrolebindings --- 0.68s
default/kiali-deploy : Create resource [serviceaccount] on [kubernetes] --- 0.67s
default/kiali-deploy : Create resource [role-controlplane] on [kubernetes] --- 0.67s
default/kiali-deploy : Get information about any existing signing key secret if we need to know if it exists or not --- 0.67s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 0.66s
default/kiali-deploy : Remove HPA if disabled on Kubernetes ------------- 0.65s
default/kiali-deploy : Create resource [configmap] on [kubernetes] ------ 0.60s
default/kiali-deploy : Create resource [rolebinding] on [kubernetes] ---- 0.60s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 0.59s
default/kiali-deploy : Create kiali-signing-key secret to store a random signing key if a secret does not already exist and we need one --- 0.58s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 0.56s
default/kiali-deploy : Add label to kiali-signing-key secret to make it known this Kiali instance will be using it --- 0.53s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 0.53s
default/kiali-deploy : Update CR status progress field with any additional status fields --- 0.53s
default/kiali-deploy : Find all namespaces (this is limited to what the operator has permission to see) --- 0.36s
default/kiali-deploy : Determine if the currently installed role binding in the deployment namespace is view-only --- 0.35s
default/kiali-deploy : Find current configmap, if it exists ------------- 0.33s
default/kiali-deploy : Find current deployment, if it exists ------------ 0.31s
default/kiali-deploy : Get api group information from the cluster ------- 0.25s
default/kiali-deploy : Autodetect remote cluster secrets within the Kiali deployment namespace --- 0.24s
Run the version-specific deploy role ------------------------------------ 0.20s
default/kiali-deploy : Determine the Kubernetes version ----------------- 0.19s
default/kiali-deploy : Replace snake_case with camelCase in deployment.affinity.node --- 0.16s
default/kiali-deploy : Set default root namespace ----------------------- 0.15s
default/kiali-deploy : Replace snake_case with camelCase in deployment.affinity.pod --- 0.14s
default/kiali-deploy : Replace snake_case with camelCase in deployment.affinity.pod_anti --- 0.14s
default/kiali-deploy : Replace snake_case with camelCase in deployment.hpa.spec --- 0.13s
default/kiali-deploy : Replace snake_case with camelCase in external_services.prometheus.query_scope --- 0.11s
default/kiali-deploy : Replace snake_case with camelCase in deployment.configmap_annotations --- 0.11s
default/kiali-deploy : Create Kiali objects on Kubernetes --------------- 0.11s
default/kiali-deploy : Replace snake_case with camelCase in external_services.tracing.query_scope --- 0.10s
default/kiali-deploy : Replace snake_case with camelCase in deployment.security_context --- 0.10s
Override the supported images if found in the environment --------------- 0.10s
default/kiali-deploy : Replace snake_case with camelCase in external_services.prometheus.custom_headers --- 0.10s
default/kiali-deploy : Replace snake_case with camelCase in deployment.tolerations --- 0.10s
default/kiali-deploy : Replace snake_case with camelCase in external_services.custom_dashboards.prometheus.custom_headers --- 0.10s
default/kiali-deploy : Replace snake_case with camelCase in deployment.node_selector --- 0.09s
default/kiali-deploy : Replace snake_case with camelCase in deployment.service_annotations --- 0.09s
default/kiali-deploy : Replace snake_case with camelCase in deployment.pod_annotations --- 0.09s
default/kiali-deploy : Replace snake_case with camelCase in external_services.custom_dashboards.prometheus.query_scope --- 0.09s
default/kiali-deploy : Replace snake_case with camelCase in deployment.pod_labels --- 0.09s
default/kiali-deploy : Only allow ad-hoc kiali namespace when appropriate --- 0.09s
default/kiali-deploy : Print some debug information --------------------- 0.08s
Examine environment and determine if supported image for the requested version is overridden even if no default is known --- 0.07s
default/kiali-deploy : include_tasks ------------------------------------ 0.07s
default/kiali-deploy : set_fact ----------------------------------------- 0.07s
default/kiali-deploy : Create Kiali objects on OpenShift ---------------- 0.06s
default/kiali-deploy : api.namespaces.label_selector is deprecated but if api.namespaces.label_selector_include is not set then use the old setting --- 0.06s
default/kiali-deploy : Make sure instance_name follows the DNS label standard because it will be a Service name --- 0.06s
If upgrade is in progress then run the old version-specific remove role to purge old install --- 0.06s
Kiali CR status --------------------------------------------------------- 0.06s
default/kiali-deploy : include_tasks ------------------------------------ 0.06s
default/kiali-deploy : deployment.ingress_enabled is deprecated but if deployment.ingress.enabled is not set then use the old setting --- 0.06s
Kiali CR identification ------------------------------------------------- 0.06s
default/kiali-deploy : Set default istio namespace ---------------------- 0.06s
default/kiali-deploy : Replace snake_case with camelCase in deployment.additional_service_yaml --- 0.06s
default/kiali-deploy : include_tasks ------------------------------------ 0.06s
default/kiali-deploy : Replace snake_case with camelCase in deployment.resources --- 0.06s
Make sure a default supported image or an override image is known ------- 0.06s
default/kiali-deploy : include_tasks ------------------------------------ 0.06s
Playbook start time ----------------------------------------------------- 0.06s
default/kiali-deploy : include_tasks ------------------------------------ 0.06s
default/kiali-deploy : Set default deployment namespace to the same namespace where the CR lives --- 0.06s
default/kiali-deploy : Replace snake_case with camelCase in deployment.ingress.override_yaml --- 0.06s
Determine the version that is to be installed --------------------------- 0.06s
default/kiali-deploy : Create Ingress on Kubernetes if enabled ---------- 0.05s
default/kiali-deploy : include_tasks ------------------------------------ 0.05s
default/kiali-deploy : Set default web root based on cluster type ------- 0.04s
default/kiali-deploy : Listing of all accessible namespaces (includes regex matches) --- 0.04s
default/kiali-deploy : Abort if all namespace access is not allowed ----- 0.04s
default/kiali-deploy : Set default HPA api_version ---------------------- 0.03s
default/kiali-deploy : Abort if accessible namespaces contains namespaces not labeled --- 0.03s
default/kiali-deploy : Set default Tracing in_cluster_url for grpc consumption --- 0.03s
default/kiali-deploy : Validate signing key, if it is set in the CR ----- 0.03s
default/kiali-deploy : Set current deployment last-updated annotation timestamp for new deployments --- 0.03s
default/kiali-deploy : Create additional Kiali role bindings on all accessible namespaces on OpenShift --- 0.03s
default/kiali-deploy : Set default Grafana in_cluster_url --------------- 0.03s
default/kiali-deploy : Set default Istio service that provides version info (istiod service that was introduced in Istio 1.6) --- 0.03s
default/kiali-deploy : Point signing key to the generated secret -------- 0.03s
default/kiali-deploy : Provide some default resource limits ------------- 0.03s
default/kiali-deploy : Make sure label_selector_include is in the valid format name=value --- 0.03s
default/kiali-deploy : Set default identity cert_file based on cluster type (non-OpenShift clusters do not get a default identity) --- 0.03s
default/kiali-deploy : Set deployment.accessible_namespaces to a list of full namespace names --- 0.03s
default/kiali-deploy : Set default identity private_key_file based on cluster type (non-OpenShift clusters do not get a default identity) --- 0.03s
default/kiali-deploy : Determine version_label based on image_version --- 0.03s
default/kiali-deploy : Determine the version of the operator based on the version label --- 0.03s
default/kiali-deploy : Get labeled accessible namespaces ---------------- 0.03s
default/kiali-deploy : set_fact ----------------------------------------- 0.03s
default/kiali-deploy : Set default Prometheus URL ----------------------- 0.03s
default/kiali-deploy : fail --------------------------------------------- 0.03s
default/kiali-deploy : Create additional Kiali role bindings on all accessible namespaces on Kubernetes --- 0.03s

It seemed to work although my Kiali pod seemed a little sluggish to start, it was sitting at 0/1 container for about 30s.

Actually, now that I read your comment carefully :) what you are saying has no bearing on this PR. The Kiali SERVER is unaffected by this PR... so it has no affect on Kiali server start up times. This only affects the operator reconciliation. But as soon as the Kiali server pod is created, however long it takes for that pod to start is completely unrelated to this PR.


Unable to use expressions that start with literals in the view macro

I can't use expressions that start with literals in the view macro, after the :, for some reason.
relm4::view! {
        mut vec = Vec::new() {
            push: "foo".to_string(),
        }
    }

This fails:
error: expected `,`. Did you confuse `=` with`:`?
  --> src\main.rs:57:24
   |
57 |             push: "foo".to_string(),
   |                        ^

Any other usage of literals seems to work fine, the following examples compile:
let s = "foo".to_string();
relm4::view! {
    mut vec = Vec::new() {
        push: s, // variable
    }
}

relm4::view! {
        mut vec = Vec::new() {
            push: (|| "foo".to_string())(), // closure (conditions and loops also work)
        }
    }

relm4::view! {
        mut vec = Vec::new() {
            push: "foo", // just the literal
        }
    }

The same problem with number and boolean literals.
The issue exists on both 0.4 and the latest git.

Again, thanks for letting me know. This seems to be caused by the parsing logic of syn's expression type that terminates before the dot. You should be able to avoid this by using brackets or parenthesis, a closure works too, but is a bit overkill for this kind of problem.
That said, it would be more convenient if brackets or parenthesis weren't needed so I will try to improve this soon.

So actually there was a part of the macro that parsed literals where I thought whole expressions were parsed. I've removed that now, so parsing literals should also parse the rest of the expression correctly.


Fix navbar active items when using themes.

@jmervine: I added a second patch sort of unrelated to this issue but I find this cleaner. If you have any reason to use /bootstrap/ hardcoded let me know.

:+1:


Replace smol by tokio

This is awedome !!! Thanks @brunocodutra ! such a nice project ! 👏

@merqurio glad you find it useful!


core: LibcameraApp::SetControls has a "merge" option, true by default

This allows new controls to be added to the stored list rather than replacing it. As before, the argument is invalidated.
Signed-off-by: Nick Hollinghurst<EMAIL_ADDRESS>

This is something we discussed, though I'm not sure if we really need it. Currently nobody calls LibcameraApp::SetControls()

Yep, LGTM. I guess I'm mildly amused that no one even calls this thing yet, but presumably we will start doing so soon with some of our other updates? Let me know when you'd like me to push the Big Green Button!

Yes, I am calling it now and it seems to work, but I guess a bit more testing (e.g. to check that the merge precedence works the correct way around) would not go amiss. I'll do that today.

Yikes. A precondition of ControlList::merge() is that
* Only control lists created from the same ControlIdMap or ControlInfoMap may
 * be merged. Attempting to do otherwise results in undefined behaviour.

My change would require an application-writer to always create temporary control lists with the same ControlIdMap value that LibcameraApp used for its internal list, or risk a crash. This is obviously not convenient for anybody.


Resizing two host folders at the same time gives error

Sia-UI-v1.3.0-RC4, Win10
Resizing host folders one after the other is no problem, but when i try to resize them at the same time (start resizing the second one before the first one has finished) i get "Error Resizing Folder - unable to migrate all sectors".
In the contractmanager.log i get several lines of "storagefolderempty.go:200: Unable to write sector: not enough storage remaining to accept sector".
Not a big issue, but maybe you can implement it so that those commands run consecutively.

Recommendation to devs: tag as "feature request" and "programming task"


Replace RestTemplate with FeignClient for Bamboo

close #82

Github Actions failed due to bot authorization issue, could be fixed by running again on the main branch, so I'll still merge it.


pilot,Apple Id password correct as well as wrong

Issue Description
At step pilot,it tell me login to iTunes Connect successful but when submit to TestFlight,it shows [Transporter Error Output]: Your Apple ID or password was entered incorrectly. (-20101)
it confused me,is this a bug or I missed something?
Complete output when running fastlane, including the stack trace and command used

[14:10:13]: -------------------
[14:10:13]: --- Step: pilot ---
[14:10:13]: -------------------
[14:10:13]: Login to iTunes Connect<EMAIL_ADDRESS>[14:10:26]: Login successful
[14:10:27]: Ready to upload new build to TestFlight (App:<PHONE_NUMBER>)...
[14:10:27]: Going to upload updated app to iTunes Connect
[14:10:27]: This might take a few minutes, please don't interrupt the script
[14:10:30]: [Transporter]: INFO: Transporter is searching for updated software components.
[14:10:35]: [Transporter]: INFO: Transporter is up-to-date.
[14:10:35]: [Transporter]: INFO: Logging configured successfully.
[14:10:35]: [Transporter]: DEBUG: Attempting refresh of configuration data from https://contentdelivery.itunes.apple.com/transporter/Defaults.properties
[14:10:35]: [Transporter]: DEBUG: Configuration refresh successful.
[14:10:35]: [Transporter]: DEBUG: Saving configuration to local path: /Users/pan/.itmstransporter/Defaults.properties
[14:10:35]: [Transporter]: INFO: iTMSTransporter : iTunes Store Transporter [1.8.8]
[14:10:35]: [Transporter]: INFO: OS identifier: Mac OS X 10.11.3 (x86_64); jvm=24.80-b07; jre=1.7.0-internal-root_2015_05_12_09_52-b00
[14:10:35]: [Transporter]: INFO: Memory: [JVM] 879M free, 982M total, 982M max [System] (Physical) 280M free, 16384M total (Swap) 1249M free, 3072M total
[14:10:35]: [Transporter]: INFO: Upload mode selected.
[14:10:35]: [Transporter]: INFO: Examining the package at: /tmp/1096997704.itmsp
[14:10:35]: [Transporter]: INFO: Ensuring that package has well formed metadata file...
[14:10:35]: [Transporter]: DEBUG: Getting case-sensitive metadata xml filename...
[14:10:35]: [Transporter]: INFO: Gathering the list of valid files from the package ...
[14:10:35]: [Transporter]: DEBUG:   87788e02689efe6a74267e43dc09d66e.ipa will be verified by Apple's web service to determine if it is a valid file.
[14:10:35]: [Transporter]: DEBUG:   metadata.xml will be verified by Apple's web service to determine if it is a valid file.
[14:10:35]: [Transporter]: INFO: Finished gathering the list of valid files from the package.
[14:10:35]: [Transporter]: DEBUG:   Case-sensitive metadata filename is: metadata.xml
[14:10:35]: [Transporter]: INFO: Performing authentication of package<PHONE_NUMBER>.itmsp ...
[14:10:35]: [Transporter]: DBG-X: Memory: [JVM] 869M free, 982M total, 982M max [System] (Physical) 279M free, 16384M total (Swap) 1249M free, 3072M total
[14:10:35]: [Transporter]: DBG-X: Memory: [JVM] 869M free, 982M total, 982M max [System] (Physical) 279M free, 16384M total (Swap) 1249M free, 3072M total
[14:10:35]: [Transporter]: DBG-X: Using operation named: authenticateForSession
[14:10:35]: [Transporter]: DBG-X: Apple's web service operation input parameters:
[14:10:35]: [Transporter]: DBG-X:   parameter Application = iTMSTransporter
[14:10:35]: [Transporter]: DBG-X:   parameter BaseVersion = 1.8.8
[14:10:35]: [Transporter]: DBG-X:   parameter OSIdentifier = Mac OS X 10.11.3 (x86_64); jvm=24.80-b07; jre=1.7.0-internal-root_2015_05_12_09_52-b00
[14:10:35]: [Transporter]: DBG-X:   parameter Password = **hidden value**
[14:10:35]: [Transporter]: DBG-X:   parameter TransporterArguments = -m upload -u<EMAIL_ADDRESS>-p **hidden value** -f /tmp/1096997704.itmsp -t Signiant -k 100000
[14:10:35]: [Transporter]: DBG-X:   parameter Username =<EMAIL_ADDRESS>[14:10:35]: [Transporter]: DBG-X:   parameter Version = 1.8.8
[14:10:35]: [Transporter]: DBG-X:   parameter iTMSTransporterMode = upload
[14:10:35]: [Transporter]: INFO: id =<PHONE_NUMBER>1035-482
[14:10:37]: [Transporter]: DBG-X: Apple's web service operation return value:
[14:10:37]: [Transporter]: DBG-X:   parameter ErrorMessage = Your Apple ID or password was entered incorrectly. (-20101)
[14:10:37]: [Transporter]: DBG-X:   parameter Errors = [Your Apple ID or password was entered incorrectly. (-20101)]
[14:10:37]: [Transporter]: DBG-X:   parameter ErrorCode = -20101
[14:10:37]: [Transporter]: DBG-X:   parameter Success = false
[14:10:37]: [Transporter]: DBG-X: Deflated 452 bytes to 392
[14:10:37]: [Transporter]: DBG-X: Using operation named: validateMetadata
[14:10:37]: [Transporter]: DBG-X: Apple's web service operation input parameters:
[14:10:37]: [Transporter]: DBG-X:   parameter Application = iTMSTransporter
[14:10:37]: [Transporter]: DBG-X:   parameter BaseVersion = 1.8.8
[14:10:37]: [Transporter]: DBG-X:   parameter Files = [87788e02689efe6a74267e43dc09d66e.ipa, metadata.xml]
[14:10:37]: [Transporter]: DBG-X:   parameter Metadata = <?xml version="1.0" encoding="UTF-8"?>
[14:10:37]: [Transporter]: DBG-X:   parameter MetadataChecksum = 8679df979022dec0be3464e10bb95f4c
[14:10:37]: [Transporter]: DBG-X:   parameter MetadataCompressed = (suppressed)
[14:10:37]: [Transporter]: DBG-X:   parameter OSIdentifier = Mac OS X 10.11.3 (x86_64); jvm=24.80-b07; jre=1.7.0-internal-root_2015_05_12_09_52-b00
[14:10:37]: [Transporter]: DBG-X:   parameter PackageName =<PHONE_NUMBER>.itmsp
[14:10:37]: [Transporter]: DBG-X:   parameter PackageSize = 41377654
[14:10:37]: [Transporter]: DBG-X:   parameter Password = **hidden value**
[14:10:37]: [Transporter]: DBG-X:   parameter Throttle = 100000
[14:10:37]: [Transporter]: DBG-X:   parameter TransporterArguments = -m upload -u<EMAIL_ADDRESS>-p **hidden value** -f /tmp/1096997704.itmsp -t Signiant -k 100000
[14:10:37]: [Transporter]: DBG-X:   parameter Username =<EMAIL_ADDRESS>[14:10:37]: [Transporter]: DBG-X:   parameter Version = 1.8.8
[14:10:37]: [Transporter]: DBG-X:   parameter iTMSTransporterMode = upload
[14:10:37]: [Transporter]: INFO: id =<PHONE_NUMBER>1037-563
[14:10:37]: [Transporter]: DBG-X: Apple's web service operation return value:
[14:10:37]: [Transporter]: DBG-X:   parameter ErrorMessage = Your Apple ID or password was entered incorrectly. (-20101)
[14:10:37]: [Transporter]: DBG-X:   parameter Errors = [Your Apple ID or password was entered incorrectly. (-20101)]
[14:10:37]: [Transporter]: DBG-X:   parameter ErrorCode = -20101
[14:10:37]: [Transporter]: DBG-X:   parameter Success = false
[14:10:37]: [Transporter Error Output]: Your Apple ID or password was entered incorrectly. (-20101)
The login credentials for<EMAIL_ADDRESS>seem to be wrong
Do you want to re-enter your password? (y/n)
n
[14:13:44]: Please run this tool again to apply the new password
[14:13:44]: [Transporter]: DBG-X: The error code is: -20101
[14:13:44]: Transporter transfer failed.
[14:13:44]:
[14:13:44]: Your Apple ID or password was entered incorrectly. (-20101)
[14:13:44]: Return status of iTunes Transporter was 1: Your Apple ID or password was entered incorrectly. (-20101)
[14:13:44]: Your Apple ID or password was entered incorrectly. (-20101)
Return status of iTunes Transporter was 1: Your Apple ID or password was entered incorrectly. (-20101)
[14:13:44]: Password contains special characters, which may not be handled properly by iTMSTransporter. If you experience problems uploading to iTunes Connect, please consider changing your password to something with only alphanumeric characters.
[14:13:44]: Could not download/upload from iTunes Connect! It's probably related to your password or your internet connection.
[14:13:44]: Variable Dump:
[14:13:44]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :IPA_OUTPUT_PATH=>"/Users/pan/DEV/iOS/sp/Zainar.ipa", :DSYM_OUTPUT_PATH=>"/Users/pan/DEV/iOS/sp/Zainar.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/pan/Library/Developer/Xcode/Archives/2016-03-28/Zainar 2016-03-28 14.07.41.xcarchive"}
[14:13:44]: Error uploading ipa file, more information see above

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:

fastlane_version "1.64.0"

default_platform :ios

platform :ios do
  before_all do
    cocoapods

  end

  desc "Runs all the tests"
  lane :test do
    scan
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    gym(scheme: "Zainar") # Build your app - more options available
    pilot
  end

  desc "Deploy a new version to the App Store"
  lane :appstore do
    gym(scheme: "Zainar") # Build your app - more options available
    deliver(force: true)
  end

end

Environment
fastlane version (fastlane -v):
fastlane 1.64.0

Do you have any of these characters in the password for the Apple ID<EMAIL_ADDRESS>|  &  ;  <  >  (  )  $  `  \  "  '  <space>  <tab>  <newline>

If yes, then this is probably related to #3832.

@dusek Thanks for answer. I've read #1503 and #3832 carefully,double check my password. it's not contain any characters above.
The only two special characters in my password are . and  !.Maybe because of this characters?
.is the end of password.Maybe because of it?

I'm also facing this issue, my password has # and @ special chars.

@dusek @gfpacheco The team is currently looking into these issues. Feel free to update if you have any patterns or new details that might help us. Thanks again for using Fastlane :+1:

@TKBurner I added some observations in https://github.com/fastlane/fastlane/pull/3832#issuecomment-202555984

I'm experiencing this on a Pilot step as well. My password includes a #.
fastlane (1.68.0)
fastlane_core (0.40.0)

I'm seeing this issue as well, my password only has ! as a special character

I'm also seeing this with ! as the only special character in my password.

+1, I have ! in my password.

+1 i am also having !, Anyway @KrauseFx and team will solve this.
#2422

+1 I'm having a & in my password

+1 - Same here. I have multiple of those special characters in my password.

Having the same issue. I tried to run the iTMSTransporter binary manually, with my password double quoted and it worked fine

Hi folks - we've just shipped fastlane_core 0.41.1 :rocket:  This contains an experimental fix for the iTMSTransporter password woes.
If you're interested in trying this fix and helping us validate it before we turn it on by default, please do the following:

Run gem update fastlane_core and be sure that you get 0.41.1
Set the environment variable FASTLANE_EXPERIMENTAL_TRANSPORTER_AVOID_SHELL_SCRIPT=1

I tried to make it longer, but they wouldn't let me :wink:

Run fastlane\pilot\deliver as normal with your strong password
Let us know what you see! We're hoping you're back in business.

There's some more information over at the PR. Thanks! :raised_hands:

@mfurtak   thanks for reply.
after update fastlane_core to 0.41.1,I've tried env FASTLANE_EXPERIMENTAL_TRANSPORTER_AVOID_SHELL_SCRIPT=1 fastlane beta,but log shows:
[10:55:05]: -------------------
[10:55:05]: --- Step: pilot ---
[10:55:05]: -------------------
[10:55:06]: Login to iTunes Connect<EMAIL_ADDRESS>[10:55:11]: Variable Dump:
[10:55:11]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios tf"}
[10:55:11]: buffer error

Hi @DeveloperPans - thank you for giving it a try! :+1:
Can you run one more time with --verbose at the end of your command and post the full output? Thanks!

We've now pushed the change that should fix this. Let me know if you update your gems if you still run into this issue. Closing this issue out :+1: Check out #4003 for details.

Cheers @TKBurner Great work Team 👍


Add hints to yield_now to allow schedulers to deprioritize a yielding thread

Tasks that implement busy-wait loops or other infinite loops are a fairness
issue for schedulers like PCT, which will run a thread indefinitely until it
blocks. This change makes both sync and async versions of yield_now act as
a hint to the scheduler that the current task should be deprioritized. Only
the PCT scheduler acts on this hint, by moving the current task to the lowest
priority. We could also make the DFS scheduler react to this hint by not
allowing it to re-schedule the current task immediately, but that would be
unsound.

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

Good idea, done.


Cannot load configuration wizard

Version of the integration
2.10.4
Describe the bug
When I go to add the integration, it gets stuck on loading the configuration wizard:
Please wait, starting configuration wizard for kia_uvo

Debug logs if an error occurred
There are no logs in the server log or browser console logs
To Reproduce
Go to Integrations > Add Integration
Expected behavior
The configuration wizard loads
Screenshots

Additional context
Tried in Safari and Firefox
Have waited 5 minutes, nothing changes

If no logs restart home assistant and try again.


Conformance results for v1.17/EKS

Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] If this is a new entry, have you submitted a signed participation form?
[ ] Did you include the product/project logo in SVG, EPS or AI format?
[ ] Does your logo clearly state the name of the product/project and follow the other logo guidelines?
[ ] If your product/project is open source, did you include the repo_url?
[ ] Did you copy and paste the installation and configuration instructions into the README.md file in addition to linking to them?

Found v1.17 in logs

Automatically verified as having all required tests present and passed

Found v1.17 in logs

Automatically verified as having all required tests present and passed

Automatically verified as having all required tests present and passed

Found v1.17 in logs

Automatically verified as having all required tests present and passed

Automatically verified as having all required tests present and passed

Found v1.17 in logs

Automatically verified as having all required tests present and passed

Automatically verified as having all required tests present and passed

This conformance request failed to include all of the required tests for v1.17

The first test found to be mssing was [sig-network] DNS should resolve DNS of partial qualified names for services [LinuxOnly] [Conformance]

Testing completed


Notebook output only visible on host

Describe what happened:
After starting a live share session with a jupyter (python kernel) notebook opened I was able to join that session and collaborative edit and run cells. However, the output only appeared on the hosting instance. Even when the cell was executed from the guest output only appeared on the host. Even saving the file on the host, then closing and opening the file again on the guest did not help (there are just no outputs). See screenshot below.
What was your system configuration?
Product and Version VSCode: 1.58.0-insider (Commit: 57930758db9e2c83f59b9ee1851400bd16192d32)
OS Version[macOS/Windows]: Linux x64 5.8.0-59-generic, Ubuntu 20.04.2
Live Share Extension Version: v1.0.4498
Target Platform or Language [e.g. Node.js]: jupyter (python kernel, but same problem with R and julia kernels)
Steps to Reproduce / Scenario:

Open a .ipynb file or create and save a new one.
Start live share session and join as a guest
Co-edit the notebook and execute cells producing output (e.g. print("Hi"))
See output appear on host but not on guest

Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
logs_host.zip
Screenshots
Host on the left has outputs, guest on the right with no outputs:

Hey @iimog, thanks for reaching out with a detailed explanation of the issue. There are a few known issues with cell execution but at this point, showing output is expected. I'll investigate and work on a fix. Thanks!

I'm pretty sure this is the problem: https://github.com/microsoft/vscode/issues/127884

Hey @iimog, this isn't repro-ing for me on the latest version of Insiders with the latest version of Live Share. Can you give it a try and let me know if you're seeing outputs?

Unfortunately, I still have the same problem. Output only appears in the host notebook. When I start the live share session now, a notification pops up for the guest in the bottom right corner:
"Extension 'Live Share' failed to update workspace folders: Error: Unable to write into the file because the file is dirty. Please save the file and try again. Source: Live Share (Extension)"
Not sure if this is related and which file I'm supposed to save.
My versions are now:
VS Code Version: 1.59.0-insider (commit: 807dfb817fef0d0c5729c1924bd4889b04fa405b)
Jupyter Version: 2021.8.1025925145
.NET Interactive Notebooks Version: not installed
Python Version: 2021.7.1012204448-dev
Live Share Version: 1.0.4568

Hey @iimog,  I was able to repro today and have a fix that will be released with the next Live Share extension release. I don't believe it is dependent on any extension versions, so feel free to go back to using up-to-date versions of the extensions. I am not exactly sure what scenarios lead to this - it seems for me when I download a new update of Insiders, the first session I share/join works as expected, and then any subsequent session has this infinite pending execution issue for the guest. The problem is related to the host sending excessive messages to the guest updating the state of the cell. Live Share expects the state update messages to come in a certain order, so receiving multiples messages updating to the same state was causing the problem.
Here is my repro:

Here is the new behavior:

Thanks for your patience as we work through these notebook bugs.

Awesome! Thank you so much for the fix. Looking forward to using it.


Nullpointer in Node.js

We are seeing a weird issue when publishing test results:
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal
  ----- Native stack trace -----

   1: 0xb82b0c node::OnFatalError(char const*, char const*) [/opt/github-runner/externals/node20/bin/node]
   2: 0xeee6b0 v8::api_internal::ToLocalEmpty() [/opt/github-runner/externals/node20/bin/node]
   3: 0xcc2144  [/opt/github-runner/externals/node20/bin/node]
   4: 0xf5596f v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/opt/github-runner/externals/node20/bin/node]
   5: 0xf561dd  [/opt/github-runner/externals/node20/bin/node]
   6: 0xf566a5 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/opt/github-runner/externals/node20/bin/node]
   7: 0x1960df6  [/opt/github-runner/externals/node20/bin/node]

  ----- JavaScript stack trace -----

  1: readFileSync (node:fs:448:20)
  2: parseFile (/opt/github-runner/_work/_actions/mikepenz/action-junit-report/v4.2.2/dist/index.js:467:21)
  3: parseTestReports (/opt/github-runner/_work/_actions/mikepenz/action-junit-report/v4.2.2/dist/index.js:675:69)

This error appears with both v4 and v4.2.2 after processing roughly half of the test results (2160 lines vs. 4430 lines for the full report). It's only in one of our branches and but there it's reproducible reliably.

Based on the stack trace this is thrown here: https://github.com/mikepenz/action-junit-report/blob/ac30be7acb0a361e5492575ab42e47fcadec4928/src/testParser.ts#L155
As it happens within node, I am not sure there's a lot we can do to prevent this. as the node version installed on the system is outside of the actions control

While it should practically be possible to compile with a newer node version I doubt that this makes a difference as the node runtime itself being dependent on the runner.
From action developer perspective we only define this: https://github.com/mikepenz/action-junit-report/blob/main/action.yml#L121 to set which runtime to pick.
As far as I am aware node20 is the latest runtime GitHub actions supports at this time

I have not tried, but I don't see a reason why it wouldn't as unless some of the github dependency stack or so uses a now removed node functionality. which I doubt.

Thanks for your response. Closing as I also don't think there's a lot we can do. unless we identify how to safely reproduce it, in which case we could maybe catch the problem and give a proper warning


Removed time_quantum query option

Tested with: https://github.com/pilosa/pilosa/pull/699

Coverage remained the same at 100.0% when pulling 27ddc3799dfe7b9885e3fcd85a422e52f9e00ca3 on yuce:remove-query-option-timequantum into 58359a3325993a84abf4d82884f618c3802c06b5 on pilosa:master.

Coverage remained the same at 100.0% when pulling 01cba4ffd049a04e9c86990304cebcc53f1a09eb on yuce:remove-query-option-timequantum into 58359a3325993a84abf4d82884f618c3802c06b5 on pilosa:master.

Coverage remained the same at 100.0% when pulling 2d8ed66557b7bc90e71a3227690bd150cedda381 on yuce:remove-query-option-timequantum into 58359a3325993a84abf4d82884f618c3802c06b5 on pilosa:master.

I had to include .travis.yml change, since otherwise the travis ci opendjk7 task fails (due to some bug in their new containers).


nested .gitignore breaks ios projects

Steps to Reproduce

flutter create MyApp
Push entire project (MyApp/) to a repo (anywhere)
rm -rf MyApp
git clone https://repoStore.com/{username}/MyApp.git
cd MyApp
flutter run
App explodes

The main error is The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
Due to the fact that MyApp/ios/.gitignore exists and ignores a bunch of crucial files, flutter run simply doesn't do enough when you have a 'fresh clone' of a repo.
Solution

Install CocoaPods brew install cocoapods or gem install cocoapods

Inside MyApp/ios/ run the command pod install

This will regenerate all the files that the .gitignore left out.

/cc @collinjackson

tested with ```
flutter create myapp && cd myapp && git init && git add . && git commit -m "init" && rm -rf * && git checkout . && flutter run


oAuth not working

I fixed a couple bugs but I'm still getting invalid grant... Not sure whats going on... Maybe axios is adding some headers. Saleforce is super picky when it comes to oAuth.

related: https://salesforce.stackexchange.com/questions/172980/errorunsupported-grant-type-error-descriptiongrant-type-not-supported
It looks like axios might be passing the data in the header...

also: https://github.com/mzabriskie/axios/issues/362

Let me look at this, my guess is it will be an easy fix

yes...
Step 1: Don't forget to include security token w/ password
Turns out my previous commit was enough to fix the issue


Returning [object Object]

When using this snipp:
    $('textarea').textcomplete([
    {
        match: /\B:([\-+\w]*)$/,
        search: function (term, callback) {
          callback(term, true);
          $.getJSON('search', { keyword: term })
            .done(function (resp) { callback(resp); })
            .fail(function ()     { callback([]);   });
    },
        replace: function (value) {
            return ':' + value + ': ';
        },
        index: 1
    }
], {
    onKeydown: function (e, commands) {
        if (e.ctrlKey && e.keyCode === 74) { // CTRL-J
            return commands.KEY_ENTER;
        }
    }
});

The drop down contains nothing more than:

I´am returning the results with json_encode. And from Chrome dev tools i can see that i get a respons with options from search?keyword=
Using jQuery 2.1.3
Is it possible to change to AJAX?
EDIT:
And if i continue typing my input that i want, i get Uncaught TypeError: Cannot use 'in' operator to search for '1' in jquery.js:546

Hey,
you get a list of objects from the response, because JavaScript deserialized the incoming JSON. Try logging the values with console.log to see what they contain. Then, in your replace function, simply return value.yourField to show that value in the auto-complete.
replace: function (value) {
    return ':' + value.yourField + ': ';
}

Greets

Thanks for your answer!
But, how would I log the values to console.log?

No problem!
Ah, I see. You must add both a "template" and a "replace" function. In both you must return "value.aktie". The "template" function creates the values that are displayed in the autocomplete; the "replace" function creates the value that is inserted when the users selects a value. See if that works! :-)

Thank you so much! It seems to work, kinda...
Now i get the error Uncaught TypeError: Cannot use 'in' operator to search for '0' in s and when googling for a solution i find that downgrade jQuery to anything but 2.1.4 would fix this. But no, I have tried all of them with same error, or no function at all.
See this thread: https://github.com/jquery/jquery/issues/2242
It seems to be a problem with DataTables, I don't really know what that even is.


clipper2: use lib.platforms.all

Description of changes
While there might actually be broken platforms, there is no reason to limit supported platforms to just Linux systems.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 326844 run on aarch64-darwin 1

1 package built:

clipper2


The first one is not selected by default in controlled mode

When value is passed in from the outside, even if it is undefined, it should take the value of value instead of taking the first configuration item by default, see the following example:
https://stackblitz.com/edit/react-7an8od?file=demo.tsx
In the Form of antd, this behavior makes the user mistakenly think that the first one has been selected for him, but other components in Form do not have this behavior.

close #177

ping @vagusX @zombieJ


S-mode external interrupt

Summary
This PR brings S-mode external interrupt in BP.
Area
Mainly bp_be_csr.
Verification

s_external_interrupt.c from bp-tests
Have tested it on Zedboard running Ethernet connection in Linux.

Additional Context
For now I set the S-mode interrupt address to 0x30_a000. Not sure if it really makes sense.
Also, I only considered single-core case, so I didn't do updates for modules like bp_tile, bp_core.

Fixed some nits, but looks good to me! Thanks!


wip: start exploring some new ideas

How about making it modular, I think that would be a welcome move by the majority of kickstart users. The single file init.lua is hard to read. In this PR a couple of sections are rearranged and it already makes the diff hard to follow. If the categories would be split into separate files this could be avoided.

No. A major benefit is that you can get kickstart working with a simple copy paste if you want. I will show how to extend with modular examples but I think it's overkill and over-complicates the onboarding for a brand new user.
I don't think diff history is a good enough tradeoff here

Not arguing for modular versus not here. Zero skin in that game..
BUUUUT you can't just copy/paste init.lua into place, and you haven't been able to since the Lazy refactor. It errors out if you do.
You have to clone the entire repo as discussed in the README.
I'd be super happy if we could go back to making your original video work for people because ZOMG do we get a lot of unhappy campers trying that, failing, and reporting bugs :\

How about making it modular, I think that would be a welcome move by the majority of kickstart users. The single file init.lua is hard to read. In this PR a couple of sections are rearranged and it already makes the diff hard to follow. If the categories would be split into separate files this could be avoided.

I've thought this myself BUT are we suffering from the curse of knowledge ?
One might argue that when you reach the point where you want to start slicing and dicing kickstart, maybe you should do so in a fork :)

https://github.com/nvim-lua/kickstart.nvim/assets/1813121/b64c11c0-7878-4503-87c0-a7dd401535ad

cmp-no-select-enter.mov

OK so if I'm understanding the intent of this video correctly, you're saying that having a default selection impedes the flow of your typing when you don't want what's been selected.
Gotcha.
@tjdevries Do you encounter this and if so how do you work around it?

Might well also add lsp-zero and heirline

Might well also add lsp-zero and heirline

Pardon my ignorance but isn't that what we're using Mason for?

If you mean mason-lspconfig, then yeah

@tjdevries, here is my humble draft suggestion for including 'mini.nvim':
  { -- Collection of various small independent plugins/modules
    'echasnovski/mini.nvim',
    config = function()
      -- Better Around/Inside textobjects
      -- (`af` - around function call, `inq` - inside next quote, etc.)
      require('mini.ai').setup({ n_lines = 500 })

      -- Go forward/backward with square brackets
      -- (`[b` - previous buffer, `]c` - next comment, etc.)
      require('mini.bracketed').setup({ n_lines = 500 })

      -- File explorer with manipulation by editing text
      require('mini.files').setup()

      -- More operators: duplicate, exchange, replace text
      require('mini.operators').setup()

      -- Add/delete/replace surroundings (brackets, quotes, etc.)
      require('mini.surround').setup()

      -- ... and there is more
    end,
  },

This allows small number of lines with more functionality and call to action to explore more.

Here's some additional mappings that I think are good defaults:
-- use `+` and `-` to increment and decrement
vim.keymap.set('n', '+', '<C-a>')
vim.keymap.set('n', '-', '<C-x>')
vim.keymap.set('v', '+', 'g<C-a>gv')
vim.keymap.set('v', '-', 'g<C-x>gv')

-- `U` to undo
vim.keymap.set('n', 'U', '<C-R>')

-- Use `Q` to play the macro recorded in `@q`
vim.keymap.set('n', 'Q', '@q')

-- Better indenting
vim.keymap.set('v', '<', '<gv')
vim.keymap.set('v', '>', '>gv')
vim.keymap.set('n', '>', '>>_')
vim.keymap.set('n', '<', '<<_')

Here some good keymaps for moving lines
vim.keymap.set("n", "<A-j>", "<cmd>m .+1<cr>==", { desc = "Move down" })
vim.keymap.set("n", "<A-k>", "<cmd>m .-2<cr>==", { desc = "Move up" })
vim.keymap.set("i", "<A-j>", "<esc><cmd>m .+1<cr>==gi", { desc = "Move down" })
vim.keymap.set("i", "<A-k>", "<esc><cmd>m .-2<cr>==gi", { desc = "Move up" })
vim.keymap.set("v", "<A-j>", ":m '>+1<cr>gv=gv", { desc = "Move down" })
vim.keymap.set("v", "<A-k>", ":m '<-2<cr>gv=gv", { desc = "Move up" })

@rubiin @dam9000 recommended a plugin that does those move commands and more, but I cannot find his recommendation sadlyh.
@dam9000 would you be so kind as to please repeat yourself here? :) I'll take note of it this time I swear because folks keep asking :)

@rubiin @dam9000 recommended a plugin that does those move commands and more, but I cannot find his recommendation sadlyh.

'mini.move' ;)

@rubiin @dam9000 recommended a plugin that does those move commands and more, but I cannot find his recommendation sadlyh.

'mini.move' ;)

OOH that looks purrfect! :)
I for one embrace our new mini.* overlords!

when doing a clean install, tree-sitter doesn't seem to auto install the parser for lua. It raises the following error when entering a lua file like init.lua

clean up state and share rm -rf ~/.local/share/kickstart/ ~/.local/state/kickstart/
start nvim with NVIM_APPNAME=kickstart nvim and let lazy.vnim download all the plugins, which it does successfully.
Then start nvim with NVIM_APPNAME=kickstart nvim init.lua

Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30: Error executing lua: ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/fi
letype.lua:31: BufReadPost Autocommands for "*"..FileType Autocommands for "*"..function <SNR>1_LoadFTPlugin[20]..script /opt/homebrew/Cellar/neovim/HEAD-fbe40ca/sh
are/nvim/runtime/ftplugin/lua.lua: Vim(runtime):E5113: Error while calling lua chunk: ...e40ca/share/nvim/runtime/lua/vim/treesitter/language.lua:103: no parser for
 'lua' language, see :help treesitter-parsers
stack traceback:
        [C]: in function 'error'
        ...e40ca/share/nvim/runtime/lua/vim/treesitter/language.lua:103: in function 'add'
        ...a/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:113: in function 'new'
        ...m/HEAD-fbe40ca/share/nvim/runtime/lua/vim/treesitter.lua:64: in function '_create_parser'
        ...m/HEAD-fbe40ca/share/nvim/runtime/lua/vim/treesitter.lua:131: in function 'get_parser'
        ...m/HEAD-fbe40ca/share/nvim/runtime/lua/vim/treesitter.lua:468: in function 'start'
        .../neovim/HEAD-fbe40ca/share/nvim/runtime/ftplugin/lua.lua:2: in main chunk
        [C]: in function 'nvim_cmd'
        ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:31: in function <...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30>
        [C]: in function 'nvim_buf_call'
        ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30: in function <...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_cmd'
        ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:31: in function <...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30>
        [C]: in function 'nvim_buf_call'
        ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30: in function <...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_buf_call'
        ...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:30: in function <...llar/neovim/HEAD-fbe40ca/share/nvim/runtime/filetype.lua:10>
Press ENTER or type command to continue

I like restoring the cursor position to where a user last was when reopening a file:
https://github.com/farmergreg/vim-lastplace
Alternatively a one line version:
-- Restore cursor position
vim.api.nvim_create_autocmd('BufReadPost', { command = 'silent! normal! g`"zv' })

Potentially a good default?
--  show 10 lines above and below cursor when scrolling
vim.o.scrolloff = 10

Getting this error on opening init.lua file on first open, not the subsequent ones.
OS: macOS 13.6.4
Neovim: NVIM v0.9.5 Build type: Release LuaJIT 2.1.1703358377
Error detected while processing function <SNR>33_NetrwBrowseChgDir[197]..BufReadPost Autocommands for "*":
Error executing lua callback: ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24: Error executing lua: ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:25: fu
nction <SNR>33_NetrwBrowseChgDir[197]..BufReadPost Autocommands for "*"..FileType Autocommands for "*": Vim(append):Error executing lua callback: ...im/0.9.5/share/nvim/runtime/lua/
vim/treesitter/query.lua:259: query: invalid structure at position 3154 for language lua
stack traceback:
        [C]: in function '_ts_parse_query'
        ...im/0.9.5/share/nvim/runtime/lua/vim/treesitter/query.lua:259: in function 'get'
        ...5/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:114: in function 'new'
        ...r/neovim/0.9.5/share/nvim/runtime/lua/vim/treesitter.lua:61: in function '_create_parser'
        ...r/neovim/0.9.5/share/nvim/runtime/lua/vim/treesitter.lua:131: in function 'get_parser'
        ...r/neovim/0.9.5/share/nvim/runtime/lua/vim/treesitter.lua:460: in function 'start'
        ...m/lazy/nvim-treesitter/lua/nvim-treesitter/highlight.lua:20: in function 'attach'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:509: in function 'attach_module'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:532: in function 'reattach_module'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:133: in function <...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:132>
        [C]: in function 'nvim_cmd'
        ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:25: in function <...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24: in function <...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_cmd'
        ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:25: in function <...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24>
        [C]: in function 'nvim_buf_call'
        ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24: in function <...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_buf_call'
        ...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:24: in function <...ocal/Cellar/neovim/0.9.5/share/nvim/runtime/filetype.lua:10>

arch btw,
NVIM v0.9.5
Build type: Release
Fails to start without error until 'help' parser removed from ensure install at line 775
ensure_install = { 'c', 'lua', 'vim', 'vimdoc' }
Not sure if help parser is needed
Error:
Error detected while processing /home/arch/.config/kickstart/init.lua:
Installation not possible: ...art/lazy/nvim-treesitter/lua/nvim-treesitter/install.lua:86: Parser not available for language "help"
See https://github.com/nvim-treesitter/nvim-treesitter/#adding-parsers on how to add a new parser!

don't think i will add more lazy loading stuff -- not super worried about it. The ones that remain are fast enough or i want to make sure they load at the start so they know to install items

only remaining thing is that maybe i should add a checkhealth for kickstart.... so people could run that to check their environment and stuff. would work if they do the git clone method, but won't work if they do the copy-paste....

I know where he's coming from because I've thought about jumping off the kickstart, bandwagon myself, and doing a modular configuration of my own but the truth is the whole point of this project is to provide a monolithic starting point for new users, and so modularizing just isn't in the cards as I see it.

-1 for modular to start. I learned a lot by modularizing the base code myself :)
Also, the ability to just quickly curl the raw init file is just too nice!!

@tjdevries sorry for digging out this old pr, but I'd be curious whether there was a specific reason to change the default theme from onedark to tokyonight :)


New method for assigning cpu affinity

Description
This provides a new method for setting cpu affinity via a method similar to setting thread binding in mpiexec calls.
In the config object, users can now pass a string of this type:
cpu_affinity="list:<worker1_threads>:<worker2_threads>:<worker3_threads>"
Each worker's threads can be specified as a comma separated list or a hyphenated range:
thread1,thread2,thread3
or
thread_start-thread_end
An example for Sunspot/Aurora:
cpu_affinity="list:0-7,104-111:8-15,112-119:16-23,120-127:24-31,128-135:32-39,136-143:40-47,144-151:52-59,156-163:60-67,164-171:68-75,172-179:76-83,180-187:84-91,188-195:92-99,196-203"
This example assigns 16 threads each to 12 workers. Note that there are threads that are skipped; this is because the total number of hardware threads is not evenly divisible by the number of GPUs.
This will give a user more flexibility in setting cpu affinity and also allows them to leave idle certain threads if they choose (currently required by all cpu-affinity strategies in parsl).
If the number of thread "ranks" (colon separated thread lists/ranges) doesn't match the total number of workers an exception will be raised.
Changed Behaviour
No current behavior is changed
Type of change
Choose which options apply, and delete the ones which do not apply.

New feature

This looks good. Given the fragility of htex process worker pool changes in the past (for example, spawn method and worker restarts both didn't work at all), I'd like to figure out how to test this more automatically - I guess that would need at least a two core system so tests could play around with pinning?

Other random bits:
CI is broken because of code formatting (flake8 parsl/).
The description of the PR is pretty good documentation and it would be good to paste it pretty much as-is into the main documentation somewhere - for example the "Multi-Threaded Applications" section of docs/userguide/configuring.rst, or the cpu_affinity docstring in parsl/executors/high_throughput/executor.py

This is failing with type checking error:
parsl/executors/high_throughput/process_worker_pool.py:595: error: Value of type "str | bool" is not indexable  [index]

which is saying, basically, what if someone passed in a bool here, not a string...
because part of the existing code says you are allowed to do that, even though in practice that doesn't happen and I think is probably broken.
I'll make a PR to remove that code, and then this type error should go away.

Okay, thanks.  I also realized that I unintentionally did away with the argparse check, so I tried to fix that.

@cms21 I added a rough test here, that checks that when htex is launched with a single worker / single core affinity, then the worker sees that same single core affinity.

@cms21 or @WardLT can you have a look at the test I added and check it makes sense. Aside from that, I'm fine with merging the rest of this PR.

Is there a reason that the test is just for one worker/thread?

Hey, is there anything I can help with so that we can wrap up this PR?


(maint) Use rspec spec in Travis

To bump to newer versions of rake, we need to stop using it to run rspec
because rspec 2 and rake 12 are incompatible.

Ok, I think this version gives the most readable titles.


Move bs-react-test-renderer off the reasonml-community org

Hey @wyze!
Since BuckleScript + Reason rebranded to ReScript, the reasonml-community org serves a different purpose now, so we'd like to figure out how to proceed with all the bs-* related projects in here.
Since you are the main contributor to this project, would it be possible to move this repo over to your own personal github handle? That way we can slowly clean up all the active / obsolete projects that are still in this org.
More context on the discussion here: https://forum.rescript-lang.org/t/github-organization-reasonml-community-rescript-community/1630
Would be great if you'd take ownership of this project :-)
Thanks

Ah and maybe it would be worth reconsidering the naming of the bindings as well, since the BuckleScript naming is almost completely gone.
Our binding package convention switched from the informal bs-react-test-renderer to rescript-react-test-renderer (basically prefixing everything with rescript-).

Done, thanks! I'll try and make some time to rename as well.

awesome, thanks for that!


Toggle image is not shown when using from Nuget package

As title described.

This is just an example,

Make sure this check.png is included in your project under Resources/Images path
https://github.com/enisn/TreeView.Maui/blob/main/sandbox/SandboxTreeView/Resources/Images/check.png
Make sure you're using datatemplate like in example:  <t:TreeView ItemsSource="{Binding Nodes}">
                <t:TreeView.ItemTemplate>
                    <DataTemplate>
                        <HorizontalStackLayout>
                            <HorizontalStackLayout.GestureRecognizers>
                                <TapGestureRecognizer Command="{Binding ToggleCommand}" />
                            </HorizontalStackLayout.GestureRecognizers>
                            <Image Source="folder.png" IsVisible="{Binding IsDirectory}" HeightRequest="30"/>
                            <Label Text="{Binding Name}"/>
                            <Image Source="check.png" IsVisible="{Binding IsSelected}" HeightRequest="30"/>
                        </HorizontalStackLayout>
                    </DataTemplate>
                </t:TreeView.ItemTemplate>
            </t:TreeView>

Thanks. I'll try.

I think same issue with https://github.com/enisn/TreeView.Maui/issues/6
Can again with new version, it should be fixed


Crooked line please see screenshot

I'm on latest version of logseq. 0.8.8.

@cliffordx could you please use the default theme and try again?

Can you please also disable all other plugins?

Can you please also disable all other plugins?

Still the same.

this was already solved by removing a custom CSS added where it removed the vertical line thus affecting the bullet threading. Consider this issue closed.


config under windows

where can i store the config file under windows?
i tried putting it in C:\Users\...\viddy.toml
#17

It expects to be here: "C:\Users<user>\AppData\Local\viddy.toml".
That's how xdg behaves (which is the dependency viddy uses for choosing the config home folder).
It would be nice to add this in the readme (or ideally change the config code in a way that would read the configs from ~.config\viddy.toml or something similar in windows)


Add viewer cpt results plan view

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.8%) to 82.227%

Totals

Change from base Build<PHONE_NUMBER>8:
0.8%

Covered Lines:
1883

Relevant Lines:
2290

💛  - Coveralls


No more location updates after resume

I am seeing an issue with the Location Plugin 0.4 as used by the Mapbox Demo app. (So maybe this ticket belongs to the app and not the library, I am not sure). The problem is that the AndroidLocationEngine is not getting any location updates after the activity was stopped and started again.
Then starting the activity for the first time, things are as they should:
V/AndroidLocationEngine: Initializing.
D/AndroidLocationEngine: Priority set to 0 (current provider is passive).
V/AndroidLocationEngine: Activating.
D/AndroidLocationEngine: Priority set to 3 (current provider is gps).
V/AndroidLocationEngine: Activating.
V/AndroidLocationEngine: New location received.

Location updates are received regularly after this. However, if the app is put in the background and then started again. The same activity is re-used and it stops receiving location updates.
When rotating the screen, the activity is recreated and it starts receiving new location updates again.

It looks like the demo app calls locationPlugin.onStart() in onStart(), but does not explicitly request location updates.
This only seems to happen in onConnected() which isn't called when the activity is re-started.
Explicitly requesting location updates in onStart() seems to solve the issue:
    if (locationEngine != null) {
      locationEngine.requestLocationUpdates();
    }

Will try taking a look into this issue today. Your initial thought sounds to be the correct issue. A workaround might be to hold an instance of the same locationEngine locally and request location updates yourself (of course until this gets fixed).

We just released 0.5.0-beta.1 with a ton of changes, mainly the update to the Map SDK 6.0. While it will require work to make the upgrade, I believe the fix to your issue is found in #307. Can you try this out and confirm this fixes the issue?

Tested on my end and haven't run into this issue anymore. Closing


More concise Follow-logs using aggregation

Issue Number
ADP-630
Overview
1. Invert control to empower follow
The idea is: the more we can concentrate information in one place (follow), the better we can produce good logs.

[x] Use FollowLog tr where tr can be StakePoolLog or WalletWorkerLog, instead of like now, having them both wrap FollowLog.
[x] Move rollback-logic from call-sites to follow

[x] Ensure this commit perfectly preserves previous behaviour -> should be pretty close

2. Tweak logging

[x] Lower common messages to Debug
[x] Add some kind of aggregation (I think doing manually is easier than learning how to use iohk-monitoring-framework for it, and maybe more powerful)

[x] Improve
[x] Move syncProgress calculation to follow
[x] Make sure we are strict where we need to, and don't create massive thunks

Comments

Based on PR #2581,  #2586 and #2615 branches - merge them first.

Lost network connection + 5 min wait:

On reconnection

bors try

bors try

bors try

bors r+

Oops I reviewed in the wrong order, and buildkite picked up the non-master merge.

bors r+


Anything I should be careful about performance with HTTPS connection ?

CloudantClient (java-cloudant) version(s): 2.6.1
Java version (including vendor and platform). 1.7 IBM JDK
If you're using the optional okhttp dependency. Yes, using OKHTTP

What we noticed is that it will take longer time for first communication with Cloudant than sub-sequence requests. Is there anything we should be careful about HTTPS connection to cloudant ?

There are two reasons why the first request will take longer than subsequent requests:

The library makes use of HTTP keep-alive (connection pooling). The first request needs to establish the connection with the server and perform the HTTPS handshake. Later requests will re-use the connection where possible that makes them faster, but there are circumstances that cause new connections to be established even after the first request:

When requests are made in parallel new connections may be created up to the maximum size of the connection pool.
The server will terminate idle connections after 2.5 minutes (connections may also be terminated by the client JVM after shorter idle times, but this should not apply when using okhttp (see https://github.com/cloudant/java-cloudant/issues/247).

The first request will also transparently obtain a session cookie by making an extra request to the _session endpoint before performing the request. This only happens on the first request or the first request after a cookie has expired.


feature_adversaries_tensorflow.py

Hi
I am implementing the feature adversarial attack on a cifar10 model by doing the following:
from art.utils import load_dataset, get_file
# Load the dataset
(x_train, y_train), (x_test, y_test), min_, max_ = load_dataset(str('cifar10'))
path = get_file('cifar_resnet.h5',extract=False, path=ART_DATA_PATH, url='https://www.dropbox.com/s/ta75pl4krya5djj/cifar_resnet.h5?dl=1')
classifier_model = load_model(path)
from art.attacks.evasion.feature_adversaries.feature_adversaries_tensorflow import FeatureAdversariesTensorFlowV2 as fa # current version
adv = fa(model, delta=0.1, layer = 110, step_size = 0.01, batch_size = batch_size )
x_adv = adv.generate(x_train[:1],  x_test[:1] )

But I got the following error:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-33-7df303cd0d4e> in <module>
      1 from art.attacks.evasion.feature_adversaries.feature_adversaries_tensorflow import FeatureAdversariesTensorFlowV2 as fa # current version
      2 adv = fa(model, delta=0.1, layer = 110, step_size = 0.01, batch_size = batch_size )
----> 3 x_adv = adv.generate(x_train[:1],  x_test[:1] )

/opt/conda/lib/python3.7/site-packages/art/attacks/attack.py in replacement_function(self, *args, **kwargs)
     73                 if len(args) > 0:
     74                     args = tuple(lst)
---> 75                 return fdict[func_name](self, *args, **kwargs)
     76
     77             replacement_function.__doc__ = fdict[func_name].__doc__

/opt/conda/lib/python3.7/site-packages/art/attacks/evasion/feature_adversaries/feature_adversaries_tensorflow.py in generate(self, x, y, **kwargs)
    204             source_batch = tf.convert_to_tensor(x[begin:end])
    205             guide_batch = tf.convert_to_tensor(y[begin:end])
--> 206             x_adversarial[begin:end] = self._generate_batch(source_batch, guide_batch).numpy()
    207         return np.array(x_adversarial, dtype=x.dtype)
    208

/opt/conda/lib/python3.7/site-packages/art/attacks/evasion/feature_adversaries/feature_adversaries_tensorflow.py in _generate_batch(self, x, y)
    143                 with tf.GradientTape(watch_accessed_variables=False) as tape:
    144                     tape.watch(adv)
--> 145                     loss = loss_fn(x, adv, y)
    146                 gradient = tape.gradient(loss, adv)
    147

/opt/conda/lib/python3.7/site-packages/art/attacks/evasion/feature_adversaries/feature_adversaries_tensorflow.py in loss_fn(source_orig, source_adv, guide)
    119             representation_loss = tf.zeros(shape=(source_orig.shape[0],), dtype=tf.float32)
    120             for layer_i in self.layer:
--> 121                 adv_representation = self.estimator.get_activations(source_adv, layer_i, self.batch_size, True)
    122                 guide_representation = self.estimator.get_activations(guide, layer_i, self.batch_size, True)
    123

/opt/conda/lib/python3.7/site-packages/art/estimators/classification/keras.py in get_activations(self, x, layer, batch_size, framework)
    641
    642         # Apply preprocessing
--> 643         x_preprocessed, _ = self._apply_preprocessing(x=x_expanded, y=None, fit=False)
    644
    645         if not hasattr(self, "_activations_func"):

/opt/conda/lib/python3.7/site-packages/art/estimators/estimator.py in _apply_preprocessing(self, x, y, fit)
    298                 else:
    299                     if preprocess.apply_predict:
--> 300                         x, y = preprocess(x, y)
    301
    302         return x, y

/opt/conda/lib/python3.7/site-packages/art/preprocessing/standardisation_mean_std/numpy.py in __call__(self, x, y)
     84         x_norm = x - self._broadcastable_mean
     85         x_norm = x_norm / self._broadcastable_std
---> 86         x_norm = x_norm.astype(ART_NUMPY_DTYPE)
     87
     88         return x_norm, y

AttributeError: 'Tensor' object has no attribute 'astype'

May you help to fix the issue? Thank a lot

Hi @jinglin80 Thank you very much for using ART! How do you create model in your code example?

Hi @beat-buesser, sorry for the mistake in the original comment. I just edited it. Basically, I want to know if there a simple way to change the class from 'tensorflow.python.keras.engine.functional.Functional' to 'art.estimators.estimator.BaseEstimator'.

Hi @jinglin80 Ok, now I see. You need to first abstract you model with an ART Estimator to make the model compatible with the attack. In you case you can use art.estimators.classification.TensorFlowV2Classifier similar as in step 3 of https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/examples/get_started_tensorflow_v2.py
You can skip step 4 if your model is already trained.