Implement support for Android TalkBack

What does the pull request do?
This pull request adds a much-needed implementation of UI automation / screen reader accessibility features to the Android implementation of Avalonia. It does so by implementing Android's ExploreByTouchHelper built-in as a compatibility shim between Avalonia's own AutomationPeer API and Android's AccessibilityNodeInfo API.
What is the current behavior?
The current behavior of Avalonia on Android is to essentially operate as a dynamically rendered raster SurfaceView which is completely opaque to screen readers such as Android's TalkBack or HumanWare's KeySoft. This is completely unsuitable for users who have visual and/or cognitive impairments and need a screen reader to help them understand what's on the screen.
What is the updated/expected behavior with this PR?
The new behavior that this PR implements is a fully functional prototype integration between Avalonia and Android's various accessibility APIs. This integration includes support for all relevant specialized "providers" within the AutomationPeer API and creates a performant, responsive, and verbose user experience for visually impaired users of Avalonia apps on Android.
To test, enable TalkBack on your Android mobile device and run the ControlCatalog sample. You will observe that the "explore by touch" feature now responds appropriately to user input and allows them to hover over interactive elements like buttons and text fields in order to focus them and have their attached labels read aloud.
How was the solution implemented (if it's not obvious)?
The solution was implemented by implementing a specialized AccessibilityDelegateCompat via Android's ExploreByTouch abstract. This delegate acts as a plug-in for Avalonia's existing automation features into Android's accessibility APIs designed for custom controls.
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes
This PR only modifies internal Avalonia.Android functionality and as such does not expose any new APIs or make changes to the existing API surface.
Fixed issues

Related to previously closed #585

@IsaMorphic,
Please read the following Contributor License Agreement (CLA). If you agree with the CLA, please reply with the following:
@cla-avalonia agree

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ),
and conveys certain license rights to the AvaloniaUI OÜ ( “AvaloniaUI OÜ” ) for Your contributions to
AvaloniaUI OÜ open source projects. This Agreement is effective as of the latest signature date below.
1. Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to AvaloniaUI OÜ under this Agreement.
“Project” means any of the projects owned or managed by AvaloniaUI OÜ and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
3. Originality of Work.  You represent that each of Your Submissions is entirely Your
original work. Should You wish to Submit materials that are not Your original work,
You may Submit them separately to the Project if You (a) retain all copyright and
license information that was in the materials as you received them, (b) in the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any
licenses or other restrictions of which You are aware, and (c) follow any other
instructions in the Project's written guidelines concerning Submissions.
4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
5. Licenses.
a. Copyright License. You grant AvaloniaUI OÜ, and those who receive the Submission directly
or indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of, publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing
rights to third parties.
b. Patent License. You grant AvaloniaUI OÜ, and those who receive the Submission directly or
indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
6. Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3 ). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
7. Notice to AvaloniaUI OÜ. You agree to notify AvaloniaUI OÜ in writing of any facts or
circumstances of which You later become aware that would make Your representations in this
Agreement inaccurate in any respect.
8. Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the Republic of Estonia, and
the parties consent to exclusive jurisdiction and venue in the courts sitting in Talinn,
Estonia. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens.
10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by AvaloniaUI OÜ.
AvaloniaUI OÜ dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1.

@cla-avalonia agree

Apologies for all the quick fixes, I've been using the nuget feed to test with my own app on a BrailleNote device to troubleshoot issues. I've finally finished with the main code for this PR now, so feel free to review what I have so we can wrap this up!


Add IntelliJ Java formatting settings

The java template should also include the current formatting settings which I have used for projects. Even though the formatting standardisation for Java is abysmal (compared to rustfmt, for instance), I will keep updating the settings here with those I have used in university projects.

Fixed with 7a8048277dcbc24d29eafcf5df02369b05bdae86.


CRP 2022-11-01 track 2

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

i've addressed all the comments. pls see @ArcturusZhang !

im not sure why i am getting the build error. could you share some advice @ArcturusZhang

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Compute


Allow adjustable motor speeds

We're using PWM to control the stepper motor STEP signals. With arduino, each PWM pin has a set default frequency so regardless of the duty cycle, motors will spin at the same rate.
Take a look at http://www.righto.com/2009/07/secrets-of-arduino-pwm.html for ways around this. Here's the detailed ATmega datasheet which may also come in handy https://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf

https://arduino.stackexchange.com/questions/210/why-do-some-pins-have-a-different-pwm-frequency for a good reference


Religion Tab of City Panel showing incorrect info (or not updating)

Hi there,
I'm using the latest master build of CQUI CE (direct download from here rather than Steam Workshop version) and I am experiencing a strange bug in my current game. The city panels of all my cities (including my Holy City: https://www.dropbox.com/s/pnkdphi12vl19h8/289070_20171109231716_1.png?dl=0 ) are showing no information concerning my majority religion. Either the religion tab isn't updating at all, or something screwy is going on. E.g., in the screenshot I've linked there, that city is the Holy City of Islam and, as the religion overview shows, it currently has 16/19 Islamic Citizens, yet the city panel shows nothing concerning Islam or its beliefs.
I don't THINK this is a mod conflict (I can't imagine how, since none of my other mods change any of the city panel files, or any of the same files as CQUI), but just in case, these are the other mods I'm playing with (and all the latest versions thereof):
[+ indicates installation via Steam Workshop]

Better Civilization Icons
Better Coastal Cities & Water Tiles
CIVIG (Civi Graphs)
Historicity ++
Immersive Dialogue
Kinetikam
Smoother Difficulty 1.4
Sukritact's Fuji
Sukritact's Policy Manager
Sukritact's Resources
Sukritact's Tonle Sap
Unique District Icons

If I can provide any further info, please let me know!  Thanks for your hard (and great) work on CQUI!

I'll try to reproduce this, but that'll be nice if you could send the save of this game (so that we can test it easily)

Forgive me! I (foolishly) didn't even think to do append my save file when I wrote my original post. The most recent (still showing the problems I've outlined) is available here:
https://www.dropbox.com/s/cgu5x8d4k3j7pio/GITARJA 336 1575 AD.Civ6Save?dl=0
Thanks again, and let me know if I can do anything else to help.


When daysUntilClose: false, issues are closed an hour after adding 'stale' label

Here's our .github/stale.yml:
daysUntilStale: 3
daysUntilClose: false
exemptLabels:
  - put-on-ice
  - work-in-progress
staleLabel: stale
markComment: false
closeComment: false

Here's what's happening:

On our repo, it appears to add the correct label after daysUntilStale days (at 2018-02-25T22:40:20Z, but an hour later (at 2018-02-25T23:40:20Z) it closes PRs which have been previously labelled as stale.
Running<EMAIL_ADDRESS>

This could be related to running latest version on npm, 1.1.0 which is from Aug '17

Sorry for not reporting back! The latest master fixed it, just need to publish probot-stale more often ;) thank you :)


request: disable level up message

I think it should be possible to disable the leveling up message/announcement in the leveling system

I'm planning on doing a full rewrite of the leveling system sometime in the future (don't have an ETA, but it is on my to-do list). This is a feature I'm planning to add 👍

Hmm i should really consider this for my system as well, ive got to add a couple things and im done (namely dbRank when that pr goes thru and editing the rank command to allow checking other peoples ranks)

Check #132

Resolved in https://github.com/yagpdb-cc/yagpdb-cc/commit/90b61dd20337f09260e8fd32fa3d5b78e1124ca7.


Not working with postgresql 9.5

Works pretty fine with psql 9.4 on CentOS 7.2, but not with 9.5
Following error while running the playbook:
RUNNING HANDLER [patrik.uytterhoeven.PostgreSQL-For-RHEL6x : restart postgresql] ***
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Job for postgresql-9.5.service failed because the control process exited with error code. See \"systemctl status postgresql-9.5.service\" and \"journalctl -xe\" for details.\n"}
        to retry, use: --limit @playbooks/database/main.retry

PLAY RECAP *********************************************************************
localhost                  : ok=23   changed=15   unreachable=0    failed=1

systemctl status postgresql-9.5.service
● postgresql-9.5.service - PostgreSQL 9.5 database server
   Loaded: loaded (/etc/systemd/system/postgresql-9.5.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-04-13 07:51:19 CEST; 14s ago
  Process: 6342 ExecStart=/usr/pgsql-9.5/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=1/FAILURE)
  Process: 6336 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)

Apr 13 07:51:18 nlihmoodle01.hosting.local systemd[1]: Starting PostgreSQL 9.5 database server...
Apr 13 07:51:18 nlihmoodle01.hosting.local pg_ctl[6342]: **LOG:  unrecognized configuration parameter "checkpoint_segments" in file "/var/lib/pgsql/9.5/data/postgresql.conf" line 161**
Apr 13 07:51:18 nlihmoodle01.hosting.local pg_ctl[6342]: **FATAL:  configuration file "/var/lib/pgsql/9.5/data/postgresql.conf" contains errors**
Apr 13 07:51:19 nlihmoodle01.hosting.local pg_ctl[6342]: pg_ctl: could not start server
Apr 13 07:51:19 nlihmoodle01.hosting.local pg_ctl[6342]: Examine the log output.
Apr 13 07:51:19 nlihmoodle01.hosting.local systemd[1]: postgresql-9.5.service: control process exited, code=exited status=1
Apr 13 07:51:19 nlihmoodle01.hosting.local systemd[1]: Failed to start PostgreSQL 9.5 database server.
Apr 13 07:51:19 nlihmoodle01.hosting.local systemd[1]: Unit postgresql-9.5.service entered failed state.
Apr 13 07:51:19 nlihmoodle01.hosting.local systemd[1]: postgresql-9.5.service failed.

Playbook:
  roles:
    - patrik.uytterhoeven.PostgreSQL-For-RHEL6x
  vars:
      postgresql_version: 9.5
      postgresql_admin_user: "postgres"
      postgresql_default_auth_method: "trust"

This is probably due to a parameter in the template that has been changed in 9.5
the template is not the best solution
what i want to do in the future is remove the template and make use of lineinfile this would make upgrading to a new version of postgres more easy but it will take a huge amount of time.


[Feature Request]: Add language file?

I like your mod. But I can't translate mod because this mod don't have a language file(this mod only have language file for items). Do you have any plans to add language files later?

Low priority, but when I figure out how to use lang files for powers and descriptions, that can be arranged.


[$500] mWeb/Chrome-Login-FAB menu is not opened after closing the engagement modal for new account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v1.4.32-2
Reproducible in staging?: y
Reproducible in production?: no new feature
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: applause internal team
Slack conversation:
Action Performed:

Go to URL https://staging.new.expensify.com/

Create new account

Copy the Magic link and change it to staging

Open a new tab and navigate to the staging magic link

Verify the abracadabra page is displayed

Navigate to the original tab

Close the engagement modal

Expected Result:
FAB menu opened
Actual Result:
FAB menu is not opened
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/43996225/9fbcb82b-bcfb-44dd-8668-aed809ed4c26

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a647fcb2d1262265
Upwork Job ID:<PHONE_NUMBER>715163136
Last Price Increase: 2024-01-25

This is intentional.
cc: @stitesExpensify

Yep that's correct. The FAB is no longer supposed to open automatically


Do we have any plan to introduce layout like grid, rows and column type in near future?

Describe the feature
Do we have any plan to introduce layouts like the grid, rows, and column types in near future? This will be a great form building.
If we have already then please provide the documentation or something

I'm not sure a grid system is meant for a form building library, as those aren't inputs, FormKit is not really a UI Kit, you can use both a UI kit and FormKit to create those layouts using the schema or vue components.


Graph.importCells should have optional x/y args in ts-signature

Hello.
Current signature of importCells is:
importCells: (cells: Cell[], dx: number, dy: number, target?: Cell | null, evt?: MouseEvent | null, mapping?: any) => Cell[];
In the "Drag Source" example importCells being called inside DropHandler for gestureUtils.makeDraggable. It feels like its common case and current implementation makes you write something like:
const xNum: number = x || 0;
const yNum: number = y || 0;

in every TypeScript DropHandler implementation.
Original mxGraph docs says that default of x/y args in importCells is 0, so my suggestion that x and y should be optional in it's signature.

@Kozyyy  I had the same issue. You can create a pull request for fixing this issue.

I agree with the conlusions.
I guess the issue in maxGraph comes from typed-mxgraph (it has been used at starting point for types in maxGraph) that also marks the dx and dy parameters as mandatory https://github.com/typed-mxgraph/typed-mxgraph/blob/v1.0.7/lib/view/mxGraph.d.ts#L2115-L2127


[Improvement][Metrics] Update some metrics names in grafana-demo dashboards

Purpose of the pull request

Update some metrics names in Grafana demo dashboards which I missed in the previously PR: #10477
Fix some minor typos in docs.

Brief change log

Already described above.

Verify this pull request

Verified by manual test.

I had rerun the CI.
I found that E2E is not very stable today. But I don't know what has been changed. o(╥﹏╥)o

@SbloodyS Should I rebase on the dev? Will it help?

Maybe not...


6 months old, please update.

I can't get anything other than:
"invalid_request"
error_description:"AADB2C90205:+This+application+does+not+have+sufficient+permissions+against+this+web+resource+to+perform+the+operation
Is this documentation up to date? Are we missing something?

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

ID: 6ebb27a5-41cc-b64f-de68-2f0df6b02f8d
Version Independent ID: 31de5338-ace5-b8c4-88e8-54863428fc61
Content: Cloud authentication in web APIs with Azure Active Directory B2C in ASP.NET Core
Content Source: aspnetcore/security/authentication/azure-ad-b2c-webapi.md
Product: aspnet-core
GitHub Login: @CamSoper
Microsoft Alias: casoper

Also forgot to ask, depending on the documenation, there are two varatiations of the B2C Authentication url.
https://login.microsoftonline.com/tfp//b2c_1_sign_up_in/oauth2/v2.0/authorize
https://login.microsoftonline.com//oauth2/v2.0/authorize?p=b2c_1_sign_up_in
Which is correct or what are the differences?

@yoelhor @parakhj Any ideas?

No difference. Just two ways of calling the service

@parakhj Thanks for that clarification. Any idea on what I could be doing wrong with postman? Do I need an additional access per user step even though they've registered through the same postman, and verified the account. I get the same with manually created users as well.

@nezoic - I'll run through this walkthrough again on Monday and see if anything's changed.

The error code indicates that you didn't configure the scopes and permissions correctly through the azure portal. Are you trying to get an access token to call an API? See https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-access-tokens

I would suggest the doc mentions about https://login.microsoftonline.com/tfp/ and https://login.microsoftonline.com/ (without tfp)
Visual Studio template uses the former while Azure B2C uses the latter on its UI for testing policy set up. As a result, they are very confusing when something goes wrong.

Just merged https://github.com/aspnet/Docs/pull/8661.  Should take care of most of the issues.
I'll add the suggestion from @thuannguy on Monday.


Normalize camel and camel-quarkus dependencies

Let's take a hello world integration. There are some commands that theoretically should do the same thing, but they don't:

kamel run hello.yaml -d camel:jackson: adds org.apache.camel:camel-jackson
kamel run hello.yaml -d camel-quarkus:jackson: error in the CLI, but works as next one if set manually in the integration
kamel run hello.yaml -d camel-quarkus-jackson: adds org.apache.camel.quarkus:camel-quarkus-jackson and transitively org.apache.camel:camel-jackson

I think that we should treat camel: and camel-quarkus: as synonyms, as there's no reason why one would like to add the camel component without the quarkus extension, given that we only have quarkus as runtime. People can still use mvn: if they want to use a specific lib. We can keep both for compatibility, but with the same meaning.
This problem is also evident in Kamelets, where we need to use camel-quarkus: and mark the Kamelet as requiring Quarkus just because dependency formats are distinct.
cc @astefanutti , @lburgazzoli wdyt?

Totally makes sense. Considering the runtime as an implementation detail, that should not resurface to the end-users as much as possible, camel-quarkus should ideally be dropped and only camel: be kept. We can keep it around for backward compatibility reason, but have it replaced all around. Also, maybe we can go a step further and shorten camel-quarkus:aws2-sqs with just aws2-sqs.

On the subject I've opened an issue on camel-quarkus as we can certainly have some way to detect and support both camel-quarkus- vs camel- or even a shorter form, but for a safer approach would be to add such info in the catalog and do not rely on duck typing.


feat: update dependencies to polkadot v1 release

Closes #1148
The Major changes in the code

Adds serve feature flag to the primitives. This way, serde (de)serialization can also be used in no_std environments. (PR 1307)
Remove node Cli Parameters (Done in 0.9.43 release )
Update GenesisConfig (Helping PRs- 14108)

For more info on the release, check out the tag here

blocked by ORML issue

The PR is unblocked as ORML dependencies are updated to 1.0.0.
Reference PR

Blocked by [mocktopus crate] dependency (https://github.com/CodeSandwich/Mocktopus/issues/75)

And can you make a ticket to address https://github.com/paritytech/substrate/pull/13958 please

And can you make a ticket to address paritytech/substrate#13958 please

Yes i can, but currently i see we are taking the proof_size from cumulus_primitives here, should it be calculated based on interlay parachain block fullness?


Fix metadata provider test for l2go

It seems like, they have also changed the dom of l2go...

I don't think so because the tests work if I rerun them manually.

I think the server is down at the scheduled time or some thing like that.

I close this pull request because it does not seem to work and the failing CI has most certainly some other reasons.
Feel free to reopen this pr if there are any additions to this.

The debugging added in pull request #111 resulted in the realization, that this pull request is still relevant but not complete.
More of that in issue #113

This pull request is obsolete due to pull request #114

Sorry for the mails, I thought I accidentally closed the issue but that was wrong.


Fix filebeat not started on containers

filebeat playbook ensure the service is restarted if running, but
doesn't ensure the service is started on boot.
This makes sure the service is listed in the appropriate rc folder.
This is useful for work on rcbops/u-suk-dev#179
Connects #1274
Signed-off-by: Jean-Philippe Evrard<EMAIL_ADDRESS>

👍 This was clearly an oversight by me. I think we should merge this as soon as the checks pass.

👍  pending checks

Updated with tags and forcing service to be started in all cases.

👍  on new patch

RPC-AIO-Liberty-PR: Fail

RPC-AIO-Ceph-Liberty-PR: Fail

Should have added the tag "filebeat-make-with-the-shippings" ;P
👍 on the update too =D


tried man man .

Got this

please try again - i think this should work now although i haven't tried via omvs

after working with @lbdyck i believe this is now ok - the key is to know that mandb must be run to create an index.
@lbdyck re-open if still not working from your perspective.


Enabling feature gates via Rancher API

Rancher versions:
Component                 | Version
Rancher                       | v2.0.0
User Interface              | v2.0.41
Infrastructure Stack versions:
healthcheck:
Network Provider : Canal
Kubernetes Version : v 1.10.1-rancher1
Docker version: (docker version,docker info preferred)
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
AWS  : RHEL : t2.medium
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single Node rancher setup.

Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
https://bpaste.net/show/2a44724dd99b
Steps to Reproduce:

What do I want to achieve?
Update the rancherKubernetesEngineConfig to enable the PersistentLocalVolumes & VolumeScheduling flags. And check the status.

Pre : I followed this guide to get 2 linux VM(RHEL) with docker 17.03.2.

step 1: Open Rancher2.0 UI

step 2: View cluster in API

step 3: Click edit and modify the rancherKubernetesEngineConfig input box to add extra args for
kubelet

step 4: Click show request .. you get a curl command and json request.

step 5: Modified request config parts looks like below :

"kubeApi": {
"podSecurityPolicy": false,
"type": "/v3/schemas/kubeAPIService",
"extraArgs": { "PersistentLocalVolumes": true, "VolumeScheduling": true }
}
"kubelet": {
"failSwapOn": false,
"type": "/v3/schemas/kubeletService",
"extraArgs": { "PersistentLocalVolumes": true, "VolumeScheduling": true }
}

step 6: Click send request

Results:
Received the following error :

The argument is --feature-gates and the arguments are comma separated, the snippet you can use is
"services":{"etcd":{"type":"/v3/schemas/etcdService"}, "kubeApi":{"podSecurityPolicy":false, "type":"/v3/schemas/kubeAPIService", "extraArgs":{"feature-gates":"PersistentLocalVolumes=true, VolumeScheduling=true"}}, "kubeController":{"type":"/v3/schemas/kubeControllerService"}, "kubelet":{"failSwapOn":false, "type":"/v3/schemas/kubeletService", "extraArgs":{"feature-gates":"PersistentLocalVolumes=true, VolumeScheduling=true"}},

Regarding the error, there is an error in your JSON somewhere. You can make it easier by using the Edit function in the API and after Show Request and editing the JSON, hit Send Request.
Also, since v2.0.4 we have an easy Edit functionality in the UI (Edit as YAML).
Closing as this is not a bug, let me know if you need more help.

What about this error .. should I set the azureKubernetesServiceConfig=null

{
"actions": { },
"baseType": "error",
"code": "InvalidFormat",
"fieldName": "azureKubernetesServiceConfig",
"links": { },
"message": "InvalidFormat 422: Value can not be converted to type azureKubernetesServiceConfig:",
"status": 422,
"type": "error"
}

amazonElasticContainerServiceConfig, azureKubernetesServiceConfig , googleKubernetesEngineConfig all need to null

It worked thnx 👍


Wakaama client doesn't take new entries added to Leshan bootstrap server

Wakaama client is successfully bootstrapping from Leshan bootstrap(BS) server and is able to  register with Leshan device management(DM) server. Now I tried below steps

Start Leshan BS server with no or zero entries in GUI and DM server
Start Wakaama client
Add entry corresponding to Wakaama client endpoint in Leshan BS server user interface
Wakaama client, during retries, doesn't receive the newly added bootstrap credentials

I also tried with Leshan client for the same scenario. But, Leshan client is able to receive the newly added credentials( waits for 600s before doing so) from Leshan bootstrap server. Is Wakaama client expected to handle this scenario ? Attaching logs
Leshan version: 0.1.11-M10
Wakaama: current master branch. Using lwm2mclient with DTLS disabled
Compiler: Apple LLVM version 7.3.0 (clang-703.0.29)

Yes the wakaama client is expected to handle this.
From your logs, I can see that the client tries to reach a bootstrap server at an invalid address: []:0
I guess the objects backup and restore in the example client did not go well.
I'll investigate this.

I reproduced your issue. With the current master, the client tries to re-connect to the right address. So I guess there is an issue with your objects backup/restore.
Regards,

I am sorry. I couldn't understand. Is this a bug or some thing wrong with my build ? I took a checkout of wakaama master and followed it with cmake/make. My code is in sync with wakaama/master.

Sorry I assumed you had custom components.
I gave this a second look and I found the issue (which symptoms are different depending on your platforms): when the bootstrapping fails, the lwm2mclient deletes the connection associated to the faulty server. But the core still uses it.
I'm making a quick fix for this.

Thanks.


Questions about the 09 trajectory in the article

hello, thanks for your shared code. Its a great work！
I try to use the weights provided at the end of your homepage to evaluate the 09 and 10 sequence, I can get the same trajectory error and other data, but I can't get a trajectory that is close to a closed track like Figure 1 in your article, I want to know Figure 1 in your article Which weights are used to obtain such a result. Because I used the MotionHint-GT and MotionHint-Unpair weights at the end of your homepage, I can't get the same effect as your picture in evo toolbox.
Wish you can  apply me  soon, thx a lot.

Hi jzw,
Thanks for your interest in our work.
As stated in our abstract, we actually take two existing SSM-VO systems (Monodepth2 and SC-Depth) as our baseline and perform evaluations. In this repo, we only publish the code and pre-trained models of Monodepth2, not SC-Depth. Fig. 1 in the original paper shows the results of SC-Depth and our improved versions.
Cong


Bug: A typo in src/operator/swapaxis-inl.h

https://github.com/apache/incubator-mxnet/blob/f7fa49e3068ab30a7379bbce1b288bf285fe5cde/src/operator/swapaxis-inl.h#L113
should be:
TBlob data_out = out_data[cvmatdataenum::kOut];

Why do you think so?

@sandeep-krishnamurthy Could you please tag the issue as Pending Requester Information

@devymex Why do you think the swapaxisenum::kData should be changed to cvmatdataenum::kOut ?
Can you provide an example as well ?
Thanks!

Close due to no response, Please feel free to reopen this issue if you found this issue has not been solved.


Fix Audit Logs Exports calls

Codecov Report

Merging #146 (248f7f5) into main (59872bf) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #146      +/-   ##
==========================================
- Coverage   93.75%   93.74%   -0.02%
==========================================
  Files          26       26
  Lines         721      719       -2
==========================================
- Hits          676      674       -2
  Misses         45       45

Impacted Files
Coverage Δ

workos/audit_logs.py
100.00% <100.00%> (ø)

workos/utils/validation.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Package own EventSubscriberInterface

Created an EventSubscriberInterface and use it when registerForAutoconfiguration doctrine.event_subscriber instead of the using Doctrine\Common\EventSubscriber.
Using Doctrine\Common\EventSubscriber reulted in cache:clear for me to fail

To fix the ECS issues I have to also rename the subscriber classes. Any thoughts on that?

Using Doctrine\Common\EventSubscriber reulted in cache:clear for me to fail

How exactly?
This would break all the existing code

I don't know exactly yet. But what happens is that my php memory will grow enormous and will finally crashes. When I activate xdebug, I see max_nesting_level reaching even 9999 during warmup.. Maybe it's because of other packages. I use vichupload and shapecode/cron-bundle from which I see also uses doctrine subscriber tag. My wild guess is that is has something to do with services being autowired unintentionally now.

@TomasVotruba sorry for wasting your time. I managed to solve the memory issue by rewriting some of my classes which also implements the EventSubscriber by using Service Locator now instead of requiring some of the used services. Now there are no recursive issues anymore.

No time wasted :). Could you share more practical code (diff) so others know how to solve this if they have similar problem too?

@TomasVotruba
A diff wont help but maybe this small comment in the readme or somewhere else might.
"
When you run into memory issues during cache:clear or warmup. You might fix the problem to check your EventSubscribers which have some dependencies on other services and use a locator for those services  as described in https://symfony.com/doc/current/service_container/service_subscribers_locators.html
"

I never used service subscribers, so not sure what it means.

@TomasVotruba do you want me to do something additional to explain this more ?
Let me know.

I don't have such problem, so I'm ok :+1:


Add new poet consensus engine

Signed-off-by: askmish<EMAIL_ADDRESS>

I understand that #10 outmodes this PR.


ValueError: zero-size array to reduction operation maximum which has no identity

Hi @thangtran480
Every time I ran python train.py, I jus get the error "ValueError: zero-size array to reduction operation maximum which has no identity".

Train all CelebAMask-HQ photos takes several hours, so I reduced the number of images to identify something wrong, but nothing.
I made data struture like this:

Are there any more steps I need to take?

Did you debug your number of images, mask after load data from dir.
This error occurs when your image is empty.

Maybe your number of samples is small than BATCH_SIZE, which default is 32. You can try BATCH_SIZE = 2


Support mic array?

Is it possible to support multiple PDM microphone and as USB microphone?

Hi @nanfang2000,
This should be possible to do for stereo PDM microphone input, however it is currently not supported by this library.

Happy to review a pull request for this feature. At this time there are no plans for our team to develop this feature.

Hey @nanfang2000 , did you make any progress here?
@sandeepmistry any idea if we could go past two microphones, given that the microphone uses RP2040 PIO, which there are only two of?

I have started this here: https://github.com/CaydenPierce/MSA
Modifying the system to support multiple microphones at once with a master PIO state machine for data and clock and slave PIO state machines for just data. Currently I have 4 microphones streaming data in.
@sandeepmistry my repo is a fork of a fork, but I would be up to PR this stuff if we can make it work, checkout the repo

I have done this here: https://github.com/CaydenPierce/MSA
Modifying the system to support multiple microphones at once with a master PIO state machine for data and clock and slave PIO state machines for just data. Currently I have 4 microphones streaming data in.
@sandeepmistry my repo is a fork of a fork, but I would be up to PR this stuff if we can make it work, checkout the repo

Caydan that is really cool you also managed 48k x4 ?
Anyone done this with I2S than PDM as notice the aliexpress modules seem to be much cheaper and also you could use ADC's.
This is really cool as respeaker do a collection of hats using TDM on the single pi port and there is no way to guarantee the channel order and in my mind totally useless even if sold by various vendors.
On the Pi I molested some code to do a delay-sum beamformer where really the only load is the GCC-PHAT to get TDOA.
https://github.com/StuartIanNaylor/ProjectEars/tree/main/ds
2 channels on a zero2 runs about 60% on a single core but never progressed as the respeaker hats and clones because of the lack of TDM sync are sort of garbage.
Also have fixed mics of a geometry ill suited for delay some due to aliasing makes them even more pointless.
Invensense did a great app not on simple beamforming https://invensense.tdk.com/download-pdf/an-1140-microphone-array-beamforming/
Where at 48Khz your 2 channel broadside should be approx 60-75mm which works in my above code molestation and if anyone is capable of providing a better neon optimised FFT then please do.
It occured to me you could make a 4 channel directional array with only the overhead of GCC-Phat of 2 mics as likely the 2nd rear broadside can use the same TDOA as the front and the 21mm spacing between those 2 is static and likely could be calculated via the angle of the TDOA than running GCC_Phat gain.
Never got round to implementing it due to the bad TDM/Fixed geometry implementation of the respeaker hats but the Pico/USB is sounding very interesting.
Also wonder if you could get another port for an ADC that could be hardware loopback channels even though only one needed.

I have done this here: https://github.com/CaydenPierce/MSA
Modifying the system to support multiple microphones at once with a master PIO state machine for data and clock and slave PIO state machines for just data. Currently I have 4 microphones streaming data in.
@sandeepmistry my repo is a fork of a fork, but I would be up to PR this stuff if we can make it work, checkout the repo

I have built according to your git.  But when copying to Pico it doesn't work.  Although when building for 1 mic pdm thep git in the main branch it still works.  Can you help me find out what's wrong?

Thanks! I just tried your code with 2 mics and it worked. However, there seems to be a lot of high frequency hissing noise which doesn't exist with the original single channel code. Any idea what the issue might be? If it helps, I don't need a wide frequency range as I'm using my mics for video meetings (human voices).

I have done this here: https://github.com/CaydenPierce/MSA
Modifying the system to support multiple microphones at once with a master PIO state machine for data and clock and slave PIO state machines for just data. Currently I have 4 microphones streaming data in.
@sandeepmistry my repo is a fork of a fork, but I would be up to PR this stuff if we can make it work, checkout the repo

@CaydenPierce I am also interested in how to get this working. I built your firmware and wired my mics up similar to the pcb schematic (I changed mics 3 and 4 to GPIO 14 and 15), but the usb device doesn't show up.
Did you need to overclock the pico? When I overclock mine, the device shows up but doesn't work as an audio device.


Cannot read property 'toString' of undefined

ERROR TypeError: Cannot read property 'toString' of undefined at eval (ng2-search-filter.es5.js:29)

Has it been rolled out yet?


Question about query in updateCriteria

Hello! Sorry for basic question, but can't get my code to work.
Problem: I have two ways of calling updateCriteria method, but only first one triggers updates:

Updating center and distance

    onMapChange(center, radius) {
        this.geoQuery.updateCriteria({
            center: new firebase.firestore.GeoPoint(...center),
            radius: radius
        });
    }

Updating query

    updateQuery() {
        this.geoQuery.updateCriteria({
            query: (ref) => ref.where('d.type', '==', this.state.type);
        });
    }

After calling onMapChange() or updateQuery() I expect documents to be filtered out, but in case of updateQuery() nothing really happens. I tried passing literally any query and by requesting this.geoQuery._query.tosString() query always changed, but documents are not changed.
Am I doing this right?

Are you saying that the on listener is returning docs that shouldn't be returned? (I'm not 100% clear on what you're doing and what is expected... )

@MichaelSolati, yes. After changing query in updateCriteria nothing happens. key_exited or key_enterd isn't fired.

So nothing should/could/would happen. So key_exited CANNOT be fired because we don't know what your query is. We can't see your query function, so we can't do a check/validate if the old enteries are still in the query (except for doing a basic distance check).
key_entered shouldn't fire either, because if your location is the same all of the old docs that had fired that matched your query are still valid, so geofirestore won't fire an event.
If you're changing the query function it would be best to treat it as a new query and clear out your store of previous results.

@MichaelSolati then it doesn't make sense to have query as argument in updateCriteria since it can't be changed.

It'll just effect future changes to the entire query. I'm not saying it makes perfect sense, but it definitely requires a refactor. (Which there are a slew of changes I have in mind which I want to make in the near future)

Thanks for answer! This is very nice library covering Firestore`s flaw with missing native GeoQuery.
Nice job!


unify players - move away from embedded player

@tzarebczan commented on Wed May 12 2021

[ ] move away from livestream embed player
[ ] move logic from that player into ours
[ ] ensure embedding livestreams works - maybe option with and without chat? Can be done separately too
[ ] ensure new user sign up flow pops up into new tab?

When live endpoint is called, we get the m3u8 URL to pass to our player. It can be a hls (regular) or transcoded). When we periodically poll the live endpoint, a channel may start getting transcoded, so we should switch to that stream.
"url":"https://cdn.odysee.live/hls/6de621b92bfa14e54ab56e3498a893e21be785cf/index.m3u8"
"url":"https://cdn.odysee.live/transcode/6de621b92bfa14e54ab56e3498a893e21be785cf.m3u8"

We will add a websocket notification when the stream starts, but we should also use the live status from the live endpoint to try playing.
Code to reference for player specific enhancements: https://github.com/OdyseeTeam/odysee-media-server
If not live, show current background: https://spee.ch/odysee-streaming-png:2.png?quality=80&height=630&width=1200

[ ] Add Live button which shows status/allows to skip to live
[ ] Only show up to the last 15 minutes of a livestream
[ ] Make sure livestreams load to the live position (think current code does something special, but it may not be needed?)
[ ] try to enable quality selector for transcoded streams
[ ] test chromecast - this may break due to referrer? Not sure if possible to set one when casting.

YESSSSSSSS


Requesting the addition of a depth confidence map

I'm requesting a new image buffer type in addition to color, IR and depth: a depth confidence map. I'm not sure if this is possible based on the ToF technology used to generate the depth maps, but it would be very useful to have.
Is your feature request related to a problem? Please describe.
Some areas of the depth map are naturally more reliable than others, depending on what is being observed, or material and surface properties. Edges of detected objects, surfaces at high incident angles, and materials that are less IR reflective have noisier and less reliable depth. Currently users must either write a filter that detects and removes such artifacts, or live with them.  Sometimes it is more preferable to have a sparser depth map that is more accurate, and sometimes it is better to have a dense depth map with more error.
Describe the solution you'd like
I would like the SDK to provide an image buffer each frame containing confidence values for each depth pixel.
Describe alternatives you've considered
Writing bespoke filters, using a different device that provides confidence maps such as Intel RealSense

Can someone provide an example of a depth image and a corresponding confidence map with low confidence pixels?
My team has been attempting to do something external from the camera to create a confidence voxel map (a 3D instead of a 2D confidence map).  Is there any chance this confidence map can be a 3D voxel map?


MDK tutorials updated with latest changes

That's a lot of tutorials and mostly images? Do we really have to change the images THAT often, or even have that many images?

@thecodester
We have released a major version of the product and due to this, there are some changes in the BAS editor UI and also in the MDK client (both iOS, Android and some changes in web as well).
As i had some images in the tutorials with naming e.g. image_1.png, i was told by Michael earlier that this is not the recommended image name, it should instead be image-1.png (no underscore in the file name),  so as part of this PR, i considered this as well.


Enable deployment of bentoML to AWS Inf1 instances

Hello,
Would it be possible to customize bentoML service to enable deployment into AWS Inf1 instances using Neuron library (https://awsdocs-neuron.readthedocs-hosted.com/en/latest/index.html) ?
Thanks!

This should be supported now via the instance_type option provided via the deployment config file https://github.com/bentoml/aws-ec2-deploy/blob/pre-v1.0/ec2_config.json


nexus3_api does not work if script_source is a groovy file

Currently the nexus3_api assumes the script_source will be a json file.
Using a groovy file should also work, as is it way more simple to work with.

A PR on making this happen would be most welcome.

This cookbook has been adopted: https://github.com/criteo-cookbooks/nexus3


Update package.json

double space

Is the double space causing problems? It was added as a little hack to make "Run npm command" appear before "Run last npm command" in the command palette. However, while I don't use this extension at the moment, I think the issue is now solved another way because VSCode now puts previously used commands first anyway. So I guess I wouldn't be against this change.

No technical problem, just very disturbing for me each time i see it :)


Can't compile on latest Dart SDK

The code can't compile on latest Dart SDK. Could you please fix it? I need it very much but I can't do it.

Now works with 1.15.0.


Add support for Scala 2.12.14

Gradle fails to find the wartremover artifacts for Scala 2.12.14. I'm using gradle-wartremover 0.14.0
> Could not resolve all files for configuration ':my-project'.
   > Could not find org.wartremover:wartremover_2.12.14:2.4.13.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/wartremover/wartremover_2.12.14/2.4.13/wartremover_2.12.14-2.4.13.pom
     Required by:
         project :my-project

Please update the getWartremoverArtifactSuffix to support Scala 2.12.14.
I see in https://repo.maven.apache.org/maven2/org/wartremover/wartremover_2.12.14/ that the correct getWartremoverArtifactSuffix should include either version 2.4.15 or 2.4.16

Hello, thank you for reporting the issue. The fixed release is being released right now, `0.14.21.


Trying to get it to work with SHTC3

Hi Tom,
I bought an SHTC3 temperature and humidity sensor and found your module.
Unfortunately python is quite a mystery to me, but I was able to edit shanewholloway's two scripts very slightly (shtc3.py and shtc3-data.py) which now result in:
{'humidity': 47.701228, 'temperature_c': 23.13, 'temperature_f': 73.63, 'error': False}
The shtc3-data.py file's content looks like this:
from __future__ import print_function
import time

from shtc3 import SHTC3

with SHTC3.with_bus_addr() as sensor:
    sensor.wake()
    reading = sensor.measure(clock=False)
    sensor.sleep()

    print(reading)

It depends on shtc3.py which I attached as shtc3.txt. Right now I have absolutely no clue where "'error': False" should come from, so I just added it as a boolean.
I moved both files into the script folder of MMM-Temperature and made sure they work there.
In the config.js I added…
       {
            module: "MMM-Temperature",
            position: "bottom_right",
            config: {
                temperatureHigh: 30,
                temperatureLow: 10,
                humidityHigh: 60,
                humidityLow: 30,
                            sensors: [
                    {
                        name: "Sensor",
                        script: "shtc3-data.py"
                    }
                ]
            }
        },

but it doesn't work.
The module won't show any values.
Now I am not sure where to start.
Formatting issue? Problem with the files? Anything else?
For me It's a bit like searching for the needle in the haystack.
It would be awesome if you could help me a bit.
Best wishes,
Alex

Hi,
no problem. I try to help where i can...
I do not have a SHTC3 sensor so i could not test.
There are some things that might cause problems:

I am not sure if imports of classes of files in the same directory work as i am not sure which directory is the current working directory -> Better put all code to one file
The Shebang is missing (The first line in the script telling the Shell which interpreter to use) -> Add the Interpreter to the first line
The Error field should be true if a error occurs during the reading of the values. Either cause the sensor is not reachable or anything else

I tried to add your scripts to one file and added the Shebang and some error handling. Maybe you give it a try:
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
                yield self._as_reading(raw)
            else: yield {"error": True}

    def _as_reading(self, raw) :

        h = round(raw['h'] / 655.35, 6) # Kommastelle von 65535. nach 655.35 verrückt
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(humidity=h, # h zu humidity geändert
            temperature_c=self._temp_c(temp_raw), # t_c zu temperature_c geändert
            temperature_f=self._temp_f(temp_raw), # t_f zu temperature_c geändert
            error=bool(False)) # Pseudofehler fweil MMM-Temperature die Ausgabe erwartet
#            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        try:
            self._send_cmd(cmd)

            reading = None
            while reading is None:
                reading = self._raw_reading(humdity_first)
                yield reading
        except:
            yield {"error": True}

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    except:
        reading = {"error": True}

    print(json.dumps(reading))

Thank you so much for your speedy reply.
I put the code in a file (shtc3) and I think we are almost there.
But when I run it from terminal with python3 shtc3 I only get {"error": true}
If I comment out line 38             else: yield {"error": True} and run it, I get an error and the measurements:
Exception ignored in: <generator object SHTC3._iter_raw_measure at 0x7f97f39200>
Traceback (most recent call last):
  File "/home/pi/MagicMirror/modules/MMM-Temperature/scripts/shtc3", line 37, in iter_measure
    yield self._as_reading(raw)
RuntimeError: generator ignored GeneratorExit
{"humidity": 48.821241, "temperature_c": 23.49, "temperature_f": 74.27, "error": false}

Better but not the solution. Can you please test this version:
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
                yield self._as_reading(raw)
            else: None

    def _as_reading(self, raw) :

        h = round(raw['h'] / 655.35, 6) # Kommastelle von 65535. nach 655.35 verrückt
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(humidity=h, # h zu humidity geändert
            temperature_c=self._temp_c(temp_raw), # t_c zu temperature_c geändert
            temperature_f=self._temp_f(temp_raw), # t_f zu temperature_c geändert
            error=bool(False)) # Pseudofehler fweil MMM-Temperature die Ausgabe erwartet
#            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        try:
            self._send_cmd(cmd)

            reading = None
            while reading is None:
                reading = self._raw_reading(humdity_first)
                yield reading
        except:
            yield None

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    except:
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

You should be able to run the script with:
./shtc3

This way the Shebang is used which in this case means something like search for python3 in the environment env and use this binary as interpreter to run the code written in the lines after.

I forgot to mention that i added a conversion to JSON in the first version of the script as the module expects a JSON as input and not a dump of a Python object. It looks the same but is different in many cases (like for boolean values).

One more hint...
If you want to see the errors during the call in the script you can change the "except" in line to "finally".
You than will see the exceptions.

Thank you.
I tried the code…
pi@raspberrypi:~/MagicMirror/modules/MMM-Temperature/scripts $ chmod +x shtc3
pi@raspberrypi:~/MagicMirror/modules/MMM-Temperature/scripts $ ./shtc3
{"error": true}

Unfortunately still the same result.
And 'finally' doesn't give me anything else in terminal. It stays the same {"error": true}
with SHTC3.with_bus_addr() as sensor:
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    finally:
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

Sorry. Forgot a "yield"...
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
                yield self._as_reading(raw)
            else: yield None

    def _as_reading(self, raw) :

        h = round(raw['h'] / 655.35, 6) # Kommastelle von 65535. nach 655.35 verrückt
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(humidity=h, # h zu humidity geändert
            temperature_c=self._temp_c(temp_raw), # t_c zu temperature_c geändert
            temperature_f=self._temp_f(temp_raw), # t_f zu temperature_c geändert
            error=bool(False)) # Pseudofehler fweil MMM-Temperature die Ausgabe erwartet
#            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        try:
            self._send_cmd(cmd)

            reading = None
            while reading is None:
                reading = self._raw_reading(humdity_first)
                yield reading
        except:
            yield None

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    except:
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

Oh boy, there was something else going on.
I now played around quite a bit.
Even asked chatGPT to help me dubug this :)
Here you can take a look at the conversation.
After adding the debug print statements suggested by chatGPT, I got this…
Sensor connection established
{"error": true}

Somehow the script got no raw sensor data.
I went back to my two file setup and at first run in spat out errors too. But after running it again it worked!?
After some digging, I found out that somehow the script or sensor needs two wake calls.
So now I added another sensor.wake() after '#    print("Sensor connection established")'.
Now I get…
Sensor connection established
Raw sensor data: {'t': 25698, 'h': 31430, 't_crc': 142, 'h_crc': 181}
Sensor data received: {'humidity': 47.959106, 'temperature_c': 23.62, 'temperature_f': 74.52, 'error': False}
Exception ignored in: <generator object SHTC3._iter_raw_measure at 0x7fa03d0270>
Traceback (most recent call last):
  File "/home/pi/MagicMirror/modules/MMM-Temperature/scripts/./shtc3dev", line 39, in iter_measure
    yield self._as_reading(raw)
RuntimeError: generator ignored GeneratorExit
{"humidity": 47.959106, "temperature_c": 23.62, "temperature_f": 74.52, "error": false}

Here is the new code (debug statements commented out). Result below.
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
#                print("Sensor data received:", ans)
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
#                print("Raw sensor data:", raw)
                yield self._as_reading(raw)
            else: yield None

    def _as_reading(self, raw) :

        h = round(raw['h'] / 655.35, 6) # Kommastelle von 65535. nach 655.35 verrückt
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(humidity=h, # h zu humidity geändert
            temperature_c=self._temp_c(temp_raw), # t_c zu temperature_c geändert
            temperature_f=self._temp_f(temp_raw), # t_f zu temperature_c geändert
            error=bool(False)) # Pseudofehler weil MMM-Temperature die Ausgabe erwartet
#            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        try:
            self._send_cmd(cmd)

            reading = None
            while reading is None:
                reading = self._raw_reading(humdity_first)
                yield reading
        except:
            yield None

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
#    print("Sensor connection established")
    sensor.wake()
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
#    except Exception as e:
    except:
#        print("An error occured:", e)
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

Results in:
Exception ignored in: <generator object SHTC3._iter_raw_measure at 0x7f8b111200>
Traceback (most recent call last):
  File "/home/pi/MagicMirror/modules/MMM-Temperature/scripts/./shtc3dev", line 39, in iter_measure
    yield self._as_reading(raw)
RuntimeError: generator ignored GeneratorExit
{"humidity": 47.685969, "temperature_c": 23.56, "temperature_f": 74.41, "error": false}

There is still something going on, but the sensor data is there.
Is it doing something that doesn't need to be done?

It looks like the problem is the yield None in the _iter_raw_measure function might be the problem (see https://stackoverflow.com/questions/27755989/generatorexit-in-while-loop).
I do not have access to my laptop at the mobile but it think some smaller try-except blocks in the function instead of the one big block might solve the problem.

Puh, that seems to be a view steps above my almost not existing level.
ChatGPT gave me…
def iter_measure(self, **kw):
    results = []
    for raw in self._iter_raw_measure(**kw):
        if raw is not None:
            results.append(self._as_reading(raw))
        else:
            results.append(None)
    return results

This really works without an error but it takes more than three seconds, while the other solution with error gets to the results almost instantly.
pi@raspberrypi:~/MagicMirror/modules/MMM-Temperature/scripts $ time ./shtc3dev
{"humidity": 46.814679, "temperature_c": 23.54, "temperature_f": 74.38, "error": false}

real	0m3,294s
user	0m0,096s
sys	0m0,031s

Does it work without error if you use the original two files?
It might be easier to convert the result object in that case.

OK. I think the error handling I added is crap. Please try this one:
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
                yield self._as_reading(raw)
            else: yield None

    def _as_reading(self, raw) :
        h = round(raw['h'] / 65535., 6)
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(h=h,
            t_f=self._temp_f(temp_raw),
            t_c=self._temp_c(temp_raw),
            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        self._send_cmd(cmd)

        reading = None
        while reading is None:
            reading = self._raw_reading(humdity_first)
            yield reading

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
    sensor.wake()
    sensor.wake()
    reading = sensor.measure(clock=False)
    sensor.sleep()

    print(json.dumps(reading))

This works.
And it also works if the last part looks like…
with SHTC3.with_bus_addr() as sensor:
    sensor.wake()
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    except:
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

Module gets the values 💯
Thank you so much!
This is the code I use now:
#!/usr/bin/env python3
from __future__ import print_function
import time
import json
from contextlib import contextmanager
from smbus2 import SMBus, i2c_msg

class SHTC3:
    def __init__(self, bus, addr=0x70):
        self.bus = bus
        self.addr = addr

    def sleep(self):
        self._send_cmd(0xB098)

    def wake(self):
        self._send_cmd(0x3517)

    def reset(self):
        self._send_cmd(0x805d)

    def id(self):
        return self._send_cmd(0xefc8, 3)

    def measure(self, wait=0.05, **kw):
        if not callable(wait):
            wait = lambda td=wait: time.sleep(td)

        for ans in self.iter_measure(**kw):
            if ans is not None:
                return ans
            wait()

    def iter_measure(self, **kw):
        for raw in self._iter_raw_measure(**kw):
            if raw is not None:
                yield self._as_reading(raw)
            else: yield None

    def _as_reading(self, raw) :

        h = round(raw['h'] / 655.35, 6) # Kommastelle von 65535. nach 655.35 verrückt
        temp_raw = round(raw['t'] / 65535., 6)
        return dict(humidity=h, # h zu humidity geändert
            temperature_c=self._temp_c(temp_raw), # t_c zu temperature_c geändert
            temperature_f=self._temp_f(temp_raw), # t_f zu temperature_c geändert
            error=bool(False)) # Ohne Funktion, nur weil MMM-Temperature die Ausgabe erwartet
#            t_r=temp_raw)

    def _temp_f(self, temp_raw):
        return round(-49 + 315 * temp_raw, 2)

    def _temp_c(self, temp_raw):
        return round(-45 + 175 * temp_raw, 2)

    _measure_cmd = {
        ('normal', 'clock', 'th'):  0x7CA2,
        ('normal', 'clock', 'ht'):  0x5C24,
        ('normal', 'poll', 'th'): 0x7866,
        ('normal', 'poll', 'ht'): 0x58E0,

        ('low', 'clock', 'th'):  0x6458,
        ('low', 'clock', 'ht'):  0x44DE,
        ('low', 'poll', 'th'): 0x609C,
        ('low', 'poll', 'ht'): 0x401A,
    }

    def _iter_raw_measure(self, low_power=False, clock=False, humdity_first=False):
        cmd = self._measure_cmd[
            "low" if low_power else "normal",
            "clock" if clock else "poll",
            "ht" if humdity_first else "th"]

        self._send_cmd(cmd)

        reading = None
        while reading is None:
            reading = self._raw_reading(humdity_first)
            yield reading

    def _raw_reading(self, humdity_first):
        raw = i2c_msg.read(self.addr, 6)
        try: self.bus.i2c_rdwr(raw)
        except IOError:
            return None

        if humdity_first:
            [h_hi, h_low, h_crc, t_hi, t_low, t_crc] = raw
        else:
            [t_hi, t_low, t_crc, h_hi, h_low, h_crc] = raw

        t = (t_hi << 8) | t_low
        h = (h_hi << 8) | h_low
        return dict(t=t, h=h, t_crc=t_crc, h_crc=h_crc)

    def _send_cmd(self, cmd, len_read=None):
        c0 = (cmd >> 8) & 0xff
        c1 = (cmd >> 0) & 0xff
        mc = i2c_msg.write(self.addr, [c0,c1])

        if len_read is None:
            return self.bus.i2c_rdwr(mc)
        else:
            mr = i2c_msg.read(self.addr, len_read)
            self.bus.i2c_rdwr(mc, mr)
            return list(mr)

    @classmethod
    @contextmanager
    def with_bus_addr(klass, bus_id=0x01, addr=0x70):
        with SMBus(bus_id) as bus:
            yield klass(bus, addr)

with SHTC3.with_bus_addr() as sensor:
    sensor.wake()
    try:
        sensor.wake()
        reading = sensor.measure(clock=False)
        sensor.sleep()
    except:
        reading = {"error": True}

    if reading is None:
        reading = {"error": True}

    print(json.dumps(reading))

Great to hear that. I wanted to ask if I can add it to the next release. So yes I will add it to the scripts folder and add it to the configuration examples.

Hi Tom, I just did a new MM installation. That's when I saw that SHTC3 isn't yet in the scripts' folder.
Attached you can find the script. After more than half a year of use, I would say it has been thoroughly tested :)
shtc3.zip

Hi and sorry. Do not know how i could have missed that.
Just released 0.0.9 which contains your version of the script a few seconds ago.

No worries.
Thank you!


i want to grow

i just read all the codes and figure it out how noob i am
please if there is document on code , let me read it
the fact that i dont even understand the purpose of many sections , shows me how dumb i am
i will take any advise and will be happy to do anything to make myself a better programmer
( after comparing this code to my own code i cant even call myself a programmer )

Don't worry every one starts somewhere.
As of this code the main ingredient parts to know about are:

react
react-three-fiber (which is build on top of three.js but makes it way easier)
and next.js

You should also know the basics around javascript package management with npm (or similar tools like yarn or pnpm).
It's a long journey ahead, don't stress yourself and keep building small projects. Maybe make stuff for your friends which is always rewarding and you learn a ton with the pressure of a deadline ;)
Anyway, usually github issues should be used for focused questions or "issues" around the project.
Join a discord community or a forum to ask questions like these.


Update notebooks with new dataframe columns names

The result dataframe has new columns names (samples_split_description instead of samples_split_options, dataset_fraction_per_partner insteadd of amounts_per_partner_list, etc).
We should update the notebooks to be able to read these new columns names.

I think this is obsolete, isn't it? Can you confirm @RomainGoussault @arthurPignet ?

I think that this issue referres to the old_examples_of_results_analysis notebooks so it is not really obsolete.

I tried to update these notebook but they are really obsolete. It will be better to rewrite completely the notebooks.
I suggest to remove the old notebooks, and to create a new tutorial notebook, which shows how to use an experiment object, to reproduce the figures in these old notebooks

The notebooks are to be replaced by tutorial 4 - running expriment demo


Update azuredatastudio-sqlite version

@lucyzhang929 Update the distro value in the root package.json to
4a6a8dea5e72ce892b5fc16c2cec0c43a3775f7b
for the build break

Pull Request Test Coverage Report for Build 756808743

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.004%) to 43.607%

Files with Coverage Reduction
New Missed Lines
%

extensions/import/src/wizard/pages/fileConfigPage.ts
1
73.46%

Totals

Change from base Build 756737438:
0.004%

Covered Lines:
26252

Relevant Lines:
54997

💛  - Coveralls

I'm getting merge conflicts with distro branch in the vscode merge working branch now due to corresponding update there.  So I'll merge now to cherry-pick this into that branch.


Gradle build stuck and consume all disk space

When you run bootJar task in spring project build with "$buildDir/libs" in dependency it stuck till the disk space has ended.
Expected Behavior
It should either resolve correctly such cyclic dependency or write some error in log
and end without such disk consuming.
Current Behavior
it fall into infinite loop with the following logging
2022-07-05T14:38:06.693+0300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2022-07-05T14:38:06.693+0300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2022-07-05T14:38:06.694+0300 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

and works till the disk space has ended or if you press stop it write huge corrupted file in libs folder
Context
I wanted to copy jar generated and compiled with another compiler to libs folder to use it in runtime.
Since the name of the jar is changing i added the whole folder build/libs as runtimeOnly dependency.
It took a lot of time to understand the issue root cause, because  there were no errors or any signs in logs.
Steps to Reproduce
You can create spring boot project in intellij idea with Spring Reactive Web component and add
runtimeOnly(fileTree("$buildDir/libs"))
to dependency in gradle.build.kts
I have also ready reproducer project https://github.com/icemachined/gradle-libs-issue-reproducer
Your Environment
it is reproduced on 3 different boxes under widows os
Intellij Idea version 2022.1.3 Ultimate
Gradle 7.3 , 7.4.1
Java JDK Azul 11.0.15
Build scan URL: https://github.com/icemachined/gradle-libs-issue-reproducer

build/libs is where the libraries produced by the project are output.
By adding that directory as an input you created that infinite loop.
That being said, the current behavior is not ideal.
Gradle could detect that, stop early and explain the problem instead of continuing and filling the disk.
This would be a nice enhancement.


rofi-wayland: init at 1.7.2+wayland1

Motivation for this change
Closes #142213
Replaces #147758, by splitting rofi & rofi-wayland in different files.
Includes commit from https://github.com/NixOS/nixpkgs/pull/150165, which should be merged before, and I'll rebase to only include the relevant commit.
Things done
Build & Run (on wayland)

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

The repo I was targeting released a new version in the meantime, so I've updated and re-pushed (and changed the commit msg)

@SuperSandro2000 could this get another review? 🙏


WFLY-17539 Move rbac testing from XSLT to cli script

https://issues.redhat.com/browse/WFLY-17539
This PR updates the RBAC tests to use CLI scripts to perform configuration updates instead of using XSLT.

Yay, exciting to see these XSLTs gone. BTW Restarted the CI jobs manually that failed to pick up the commit.

FYI the security manager failures are unrelated and caused by a bad merge - fixed by https://issues.redhat.com/browse/WFLY-19994 with a fix https://github.com/wildfly/wildfly/pull/18428 - so those can be ignored.

Thanks @aldaris and @rhusar!


[cpp] use {fmt} library

Instead of using plain C functions, we can use the {fmt} library. Currently, there's no implementation of
std::format(), so we have to use {fmt} instead. It's a more C++-ish thing to do.

That does look pretty nice :O I've not used fmt before and don't know how widely installed it is, but if it builds on github and builds on my laptop, then I'll go ahead and merge :)
(It's coming up to 2am here though, so probably after sleeping ^^;; )

Looks like fmt is a third-party library, so it needs adding to the list of dependencies to install before building?

For Ubuntu I think this is fmtlib-dev, for nixpkgs it's fmt.

Needs to be added here (apt packages):
https://github.com/shish/rosettaboy/blob/b12ea45743ea844eb9a2e7697455ff516fe6d632/.github/workflows/cpp.yml#L23
And here (nixpkgs):
https://github.com/shish/rosettaboy/blob/b12ea45743ea844eb9a2e7697455ff516fe6d632/cpp/shell.nix#L2-L6

For Ubuntu I think this is fmtlib-dev, for nixpkgs it's fmt.
Needs to be added here (apt packages):
https://github.com/shish/rosettaboy/blob/b12ea45743ea844eb9a2e7697455ff516fe6d632/.github/workflows/cpp.yml#L23
And here (nixpkgs):
https://github.com/shish/rosettaboy/blob/b12ea45743ea844eb9a2e7697455ff516fe6d632/cpp/shell.nix#L2-L6

Done.

Alright, I think we're all set. Looks like I had to use something called "header-only" mode for linking the {fmt} library to work according to this. Also the package name for Ubuntu was libfmt-dev, my bad.

Success \o/ Merging now, thank you <3


feat(eslint-plugin): blocklist meta with message

#3073
Added additional meta for blocklist rule and message for Eslint plugin.
Example:

Eslint output:

Thinking if "Utility ... is in blocklist" head is ok, or use just message from the meta 🤔
Also thinking about autofix, to replace blocked utility with suggested one (which can be specified in the meta).

Fixed eslint-plugin tests, trying to understand why preset-icons tests are failing.


Feat/440 perpetual order card

Partial implementation of https://taiga.sovryn.app/project/sovryn-light/task/440
Missing all data fetching and the order modal.
Changed the layout to the new design.

I don't like the fact that Position Leverage selector jumps when you switch between Market and Limit type of orders. I would recommend to have Position Leverage selector at the bottom (above the submit button) at all times. Discuss it with @t-z-u please :)

this works exactly as expected!

Adjust this as well (spacings and link styling).
Current state:

Design:


Initial commit msgext-action-preview sample

Q
A

Bug fix?
no

New feature?
no

New sample?
yes

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
This is a very simple action based messaging extension posting a simple adaptive card to the message channel of the current team.
As the core of this sample it uses the botMessagePreview capability and therefore the message will be posted directly to the channel (after user commits a preview) not to the user's compose box. This feature enables to later update that message / adaptive card 'as the bot' as you can see from the gif included in the README.
For further details refer to my blog post on this.
If you like, I already have a next sample 'in the pipe' about How to "Configure Teams Applications with Azure App Configuration"
Blog post to be published this week...

Great sample, important use case! Sorry for the slow turnaround especially since you have a related blog article. I got a bit behind on PR's ...

@BobGerman No worries, I am not in a hurry.
Just provided the other promised example as well.
In case a demo is desired on one of the community calls I'd be happy to do so.


Question on Sharing the reports

Hello,
Does this framework provides option to host the report generated? I mean, once the report is generated, I want to share the report with my team. I am looking for email and web-link option so that they get always the updated result.
Thanks
Sudhi

@jsudhi hello, thanks for suggestion!
What report generation tool do you use?

I am using basic TestNG as of now. I am planning to integrate with Allure-TestNG plugin and generate the report. I need to send a link to the report once it is ready. Is that possible ?

I guess you can use something like maven-changes-plugin to send the generated report via email.

closed due to no activity

First of all sorry for posting on closed issue, but just for continuation with actual question, I just start using it and using allure command line tool to generate HTML report, I have same question as above how share result to stakeholders? Also, when I generate the report where exactly files are created?(In ubuntu)
Thanks


debug systemctl restart failures

What type of PR is this?

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

Fixes #
Requirements:

[ ] uses conventional commit messages

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

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 66 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall First build on ace/testy at 60.632%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/templates/templates_generated.go
0
66
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
60.6%

Covered Lines:
2572

Relevant Lines:
4242

💛  - Coveralls


Feature - Battery Management

Wondering if you guys think if battery management would be usefully / belongs as part of homie ?
Idea would be that you can enable battery management in homie and configure it.
It would send status updates like the uptime and signal as part of the interval
It could also be used to change a sleep time for deep sleep if needed. Useful to extend battery life by reducing the interval its on for.
I already have this module, as I use it in my solar battery devices.
Also any other ideaa for this ?

+1 from me, but no further ideas so far. At the moment I made my own outside of homie, which just does a deepSleep forever if it detects low batteries. So any improvement welcome.

I would see this as feature for a version 3.1.

So, first, there should be stable release with current features. (Version 2.0 or 2.1)
Then there should be a release 3.0 based on the homie convention 3.0 (or however this release will be called).

Even then, I would prefer to allow Homie-Modules that extend core functionality. The battery management then would be a very good example for such a module.
A modularization could be achieved by allowing the addition of callback functions for internal tasks like sending device attributes.
Another argument for "modularization": My most important current project (a touch controlled thermostat) already is very close to the 480kb "size limit" (ESP-12F with 1MB flash. 64kb for SPIFFS, so there is only 480kb left if you want to update via OTA).

Yeah I thought it might not be part of core, I do like the idea of add-on modules that can hook onto core. Would be good for other bits later also.


[beta] Flexbox challenge 5 issue - similar to issue #12866

[beta] similar to issue #12866
This is an important issue, because the divs are too large you can only see one color in the Solution Window (the phone).... and thus cannot discern that there are other boxes (or child elements).
Because the challenge ends and a modal pops up, you cannot learn from the Solution and see the difference between a flex-direction:row or a flex-direction: column
Css Flexbox: Using the Flex-direction Property to Make a Column
http://beta.freecodecamp.com/en/challenges/css-flexbox/using-the-flexdirection-property-to-make-a-column

@tommygebru Hey man! Wow, you are killing it in reporting these issues, appreciate your hard work.
However, since many of these issues are very similar and related to the same section, do you think you would be able to perhaps condense all of these into one issue (at least all of the related ones) and create a checklist so that they can be better organized and easier to attack once we start getting PRs in for these?
A good example of this would be an issue like #12698. This would be super helpful if you're up to it (as I realize you've already done a bunch of work by reporting these in the first place), especially since we have so many other issues coming in as well.
What do you think? Thanks again for helping out with beta!

Wow very cool @no-stack-dub-sack as you can see I tired myself out and decided to spend the day tackling personal projects, I will be back tomorrow to contribute, after some good sleep!

@tommygebru sounds great! thanks!