Allow the same chaincode to be used on multiple channels

@Kelvin-M Could you please have a look at the overall design and let me know if that looks OK with you?

End-to-end tests pass, but I'm not sure the design I chose is 100% correct. In particular, I'm not sure which of the chaincodes[] properties should be moved to appChannels[].chaincodes[]
chaincodes:
  - name: mycc
    address: network-org-1-peer-1-hlf-k8s-chaincode-mycc.org-1
    port: 7052
    policy: "OR('MyOrg1MSP.member','MyOrg2MSP.member')"
    version: "1.0"
    image:
      repository: substrafoundation/substra-chaincode
      tag: 0.1.0
      pullPolicy: IfNotPresent

appChannels:
  - name: mychannel
    chaincodes: [mycc]

I'm confident that the address, port and image properties are independent from channels. So they should be properties of chaincodes[].
On the other hand the policy property should probably be moved to appChannels[].chaincodes[]. In other words, change from
chaincodes: [mycc]

to
chaincodes:
  - name: mycc
    policy: "OR('MyOrg1MSP.member','MyOrg2MSP.member','MyOrg3MSP.member','MyOrg4MSP.member')"

Does that make sense?

As you said policy should be moved as it's the chaincode policy inside a channel and not a chaincode property :)
For the address and port, I'm not confident as you are ! If you use the same chaincode mycc for both channel, does it work ?
I suppose, yes because each channel has a ledger, and chaincode is just applying smartcontracts over it, but I need confirmation.

Okay, sharing the same chaincode between to channel works ! But it means also logs sharing. So it can be difficult to understand what happen on what channel :)

Adding the info here : https://github.com/SubstraFoundation/substra-chaincode/pull/130/files

@Kelvin-M I made the policy fix.
As the new changes complicate the code a little bit, I think this PR would be a good opportunity to move the "chaincode" part of the appchannel operator to the chaincode operator. What do you think?

Moving "chaincode" part from the appchannel operator is not totally possible, or you will have to change the code.
If you read the Hyperledger Fabric documentation about the new chaincode lifecycle:

https://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode_lifecycle.html
https://hyperledger-fabric.readthedocs.io/en/release-2.2/commands/peerlifecycle.html

The chaincode deployment scenario is the following :
1. Package the chaincode # chaincode operator as it depends on the Org itself
2. Install the chaincode # chaincode operator as it depends on the Org itself
3. Approve the chaincode # chaincode operator as it depends on the Org itself
4. Check chaincode commit readiness # appchannel operator as it depends on multiple Orgs
5. Commit chaincode # appchannel operator as it depends on multiple Orgs
6. Init Chaincode # appchannel operator

I think step 6. can be moved to chaincode operator if you want.
But for step 4. and 5., it's more complicated. In order to commit chaincode, we need to wait until it's commit readiness with checkcommitreadiness, explained in the documentation :

You can use this command to learn whether enough channel members have approved a chaincode definition to meet the Application/Channel/Endorsement policy (a majority by default) before the definition can be committed to a channel.

Consequently, step 5. and 6. are linked and it's better to keep them together.
So why, 5. and 6. are in the appchannel operator ? Once a chaincode definition is approved by a majority of Organizations in the channel, we can commit it.
Still in the documentation :

Once a sufficient number of organizations approve a chaincode definition for their organizations (a majority by default), one organization can commit the definition the channel using the peer lifecycle chaincode commit command:
This command needs to target the peers of other organizations on the channel to collect their organization endorsement for the definition.

We need to target the peers of other organizations in the channel to collect their endorsement of the chaincode definition.
So when we use the peer lifecycle chaincode commit we need to pass --peerAddresses and --tlsRootCertFiles  as showed here without TLS because they don't use MutualTLS like we are.
This is done here by using ENDORSEMENT env variable which is built with the peer adresses and tls root cert in the appchannel operator here
So if you want to move 5. and 6. in the chaincode operator you will have to rebuild the ENDORSEMENT variable and not using the appchannel operator way, but by using the discovery command that allows you to see which peers are connected and get their addresses and tls root cert with this command or this one
Step 6. was put in appchannel operator for simplicity as we can init the chaincode only when it has been committed.

@Kelvin-M Thanks for the explanation. It's a bit more work than I thought, so I'm going to leave it out of this PR.

Chaincode version : https://github.com/SubstraFoundation/substra-chaincode/releases/tag/0.1.1

@Kelvin-M which examples are you referring to?

@AurelienGasser those examples https://github.com/SubstraFoundation/hlf-k8s/tree/master/examples

e2e tests: :heavy_check_mark:

@Kelvin-M @ClementGautier The refactoring of chaincode/appchannel operators discussed earlier is addressed in https://github.com/SubstraFoundation/hlf-k8s/pull/103


V integration test experiment

What
Issue was because of the locale/ region setting on the circleCi environment that we run our build on.
LocalDate API format style SHORT is impacted by the locale and changes the format.
Locally we are running en_GB on our machines but the circleCi builds are run with en_US.
So effectively our date format goes from dd-MM-YYYY == MM-dd-YY.
troubleshooting this with no useful output on circleCI was bloody murder!!
Checklist
Before you ask people to review this PR:

[ ] Tests should be passing: ./gradlew test
[ ] Github should not be reporting conflicts; you should have recently run git rebase main.
[ ] Avoid mixing whitespace changes with code changes in the same commit. These make diffs harder to read and conflicts more likely.
[ ] You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
[ ] You should have checked that the commit messages say why the change was made.

@tanovellino has already implemented and merged suggested changes in another branch 👍 .


Opening a modal window twice makes it impossible to close it again.

Opening a modal window twice makes it impossible to close it again.
So if you open the modal window #modal and then execute $("#modal").modal("show"); in the browser console, it is no longer possible to close the modal window.
I'm using Bootstrap 4.0.0-beta on Chrome 60.0.3112.113.

Bug reports must include a live demo of the problem. Per our contributing guidelines, please create a reduced test case via JS Bin or CodePen and report back with your link, Bootstrap version, and specific browser and OS details.

https://jsbin.com/comugudafu/edit?html,output
I'm using Bootstrap 4.0.0-beta on Chrome 60.0.3112.113 and Windows 10.

I'm a bit confused by this: What would be the use case where you would open a modal from itself? Are you expecting the DOM to clone the modal and create another instance? Bootstrap has long had a rule against multiple modals, so I am not sure if this is really an issue.

I don't see the use case here either.
@bjornstenfeldt: can you elaborate?

I don't want to open 2 modals. But I "extended" the modal so I could open it with a hash change event. I did that because I think it is more user-friendly on mobile devices, when you can close a modal by clicking back. At the same time I needed it to open in callback from a LinkedIn API call, so I ended up having 2 completely separated .modal('open') calls.

OK, sounds like a fair use case. We have #24240 open, it lacks a unit test though.


Multirobot config file

Create a multirobot config file
Create a file called multirobot_config.yaml:
- vehicle_id: 1
  frame_name: pad_1
  vehicle_type: x500
  sensor_config: stock
  model_pose: ""
- vehicle_id: 2
  frame_name: pad_2
  vehicle_type: standard_vtol
  sensor_config: stock
  model_pose: ""

Export and run the script px4_sim_multi.launch.py with the following commands:
MULTIROBOT_CONFIG=<path_to_config_file>/multirobot_config.yaml
ros2 launch px4_sim px4_sim_multi.launch.py

This looks great. I can see how using the env var for the multirobot config file allowed maximum reuse of the launch file, but I wonder if it's possible to have a separate launch file (in a separate PR) that takes the multirobot config file as a "normal" parameter? Perhaps it would need to process the YAML imperatively as a "normal" python program, and then include the current px4 launch file once the parameters have been processed? Anyway it's just a stylistic request, functionally this works +1

The sustitution way of doing things in the ros2 launch file makes complex to get the name of the yaml file. That's why I decided to use a env var. Open to suggestions and don't like it too


projects structure

There are conflicts in this PR. Kindly look into it

There are conflicts in this PR


Add LSP4 Metadata guide

Tested snippets from:

[x] https://github.com/lukso-network/lukso-playground/pull/34
[x] https://github.com/lukso-network/lukso-playground/pull/37

I sent a commit I still need to simplify and fix stuff, ill do tomorrw

✅ Applied all suggestions from Jean,
✅ Removed and applied TODOs
✅ Added missing setup section
✅ Added references to the asset guide
✅ Fixed broken links
Guess this is ready to go.

@fhildeb @Hugoo we can merge this PR already so we have it in the docs, but I think there are things that can be really improved in terms of structure. For example:

The descriptions and callouts feel to me "the wrong way around". For instance below, the text in the callout mentions the main thing we do in this section, while the actual paragraph below is a pre-requisite to have done the Create LSP7 Token before.

The linking and structure is a bit confusing in my opinion. This guide is in the "Expert Guides" section, and mentions that it is based on the "Create LSP7 Token" guide. But the "Create LSP7 Token" guide is in the "Create Smart Contracts" section. So when the dev click on the link, it moves back to a completely new section and might not know how to get back to the previous guide.


depositing collateral too expensive?

I got trouble depositing collateral
The price is 0.42 goerli ETH
Is this network congestion or because our smart contract is very expensive to make any change?

When require() line of a function doenst accept you it will failed, so metamask found it and show high gas. If you see this high gas, dont confirm because it will failed.
For example you move price far from oracle it will be failed so metamask shows high gas for transaction. (in the front end we will show error to user befor showing metamak)


InvalidKeyException found installing library for deployment.

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from langchain.storage import LocalFileStore
Error Message and Stack Trace (if applicable)
from langchain.storage import LocalFileStore
/usr/local/lib/python3.11/site-packages/langchain/storage/init.py:15: in
from langchain.storage.file_system import LocalFileStore
/usr/local/lib/python3.11/site-packages/langchain/storage/file_system.py:8: in
from langchain.storage.exceptions import InvalidKeyException
/usr/local/lib/python3.11/site-packages/langchain/storage/exceptions.py:1: in
from langchain_community.storage.exceptions import InvalidKeyException
/usr/local/lib/python3.11/site-packages/langchain_community/storage/exceptions.py:1: in
from langchain_core.stores import InvalidKeyException
E   ImportError: cannot import name 'InvalidKeyException' from 'langchain_core.stores'
Description
I had 0.1.16 version of langchain installed and this morning pulled up fresh docker to re-install my environment, found out a back compatibility issue.
Langchain depends on langchain_community, which a few days ago was using 0.0.34, now that it updated to 0.0.35. langchain's import of LocalFileStore would fail.
System Info
OS: Linux
Python: 3.11
Langchain: 0.1.16

Could you share the output of:
python -m langchain_core.sys_info

We're re-releasing

ran into likely the same pr similar issue:
python -m langchain_core.sys_info
System Information

OS:  Darwin
OS Version:  Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000
Python Version:  3.9.6 (default, Feb  3 2024, 15:58:27)
[Clang 15.0.0 (clang-15<IP_ADDRESS>)]

Package Information

langchain_core: 0.1.47
langchain: 0.1.16
langchain_community: 0.0.35
langsmith: 0.1.52
langchain_openai: 0.1.4
langchain_text_splitters: 0.0.1
langgraph: 0.0.39

Packages not installed (Not Necessarily a Problem)
The following packages were not found:

langserve

Traceback (most recent call last):
File "/Users/matrodge/Git/adopta_python_test9/main.py", line 53, in
from adopta import AdoptaClass
File "/Users/matrodge/Git/adopta_python_test9/adopta/init.py", line 3, in
from .adopta import AdoptaClass
File "/Users/matrodge/Git/adopta_python_test9/adopta/adopta.py", line 41, in
from langchain.retrievers import ContextualCompressionRetriever
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain/retrievers/init.py", line 29, in
from langchain.retrievers.multi_vector import MultiVectorRetriever
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain/retrievers/multi_vector.py", line 14, in
from langchain.storage._lc_store import create_kv_docstore
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain/storage/init.py", line 15, in
from langchain.storage.file_system import LocalFileStore
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain/storage/file_system.py", line 8, in
from langchain.storage.exceptions import InvalidKeyException
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain/storage/exceptions.py", line 1, in
from langchain_community.storage.exceptions import InvalidKeyException
File "/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain_community/storage/exceptions.py", line 1, in
from langchain_core.stores import InvalidKeyException
ImportError: cannot import name 'InvalidKeyException' from 'langchain_core.stores' (/Users/matrodge/Git/adopta_python_test9/.venv/lib/python3.9/site-packages/langchain_core/stores.py)

I am also running into this issue:
Just downgraded my langchain_core to  0.1.46 from a few days ago and it seems to work again.
!pip install langchain_core=0.1.46

Could you try with the following versions of community and core?
langchain-community==0.0.36
[langchain-core==0.1.48]https://github.com/langchain-ai/langchain/releases/tag/langchain-core%3D%3D0.1.48

i had same error during open-webui installation
(
from langchain_core.stores import InvalidKeyException
ImportError: cannot import name 'InvalidKeyException' from 'langchain_core.stores'
)
@eyurtsev , by adding:
langchain-community==0.0.36
langchain-core==0.1.48
it fixed the problem.

Marking as resolved


feat: bokeh and plot packages for stacked bar

Description
Bokeh and Plot packages for stacked bar graph.
Related links

Notes for reviewers
To run or check pytest, lease merge this PR.
https://github.com/tier4/CARET_analyze/pull/259
Pre-review checklist for the PR author

[x] I've confirmed the contribution guidelines.
[x] The PR is ready for review.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR has been properly tested.
[ ] The PR has been reviewed.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] (Optional) The PR has been properly tested with CARET_report verification.
[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@rokamu623

Please correct pytest.

It is OK because I confirmed it worked well by merging this PR.

@keita1523
I tested this PR using the following two passes with this trace data. You can use the attached notebook to test:

target_path_0: path in sensing component
target_path_1: path in planning component

There are some issues as described below. Could you investigate them?
(probably, message drop is not considered in the current implementation, I guess)

create_response_time_stacked_bar_plot(target_path, case='best') for target_path_0 looks okay :+1:

but, warning occurs; ColumnDataSource's columns must be of the same length :smiling_face_with_tear:

create_response_time_stacked_bar_plot(target_path, case='worst') for target_path_0 is not visualized appropriately (only the first 1 second is visualized) :smiling_face_with_tear:

warning occurs; ColumnDataSource's columns must be of the same length :smiling_face_with_tear:

@takeshi-iwanari
Thank you.
I deleted legend in source data to delete a lot of warning messages.
And this modification resolves the problems that you can not visualize target_path.
I don't know why this modification resolves it.

Thank you for your quick fix. I confirmed warnings are disappeared and the stacked bag graph is visualized for all the duration as expected. However, there seems other problems.
You can use the attached script for testing.

When message drop happens, the start time of a stacked bar graph is not correct.

In the following example (path in localization), the flow starts at 15:03:14, but message drop happens for the first 5 seconds. In such case, the response time starts at around 15:03:19. I think the start time of stacked bar graph should be also 15:03:19, but it's 15:03:14, and there is a blank for the last 5 seconds.

When visualizing end-2-end path (from sensing to control), callbacks and topics in the last part are not visualized.

In the following example, the path contains /planning and /control callbacks according to message_flow, but the stacked bar graph does not contain it. (it might be because of too many elements)

(If possible), could you change the graph name in a bokeh graph from "Stacked bar graph" to path.name in the same way as message_flow

The followings are just note for future work. We can work on it with other PRs.

It will be usful if a user can select legend position

When there is many callback and topics, legend on right side is inconvenient and difficult to read. It'll be better to place the legend on the bottom

It will be useful if different type of legend (color) is used for topics and nodes

@takeshi-iwanari
Thank you for pointing out.

As you say, the first time of stacked bar graph is incorrect.
It is because my mistakes.
I modified the time range.
In message flow, the first time is 2022-12-27 15:03:14, and  the first non-drop flow is in 5 second.
Then Stacked bar graph starts in 2022-12-27 15:03:19.

You can use full_legends arguments in show() as follwoings.
    Plot.create_response_time_stacked_bar_plot(target_path, case='best',).show(full_legends=True)
    Plot.create_response_time_stacked_bar_plot(target_path, case='worst').show(full_legends=True)

I applied it.

OK. It is easy.

I think so.

@keita1523
Thank you. I confirmed problem 1~3 fixed. I will test more complicated cases and review code.

I just tested with simple trace data where message drop happens. The attached  diagram indicates message flow, response_time(best) and response_time(worst) from top to bottom.
I didn't find any problem to be fixed, but I'm just sharing the result.

When message drop happens,

In response_time(best), the time during message drop is added to the duration of the response time just before the drop. In other words,  width of A is wider than others
In response_time(worst), the time during message drop is added to the duration of the response time just after the drop. In other words, width of B is wider than others.
I'm not sure it's as you intended, but these behaviors are reasonable to me :+1:

response_time(best) looks entirely shifted to left compared to message flow and response_time(worst) :thinking:  The original response_time shows the same tendency. So, I think we can leave this problem for now.


Cellrank can't find petsc4py

Hi,
I recently had to reinstall cellrank in a conda environment and since reinstalling the cellrank functions seem unable to load petsc4py.
I've followed the tutorial to install petsc4py via conda:
# update
sudo apt-get update
sudo apt-get upgrade

# install a message passing interface and mpi4py
sudo apt-get install libopenmpi-dev  # alt.: conda install -c conda-forge openmpi
pip install --user mpi4py  # alt.: conda install -c anaconda mpi4py

# install petsc and and petsc4py
conda install -c conda-forge petsc
conda install -c conda-forge petsc4py

Then installed the development version of cellrank (but the same issue remains if I install with pip install cellrank[krylov])
pip install git+https://github.com/theislab/cellrank@dev

In python I am able to import both cellrank and petsc4py without issues, but the schur decomposition function can't load the petsc4py library.
ctk = cellrank.tl.kernels.ConnectivityKernel(adata)
g = cellrank.tl.estimators.GPCCA(ctk)
g.compute_schur(method="krylov")

WARNING: Unable to import `petsc4py` or `slepc4py`. Using `method='brandts'`
WARNING: For `method='brandts'`, dense matrix is required. Densifying

Any suggestions on why this might be happening? I am working with a large dataset so using brandts is not sustainable.
Versions:

cellrank==1.3.1+ga966e79 scanpy==1.7.2 anndata==0.7.6 numpy==1.20.2 numba==0.51.2 scipy==1.5.2 pandas==1.1.2 pygpcca==1.0.2 scikit-learn==0.23.2 statsmodels==0.12.0 python-igraph==0.9.0 scvelo==0.2.3 pygam==0.8.0 matplotlib==3.3.2 seaborn==0.11.0

Hi @emdann ,
is both petsc4py and slepc4py installed, i.e. could you try running
python -c "import petsc4py; import slepc4py; print(petsc4py.__version__); print(slepc4py.__version__)"

to verify (mine prints out 3.14.1 3.14.0)? For reference, the check is being done here.

A-ha I knew there was a simple explanation, it was indeed a problem with the slepc4py installation. I reinstalled it as by installation instructions and all is well now. The warning message somehow made me think I only needed one of the two.
Thanks a lot!


Cronjob Schedule doesn't use masters timezone but UTC

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

setup host-timezone on control-nodes to sth different than UTC
schedule a cronjob for a specific hour

Result:
Cronjob runs on UTC rather than timezone set on master
Other details that may be helpful:
I guess the Problem is that the host-timezone is ignored within the kube-* containers.
relating issue: https://github.com/kubernetes/kubernetes/issues/80577
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.7
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): metal
Kubernetes version (use kubectl version): 1.14.5

regards,
strowi

same issue

@elvizlai do you mean can resolve it by mounting /etc/localtime to kube-controller-manager?

Edit cluster.yaml (Edit cluster > Edit as YAML) and add this lines to services section:
services:     kube-controller:       extra_binds:         - '/etc/localtime:/etc/localtime'
After that configure correct timezone on Control Plane role nodes.


Weird issue with importing CSV files in Native-Decker

Hi,
I've enclosed a CSV file that causes some odd behaviour when imported in native Decker
testbug.csv
When I load this into a grid (e.g. using grid1.value:readcsv[read["text"]] in the listener) the final character in the bottom-right cell becomes a 1. Even though there is no such 1 there in the original CSV (since the final line is all empty cells)
If I add a newline at the end of the CSV, this does not occur. And I don't get this behaviour in web-decker, just native-decker.
I am guessing there is some sort of weird edge case that causes this?

Should be fixed. Thanks for the report, @micpp42!

Tested in the new version and all good now. Thanks for fixing :)


Upgrade to Android SDK v28

Closes #5

This seems good, and I merged.
But before version worked in my environment. I can't check this pull request is fix your Issue.
I released<EMAIL_ADDRESS>. Please check it.


Hide horizontal scrollbars on code snippets

Works in Safari, Firefox, and Chrome so far. ~Pushing to test on my Windows machine.~ Edge and IE11 have full scrollbars always visible. Accessibility-wise, I'm not worried about folks not knowing they can scroll—the majority of our code snippets are quite long horizontally, so having them cut off is a clear indicator of more.

What's the reason behind this change?
BTW

I remember we actually had worked around issues in IE/Edge in the past, but we lost the changes somewhere
I had this in my TODO list actually and I've been meaning to bring this up * snippets on one line: horizontal scrollbar overlaps with content

For what is worth, I don't really like this change personally. I find it confusing not seeing the scrollbar.

yeah have to admit i'm not 100% sold on it either, purely visually (though I can understand it's "cleaner" looking to an extent)

Tabling for now.


Feature/marketing request: Add tanka to stackshare

As a Devops Engineer I sometimes use https://stackshare.io to evaluate whether to use a tool. I might compare features between tools or check how many companies use a tool. Adding Tanka to stackshare would help people evaluate whether to use it.
https://stackshare.io/vendors#
For example: https://stackshare.io/helm
Also, I'm wondering what companies use Tanka currently? It looks like grafana and https://blog.codavel.com/declarative-management-of-multiple-kubernetes-clusters-with-tanka-and-jsonnet so far.

there's a page in stackshare about tanka now


luci-base: fix broken translation

Currently this translation refer to an old string, sync to the new one.
Signed-off-by: Ansuel Smith<EMAIL_ADDRESS>

Sorry, but your fix looks wrong.
Both strings are still valid.
https://github.com/openwrt/luci/search?q=really+shut&unscoped_q=really+shut
modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview.htm
modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm
But the Italian translation looks have got attached to the wrong msgid 4 years ago. Looks like the translator has mixed things then...
https://github.com/openwrt/luci/commit/6f8daab6eb8eb2f1a8014afeee22793e39980db6#diff-a5f04b28911ea81200f494c886a0e9afR1985
I think that the Italian string should be moved to the correct place, and a fix should be invented for the first string.

now should be good


added SALZBURGNETZ supplier

hi, thanks, tested?

Not yet, but someone in the Photovoltaikforum has Salzburg Netz and is using TINETZ as supplier, so it has to work basically. I simply copied the settings from TINETZ. I will test it as soon as I can and tell you if everything works.

Great, diff ist ok, so when it's tested, it can be merged.
alexdpunkt @.***> schrieb am Mo., 29. Nov. 2021, 00:51:

Not yet, but someone in the Photovoltaikforum has Salzburg Netz and is
using TINETZ as supplier, so it has to work basically. I simply copied the
settings from TINETZ. I will test it as soon as I can and tell you if
everything works.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tirolerstefan/kaifa/pull/6#issuecomment-981177233,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEBCSRXOD2HEM3YT5PMO2ILUOK6BNANCNFSM5I5N3FIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

hi alex, could you already test this PR?


How to install with syslinux instead of grub

How to do this?
Also: How to use nixos for kernel development. ATM (on my archlinux machine), when building a custom kernel, I copy it to /boot, generate the initramfs for it, and add the appropriate entry in my syslinux.cfg file. How to do this in a 'nixosish' way?

I am not longer interested in this issue, so it could be closed. Don't know whether you guys want to leave it open, though!

Up.
I can't found any options here https://nixos.org/nixos/options.html for install with syslinux.
Or only grub available?


Adjust css to keep footer at bottom of page.

🗣 Description
Make footer position absolute and set distance from bottom to 0.

💭 Motivation and context
Closes Issue #2001

🧪 Testing

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All future TODOs are captured in issues, which are referenced
in code comments.
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[n/a] Tests have been added and/or modified to cover the changes in this PR.
[x] All new and existing tests pass.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Create a release.

I made additional changes to move styling to separate file.


Add an example/integration test that injects a Credential

There are many other Google APIs than those already supported out of the box, such as the youtube API to get the number of viewers on a video, or Google Sheets to drop that data in a spreadsheet.
Supporting all those is not realistic at the moment, but all those APIs do need the Google Credentials to log in. By adding an example how to inject those, it become easier to use those extra APIs manually.

Hi,
Yes, it was on my TODO list to explain how to use this library as a foundation for supporting another Google library.
The idea was to use as an example for eg this PR and explain how to do it with Auth management, accessing the projectId property and dealing with gRPC support if needed.


pyright: 1.1.373 -> 1.1.375

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for pyright is: Type checker for the Python language
meta.homepage for pyright is: https://github.com/Microsoft/pyright
meta.changelog for pyright is: https://github.com/Microsoft/pyright/releases/tag/1.1.375
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.375 with grep in /nix/store/frk8h68gl9gszxciis00ynnskcr8qmrr-pyright-1.1.375
found 1.1.375 in filename of file in /nix/store/frk8h68gl9gszxciis00ynnskcr8qmrr-pyright-1.1.375

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)

9 package rebuild(s)

First fifty rebuilds by attrpath

pyright
python311Packages.inline-snapshot
python311Packages.strawberry-graphql
python311Packages.types-lxml
python312Packages.inline-snapshot
python312Packages.strawberry-graphql
python312Packages.types-lxml
vscode-extensions.ms-python.vscode-pylance

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/frk8h68gl9gszxciis00ynnskcr8qmrr-pyright-1.1.375 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pyright https://github.com/r-ryantm/nixpkgs/archive/ad04b40c86e4b25bf58f3beafe9aaa0670ae78c2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ad04b40c86e4b25bf58f3beafe9aaa0670ae78c2#pyright

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/frk8h68gl9gszxciis00ynnskcr8qmrr-pyright-1.1.375
ls -la /nix/store/frk8h68gl9gszxciis00ynnskcr8qmrr-pyright-1.1.375/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

14 packages built:

pyright
python311Packages.inline-snapshot
python311Packages.inline-snapshot.dist
python311Packages.strawberry-graphql
python311Packages.strawberry-graphql.dist
python311Packages.types-lxml
python311Packages.types-lxml.dist
python312Packages.inline-snapshot
python312Packages.inline-snapshot.dist
python312Packages.strawberry-graphql
python312Packages.strawberry-graphql.dist
python312Packages.types-lxml
python312Packages.types-lxml.dist
vscode-extensions.ms-python.vscode-pylance

Maintainer pings
cc @kalekseev for testing.

@NixOS/nixpkgs-merge-bot merge


Updated tag-schema.js with new default tag policy

Updated tag-schema.js with new default tag policy.  Default tag policy now based on Essential Tags: team, owner, help-channel, repository, runbook, environment, & value-stream

closing this PR; creating new one to avoid bad commit


when i want to add a iFrame, my config file doesent work anymore

Please refer to http://forum.magicmirror.builders for support and troubleshooting.
I'm closing this issue for now. If you feel this issue should remain open, please let me know.


How to run a docker-compose exec command?

Hello,
Can somebody please tell me how I would run this command from Portainer?
docker-compose exec photoprism photoprism migrations ls
Thank you in advance.

You may try

Enable Custom Command and type in your command

Thank you.  I did try that, but the container is down.  I need to run the docker command to fix the container.

How do I run an exec command for a container that is not running?

Hello - can anybody advise on how to run the below command from Portainer please?
docker-compose exec photoprism photoprism migrations ls

In the command window try
photoprism migrations ls

Thank you, much appreciated.  I can see how this would normally work.
However, the only issue is that I cant click Connect as the container is not running.  And, I can't start the container as there is an error with the database, so I need to run the "migrations ls" command to list migration status and then try to fix the database.
I am not sure I can run this from the Console.  I think I need to run this from "Command and Logging" under Advanced settings or run outside of Portainer (but not sure where to start to run in docker / docker-compose).
Any ideas how to run such commands where the container is down?

Yes, that is the issue.
Any idea if (and how) I can run the command inside Portainer or the container outside of Portainer?

Its not possible.


Do not deploy nova-compute and ceilometer agent nodes to SP2 nodes

There might be some SP2 nodes for ceph present.

 #cloud8 Make OpenStack barclamps work for SP3


SET UP DATA STORAGE

We need to decide and define in code how all dynamic data will be stored.
This could be a database-server or a file-based approach.

[ ] define scope/limitations/requirements
[ ] create ideas/possible solutions
[ ] decide
[ ] put in documentation/code (see related/linked PRs)

(@elwinschmitz wrote/edited this message, not Orla)

Possible solution / initial idea
Use SQLite-based data-storage.
This limits the hassle for local development:

the local setup of the back-end can 'just work out of the box'
we can share "filled database-files with test/mock data
I think our familiar tools (TypeORM?) can support this?

End-users/organizations can easily set this up on their environments/tech-stacks

it has low/safe requirements (I think)


[WIP] [SR-15938] Error when referencing #dsohandle in a Swift test on Windows

This change fixes an issue when building Swift tests on Windows where the use of #dsohandle causes a link-time error.

Resolves SR-15938.

@swift-ci please test windows

@swift-ci please test windows

@swift-ci please test

I would like someone from the core team to review this change, but it should be okay to revise it in a future PR, so I'm going to go ahead and merge this now so my next PR is unblocked.


Date & Month defaulting to current month and Date

in any of the Date formats if the date & months entered as ZEROs, the date & month defaulting to current.
For ex-

date format is dd.mm.yyyy
entered date as 00.00.2010.
date automatically changing to 10.04.2010 on leaving the field (month & dates are defaulted to current month and date).

Issue is happening here (https://kekeh.github.io/angular-mydatepicker/) also.

Hello @nagasudhakarch
Try to set the inputFieldValidation option to false.

Hi kekeh,
I tried that option but no luck.
With inputFieldValidation option in the input field it is showing 00.00.2010 only. But the control value is getting changed to 04.11.2010.
Please check sample at - https://stackblitz.com/edit/angular-puxw3k?file=src%2Fapp%2Fapp.component.html

Hello @nagasudhakarch
I fixed the bug: https://github.com/kekeh/angular-mydatepicker/commit/6c9a2cc9fe0907d867fa72d39fd195f7217bf1b8
Install new version of the component: 0.11.1.
Try fixed version here: https://stackblitz.com/edit/angular-4s6yat?file=src%2Fapp%2Fapp.component.ts
Now you can keep value of inputFieldValidation. It can be true (default).

Hello @nagasudhakarch
I fixed the bug. Install new version of the component: 0.11.2.
Try fixed version here: https://stackblitz.com/edit/angular-2oljde?file=src%2Fapp%2Fapp.component.ts
Now you can keep default value of inputFieldValidation.

Hi Kekeh,
The fix is working fine. Thank you for the fix.
But I found one more issue, if I make the inputFieldValidation option false and enter date manually dateChanged event not getting triggered even for valid Date.
Thanks,
Sudhakar

If you want that dateChanged is triggered on blur event of input box you have to set inputFieldValidation to true.


Support "6 month" with the future direction

Prerequisites

[x] I searched to see if the issue already exists.

Description
~/scripts/golang
❯ datenat.go 6 months from now
2021/03/03

~/scripts/golang
❯ datenat.go 6 month
2020/08/31

~/scripts/golang
❯ datenat.go 6 months
2020/08/31

~/scripts/golang
❯ datenat.go 6 months later
2020/08/31

Also, it's very jarring that the parsing succeeds on these examples. I think these should throw an error, as they contain important keywords like month that have been discarded.

BTW, that datenat.go is a simple CLI wrapper.

Same problem with 1 year, 2 years, etc.

Getting months by name is also broken:
❯ datenat.go 'next February'
2021/03/03

~/Base/_Code/python/fin master
❯ datenat.go 'next November'
2020/12/01

~/Base/_Code/python/fin master
❯ datenat.go 'next December'
2020/12/31

SGTM, happy to take a look at a PR, might be a little while until I can get to it

Hi, just wanted to add that I ended up here looking for a library that could support this specific use case. I tried to get something to parse "5 minutes" as a Duration instead of Time, implemented it using this library and substracting time.Now(), but didn't work as I expected :(


chore: log more in ServiceInfoObserver

Codecov Report
Patch coverage has no change and project coverage change: -0.01 :warning:

Comparison is base (44414d3) 15.18% compared to head (0bcd64c) 15.18%.

: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.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #168      +/-   ##
==========================================
- Coverage   15.18%   15.18%   -0.01%
==========================================
  Files          49       49
  Lines        2772     2773       +1
==========================================
  Hits          421      421
- Misses       2351     2352       +1

Impacted Files
Coverage Δ

src/naming/observable/service_info_observable.rs
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


bluetooth: tester: Enable support for writable appearance

This was affecting GAP/GAT/BV-06-C qualification test.

note that this test is not passing yet with latest PTS due to issue in PTS (no pairing on 0x05 error on write)

I've created PTS issue for this, but PTS is not handling ALT 5A scenario at all (ie no security elevation on 0x05 response) which means that we would have to allow for no encryption. Since this is correctly handled in TS I expect PTS to provide fix for this soon.
Yet, selecting BT_GATT_PERM_WRITE_AUTHEN vs BT_GATT_PERM_WRITE_ENCRYPT would be probably useful (simiar to device name)


Master2019

Ignore that, wrong request !
Em sex, 17 de mai de 2019 às 19:14, Deantwo<EMAIL_ADDRESS>escreveu:

@Deantwo commented on this pull request.
Didn't I already say no to implementing your DDictionary?
It must be a bug somewhere else that can be fixed, rather than
implementing a custom Dictionary.
Bad thanks for the code, might make tracking it down easier.
See: #153 https://github.com/AsterNET/AsterNET/issues/153
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/AsterNET/AsterNET/pull/201?email_source=notifications&email_token=AAWMPCMQ6GCMABVORFFZPEDPV4U3PA5CNFSM4HNYWRZKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBZATL7Q#pullrequestreview-239154686,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWMPCMJWMN66SPC5LWJXQLPV4U3PANCNFSM4HNYWRZA
.

--
Atenciosamente,


build: new dev | master environment

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Support for v0.6 and v1.0 simultaneously

This PR makes KissThreading support v0.6 and v1.0 simultaneously. I also setup a Travis file.

@bkamins  Please setup Travis for this repo.

Added integration with Travis. All tests go through cleanly


OLM installation broken when having cert-controller/webhook disabled

Describe the solution you'd like
We were using ESO v0.5.1 installed via OLM, where we previously had disabled cert-controller and webhook for different reasons:

They seemed to be optional (although enabled by default)
We already updated our ExternalSecrets and ClusterSecretsStores to v1beta1 (so nothing in v1alpha1, so no need to convert anything)
Since the upgrade to v0.5.X (with cert-controller/webhook enabled by default), our Vault backend (AWS DynamoDB) increased the read/write operations by 4x (which means we were paying 4x the cost of AWS dynamodb), so we disabled both cert-controller/webhook and ESO was working OK, and AWS DynamoDB read/write operations reduced again to ESO v0.4.X values

However, tonight a few of our clusters with automatic updates have tried to upgrade ESO from v0.5.1 to v0.5.2, and all of them failed, because the it seems the upgrade requires to have the webhook Service running (so the webhook is previously enabled):
Failed
error validating existing CRs against new CRD's schema for "clustersecretstores.external-secrets.io": error listing resources in GroupVersionResource schema.GroupVersionResource{Group:"external-secrets.io", Version:"v1alpha1", Resource:"clustersecretstores"}: conversion webhook for external-secrets.io/v1beta1, Kind=ClusterSecretStore failed: Post "https://cluster-external-secrets-webhook.external-secrets.svc:443/convert?timeout=30s": service "cluster-external-secrets-webhook" not found

So it seems the upgrade requires to have previously the Service cluster-external-secrets-webhook, which only exists if webhook is enabled.
We tried to start ESO installation from scratch on a cluster, by unistalling ESO operator and install it again with a fresh OLM Subscription (this operation does not break current ExternalSecrets and their associated Secrets), but the fresh install also fails because it expects to have the webhook service, which of course does not exist on a fresh install.
So it seems there is a chicken-egg problem.  Why a fresh install (or an upgrade) requires an specific webhook Service to be present?

On a fresh operator install is impossible to have it present
On an operator upgrade, only if cert-controller/webhook is runnign before (so enabled), specific webhook Service wiull be present and upgrade will succeed

Workaround on affected cluster whose previous ESO is still running and cert-controller/webhook are disabled
We mitigated the upgrade on other affected clusters where 0.5.2 upgrade failed (but 0.5.1 was still running, we had not yet unistalled it), by enabling cert-controller/webhook first (running ESO 0.5.1  will create them), so that way unistall the operator and then install the operator again it, because the webhook Service already is present thanks to have enabled it just before the upgrade.
Possible workaround on affected cluster where ESO is not running and cert-controller/webhook are disabled
For the cluster which is failing and we cannot do anything because ESO was unistalled without having before creating the webhook, we think we might "workaround it" by manually creating the expected cert-controller/webhook k8s resources, so when the install is being done by OLM, the required webhook Service will be there.

Hi @slopezz ! Another workaround for your issue would be to setup CRDs like this (although, I'm not sure if that is applicable in your use-case):
conversion:
  strategy: None

The webhook pod is not meant to be optional, though. It contains the ValidatingWebhooks for ExternalSecrets and for SecretStores, effectively blocking some misconfiguration that could be potentially dangerous to operations. The recommendation is to have one webhook deployment per cluster.
The option create it is to allow multiple external-secrets deployments (with scoped namespaces) but only one webhook deployment.
certController is optional, as the only job it is doing is providing valid certificate credentials to CRDs, ValidatingWebhooks and the webhook pod itself. It can be replaced with cert-manager. It should be only one per cluster, just like the webhook.
The issue is actually why with certController and webhook (which are passive components) we get an increase of the requests to Hashicorp vault (we've seen that before if you have both v0.4.x version in conjunction with v0.5.x version, as each version will store a different eso apiVersion, leading to a much faster reconcile than intended).

Thanks @gusfcarvalho for the feedback
Knowing webhook cannot be optional, we have just re-enabled again (along with cert-controller) on all our 5 clusters, and everything is running OK now.
Vault read-writes are stable now, when we notice the 4x increase on DynamoDB read/writes operations we had a mix of ESO v0.4.X and v0.5.X, exactly what you mention as a kind of possible root cause, but now we only use v0.5.X:

On the cluster where operator was already unistalled without having the webhook enabled, I just created the needed resources manually and now the operator installation is successful without issues. However although OLM installation was successful, there was a few errors like Unable to continue with update: ServiceAccount \"X\" in namespace \"X\" exists and cannot be imported into the current release: invalid ownership metadata... (normal, they were not created by the operator itself, were created manually by me), so I just removed these manual resources and also the OperatorConfig resource, and created OperatorConfig back again, now everything has been recreated correctly.
So I proceed to close the issue, than you for the support!


Cmake cannot find tcam

I am trying to follow the examples for using tiscamera with C++ but CMake is having issues finding tcam. In the example, the CMakeLists.txt contains the following code to find tcam:
pkg_check_modules(TCAM tcam)
if( TCAM_FOUND)
    message(STATUS "TCAM INC : " ${TCAM_INCLUDE_DIRS})
    message(STATUS "TCAM LIB : " ${TCAM_LIBRARIES})
else()
    message(FATAL_ERROR "TCAM package missing.")
endif( TCAM_FOUND)

When compiling, I however get the error:
CMake Error at CMakeLists.txt:19 (message):
  TCAM package missing.

I have successfully installed tiscamera and tcamdutils from the built packages for ubuntu22 on x64. If I run tcam-ctrl --packages I get the following output:
tcam-ctrl --packages
tiscamera: <IP_ADDRESS>39
tiscamera-tcamproperty: Provided by tiscamera
tcamdutils: <IP_ADDRESS>0
tcampimipisrc is not installed.
tcamtegrasrc is not installed.
tcamdutils-cuda is not installed.
theimagingsource-drivers is not installed.
ic_barcode is not installed.

While all the listed tools as well as tcam-capture and the python libraries are working, Cmake seems to have an issue finding it. Am I missing something or doing something wrong?

Hello,
The deb packages do not contain the development files. You must download the tiscamera development package from https://www.theimagingsource.com/en-us/support/download/tiscameratiscameradev-<IP_ADDRESS>39/. The downloaded tiscameradev_<IP_ADDRESS>39.zip file contains four files.  The 18.04 is used for the 22.04 too.
Stefan


feat: add Andrey's duck

Description
Here my contribution to "The Duck Gallery".

You must respect the following conditions

Your contribution must respect the code of conduct
It's your first PR to this repository
You have added your image of the duck downloaded from https://pimpmyduck.zenika.com
You have not changed the image of the duck
The image filename must be your GitHub username (ex: your-username.png)
You are using your own GitHub user and it's the same as the PR author
Into the contributors.js file, the message must be short and respect the code of conduct

If the PR doesn't respect those conditions, it will be closed

Hello @shonoru, do you want to refresh your duck for the Hacktoberfest 2022 ? 😄

Hello @shonoru, do you want to refresh your duck for the Hacktoberfest 2022 ? 😄

Des que possible


Migrate filter_stdout plugin to v0.14 API

This change depends on #1079

Use helpers compat_parameters and inject.
@tagomoris Could you review again?

Using format_config and inject_config is not so bad, but plugin test drivers for v0.14 plugins can receive Element instances for #configure method.
I think it's easier and smarter to build Element object than concatenating configuration strings.

OK, I will rewrite tests.

Great. Thank you for contribution!


connections list throws an error if a connection name has dots on it

[ISSUE RECEIVED EXTERNALLY] "One other thing I came across was when adding a connection, I gave the connection name in an IP address format ie '10.X.X.X-postgres', the connection was added fine, however when I did a data-validation connections list it gave me the following error. I renamed the connection to something basic and the command worked. The assumption being, if the connection is added successfully but can’t be read it should throw an error when trying to add"
:~$ data-validation connections list

05/18/2023 06:53:32 PM-INFO: Connection Name: HOCE-SQL : MSSQL

05/18/2023 06:53:32 PM-INFO: Connection Name: Oracle : Oracle

Traceback (most recent call last):

  File "/home/user/.local/bin/data-validation", line 8, in <module>

    sys.exit(main())

  File "/home/user/.local/lib/python3.8/site-packages/data_validation/__main__.py", line 565, in main

    run_connections(args)

  File "/home/user/.local/lib/python3.8/site-packages/data_validation/__main__.py", line 524, in run_connections

    cli_tools.list_connections()

  File "/home/user/.local/lib/python3.8/site-packages/data_validation/cli_tools.py", line 999, in list_connections

    source_type = mgr.get_connection_config(conn_name).get("source_type")

  File "/home/user/.local/lib/python3.8/site-packages/data_validation/state_manager.py", line 75, in get_connection_config

    conn_str = self._read_file(connection_path)

  File "/home/user/.local/lib/python3.8/site-packages/data_validation/state_manager.py", line 187, in _read_file

    return open(file_path, "r").read()

FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.config/google-pso-data-validator/10.connection.json'

Resolved by #864


viewIsInsideTabBar is not working

Hi viewIsInsideTabBar props is not working, I want to remove the offset at the bottom but i can't remove it either way

Hello!
I'm currently using viewIsInsideTabBar with success. Can you post a visual example of what's actually not working and your source code? Thanks for reporting!

I can't remove the extra offset at the bottom

Can you post your code? Can't help without that.

'

'

Try to add this automaticallyAdjustContentInsets={false} to your scroll.

nope, still there

Sorry I can't help you any further if you don't provide a visual example of what's not working or your actual source code.

the scroll ended there, so there's obviously an offset. I just used your example code.

With the latest version of the library, this example is currently working inside a TabBar:
<KeyboardAwareScrollView ref='scroll'
        style={styles.container}
        contentContainerStyle={styles.contentContainer}
        keyboardShouldPersistTaps={true}
        viewIsInsideTabBar={true}
        automaticallyAdjustContentInsets={false}>
...
</KeyboardAwareScrollView>

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  contentContainer: {
    paddingLeft: 20,
    paddingRight: 20,
    paddingBottom: 20,
  }
})

Try to adapt it to your source code.

still not working, though it became normal after i dismissed the keypad.

Using the react scrollview works too, so i don't think there's a problem with my styles

Try to remove viewIsInsideTabBar prop and set your own contentInset props.

Oh that worked for me thanks

I had to set the height of the KeyboardAwareScrollView for this to work, have you faced that @alvaromb ?

Nope @jtanori!
What's exactly your issue? Just FYI, I'll deprecate this library soon, it seems that RN now includes a 'keyboard avoiding view' that does the same. Might be worth checking it out.


d3-brush group not recognising mouse events.

I am creating my brush in my renderD3 function and append it to the group brushContainer
    function handleBrush() {
            console.log(event.selection)
    }
    this.brush = brushX()
        .extent([[0, 0], [this.chartWidth, 40]])
        .on('start', handleBrush)
        .call(this.brush.move, [0, 300]);;

    brushContainer.append('g')
        .attr('class', styles.brush)
        .attr('id', 'brush')
        .attr('transform', `translate(0, -${BRUSH.height})`)
        .call(this.brush);

event 'start' is called  correctly when changing the brush programatically with 'this.brush.move' and event.selection gets printed,  but when trying to mouse click in the brush  i get the error:
zone.js?f1f8:195 Uncaught TypeError: Cannot read property 'type' of undefined
at Element.started (brush.js?aaed:296)
the error line in the file states  "type = event.target.data.type"
Is there something wrong with mouse events when using react-faux-dom?? looks like the event target is not recognised by d3

I could be wrong, but I think brushes are stateful and attempt to mutate the DOM, which doesn't work with React since it needs to be in complete control of the real DOM. I think this question has come up a lot in the past, you may just have to go down the normal "breaking out of the React tree" approach.

ok, thank you

This could be caused by using a newer version of D3 that requires more information on the event objects than I originally planned for. So it could just require a small extension to the event code, I can't remember how that works exactly though.

Going to close this for now since it's a bit niche  and I think you'd be better served by using D3 on top of the real DOM directly for brushing. I apologise for any inconvenience! Good luck.


build/sbt assembly error

Hello everyone, i am facing this issue while running build/sbt command can anybody guide me what is error about and its solution please :)
build/sbt assembly
Using /usr/lib/jvm/java-8-oracle as default JAVA_HOME.
Note, this will be overridden by -java-home if it is set.
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
[warn] Executing in batch mode.
[warn]   For better performance, hit [ENTER] to switch to interactive mode, or
[warn]   consider launching sbt without any commands, or explicitly passing 'shell'
[info] Loading project definition from /home/rizwan/keras/spark-deep-learning-master/project
[info] Set current project to spark-deep-learning-master (in build file:/home/rizwan/keras/spark-deep-learning-master/)
Listing /home/rizwan/keras/spark-deep-learning-master/python ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/.pylint ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/docs ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/docs/_templates ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/docs/static ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/model_gen ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/estimators ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/graph ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/graph/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/image ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/param ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/param/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/transformers ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/transformers/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/udf ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/utils ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/sparkdl/utils/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/pycache ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/estimators ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/graph ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/image ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/param ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/resources ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/resources/images ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/resources/images/1_channels ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/resources/images/3_channels ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/resources/images/4_channels ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/transformers ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/udf ...
Listing /home/rizwan/keras/spark-deep-learning-master/python/tests/utils ...
[info] Updating {file:/home/rizwan/keras/spark-deep-learning-master/}spark-deep-learning-master...
[info] Resolving org.apache.directory.server#apacheds-kerberos-codec;2.0.0-M15 .[info] Resolving org.glassfish.jersey.containers#jersey-container-servlet;2.22.2[info] Resolving org.glassfish.jersey.containers#jersey-container-servlet-core;2[info] Resolving com.fasterxml.jackson.module#jackson-module-scala_2.11;<IP_ADDRESS> [info] Resolving jline#jline;2.12.1 ...
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	::          UNRESOLVED DEPENDENCIES         ::
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn] 	:: org.apache.commons#commons-proxy;1.0: org.apache.commons#commons-parent;7!commons-parent.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/apache/commons/commons-parent/7/commons-parent-7.pom
[warn] 	:: org.slf4j#slf4j-api;1.7.7: org.slf4j#slf4j-api;1.7.7!slf4j-api.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom
[warn] 	::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] 	Note: Unresolved dependencies path:
[warn] 		org.apache.commons:commons-proxy:1.0
[warn] 		  +- databricks:tensorframes:0.3.0-s_2.11 ((sbtsparkpackage.SparkPackagePlugin) SparkPackagePlugin.scala#L307)
[warn] 		  +- default:spark-deep-learning-master_2.11:1.0.0-spark2.3
[warn] 		org.slf4j:slf4j-api:1.7.7
[warn] 		  +- com.typesafe.scala-logging:scala-logging-slf4j_2.11:2.1.2 (/home/rizwan/keras/spark-deep-learning-master/build.sbt#L43-52)
[warn] 		  +- databricks:tensorframes:0.3.0-s_2.11 ((sbtsparkpackage.SparkPackagePlugin) SparkPackagePlugin.scala#L307)
[warn] 		  +- default:spark-deep-learning-master_2.11:1.0.0-spark2.3
sbt.ResolveException: unresolved dependency: org.apache.commons#commons-proxy;1.0: org.apache.commons#commons-parent;7!commons-parent.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/apache/commons/commons-parent/7/commons-parent-7.pom
unresolved dependency: org.slf4j#slf4j-api;1.7.7: org.slf4j#slf4j-api;1.7.7!slf4j-api.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133)
at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
at xsbt.boot.Using$.withResource(Using.scala:10)
at xsbt.boot.Using$.apply(Using.scala:9)
at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
at xsbt.boot.Locks$.apply0(Locks.scala:31)
at xsbt.boot.Locks$.apply(Locks.scala:28)
at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
at sbt.IvySbt.withIvy(Ivy.scala:128)
at sbt.IvySbt.withIvy(Ivy.scala:125)
at sbt.IvySbt$Module.withModule(Ivy.scala:156)
at sbt.IvyActions$.updateEither(IvyActions.scala:168)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1488)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1484)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$121.apply(Defaults.scala:1519)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$121.apply(Defaults.scala:1517)
at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1522)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1516)
at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
at sbt.Classpaths$.cachedUpdate(Defaults.scala:1539)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1466)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1418)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
at sbt.std.Transform$$anon$4.work(System.scala:63)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.Execute.work(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.commons#commons-proxy;1.0: org.apache.commons#commons-parent;7!commons-parent.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/apache/commons/commons-parent/7/commons-parent-7.pom
[error] unresolved dependency: org.slf4j#slf4j-api;1.7.7: org.slf4j#slf4j-api;1.7.7!slf4j-api.pom(pom.original) origin location must be absolute: file:/home/rizwan/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.pom
[error] Total time: 20 s, completed May 7, 2018 2:10:45 AM

I ran into the same problem. Here is how I fixed it. Hopefully it would help others

remove .ivy2/cashe
rm -rf ~/.ivy2/cache

redo git clone

now go into project root and run
build/sbt assembly

you should have a build success (at least for me). Good luck!


Layer for rendering STAC item assets

This adds a STAC layer for rendering assets from an item.  It currently creates a tile layer with a GeoTIFF source, but eventually could do other things too.
I'm opening this up to gather ideas on what would make it more convenient.  If we rely just on the STAC core, I don't think we can add all that much convenience (feels just as easy to create a GeoTIFF source).  If we rely on extensions, I think we will have a hard time drawing a line (there are many extensions) and maintaining compatibility (core and all extensions are versioned independently).  Ideally we could provide just the right "hooks" or options for users to not have to write too much application code to do what they want.
Here is a description of the current options/methods:
The getSourceOptions option lets users provide a function that returns options for the source given item metadata.  This can also return a promise in cases where async work needs to be performed.  The example uses this option get projection information from the item (defined in the projection extension), fetch the proj definition, and register the transforms.  This allows the source to be reprojected to the view projection.
The getItem method can be used to get the item metadata after the source is ready.  The example uses this to get the (WGS84) bbox from the item and fits the map view to that bbox.  This would be slightly more convenient with a sourceready event (the current change event can be used but will continue to fire).
The assets option is used to provide an array of keys that map to assets for the source.  This can also be a function that picks the assets from the lookup.  If no assets option is provided, we try to rank the assets based on the type and roles - though this is probably only marginally useful (often there are many data and many overview COG assets, hard to guess which one(s) would be best).
Band stats would be nice to make use of (if the raster extension is being used).  I also have a branch going that extracts and updates stats from the tiles as they load.  I want to settle on something that works in both cases (stats available in metadata and stats only available after rendering).
Curious to get thoughts from others (cc @m-mohr).

Thank you @tschaub, I did not expect this so quickly. :-) I'm traveling for the next two weeks, but I'll try to have a look at this as soon as possible.
For now, the relevant extensions are:

raster (for min, max, nodata) - you can also read the nodata value from file:nodata, but I think usually you'd use raster
proj

be aware that neither WKT2 nor PROJJSON are not supported by proj4js yet: https://github.com/proj4js/proj4js/issues/400
proj:epsg only works when it is defined upfront via proj4js

I don't think you need to implement any other extension.
Be aware that the fields could be present in the Item Properties or in the Item Assets. In principle, you could also have them in Collection Assets.

raster (for min, max, nodata)

@m-mohr - do you have any example items that use the raster extension for stats?  Curious to see if the same metadata is available in the GeoTIFF in those cases.

Is this post-FOSS4G goodness? Eagerly anticipating this.

Hey @tschaub,
sorry for the slow reply. Here are some examples:

All items in these collections have statistics via the raster extension:

https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/noaa-mrms-qpe-24h-pass2
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/noaa-mrms-qpe-1h-pass1
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/planet-nicfi-analytic
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/planet-nicfi-visual

The items in https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/esa-worldcover also use the raster extension for nodata, but the actual value range can be read from the classification extension (the classes with color codes may also result in nice visualization opportunities)
Here's a collection where the classes are stored in the file extension (deprecated though): https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/nrcan-landcover:

The file example makes me think whether OL should use stac-migrate as it could cater for these cases where an "upgrade" is needed so that OL only need to cater for the latest version.

Hey @tschaub,
sorry for the slow reply. Here are some examples:

All items in these collections have statistics via the raster extension:

https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/noaa-mrms-qpe-24h-pass2
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/noaa-mrms-qpe-1h-pass1
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/planet-nicfi-analytic
https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/planet-nicfi-visual

The items in https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/esa-worldcover also use the raster extension for nodata, but the actual value range can be read from the classification extension (the classes with color codes may also result in nice visualization opportunities)
Here's a collection where the classes are stored in the file extension (deprecated though): https://radiantearth.github.io/stac-browser/#/external/planetarycomputer.microsoft.com/api/stac/v1/collections/nrcan-landcover:

The file example makes me think whether OL should use stac-migrate as it could cater for these cases where an "upgrade" is needed so that OL only need to cater for the latest version.


chore(ux.symfony.com:deps) update Twig-CS-Fixer to ^3.0

Q
A

Bug fix?
yes/no

New feature?
yes/no

Issues
Fix #...

License
MIT

#1948 just have been merged, and Twig-CS-Fixer 3.0.0 has been released today.
Let's update it :D
PS: don't we want to use this tool on the whole project instead of only ux.symfony.com?

We wanted to check first for the website, and then generalize :)

We wanted to check first for the website, and then generalize :)

Perfect, thanks :)

Thank .. you ;)

Thanks Hugo.


maybe there is a Thread Safe problem when send a message in the  'MQFaultStrategy#selectOneMessageQueue' code

mq.setBrokerName(notBestBroker);
mq.setQueueId(tpInfo.getSendWhichQueue().getAndIncrement() % writeQueueNums);
this method of selectOneMessageQueue is executed by multiThread when send a message but the mq (messageQueue) is a shared object , thread A modify its brokerName to brokerB,but have not modify it queueId, still 1 , then thread B send msg and use this queue,but now,this queue s brokerName is brokerB but its queueId is 1, in this case , wo cant sure that brokerB really have queue which queueId is 1
Isn't that really a problem?

mq.setBrokerName(notBestBroker); mq.setQueueId(tpInfo.getSendWhichQueue().getAndIncrement() % writeQueueNums);
this method of selectOneMessageQueue is executed by multiThread when send a message but the mq (messageQueue) is a shared object , thread A modify its brokerName to brokerB,but have not modify it queueId, still 1 , then thread B send msg and use this queue,but now,this queue s brokerName is brokerB but its queueId is 1, in this case , wo cant sure that brokerB really have queue which queueId is 1
Isn't that really a problem?

I think you are right, to be more precise, constructors should be used.

I do not think so.
tpInfo.getSendWhichQueue().incrementAndGet()

the index is a thread local variable, would change with thread.if thread switched, index will change.

I do not think so.
tpInfo.getSendWhichQueue().incrementAndGet()

the index is a thread local variable, would change with thread.if thread switched, index will change.

There's a mod

I do not think so.
tpInfo.getSendWhichQueue().incrementAndGet()

the index is a thread local variable, would change with thread.if thread switched, index will change.

It is precisely because the index has changed that other threads have the opportunity to use this queue

    int writeQueueNums = tpInfo.getQueueIdByBroker(notBestBroker);
   ...
    mq.setBrokerName(notBestBroker);
    mq.setQueueId(tpInfo.getSendWhichQueue().incrementAndGet() % writeQueueNums);

a messageQueue's brokerName and queueId is consistent, because writeQueueNums is belong to the same brokerName, which is notBestBroker in this case.

no, that is not my mean , you are right in some aspect,but what i want to say is  messagequeue it self is a shared object , it means all threads will use the same messageQueue object, for current thread, the messageQueue with is consistent,but for other thread, it may not  be consistent ,
org.apache.rocketmq.client.impl.producer.TopicPublishInfo#selectOneMessageQueue()
   public MessageQueue selectOneMessageQueue() {         int index = this.sendWhichQueue.getAndIncrement();         int pos = Math.abs(index) % this.messageQueueList.size();         if (pos < 0)             pos = 0;         return this.messageQueueList.get(pos);     }
this method will not sure it`s return value(messageQueue) is always belong to notBestBroker，so the method may be return a mq from brokerA or brokerB ,etc .for example, when this.sendWhichQueue is too big to becoming a number less than zero, the pos will be zero, and
return this.messageQueueList.get(pos); will return a messageQueue object which may not belong to notBestBroker

The core problem is that  the shared object messageQueueList.get(pos) cannot be modified after being obtained.
I've proposed a PR #4179  please review it. @mz0113

seems like does not matter.
sunhangda @.***>于2022年4月13日 周三11:20写道：

I do not think so.
tpInfo.getSendWhichQueue().incrementAndGet()
the index is a thread local variable, would change with thread.if thread
switched, index will change.
There's a mod
—
Reply to this email directly, view it on GitHub
https://github.com/apache/rocketmq/issues/4154#issuecomment-1097511342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHN3EQXJXKOH2TQGCSXHBQLVEY4RLANCNFSM5TG6KRVA
.
You are receiving this because you commented.Message ID:
@.***>


Consider converting README.md to README.rst

.. because pypi is not happy about markdown making the presentation of package ugly 😄
See: https://pypi.org/project/PyWavefront/0.3.1/

Yeah, I knew about this one. Thanks 😄 . Primarily I did it in Markdown because I am lazy and didn't want to learn another markup language.
I see moves to make Markdown supported by Pypi. There's also a solution to embed a converter in the setup.py file. Again, mostly laziness has stopped me from pursuing this.

Think I found a lazy solution #51

Awesome, I'm glad they updated to support Markdown, thanks for looking!

Hopefully it works. Only way to know is releasing a new version I guess.

Yup. I guess I'll merge this for now.

Merged!


Test text update [do not merge]

This is just an example of changing text on superhero.

This was just an example. Closing.


Changed around wording on Transpiler Documentation

#Summary:
What I did was changing around some wording that I felt could've been explained better or edited. Mostly very simple and small edits that help users better understand the workings of the transpiler.

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

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

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
16 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.006%) to 87.25%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/lex.rs
2
91.65%

qiskit/extensions/quantum_initializer/squ.py
2
80.0%

crates/qasm2/src/parse.rs
12
97.13%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
74250

Relevant Lines:
85100

💛  - Coveralls


initContainer

Is your feature request related to a problem? Please describe.
I am trying to do database migration in my Container app and I was hoping to do it in initContainer but I could not find how to create initContainers for container apps.
Describe the solution you'd like.
I would like a container to be be tagged as an initContainer.
Describe alternatives you've considered.
Doing database migrations manually.

Not a solution, but another alternative: You could run your DB migration script with an ARM "deployment script", which allows you to execute scripts during deployment. It uses Azure Container Instances under the hood. This will also ensure that the script is only run once during deployment, even if you want to have multiple instances of your container app.
I've implemented this in my .NET based microservice template with EF Core Migrations, but a similar process would probably work with any other method:

During build of a service, a SQL script file is created using dotnet ef migrations script (Source)
The script file is stored in an Azure Storage account (Source)
The deployment of a service and all of its dependencies is done via Bicep templates (Source).
As part of that deployment (and before the deployment of the actual container app), a "deployment script" for running the SQL migration is executed (Source)
The deployment script is run as an Azure Managed Identity that has admin rights on the SQL server database (Source)
The deployment script runs a static PowerShell-script (Source) and passes the URL to the SQL file to it (Source)
The PowerShell script downloads the SQL migration file and executes it against the SQL DB (Source)

fyi: It's not yet possible to run the deployment script within a VNET, but they are already working on this.

We are working on init container support @sandeep-eroad it is already in the implementation stage


CSS values being set as NaNpx

For some reason the CSS output is returning NaNpx, like below
.action-voted {
	width: NaNpx;
	height: NaNpx;
	background-position: -NaNpx 0;
}

Still seeing this in 1.3.1.
Using "css" mode on gulp-svg-sprite, I'm combining 2 SVGs exported from latest Illustrator using "internal css" setting.
ZIP of 2 input SVGs, 1 input SCSS template, 1 output SCSS map, 1 SVG sprite, and 1 PNG:
input_and_output.zip
Really loving this tool so far -- thanks for making it!


[bug] Recommended articles are not showing up

Look at More News section for this article, you will not find any details.

@jitendravarma please investigate this issue. E.g. this article doesn't have any recommendations


feat: serve incoming time requests with configured cloud computing

tullius is online at <IP_ADDRESS> but the chronoscoped timings from gregorian continue and still chronos continues to hide

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.96%. Comparing base (38bfbb8) to head (d8218c1).

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #3   +/-   ##
=======================================
  Coverage   62.96%   62.96%
=======================================
  Files           4        4
  Lines          81       81
=======================================
  Hits           51       51
  Misses         23       23
  Partials        7        7

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


Disable native HomeKit accessories

Hello, I have a handful of HomeKit native Meross accessories.  I use the cloud option and it doubles up everything that is HomeKit native.  Is there a way to do that differently and exclude HomeKit native devices?
Thank you.

Hi @ShaunRoberts543
There is no option to 'globally' ignore homekit native devices. In fact I don't think the plugin can even tell if a specific device is the homekit native version or not.
You can add an entry in the config per device (using serial number) and use the 'Ignore From HomeKit' option. I appreciate this is a bit of a setup if you have a lot of devices you wish to ignore, but it only needs to be done once.

Thank you.  It is not a bother to add the devices individually, I am glad I can do that now.  Just wanted to throw the conversation out there.  I remember a plug in that offered a selection to disable HomeKit accessories as a selection, but I cannot remember what it was.  Hue maybe?
Appreciate the reply!

On Aug 17, 2021, at 2:32 AM, Ben @.***> wrote:
Hi @ShaunRoberts543 https://github.com/ShaunRoberts543
There is no option to 'globally' ignore homekit native devices. In fact I don't think the plugin can even tell if a specific device is the homekit native version or not.
You can add an entry in the config per device (using serial number) and use the 'Ignore From HomeKit' option. I appreciate this is a bit of a setup if you have a lot of devices you wish to ignore, but it only needs to be done once.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/bwp91/homebridge-meross/issues/327#issuecomment-900031749, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUIKMBKGTT5ZKIIV6DQHXNLT5H67JANCNFSM5CII3PHA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

It may be hue, not sure.
If there were a way for the plugin to determine whether a device is the homekit mode version then it would theoretically be possible for such an option to hide them.
But i don’t think there is!

Different conversation, but since we are communicating.  I am getting this error a lot on my log for all my Meross devices.  Any thoughts?
[17/08/2021, 10:55:05] [Meross] [Foyer] failed to request status as Timeout at new module.exports.TimeoutError (/usr/local/lib/node_modules/homebridge-meross/node_modules/promise-timeout/index.js:44:16).
Thank you,
Shaun

On Aug 17, 2021, at 10:37 AM, Ben @.***> wrote:
It may be hue, not sure.
If there were a way for the plugin to determine whether a device is the homekit model version then it would theoretically be possible for such an option to hide them.
But i don’t think there is!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/bwp91/homebridge-meross/issues/327#issuecomment-900355464, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUIKMBI5LZ7IBOQR6YNGCALT5JX2RANCNFSM5CII3PHA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

Which version of the plugin are you running?
Which device models do you have? Are you getting this message for literally all your devices? Or limited to specific models you have?
Do these devices work if you try to control them through HomeKit?
Also, do you have your meross username and password configured in the plugin? Or the user key? And these devices are linked to the meross account you have configured (via username+password or userkey) and not a separate meross account?

I have the latest 6.7.2, but it has done for the last 2 updates.  It eventually comes around, but this pops up from time to time.  I have almost all switches the 510 and the 550 and yes it does it with all.  I use the cloud login with user name and password.

On Aug 17, 2021, at 11:05 AM, Ben @.***> wrote:
Which version of the plugin are you running?
Which device models do you have? Are you getting this message for literally all your devices? Or limited to specific models you have?
Do these devices work if you try to control them through HomeKit?
Also, do you have your meross username and password configured in the plugin? Or the user key? And these devices are linked to the meross account you have configured (via username+password or userkey) and not a separate meross account?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/bwp91/homebridge-meross/issues/327#issuecomment-900379329, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUIKMBJWFCKJPWIHZIKKHMTT5J3DFANCNFSM5CII3PHA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

If it's working sometimes and not other times, I would imagine it's just due to an intermittent connection problem between your homebridge instance and your devices.
The plugin is polling each of your devices every 5 seconds (unless configured differently), it's inevitable that there are going to be moments when perhaps wifi is down.
The plugin is simply logging the (error) result of the polling, it's nothing really to worry about since the polling will continue anyway whether one 'round' is successful or not.
I will change the timeout error to only show when debug is enabled, this will lessen the logging (only for polling, not controlling). If a poll fails then there will still be a message in the log saying [device] has been reported [offline], and subsequently a reported [online] when the polling is working again.

Having these issues as well with latest v6.7.2 Meross plugin

One device seems to be unsupported:

[17/08/2021, 21:47:52] [Meross] [Smart LED Light Strip] is currently not supported, do create a github issue https://git.io/JtfVC

The others are HomeKit native and send errors like this:

[17/08/2021, 21:47:55] [Meross] [Left Garage Smart Plug Mini] failed to request status as Timeout at new module.exports.TimeoutError (/usr/local/lib/node_modules/homebridge-meross/node_modules/promise-timeout/index.js:44:16).
[17/08/2021, 21:47:57] [Meross] [Smart Plug Mini - Zapper] failed to request status as Timeout at new module.exports.TimeoutError (/usr/local/lib/node_modules/homebridge-meross/node_modules/promise-timeout/index.js:44:16).
[17/08/2021, 21:47:57] [Meross] [Garage Valve Smart Plug Mini] failed to request status as Timeout at new module.exports.TimeoutError (/usr/local/lib/node_modules/homebridge-meross/node_modules/promise-timeout/index.js:44:16).
...etc...

It seems all HomeKit native devices show "hardware version" 4.0.0 in the Meross App, while non-homekit are v3.0.0
Is there really no way to tell the difference in the code, and can't the "hardware version" be read?

Hi @SemoTech

One device seems to be unsupported:

Which model is this?

The others are HomeKit native and send errors like this:

Do you get this for all your devices? Or just specific models?

It seems all HomeKit native devices show "hardware version" 4.0.0 in the Meross App, while non-homekit are v3.0.0

I don't have a meross homekit native device so can't confirm this. Would you be confident that this is the distinguishing feature between homekit native and not? For all meross models?

Is there really no way to tell the difference in the code, and can't the "hardware version" be read?

The hardware version can be read by the plugin, but since I didn't know about the hardware difference above, then I didn't know that the plugin could potentially differentiate between homekit-native and not models.

With v6.7.3-beta.2 I have added an option to try out:

The logic for the plugin determining a homekit-native model is solely based on whether the first character of the hardware version is 4.
It would be nice to get some confirmation from users whether this condition is a definitive rule, in that:

any homekit-native model has this hardware version starting with 4
but also any non-homekit-native model doesn't have a hardware version starting with 4

That is outstanding and fast @bwp91 Thank you.   I am glad you also noticed the 4.x.x HomeKit native hardware version.
I am also happy to test, but not sure I know how to instal the beta version and how to switch back to the release version...

That is outstanding and fast @bwp91 Thank you. I am glad you also noticed the 4.x.x HomeKit native hardware version.

I haven’t noticed this myself. I am totally going by what you said earlier!

I am also happy to test, but not sure I know how to instal the beta version and how to switch back to the release version...

Depends on how you run homebridge -
https://github.com/bwp91/homebridge-meross/wiki/Beta-Version

Sounds good @bwp91 I will try the v6.7.3-beta.2 today.
And yes, seems ALL HomeKit native hardware is v4.0.0 while non-HomeKit is v3.0.0  I have about 10 devices of each kind and they all follow this rule.
Lastly, you asked which device was unsupported.  It is the Native HomeKit "Smart LED Light Strip" codename "msl320c"

@bwp91 I just tried the latest beta, and it seems to work well, except for one HomeKit native device still being "loaded":
[18/08/2021, 06:18:53] [Meross] [Smart Air Purifier] is currently not supported, do create a github issue https://git.io/JtfVC with info:
{"uuid":"21124132413448e1e97270fb","onlineStatus":1,"devName":"Smart Air Purifier","devIconId":"device_map100_un","bindTime":1627763324523494,"deviceType":"map100","subType":"un","channels":[{}],"region":"us","fmwareVersion":"7.2.21","hdwareVersion":"7.0.0","userDevIcon":"","iconType":1,"skillNumber":"","cluster":1,"domain":"mqtt-us.meross.com","reservedDomain":"mqtt-us.meross.com","firmware":"7.2.21","hbDeviceId":"21066234125427270fb","model":"MAP100"}

@bwp91 I just tried the latest beta, and it seems to work well, except for one HomeKit native device still being "loaded":
[18/08/2021, 06:18:53] [Meross] [Smart Air Purifier] is currently not supported, do create a github issue https://git.io/JtfVC with info:
{"uuid":"21124132413448e1e97270fb","onlineStatus":1,"devName":"Smart Air Purifier","devIconId":"device_map100_un","bindTime":1627763324523494,"deviceType":"map100","subType":"un","channels":[{}],"region":"us","fmwareVersion":"7.2.21","hdwareVersion":"7.0.0","userDevIcon":"","iconType":1,"skillNumber":"","cluster":1,"domain":"mqtt-us.meross.com","reservedDomain":"mqtt-us.meross.com","firmware":"7.2.21","hbDeviceId":"21066234125427270fb","model":"MAP100"}

Yes this has a hardware version of 7.0.0

Yes this has a hardware version of 7.0.0

Shows v4.0.0 for me...

Yes this has a hardware version of 7.0.0

Shows v4.0.0 for me...

Except it is unplugged right now so WiFi is n/a

I was referring to the air purifier which you mentioned was hk native, still being loaded, this has a hardware version of 7.0.0

My bad @bwp91 you are correct, must be since the Air Purifier is a different class of device.
Guess we can add v7.x.x along with V4.0.0 to the whitelist of HomeKit native devices....

@SemoTech new beta version 6.7.3-beta.3 should:

hide the air purifier since now checks for 4 and 7 in the hardware version
show the MSL320C as a supported device

@SemoTech new beta version 6.7.3-beta.3 should:

hide the air purifier since now checks for 4 and 7 in the hardware version
show the MSL320C as a supported device

Confirmed working as expected in latest beta @bwp91 Thank you for the quick fix!
Question:  What do you mean by "showing the MSL320C as supported device"? Is the LED strip not a v4.0.0 HomeKit native device, and as such should it not just be ignored altogether by the plugin along with all others that are native?

Well in your case it won’t show in fact due to the “ignore native devices” being ticked. But if this wasn’t ticked then you’d find the accessory would appear in homekit. Before it wouldn’t have done!

Well in your case it won’t show in fact due to the “ignore native devices” being ticked. But if this wasn’t ticked then you’d find the accessory would appear in homekit. Before it wouldn’t have done!
I was being very general with my bullet points 😆

Gotcha, but since the LED strip is a Native HomeKit device it would appear in HomeKit anyway....
Any native HK device should be bypassed by this plugin, no?

Gotcha, but since the LED strip is a Native HomeKit device it would appear in HomeKit anyway....

Yes, I meant the accessory that the plugin would create for this device.

Any native HK device should be bypassed by this plugin by design, no?

I don't believe so. I think it's better to have the choice.
I've added some features to different device types that may not be possible with the native homekit version (like adaptive lighting for lights, Eve history graphs for outlets, switches, power wattage, extra Eve data for garage door openers, etc).
Also I'm not sure if it's so much the case with meross, but I compare to wemo plugin and many users found the homebridge plugin a lot more stable than the wemo native-homekit support, so they use the plugin instead.

I agree about the choice @bwp91 but not sure how HomeKit itself would react if a native device is also "cloned" by your plugin, so two instances are presented to HK...

This wouldn't cause any issues at all. There would simply be two different homekit accessories that control the same physical device. Obviously this is unnecessary.
But anyone has the choice of deleting the homekit native version and using the plugin version, or
Configuring to ignore the plugin version and use the native homekit version.

Gotcha, good to know they wont butt heads.

I assume that once a new full release is out I'll get notified in the UI to updated even tho I am currently using the beta version?

Yes, stay on the beta, once a proper update is out it will appear as update available in the ui

Perfect, thank you again @bwp91

@SemoTech
could you provide me with an exact list of models for which the hardware version is 4 for homekit native version?
It would make me feel better doing a per-model check as could be for example another model has a non homekit native hardware version of 4 and a homekit native version of 5. In this case obviously with the new option selected, it will hide incorrect accessories

Hi @bwp91, happy to help and give something back.
Currently my Pi/Homebridge is not able to route devices to HomeKit, following the v1.10 firmware update of my UDM-Pro from Ubiquiti.  So while I can communicate with the Pi, it is not passing device info to HomeKit and I have not been able to fix it yet, even with support from Reddit members and Ubiquiti's own tier 3 engineers. Here is my post on Reddit about it...
Now, I do not believe there is such a thing as a non-HomeKit version of the MAP100 Air Purifier since I have not seen it.  If they release one they may change the model designation. For a review of the MAP100, if interested, see mine HERE.
As for your request, here are all the Meross unique models I have that are HomeKit Native:
Name:  Smart Bulb     |   Model:   msl120d    |   HW: v4.0.0
Name:  Garage Opener    |   Model:  msg100     |   HW: v4.0.0
Name:  Single Pole Smart Switch    |   Model:  mss510x   |   HW: v4.0.0
Name:  Smart LED Strip    |   Model:  msl320c   |   HW: v4.0.0
Name:  Smart Plug Mini    |   Model:   mss110r    |   HW: v4.0.0
Name:  Smart Air Purifier     |   Model:  MAP100     |   HW: v7.0.0
These are my non-HomeKit devices that Homebridge is managing with your plugin:
Name:  Single Pole Smart Switch    |   Model:  mss510x   |   HW: v3.0.0
Name:  3-Way Smart Switch    |   Model:  mss550x   |   HW: v3.0.0
Do note that the "mss510x" model [single pole smart switch] comes in either HW 3 or 4 so can be either non-HomeKit or HomeKit... I do not have a HomeKit "mss550x" but there could be a HomeKit version out there as well...
Hope this is of some help to you Ben.