Static linking of ONNX runtime

Hello 👋
Is there a way to link the ONNX runtime library statically (.a, .lib) into the outputted binary? This would simplify deployment!
You can find static builds of the ONNX runtime here: https://github.com/supertone-inc/onnxruntime-build/tree/main
Cheers,
Raphael

Yes, static linking is supported with ORT_STRATEGY=system: https://github.com/pykeio/ort/blob/d7defd1862969b4b44f7f3f4b9c72263690bd67b/build.rs#L333-L398
However I have not yet tested this with ONNX Runtime 1.15.1 so it may need some modification. Please let me know if you run into any issues.

Works for me with ONNX Runtime 1.15.1, thanks!
I found it convenient to define the environment in .cargo/config.toml as follows:
[env]
ORT_STRATEGY = { value = "system" }
ORT_LIB_LOCATION = { value = "vendor/lib" , relative = true }

Providing the static ort library under vendor/lib, no further build preparation on the system has to be performed at all :)

Hi @raphaelmenges , I'm trying to link libonnxruntime.a statically but failed. Could you provide more details? Or is there an example repo that I can refer to? Thx.

Hi @SunDoge! There is not much more to it then I already posted. Perhaps you can reproduce your issue in a minimal fashion and provide an example repo to support you in fixing it?

Hi @raphaelmenges , here's the demo https://github.com/SunDoge/ort-static-demo

@SunDoge The build of ONNX Runtime provided by supertone-inc/onnxruntime-build is packaged into a single file (which ort does not expect for static linking), and thus it did not link to stdc++ which I believe was causing your issue. ort's build.rs script needed the following patch for the demo to successfully compile. Please let me know if this fixes the issue for you.
diff --git a/build.rs b/build.rs
index 8e56815..bcf88cc 100644
--- a/build.rs
+++ b/build.rs
@@ -329,16 +329,21 @@ fn system_strategy() -> (PathBuf, bool) {
 		}
 	}

+	if cfg!(target_os = "macos") {
+		println!("cargo:rustc-link-lib=c++");
+	} else if cfg!(target_os = "linux") {
+		println!("cargo:rustc-link-lib=stdc++");
+	}
+
 	let mut needs_link = true;
-	if lib_dir.join(&profile).join(platform_format_lib("onnxruntime_common")).exists() {
+	if lib_dir.join(platform_format_lib("onnxruntime")).exists() {
 		add_search_dir(&lib_dir);
-		add_search_dir(&lib_dir.join(&profile));
+		println!("cargo:rustc-link-lib=static=onnxruntime");

-		if cfg!(target_os = "macos") {
-			println!("cargo:rustc-link-lib=c++");
-		} else if cfg!(target_os = "linux") {
-			println!("cargo:rustc-link-lib=stdc++");
-		}
+		needs_link = false;
+	} else if lib_dir.join(&profile).join(platform_format_lib("onnxruntime_common")).exists() {
+		add_search_dir(&lib_dir);
+		add_search_dir(&lib_dir.join(&profile));

 		for lib in &["common", "flatbuffers", "framework", "graph", "mlas", "optimizer", "providers", "session", "util"] {
 			let lib_path = lib_dir.join(&profile).join(platform_format_lib(&format!("onnxruntime_{lib}")));

@decahedron1 it works. Thank you.

First off, thanks for this crate, it's an amazing resource!
I'm trying to do static linking for a project that is using pyo3 to build python bindings around our library. Here's a paired down demo repo. When I attempt to follow the breadcrumbs above, I get an error when loading the python library.
From the root of the pyo3-ort repo
pip install .

python run.py

I get:
ImportError: dlopen(path/to/anaconda/envs/pyo3-ort/lib/python3.10/site-packages/testapp/app_py.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace (_NSLog)

Does anyone have any ideas for how to be able to statically link the runtime and be able to load it from python?

Looks like macOS also needs to link to Foundation in ort/build.rs:
 if cfg!(target_os = "macos") {
     println!("cargo:rustc-link-lib=c++");
+    println!("cargo:rustc-link-lib=framework=Foundation");
 } else if cfg!(target_os = "linux") {
     println!("cargo:rustc-link-lib=stdc++");
 }

With this fix, python3 run.py executed without errors in macOS Monterey.

@SunDoge @nreinicke I pushed v1.15.3 with the above fixes. Please open a new issue if you encounter any further issues with static linking 🙂

@decahedron1 - Wow, that did the trick! Thank you for your quick response and patch!!


Scrape follower returns error

Error was occured while scraping follower data:
INFO [2019-03-01 16:15:52] Extracting follower from justinushermawan
[0301/161553.081:WARNING:spdy_session.cc(3127)] Received WINDOW_UPDATE for invalid stream 1
Unexpected error: <class 'selenium.common.exceptions.WebDriverException'>
Message: unknown error: Cannot read property 'scrollTo' of undefined
  (Session info: headless chrome=72.0.3626.119)
  (Driver info: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Windows NT 10.0.18346 x86_64)

ERROR [2019-03-01 16:16:13] Cannot get Follower List

are you logged in? you cannot get followers without beeing logged in

I'm not. But, the username I provided is a public account.
On Wed, Mar 6, 2019, 00:43 Timo Dörsching<EMAIL_ADDRESS>wrote:

are you logged in? you cannot get followers without beeing logged in
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/timgrossmann/instagram-profilecrawl/issues/141#issuecomment-469779965,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMjLZxGJAJCDC9Tb_bQikxOsMrAtXH_Nks5vTqzTgaJpZM4bYmXL
.

it doesn't matter... Follwer can not be loaded without log in.
You could test it on your one: open a private tab in your browser and see what information you could get


Migration: potential source code restructure

After consolidating all code into pkg/nnbd_migration, we should consider restructures of the source accordingly.
One proposal: engine, server, front_end ?
We could put their public APIs (for instance, instrumentation.dart is sort of the public API to engine) in lib.
So
lib/src/engine/nullability_node.dart
lib/engine/nullability_node_info.dart
lib/src/server/preview_site.dart
lib/server/trace_entry_info.dart
lib/src/front_end/migration.dart
Now that we're in one package, more code sharing is I think better. A good example I think is that the const routes strings used in PreviewSite for routing should be used to generate URLs in web/migration.dart. This format would allow us to still share code, and still maintain boundaries between the components.
Another option to consider is engine/, preview/back_end, and preview/front_end.

I think at this point we'll leave the structure alone.


Use component as select

Hi,
is there an easy way to use react-autocomplete as a select component?
I mean clear the input on onBlur if the input value is not from the items prop?
Or would you recommend an another solution or lib for this?

There's a couple of ways to do this:

Use props.open to keep the menu open until the user selects a valid option. You can disable the  surrounding form in the meantime to prevent submitting invalid data.
Use props.inputProps.onBlur to clear the input (by updating props.value) if it contains an invalid value.

Both of these options assume you're able to validate the input value against the available options.


Move PassphraseVO to use String instead of byte[] to support Encrypt annotation

Description
This PR fixes #7299
This is proposed by @mlsorensen

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[x] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test rocky8 kvm-rocky8 keepEnv

Thanks @weizhouapache - need to remember to confirm also that we included the change for passphrase column size larger than 64.

Thanks @weizhouapache - need to remember to confirm also that we included the change for passphrase column size larger than 64.

@mlsorensen thanks for the reminder
Just checked it, the size has been changed to 255 in #7003 . it should be good
@@ -214,7 +214,7 @@ BEGIN
-- Add passphrase table
CREATE TABLE IF NOT EXISTS `cloud`.`passphrase` (
    `id` bigint unsigned NOT NULL auto_increment,
    `passphrase` varchar(64) DEFAULT NULL,
    `passphrase` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Tested OK with fresh installation with rocky8

create some VMs with encrypted root/data disk.  passphrase are encrypted

+----+------------------------------------------------------------------------------------------------------------------------------+
| id | passphrase                                                                                |
+----+------------------------------------------------------------------------------------------------------------------------------+
|  1 | ZoP8LIZr8cpzq3GDpWQVf9axTeGjKTyK9DePfAGx3pObQdI23Nno1jUZTUUF5cBklP2tYDU6tHIzEBfyVf+zSxbc9k+VTpjrti+6gtU6VpF/U9LLFMou7ba8F5g= |
|  2 | SRg5yIavPJ+G/vORKyidCHnJWif3m0JVuDK5s6C91ZmyPOjywUAHGVySNMtuPbL9Y6l+bnKe5qihljHajWiAySY3YCkyJP7efUdYRlFwsA1yBJg6tPdG3q5/X1M= |
|  3 | kqKeTg5Eh0QRp18CrZbYy6n4Pf7iM7goTlsxC6jRjAZ2KR5+qn7gzRHYGi+uK/5lGBlYmJwRSz+YpKkS8vfERgsMHNePpq2o0OUl10O4AaZfPmwVFvIopLv8UTQ= |
|  4 | 0+fOG2mF6iCv2469BdObBtTIQcHwI2/6byV/3JUflUb5qG7EhhGMMXn0uFNCLZuhJX4eNYAf0/Z+V0XjcMcB7Vd32b05SmDaPaJCwHLnW3hb0HPgViBwRtTbOaU= |
|  5 | xMBTPMKzVlG+FPixCBhfTjy/meAzaw7gLMkQU7j0N11XF6zgWl+8mF+VxkozKmjZ+EcEnFEwkQeNHRkmOXRQhgORgv0ijaoPAsJsRoSnp83gCkCaIlYRou4A7k8= |
|  6 | 74DWaFuC/xquwEcGlBkoC+HcOeJpFHzQYUSbEWDgthKPhTaTaaZi9t+yY+4K3uvSbS+IL+imMmkvM68UVp5dxgXrqdw7mjJ1IylXzGSm7e1BZy4/kDANLPvjSqo= |
|  7 | tITq2tqD6SGKcrT6B4jmFTgANLQ8Wt+MXiCoWAPE+pOlBPCxsJqcbGbS4TPYWh7ukLeKWYN/svPI3QlPsshapduIgAuN3fQJ63II0pe23OAFfIXIkSQCsA8O048= |
|  8 | SJtJS6co7cYaSrd89h6fxcOOkJrfrPPUUhXn04sOZDbTlZlSg2+ZZU60zjfos6VowQ0F/W/GguoiZ+ZpR4yJ8NH2Y4oxcS6BOQRsSW4UEqnirjKlrEYeHwZNV0A= |
|  9 | ipkNdyzrxA127EAnV8tjMnx22Uzqy9BPNQeu+bQkp0//pQH9Guohm1XVzzUPAvqOtI4NGZkFiyRH3XmCOvg7rYLVR1cFdyf5khOvEu5pBFm2FRqGupJQchMz3wg= |
+----+------------------------------------------------------------------------------------------------------------------------------+
9 rows in set (0.01 sec)

migrate database

[root@pr7302-t6251-kvm-rocky8-mgmt1 ~]# cloudstack-migrate-databases -m password -d password -e password2 -n password3 -v V2
Started database migration at Thu Mar 02 09:26:02 UTC 2023
Parsing db.properties file
DB Secret key provided matched the key in db.properties
INFO: Migrate properties with DB encryptor version: V2
Migrating db.properties..
Migrating db.properties Done.
Migrating server.properties..
Skipping server.properties as password.encryption.type is null
Begin Data migration
Initialised Encryptors
WARN  [c.c.u.c.EncryptionSecretKeyChecker] (main:null) (logid:) Encryption already enabled, is check() called twice?
INFO  [c.c.u.d.T.Transaction] (main:null) (logid:) Is Data Base High Availiability enabled? Ans : false
Begin migrate config values
End migrate config values
Begin migrate host details
End migrate host details
Begin migrate cluster details
End migrate cluster details
Begin migrate image store details
End migrate image store details
Begin migrate storage pool details
End migrate storage pool details
Begin migrate storage pool details for ScaleIO
End migrate storage pool details for ScaleIO
Begin migrate user vm details
End migrate user vm details
Begin migrate user vm deploy_as_is details
End migrate user vm deploy_as_is details
Begin migrate image store url if protocol is cifs
End migrate image store url if protocol is cifs
Begin migrate storage pool path if pool type is SMB
End migrate storage pool path if pool type is SMB
Skipped table sslcerts as there is no data in the table
Skipped table vpn_users as there is no data in the table
Skipped table account_details as there is no data in the table
Skipped table domain_details as there is no data in the table
Skipped table s2s_customer_gateway as there is no data in the table
Skipped table virtual_supervisor_module as there is no data in the table
Skipped table ucs_manager as there is no data in the table
Begin migrate table vm_instance field vnc_password
Done migrating database field vm_instance.vnc_password
Skipped table external_stratosphere_ssp_credentials as there is no data in the table
Skipped table vmware_data_center as there is no data in the table
Skipped table keystore as there is no data in the table
Begin migrate table passphrase field passphrase
Done migrating database field passphrase.passphrase
Skipped table remote_access_vpn as there is no data in the table
Begin migrate table storage_pool field user_info
Done migrating database field storage_pool.user_info
Begin migrate table user field secret_key
Done migrating database field user.secret_key
Skipped table oobm as there is no data in the table
End Data migration
Successfully updated secret key(s)
Finished database migration at Thu Mar 02 09:26:11 UTC 2023

passphrase are encrypted

mysql> select * from passphrase;
+----+------------------------------------------------------------------------------------------------------------------------------+
| id | passphrase                                                                                |
+----+------------------------------------------------------------------------------------------------------------------------------+
|  1 | TRpfx+HdRPzMv3XpDY1lFRCpLmz/dliM/yTZULWetC2t6sqbVwbOVpNE9RTpR8Yt/ZMTp8eaWMdmeAEIfj5xudc36DzMnZrJd7gsqidpK5QuuTkaTwTY7gZsTOk= |
|  2 | uR5XG6b/Tb79EfzUjUdU8Wl2QdO8lW8xDNWeQc3MwrcKAcSAtsmBG1P1aEwuAxa2BFywa7CLMj1lOzNdp/SBQ31bP9DxTBPShA3riWWgfESiplgAmihJy7JNn0M= |
|  3 | /ek8oFBFaiCSP2taFKz9D3uZYwtiYbYTzPe8opr/IrULYjmyIX7dXNfG0fx817S56kgDVVmSjOh2s9r3LrJNobj9v4ofN6J9Nm5FO0N+41eBSiifziHBCavYvJY= |
|  4 | wg+g5DcyZNVIr+bfggSV57k7moksuHM2xexy9YSJnBSoPuO2vK7TgKkr68AmDaYi5XPmGRL3/Up5Ty6j3dg6w29HwGp0JOh/CGzEtsN94w9xitvsYazoBSlDdUw= |
|  5 | jO+C7R67yRB3gQM6Ix4AaFlny8uvueCKzMDOqbWL5Amm9A1vbrGwhVOm8uL45TNbBZRaeD2UwxLMuNA27/DPyM6HL46I/wnB4vSOWubs/U/L3rq0+ZpwjupU6Qk= |
|  6 | dywEzT1O5Sb4GWb9yCmy0HDk5wNaYphWC4YKTJYGPYqTMllajGWisC2ST9wU4E095DDCo1RM5EglCPh03EqRI6BqKP49f20szGelilo8lA+A4DjuPC5yWwRM4Dk= |
|  7 | oq0dkTYS6AfKS9SPF0uOVMvphmMUcQ/vrKHG3MgCQ3rLw0oiOUU31ALxa6A4XSeQxpm6PoklvDt8isiQF33pKLRmiKE8Zxk0njsNA/epFd7xd8x8YcJ9X6K0rZI= |
|  8 | WSWWJ0QMwWFX18tE09vjXxYzOcHpENpOeiKwsZfELXOhGVe4ZYKsmCHHWXYhwaN16L+Y0ye79VD0Xjhy9tl2Qb2KwC0v4mKnFGnGz22w+V6HTWsethJ6GuK874o= |
|  9 | 3KR4q3xzWiwS6zNdP2m2UiMPutYCe13SdRawh5PHoF7CrVLte2Ws/NuONgtROv6xwsmeaDUO80bGv/BxOhnu2zPVS/xq7oAqIJbaJH+CrxFFMII/YhVB1Qds4IE= |
+----+------------------------------------------------------------------------------------------------------------------------------+
9 rows in set (0.00 sec)

Stop vm, start it on same host: works. Both root/data disks are detected.

Stop vm, start it on another host: works. Both root/data disks are detected.

create new vm with root/data disk.  Both root/data disks are detected.

passphrase is encrypted
mysql> select * from passphrase where id > 9;
+----+------------------------------------------------------------------------------------------------------------------------------+
| id | passphrase                                                                                |
+----+------------------------------------------------------------------------------------------------------------------------------+
| 10 | tEscVLBCJAohTRyM57Y+z/k7uPEJubcC44xzN3e5C63IqTxDnNJV2EtJFJCws0QY1DcZW63nLczDzQymao8d5JfN6dgQCHCInzRS/OixZXKHqbw1YvtgNDxlGmE= |
| 11 | YuDccp76kDpxqhF07Kft9MH5M+aB3D3MhiOOUhnb+qAW2Gf/MxHI/dEfwraLV+ElvfY8oiJILQmxv7AcuQVotUSCH4XcujBTpUqzdo8zEv1z4Eq9DyCvOj4gqCs= |
+----+------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

@blueorangutan test matrix

@borisstoyanov a Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-6248)
Environment: kvm-rocky8 (x2), Advanced Networking with Mgmt server r8
Total time taken: 47994 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7302-t6248-kvm-rocky8.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6252)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38214 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7302-t6252-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6254)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38360 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7302-t6254-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6253)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 44858 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7302-t6253-vmware-67u3.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Is this ready for merging or needs further review/testing - @borisstoyanov @vladimirpetrov @weizhouapache ?


Apply PPS master fix (#5541) to 1.12.x branch

Merging this PR because the travis tests passed.
The failing circle tests are TestPipelineBuildLifecyclePython (a known failure in 1.12 due to an issue with the build pipeline images) and TestLokiLogs (which seems likely to be a flake and is unaffected by this PR)


Upgrade mill to 0.3.5

Mill 0.3.5 has been released.

Hi @leonardehrenfried. Sorry, I somehow completely missed that PR.
I'm just updating versions of JDK, Scala and Mill to the newest ones.


add proguard rule to avoid apk generation error (okhttp lib error)

this lib uses okhttp lib
this should be added as a pro guard rule
-dontwarn okio.**
since if not it raises errors when generating apk's
or if not added to this lib it should be added to the wiki to warn

OK，Thanks for your prompt.

Add to wiki: https://github.com/lingochamp/FileDownloader/wiki/Proguard-rules


RFC 2822 parsing accuracy is not tested

Thanks for the great project.
I see there are test cases for RFC 2822 validity (parsing RFC 2822, non RFC 2822 strings) which cover the possible situations well, but they do not check whether the valid date is accurate or not.
See #4035, where the parser was overwriting the numeric time offset component.

I'm sure we'd accept some PRs for better test coverage

I believe #3938 addresses this, though of course if you think more testing is needed, we're happy to take additional test code.


Why not add compression for the XML files?

Is your feature request related to a problem? Please describe.
As can be seen in this screenshot, there is a huge difference in storage size between XML and its compressed counterparts for a network of just 300x500 with 100 synapses per neuron:

And since manual editing and inspection of these huge XML files is not something most editors can handle, why not store them compressed.
Describe the solution you'd like
I'd rather be able to store up to 16 compressed networks as opposed to 1 uncompressed one.
The most obvious solutions to do this may be found in the answers to this question on Stack Overflow:
https://stackoverflow.com/questions/1082285/best-compression-algorithm-for-xml
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Better to add an advice to the user to save BrainSimII files to drives that have compression enabled, which will leave the compressing to the operating system.


dose not parse link with http

What problem does this feature solve?
I want to jump a full link like 'https://www.a.com/b' (maybe it's an AD link),and '/b' is in my router,if I use  in history mode,the browser will be refresh,and if I use <router-link>
<router-link to="https://www.a.com/b"></router-link>
the render result is

why not inspect if link include 'http',don't parse it,that we can write a filter to resolve the full link:
if the link in same domain,filter it to path,e.g. https://www.a.com/b -> /b
if the link in different domain,don't filter it,e.g. https://www.b.com/b -> https://www.b.com/b
What does the proposed API look like?
<router-link to="https://www.a.com/b"></router-link>
render to

dup of #1280


chore(deps): :arrow_up: update dependency axios to v1.6.1

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

axios (source)
1.6.0 -> 1.6.1

Release Notes

axios/axios (axios)
v1.6.1
Compare Source
Bug Fixes

formdata: fixed content-type header normalization for non-standard browser environments; (#6056) (dd465ab)
platform: fixed emulated browser detection in node.js environment; (#6055) (3dc8369)

Contributors to this release

 Dmitriy Mozgovoy
 Fabian Meyer

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm WARN cli npm v10.2.3 does not support Node.js v20.2.0. This version of npm supports the following node versions: `^18.17.0 || >=20.5.0`.


User info form modal remaining work

Followup of #10097, I'm confused what should be the label of a button in modal(currently there isn't any but that won't look good).

@timabbott Fyi
(maybe third and second commit can be squashed?)

(I merged the first commit)

@timabbott I've updated the PR except for the dropdown part which I'll be doing in a separate PR as I may need to do some refactoring on top of it.

I was first thinking to refactor click handler into one but we don't need any handler after changing it to dropdown(and it feels great how it reduced the code :)
@timabbott I've updated the PR

Nice, merged, thanks @shubhamdhama!  It's great how much code we got to delete here.
@rishig FYI (just look at the last GIF) in case we need to make user-docs updates.
In terms of what remains for this view for the "Guest" feature, we'll need:

An icon or column to mark guest users in the user list (since we'll have the same problem as with admins that they should be marked in this view).
The dropdown to support making users guests.

These can probably go together in the final PR for enabling this feature.  I think we might want to flip focus back to invites, since I think we're a bit further from making it possible to invite users as a guest.

Also opened https://github.com/zulip/zulip/issues/10161 for a natural follow-up.

@lonerz FYI, this page will need some changes for the delivery_email feature; admins should be able to see and edit delivery emails in this modal.

User docs updated, but two thoughts while reading the thread:

Admins can't currently edit delivery emails
I think "role" should likely be a column, not just a lightning bolt.

@rishig I agree it should be a column long-term; the bolt was just the expedient way to unblock doing the other changes to this page.    @shubhamdhama can you open an issue for making "role" a column?  We'll want to be able to sort by that column, among other things :)

(the delivery emails thing is a known part of that whole feature)


Fix window resizing for the engine

Feature/Issue

Enables multi-processor compilation by default when using Visual Studio
Fix resizing of the window for the engine so that it doesn't just crash :)
Lots of various Graphics code cleanup

Implementation/Solution
Add the /MP flag to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS in the root CMakeLists.txt
Tests

[X] Have you reviewed your own code for quality?
[X] Did you the Sandbox game project and get the expected results?
[X] Did you run the FlingTest suite and ensure that there are no regressions?

Merging past the AppVeyor Errors because they are coming from SOL2


No log for the channel_listing which user published the product from dashboard.

What I'm trying to achieve
…
I'm trying to see who/which user published the product.
Steps to reproduce the problem

1.Create a product from saleor dashboard.
2. Publish product from dashboard.
3. At the bottom we can see other activities when product is updated, except who published it.
What I expected to happen
…
There should be a log of the same.
Screenshots and logs

System information

Saleor version:

[ ] dev (current main)
[x] 3.2
[ ] 2.11
[ ] 2.10

Operating system:

[ ] Windows
[x] Linux
[ ] MacOS
[ ] Other

Hey, I agree - we should basically track all actions made by staff users or apps to keep the record of who did what. Thanks for opening the issue, we will keep it in our backlog.


nick fixes

update lunchpail needs python to emit the venv path
update shell/lower to use the output of needs rather than recompute the shasum

Thanks, Nick for the fixes!! lgtm


Vercel Edge Runtime does not support WASM modules

Details
Need support for Vercel Edge Runtime
possibly resolved by using this package
https://www.npmjs.com/package/@dqbd/tiktoken#vercel-edge-runtime
Error: Missing tiktoken_bg.wasm
    at 79251 (/var/task/.next/server/chunks/670.js:160:47344)
    at __webpack_require__ (/var/task/.next/server/webpack-runtime.js:1:161)
    at 95670 (/var/task/.next/server/chunks/670.js:114:1089)
    at __webpack_require__ (/var/task/.next/server/webpack-runtime.js:1:161)
    at 54703 (/var/task/.next/server/app/api/v1/llamaIndex/route.js:1:1217)
    at __webpack_require__ (/var/task/.next/server/webpack-runtime.js:1:161)
    at __webpack_exec__ (/var/task/.next/server/app/api/v1/llamaIndex/route.js:1:2164)
    at /var/task/.next/server/app/api/v1/llamaIndex/route.js:1:2207
    at __webpack_require__.X (/var/task/.next/server/webpack-runtime.js:1:1735)
    at /var/task/.next/server/app/api/v1/llamaIndex/route.js:1:2177 {
  page: '/api/v1/llamaIndex'
}

Checklist

[X] apps/docs/docs/environments.md ✅ Commit 8b5725b
[X] README.md ✅ Commit 0577bd2
[X] packages/eslint-config-custom/package.json ✅ Commit 8128b6a
[X] src/api/v1/llamaIndex/route.ts ✅ Commit 4853a74

run into same issue.


check if last_location is -1

it may happen with the server returns error on textDocument/completion

Seems reasonable but how do we end up in on_completion_inserted when the server returns no items? on_query_completions should already set the last_location to something non-negative?

In my case, it happens when the server has an run time error and returns an error code and the menu is showing regular word completions.


merge from template-coveralls

.github/dependabot.yml

chore: (updates)

:tada: This PR is included in version 4.2.24 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v4.2.24

Your semantic-release bot :package::rocket:


[ISSUE #3228] Fix unexpected result of loadbalance select

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3229 (30a8ef1) into master (806bbde) will decrease coverage by 0.29%.
The diff coverage is 16.66%.

@@             Coverage Diff              @@
##             master    #3229      +/-   ##
============================================
- Coverage     57.63%   57.33%   -0.30%
+ Complexity     4543     4529      -14
============================================
  Files           730      730
  Lines         20813    20812       -1
  Branches       1914     1914
============================================
- Hits          11995    11933      -62
- Misses         7762     7819      +57
- Partials       1056     1060       +4

Impacted Files
Coverage Δ

.../shenyu/loadbalancer/spi/AbstractLoadBalancer.java
21.05% <16.66%> (-3.95%)
:arrow_down:

...admin/controller/ShenyuHttpRegistryController.java
77.77% <0.00%> (-22.23%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
69.10% <0.00%> (-14.64%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
70.00% <0.00%> (-13.34%)
:arrow_down:

...henyu/admin/service/impl/UpstreamCheckService.java
50.00% <0.00%> (-12.86%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
87.50% <0.00%> (-12.50%)
:arrow_down:

...in/disruptor/RegisterServerDisruptorPublisher.java
52.94% <0.00%> (-11.77%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
54.25% <0.00%> (-8.52%)
:arrow_down:

...he/shenyu/plugin/grpc/client/ShenyuGrpcClient.java
8.00% <0.00%> (-4.00%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 806bbde...30a8ef1. Read the comment docs.

@ywengineer I toggle ci again. wait a moment.

Regardless of any LoadBalancer, closed upstream should not be used. is it right?
Do you mean that we should use the status of upstream to determine it is available or not is better than weight? am i right?


集成jverify 运行报错

我只要在pubspec.yaml添加 jverify，执行flutter pub get后我的项目就运行不起来，删除jverify后在执行flutter pub get，正常运行。小菜不知道怎么解决，请求帮助。

我新创建了一个项目报如下错误：
Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Running pod install...
Running Xcode build...
Xcode build done.                                            8.6s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:62:3: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
+(instancetype)constraintWithAttribute:(NSLayoutAttribute)attr1
^
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:62:3: note: insert '_Nullable' if the pointer may be null
+(instancetype)constraintWithAttribute:(NSLayoutAttribute)attr1
^
_Nullable
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:62:3: note: insert '_Nonnull' if the pointer should never be null
+(instancetype)constraintWithAttribute:(NSLayoutAttribute)attr1
^
_Nonnull
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:489:18: warning: 'logoWidth' is deprecated: Please use logoConstraints [-Wdeprecated-declarations]
uiconfig.logoWidth = [logoWidth floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:127:48: note: 'logoWidth' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat logoWidth DEPRECATED_MSG_ATTRIBUTE("Please use logoConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:490:18: warning: 'logoHeight' is deprecated: Please use logoConstraints [-Wdeprecated-declarations]
uiconfig.logoHeight = [logoHeight floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:129:49: note: 'logoHeight' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat logoHeight DEPRECATED_MSG_ATTRIBUTE("Please use logoConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:491:18: warning: 'logoOffsetY' is deprecated: Please use logoConstraints [-Wdeprecated-declarations]
uiconfig.logoOffsetY = [logoOffsetY floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:131:50: note: 'logoOffsetY' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat logoOffsetY DEPRECATED_MSG_ATTRIBUTE("Please use logoConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:520:18: warning: 'numFieldOffsetY' is deprecated: Please use numberConstraints [-Wdeprecated-declarations]
uiconfig.numFieldOffsetY = [numFieldOffsetY floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:168:54: note: 'numFieldOffsetY' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat numFieldOffsetY DEPRECATED_MSG_ATTRIBUTE("Please use numberConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:549:18: warning: 'sloganOffsetY' is deprecated: Please use sloganConstraints [-Wdeprecated-declarations]
uiconfig.sloganOffsetY = [sloganOffsetY floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:244:52: note: 'sloganOffsetY' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat sloganOffsetY DEPRECATED_MSG_ATTRIBUTE("Please use sloganConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:578:18: warning: 'logBtnOffsetY' is deprecated: Please use logBtnConstraints [-Wdeprecated-declarations]
uiconfig.logBtnOffsetY = [logBtnOffsetY floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:146:52: note: 'logBtnOffsetY' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat logBtnOffsetY DEPRECATED_MSG_ATTRIBUTE("Please use logBtnConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
/Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:719:18: warning: 'privacyOffsetY' is deprecated: Please use privacyConstraints [-Wdeprecated-declarations]
uiconfig.privacyOffsetY = [privacyOffsetY floatValue];
^
In file included from /Users/BCT-iMac/.pub-cache/hosted/pub.flutter-io.cn/jverify-0.6.20/ios/Classes/JverifyPlugin.m:2:
/Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:210:53: note: 'privacyOffsetY' has been explicitly marked deprecated here
@property (nonatomic,assign) CGFloat privacyOffsetY DEPRECATED_MSG_ATTRIBUTE("Please use privacyConstraints");
^
In module 'Foundation' imported from /Users/BCT-iMac/Code/baxter_life/ios/Pods/JVerification/JVERIFICATIONService.h:9:
In module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
In module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:16:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/include/AvailabilityMacros.h:181:64: note: expanded from macro 'DEPRECATED_MSG_ATTRIBUTE'
#define DEPRECATED_MSG_ATTRIBUTE(s) attribute((deprecated(s)))
^
8 warnings generated.
Command PhaseScriptExecution failed with a nonzero exit code
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'jverify' from project 'Pods')
warning: None of the architectures in ARCHS (x86_64) are valid. Consider setting ARCHS to $(ARCHS_STANDARD) or updating it to include at least one value from VALID_ARCHS (armv7, armv7s, arm64). (in target 'Runner' from project 'Runner')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'JCore' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'JVerification' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Flutter' from project 'Pods')
warning: None of the architectures in ARCHS (x86_64) are valid. Consider setting ARCHS to $(ARCHS_STANDARD) or updating it to include at least one value from VALID_ARCHS (armv7, armv7s, arm64). (in target 'Pods-Runner' from project 'Pods')

Could not build the application for the simulator.
Error launching application on iPhone 11 Pro Max.

@Zhaimm 我也遇到了相似的问题 请问你是找到解决方案了吗？


ClassCastException Packet encoding of packet ID 82 threw (skippable? false)

Describe the bug
Players are kicked with random errors, also an exception in console.
https://pastebin.com/t3qEKjtD
To Reproduce
I think it happens when some packets are sent to players, not sure which ones.
Additional context
Server version: Paper 1.19.4
TradeSystem version: 2.3.3 (current latest)
ProtocolLib version: 5.0.0 (current latest)
Discord contact: nish951

This issue occurs when sending a packet. Don't know which one. But you can see that the packet is sent with the API of ProtocolLib which I don't use.

at net.minecraft.network.Connection.lambda$sendPacket$11(Connection.java:443) ~[?:?]
at com.comphenix.protocol.injector.netty.channel.NettyEventLoopProxy.lambda$proxyRunnable$2(NettyEventLoopProxy.java:48) ~[ProtocolLib.jar:?]


Fix bug #326: Cross-browser testing on CI

Integrate Sauce Labs into CI to test on different browsers.
Browsers
Chrome (enabled)
Latest version, currently 48.
Firefox (enabled)
Latest version, currently 44.
IE11 (enabled)
Had to disable some tests in order to pass the suite (added TODOs). I further had problems with all copy-pasting tests as the browser requires to manually allow setting data in the clipboard. A way has to be found to do this automatically (see https://answers.microsoft.com/en-us/ie/forum/ie11-iewindows8_1/clipboard-access-in-ie-11/94ab3483-828a-4e55-974a-cb4cc98e94c7).
Edge (not enabled)
Had 4 failing tests on the entire suite but couldn't find a good way to detect the user agent in order to disable those tests. This shouldn't be too hard to fix.
Safari 9 (not enabled)
According to the screencast of the test on Sauce Labs, all tests pass but it never seems to return; it stays hanging forever. Haven't looked into this further.
Comments

@bantic You had only given me the Sauce Labs access code but the username of the account is also required. In order to ease setting up, I created an account myself. Obviously, this will have to be replaced with you account.
Also, I don't know what the best way is to store the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables.

Other changes

Update testem to 1.4.0

@YoranBrondsema Thank you! Can we travis-encrypt the sauce account/username for CI? I'll review this locally soon, hopefully tonight.

Can we travis-encrypt the sauce account/username for CI

If that's viable, I will encrypt and add the official mobiledoc-kit sauce labs credentials into the .travis.yml

If that's viable, I will encrypt and add the official mobiledoc-kit sauce labs credentials into the .travis.yml

That should be possible in theory, although I don't know if it's directly supported by saucie (https://github.com/johanneswuerbach/saucie). However, in any case it should be done I think!

@YoranBrondsema this looks great. Is it possible to configure the sauce connection through travis/testem such that it shows the phantom results inline but groups the per-browser results as a single result, the way they do in glimmer's CI? Scroll down to the end where you'll see lines like:
ok 390 SL_Chrome_Current - https://saucelabs.com/jobs/97125e2afb4748468a050485c2f0c4ef
ok 391 SL_Chrome_Last - https://saucelabs.com/jobs/70393bd1aee44116b0631b1c6b841330
ok 392 SL_Firefox_Current - https://saucelabs.com/jobs/d2e4de2ecbc24d60a3727e33aa28d97a`

Is it possible to configure the sauce connection through travis/testem such that it shows the phantom results inline but groups the per-browser results as a single result, the way they do in glimmer's CI?

Sure thing, done.
Some other things:

I managed to get Safari 9 running
I think you can relatively easily encrypt the SL access key on Travis (see https://docs.travis-ci.com/user/environment-variables/#Encrypted-Variables). I'm not sure it's possible to do this from a fork so you might have to do this.
Once it's all set up and on master, a badge can be added to the README (https://wiki.saucelabs.com/display/DOCS/Using+Status+Badges+and+the+Browser+Matrix+Widget+to+Monitor+Test+Results)

SL Badge (https://wiki.saucelabs.com/display/DOCS/Using+Status+Badges+and+the+Browser+Matrix+Widget+to+Monitor+Test+Results)
Encrypt with travis (https://docs.travis-ci.com/user/environment-variables/)

@YoranBrondsema This is great. Just two more things:
Can we restore the phantomjs output (in full — individual lines per test) and then would you mind squashing the commits? This looks great, I am very pleased to have these tests going.

@bantic Cool no worries. I restored PhantomJS, added Edge and squashed the commits. Let me know if there's something I forgot!

awesome! Thank you


Make typing for comments more fancy

Now it works like typing for contracts; the type narrows on the commentType field and then it knows whether it's supposed to have contract-related stuff or group-related stuff.

@jahooma because you suggested doing this.


Should probe ~/.goaccessrc first

By default, goaccess tries to read the global configuration file, and only load the user configuration file if that's missing. This is not how normal *nix utility behave. On main distributions, the global configuration file is generally provided as a guideline, meaning that ~/.goaccessrc will be never scanned.
It would be more user-friendly to switch the probing order to ~/.goaccessrc -> /syspath/goaccess.conf

I agree. Thanks for submitting this PR.


Failed to compile, undefined reference to `cpr::Session::Get()'

hi, i'm tryng to compile a simple GET program with cpr library, i have include the cpr.h file but when i try to compile the program i get this errors:
undefined reference to cpr::Session::Get()'
undefined reference to cpr::Session::~Session()' undefined reference to cpr::Session::~Session()'
undefined reference to cpr::Session::SetOption(cpr::Url const&)'
i try to link the -lcpr but i get another error:
cannot find -lcpr
i'm using MinGW and i really doesn't know how to solv them.

Which version of CPR are you using currently?


Wierd behaviour of Nodetypes.FetchNode();

I'm creating a custom dialog system, made a canvas and all nodes, then if I reopened unity with my nodes inside the project(importing them back after reopen is ok), Node Editor will fail to load (stay grey) and stop at
FetchNodes(): node = node.create(Vector2.zero)
and keep saying "NullReferenceException: Object reference not set to an instance of an object".
I spent several hours to test by inserting some Debug.Log() to FetchNodes(), and it seems that FetchNodes() refuse to accept SystemControlNode.
The order of the loop in the FetchNodes() are [several other nodes], SystemConditionalNode, then SystemControlNode, the loop will stop at SystemControlNode's node = node.create(Vector2.zero) and does not even go into SystemControlNode.Create(Vector2 pos).
So I gave it a try to change class name of SystemControlNode into "ControlNode" and bang! It works, pretty unexpected.
send.zip

Sorry for the late response, was on a class trip last week.
It seems I cannot reproduce this error. Which system&unity version are you using?
And you say SystemConditionalNode does work?
My first guess was that ScriptableObject.CreateInstance would not accept any class starting with "System", but if the other node works, I don't know.
Node node = ScriptableObject.CreateInstance (type.Name) as Node;
Can you validate it's that line?
Also, can you replace it with
ScriptableObject soNode = ScriptableObject.CreateInstance (type.Name);
Node node = soNode as Node;

and check if soNode is null?
A different idea why this would not work is that if you have a different class in you project that is named SystemControlNode or similarily, not necessarily in the same namespace, just because only the name is passed, not the assembly information.
Try to rename to SystemControlNodeTwo, please, maybe that will work.

I did have a **SystemControlNode **in another namespace since I use Node
Editor as a creation tool, then convert the canvas and nodes into another set
of classes my dialog system use. But, I did also have a
SystemConditionalNode in the namespace, so it's just so weird.
And no, I don't think it's ScriptableObject.CreateInstance()'s fault,
since during the test I put a Debug.Log() at first line in the
SystemControlNode.Create(), but It's not even executed.
Win10 / Unity5.4.0f3
Currently everything is working fine after I rename **SystemControlNode **to
ControlNode, if a test with the original **SystemControlNode **script will
help, I'am willing to do that when I have some free time :)

I did have a SystemControlNode in another namespace since I use Node
Editor as a creation tool, then convert the canvas and nodes into another set
of classes my dialog system use. But, I did also have a
SystemConditionalNode in the namespace, so it's just so weird.
And no, I don't think it's ScriptableObject.CreateInstance()'s fault,
since during the test I put a Debug.Log() at first line in the
SystemControlNode.Create(), but It's not even executed.
Win10 / Unity5.4.0f3
Currently everything is working fine after I rename SystemControlNode to
ControlNode, if a test with the original SystemControlNode script will
help, I'am willing to do that when I have some free time :)

It was like:
Node node = ScriptableObject.CreateInstance (type.Name) as Node; // Create a 'raw' instance (not setup using the appropriate Create function)

Debug.Log("Log Me!!");

node = node.Create (Vector2.zero); // From that, call the appropriate Create Method to init the previously 'raw' instance
nodes.Add (node, new NodeData (attr == null? node.name : attr.contextText, attr.limitToCanvasTypes));

And in SystemControlNode.Create():
Debug.Log("We are now in Create()...");
SystemControlNode node = CreateInstance<SystemControlNode>();

Then only "Log Me!!!" is logged.
It's really just so weird that I can't come up with any possibility it's Node Editor's problem , though.

From the last post it does suggest it's ScriptableObject.CreateInstance's fault because if that fails and returns Null, create wouldn't be called. Also, you said a NullRef exceptions would be thrown, so that makes sense...

Ahh, you are right, I was too reckless.
But it still bothers me why SystemConditionalNode could be created successfully...
I'm going to try the steps you mentioned anyway, tomorrow maybe... then I'll let you know the result.

Ok, that'd be great.
Maybe, can you send me the whole project or atleast those files that certainly reproduce the problem? I'll also try the same setup with exactly the same name of classes in different namespaces and take a look.
Maybe it works with SystemConditionalNode because the order in wich is was read by the compiler is with the correct one first, whereas with SystemControlNode the class in the other assembly was first?

One question, are the classes in the other namespace of the type 'Node'? I'd assume no because of what you said of NodeEditor being a creational tool, but then why naming them '*Node' in the first place?
Well if they are nodes, then the system can only target the type which ScriptableObject.CreateInstance creates an instance of when the name is passed... That means even if they have different IDs, the same node with the same ID is recorded for both and an error is thrown when trying to open the canvas context menu to create nodes as it tries to uniquely get one node of that ID.
If they are not of type node or any other scriptable object type, then ScriptableObject.CreateInstance does always create the correct type and that is not the point of failure...

They are not NodeEditorFramework.Node, but they do derived from ScriptableObject.
I'll send you my DialogSystem.Data, since the other part of DialogSystem is irrelevant to the problem (and not even finished and used).
BTW I just copied the original SystemControlNode back to my project and opened NodeEditor, same thing happened, here's the stack trace:
NullReferenceException: Object reference not set to an instance of an object
NodeEditorFramework.NodeTypes.FetchNodes () (at Assets/Plugins/Node_Editor/Framework/NodeTypes.cs:35)
NodeEditorFramework.NodeEditor.setupBaseFramework () (at Assets/Plugins/Node_Editor/Framework/NodeEditor.cs:76)
NodeEditorFramework.NodeEditor.checkInit (Boolean GUIFunction) (at Assets/Plugins/Node_Editor/Framework/NodeEditor.cs:46)
NodeEditorFramework.Standard.NodeEditorWindow.OnGUI () (at Assets/Plugins/Editor/Node_Editor/NodeEditorWindow.cs:126)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

I'll upload the files later.

Plugins.zip
My goal is to create usable dialog system ASAP, and to maintain the independence of the data ( for possibility I want to learn creating a dedicated dialog editor by myself), I use a DialogSystem.Data.Converter to convert DialogTreeCanvas to DialogTree.
BUT  Converter is not related to the issue either, because it's only called by a button in NodeEditorWindow. ( I modified NodeEditorWindow a bit to keep it simple for my team members which are new to Unity)
p.s. The Control Node (the renamed one) , SystemControlNode (which is causing problem)  and all nodes I use in Node Editor are located at DialogEditor/Core/Nodes.

Oh and all the stuff in DialogEditor/Core/Source are not used, they're there just because I start by studying the Dialog Editor Example you provided.

It seems that rename SystemControlNode to SystemControlNodeTwo does not work.

So 'SystemControlNodeTwo' still does throw the error?
I have yet to test your files, but as the other classes are sciptable objects, too, that seems to be causing the issue for some classes as I said in my last post...
ScriptableObject.CreateInstance simply doesn't know by which class you mean when both have the exact same name and both derive from ScriptableObject, and sometimes mices them up. In that case, the conversion 'as Node' fails and silently returns Null, which causes the error.
Everything logic or did I miss something?
I have some things in mind that could fix that;)

Ok, got it, change line
Node node = ScriptableObject.CreateInstance (type.Name) as Node;
to
Node node = (Node)ScriptableObject.CreateInstance (type);
Then it's exactly that type which we wanted, not confusion with names and also throws an error incase it still fails. Don't know why I didn't used that overload before though...
Anyway, I'll create a commit now:)


Cannot sync past a certain block

We've been looking at https://github.com/threefoldtech/tf_operations/issues/1298 and found out that block creators stop syncing past a certain block on a network. This is caused by the authority changes on that block. It's related to this issue: https://github.com/threefoldtech/tfchain/issues/442
We thought it was fixed because we used an image from branch feat_upgrade_polkadot-0.9.30. This "fix" was never released on tfchain and stood stale in that branch. Now it's happening on Qanet as well, where the nodes cannot sync past block 2692870.
Currently there are 2 issues on qanet. One being that finalization stopped and the other being that nodes cannot sync past block  2692870.

After checking afg debug logs, it seems that it continuously tries to fetch block 0x11e131ecf98c0d89e75e807505e369e14b150c17de1844b754c8c3a125daee48. The next time peer count is printed it generally is a dropped amount. Considering that this block includes a GRANDPA authority change, that leads me to believe that the validation fails for the block causing the peers to be disconnected because they send a bad block.

Further debugging the sync state actually shows that all peers who have said block refuse to serve it to this peer. This in turn means the block is never received, explaining why it is requested over and over again. This raises the question of how we synced past it in the first place.
Also it means we need to investigate why other nodes refuse to send this block to this peer.

After more debugging, it turns out that the requested block is a valid block which is part of the existing public node, but is not part of the active chain. That is, the block is known, but checking the block at the height of this block + 1 shows a different parent.
This block also has a GRANDPA change, as expected. When debugging on one of the 2 working nodes, it is shown that once a broken node connects they try to get justifications for both blocks. The block which actually is in the chain does seem to return something though it isn't exactly clear what in the logs.

After syncing the last validator with the correct block for legacy grandpa behavior and restarting it with grandpa and sync logs:
2022-12-12 16:27:28.348  WARN tokio-runtime-worker afg: Detected prevote equivocation in the finality worker: Equivocation { round_number: 1, identity: Public(97d75c3e021f3e4cc1cdee6eeb696e0b3a111781ad7deb14dbc471a
9e932163a (5FVo4ccv...)), first: (Prevote { target_hash: 0x7d300537eb52c4ac2cdc3945cc7c5899a705443d9f9f597e5bb43d2a2c113732, target_number: 2688275 }, Signature(f612ba42a68fe95e381fa02df7bd493da87f91d619f25c66ab97c
506284f4af0b1d770841310e47bc179f67316ab3b30409304f31a0c02c53d40a5028365660e)), second: (Prevote { target_hash: 0xd1fb6938b169513a033e1a8dc24a9f417618474577aab584e0eac248b50b3f62, target_number: 2730866 }, Signature
(586051435238edc6bb9a090ac6fa71de787d51fa66287bc6fa65fa0680fb7a8cb35c1fcdc3ef32d8b7bb89a63b7f6491a0e6be152911bd1e1bb4751e4ce1d001)) }
2022-12-12 16:27:28.626 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.626 DEBUG tokio-runtime-worker sync: 12D3KooWBzpCL75mxpYUvcPzhofM7iu4JFrZ4aYh5PdLoyNXxpVf disconnected
2022-12-12 16:27:28.659 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.659 DEBUG tokio-runtime-worker sync: 12D3KooWBsCG7RK5dk4mTvuHvzPGv4PWSgmxjbbGVbURv6NbHpSg disconnected
2022-12-12 16:27:28.660 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.660 DEBUG tokio-runtime-worker sync: 12D3KooWLtsdtQHswnXkLRH7e8vZJHktsh7gfuL5PoADV51JJ6wY disconnected
2022-12-12 16:27:28.681 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x0378…0660)
2022-12-12 16:27:28.681 DEBUG tokio-runtime-worker sync: 12D3KooWJ9ZHe5tqb2L5ruezBUAGixS5s28AWuBu5XyqmcNLCoPB disconnected
2022-12-12 16:27:28.773 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.773 DEBUG tokio-runtime-worker sync: 12D3KooWLkPAyUZQuAdHfgEzYzTxHGTdsxQRz6PBEQLSRTkCY8Zo disconnected
2022-12-12 16:27:28.775 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0xbb7f…66be)
2022-12-12 16:27:28.775 DEBUG tokio-runtime-worker sync: 12D3KooWGJmLVmtKuuvkkWSopgoi5qMLyDUsvaB6PiksKVFnVAxN disconnected
2022-12-12 16:27:28.786 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.786 DEBUG tokio-runtime-worker sync: 12D3KooWPyu4r4Fj6BwjvW2L6a5zZTZcKMwtZAyqaFXBXo3Lf9eb disconnected
2022-12-12 16:27:28.802 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.802 DEBUG tokio-runtime-worker sync: 12D3KooWGUdcHV2v5UcptwRDQ9XMucrJRvGVV6VD9Cuc9AUffm7T disconnected
2022-12-12 16:27:28.804 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.804 DEBUG tokio-runtime-worker sync: 12D3KooWCVKSPhLC96Tsg84jnFrfkfbFb2U39A8nTdh6NqCjAH2N disconnected
2022-12-12 16:27:28.834 DEBUG tokio-runtime-worker sync: Peer is on different chain (our genesis: 0xffe3…6562 theirs: 0x225a…5579)
2022-12-12 16:27:28.834 DEBUG tokio-runtime-worker sync: 12D3KooWFtA1JHbZF1mGzEXD3S8bTyLVrWZgpAoCr98nqai7bKEe disconnected
2022-12-12 16:27:28.852  WARN tokio-runtime-worker afg: Error reporting prevote equivocation: runtime API request failed: UnknownBlock: State already discarded for 0xd4f61e4a3c299059835ef344c2cd80d69c35d39c9c730837
4950a2fc1460312a
2022-12-12 16:27:28.855  WARN tokio-runtime-worker afg: Detected prevote equivocation in the finality worker: Equivocation { round_number: 1, identity: Public(8e380f6d6dfac9cd5765d0a4ce9a26337e030cc800287c17a58843d
9022edc0a (5FHBJwec...)), first: (Prevote { target_hash: 0x5451b84dfd682ef4e6dfbbdc34c43c8791da292b2113e5bbbda14a5628a7200f, target_number: 2705245 }, Signature(dd8b6706089835e4f72075933b02ee8c7ae3a8fb0e3b217ee36e3
dc2ae183b90781fe6dc6df8845376a88371d60b84ef346f8f5ed6e86c4f90943d6ebebe370e)), second: (Prevote { target_hash: 0x91744a72e9af8c57cd752adc67ee711232a5d9ea8275a9cb2fc9fc15f2984c64, target_number: 2688310 }, Signature
(4c8af74b6c4c3ca7938b46977d11b17789b9c37c66d6613fdcc7901027338a9d3e801baff89f5407640814d7d123fe50d60f841ad825d83f1779bd60f981b604)) }
2022-12-12 16:27:28.855  WARN tokio-runtime-worker afg: Error reporting prevote equivocation: safety invariant has been violated: Refraining from sending equivocation report for our own equivocation.
2022-12-12 16:27:28.855 DEBUG tokio-runtime-worker afg: Constructing prevote for round 1
2022-12-12 16:27:28.855 DEBUG tokio-runtime-worker afg: Finding best chain containing block 0xb4dbaf9415eb29324708e2285c67cbc5c7e37f6f7f567e384d12c01ad78a1009 with number limit Some(2688600)

Couple of things here:

There is an equivocation for the node itself
There is an equivocation from another node (possibly the other validator misbehaving)
This is a fresh chain, i.e. it has (or should have) all canonical blocks
The equivocation for the other node can't be reported because state for a block (0xd4f61e4a3c299059835ef344c2cd80d69c35d39c9c730837 4950a2fc1460312a) has already been discarded.

The last item might be related to the chain not finalizing as it indicates required state is missing. Specifically this is block 2688599, wheres the next block rotates GRANDPA authorities.

Confirmed the first equivocation to be caused by the other validator which is forked off

As a side note, a revert on the validators can only remove 4096 blocks, even though a lot more are not finalized.

After syncing from scratch with --state-pruning archive,  it is now possible to revert to the last finalized block. However there are still equivocations.

Validator now complains about unknown block parent
2022-12-12 23:17:58.645  WARN tokio-runtime-worker sync: 💔 Error importing block 0x8e98cea5ab89dbdbf92fd4e7923ba756bfaafaa84416ba03a3432a147831467e: block has an unknown parent

Seems validator  03 and 04 are trying to finalize a different block (i.e. voting on a different one)

03 and 04 Attempt to download forks which are not present in their storage from peers. These syncs usually fail, because peers keep a list of past request and only allow an identical request twice. After this they error until the request is evicted form the cache, which doesn't happen because it is tried too frequently.
The initial request actually succeeds. Partially. A request is made to sync a fork, with the latest hash, and requests all the blocks until the last finalized one (593 in the observed case). However a limit is set to only allow 128 blocks at once to be returned. The peer overrides the requested amount, completes the request, and returns the data. The requesting node gets the reply and tries to insert the forks. This obviously fails, because only the last 128 blocks are returned, therefore the first block can't be inserted into the chain as its parent is missing for validation. The code errors and subsequently tries again, fails again, and then gets stuck in the request refused loop.

Above bug is already reported in substrate: https://github.com/paritytech/substrate/issues/12830

Finalization restarted by notifying the chain that finalization had stalled. After doing this and waiting for a session rotation, the finalization restarted (after the 1 block delay as specified). An initial vote was done which marginally advanced the last finalized block. After this, finalization routines did not happen for about a minute. At the same time (after the new finalized proof was announced), the mainnet node suffered from connectivity issues (polkadot.js required a refresh). It's an interesting coincidence and might be triggered by the authority change, but at this time it's both not possible and also largely irrelevant to investigate.
Additionally, the debug logs of one of the nodes only show a vote of 3/3/4 on the finalized block (votes/treshold/voters presumably). It is curious to see we are not getting 4/3/4.
Disregarding that, after about a minute of nothingness, finalization picked up as expected, resulting in a catch up which finalized the remainder of blocks produced in the meantime in less than a minute. The 3rd and 4th blockcreator now also have a steady 6 peers, without drops.


Handle date and decimal dtypes in parquet data

Decimal and date datatypes are interpretted today as dtype pyarrow[string].  We should find some better representation for these data types.
I don't actually know where this goes.  Arrow?  Pandas?  Dask DataFrame?  Hopefully we find a good answer here.

There are 2 potential solutions here:

Cast decimals to floats while reading, which is incorrect obviously but provides a better ux

Ensure that Decimals work smoothly in pandas and then in Dask DataFrames

It is not clear to me how long this would take. There is very very little test coverage for Arrow decimals in pandas at the moment. The type itself works, but I don't know how It interacts with other parts of the API.
There is another issue that is potentially more of a problem. pandas has a bunch of Cython algorithms (for groupby stuff for example) that don't have any decimal support and probably won't get there anytime soon. So we would have to cast to floats anyway along the way if we don't implement this properly or find a way to dispatch to arrow for these computations (unlikely in the short term).

I don't actually know where this goes. Arrow? Pandas? Dask DataFrame? Hopefully we find a good answer here.

Definitely pandas and Dask DataFrane

Solution 1 seems like it might be easy?
Right now we're converting decimals and date dtypes into string[pyarrow].  Surely it's an improvement on the status quo 🙂


Packaging bug

make package produces a deb file only for ProjB not ProjA (when run from top dir).

More difficult than expected. CPack does not seem to handle well the fact of building several (sub-)projects.

Yes, It seems that CPack does not support creating several packages in one cmake project.
But we can workaround it with manually call cpack on different project config files like cpack --config /path/to/config/file.
I just forked your project and modify CPackConfig.cmake in each subproject to write in it's own cpack config. I also created special targets packageProjA and packageProjB with custom cpack calls.
So after creating custom target packages, which depends on those ones we can create two packages with one command make packages.
Tell me your opinion about that approach, it works, but I don't think it is good enough to do pull request.


Commonjs module support (webpack support) and add to npm

Hi chmln.
Flatpickr is good plugin.
Can u add support for commonjs module?
Because, I cant use this plugin with webpack module bundler and i'm upset about it.
Thx for this)

Absolutely. Should be done within a week or so.


Extract build pipeline

@jasonmit referenced liquire-fire's awesome custom build/deploy process and after taking a look myself, curious if any other projects the maintainers have use a similar pipeline? Has there been any discussion on extracting it as a tool others can use as well? It's certainly a great reference resource, but it provides so much I feel it would be very valuable not to need to copy-pasta/maintain for each project.
I'm interested in helping or possibly spearheading it, but don't want to duplicate effort if this is already happening somewhere I haven't seen.

That sounds great, I don't know of anybody doing that yet.

I think this issue has become more pressing, due to issues like https://github.com/ef4/liquid-fire/issues/170.
It would be great to have a shared tool that can take any ember-cli addon plus any ember version and spit out a correct build. We have the beginnings of it here, but it would need to expand to run multiple different template compilers and produce builds for each one.

@jayphelps @ef4 I started extracting the build pipeline into something more general here: https://github.com/runspired/ember-cli-export-addon
One of the biggest reasons for this in my case is to enable jsbin pug reproductions.


Upgrade to libc 0.2

Also needs a rebase.

Depends on servo/core-foundation-rs#71.

@bors-servo r+

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from the review on Reviewable.io

:pushpin: Commit 76ece0a has been approved by metajack

:hourglass: Testing commit 76ece0a with merge b10ff9b...

:broken_heart: Test failed - travis

core-foundation hasn't been published yet.

Interestingly, I tried to do so and discovered that core-foundation-sys has been claimed on crates.io but doesn't show in search results.

I noticed these as well. I think that's a search bug, because the pacakge definitely exists there.

cc @alexcrichton

I'm a little confused, what's going on here? The core-foundation-sys crate exists and core-foundation doesn't have an 0.2.0 published?

@alexcrichton Go to crates.io and search for "core-foundation" and notice that "core-foundation-sys" does not show up. But you can search for "core-foundation-sys" and it does show up. That seems like a crates.io search bug.

Ah yeah the search on the web I wouldn't describe as fantastic quality :)

@bors-servo retry

:hourglass: Testing commit 76ece0a with merge 361bc8a...

:sunny: Test successful - travis


Bug in intersection

with below polygons, it does not provide same results doing intesrection A and B or B and A.

let polyA = [
    [49.05351, 1.44728],
    [48.43959, 1.88663],
    [48.77105, 2.22033],
    [48.98882, 2.12906],
    [49.05351, 1.44728]
];
let polyB = [
    [48.33984375, 1.93359375],
    [48.515624999, 1.93359375],
    [48.515624999, 2.109374999],
    [48.33984375, 2.109374999],
    [48.33984375, 1.93359375]
];

console.log(GreinerHormann.intersection(polyA, polyB));
console.log(GreinerHormann.intersection(polyB, polyA));

Try to remove the duplicate points:
`
let polyA = [
[49.05351, 1.44728],
[48.43959, 1.88663],
[48.77105, 2.22033],
[48.98882, 2.12906]
];
let polyB = [
[48.33984375, 1.93359375],
[48.515624999, 1.93359375],
[48.515624999, 2.109374999],
[48.33984375, 2.109374999]
];
console.log(GreinerHormann.intersection(polyA, polyB));
console.log(GreinerHormann.intersection(polyB, polyA));`


port select must be given the executable name pip38 not the package name py38-pip (affects website: installation-osx.rst)

Maintainer merge checklist

[ ] Title is descriptive/clear for inclusion in release notes.
[ ] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[ ] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[ ] Properly documented, including versionadded, versionchanged as needed.

Maybe we can upgrade everything to python312?
I'm not familiar with port, there's a way to be more "generalistic" and just use the latest non-beta Python version?

According to MacPorts, Python and pip 3.12 will build on any version of macOS, so that seems fine:

https://ports.macports.org/port/python312/builds/
https://ports.macports.org/port/py312-pip/builds/

But for the brew commands (for Homebrew) they only show continuous integration back to macOS Monterey:

<EMAIL_ADDRESS>
The oldest macs that still work are usually upgradeable to Catalina at most, so before changing the brew commands testing Python 3.12 on that is ideal. I can do that soon.

Maybe we can upgrade everything to python312?

Ok, I've pushed the change after testing it on macOS Catalina (really old version) and running kivy and one of the examples.

I'm not familiar with port, there's a way to be more "generalistic" and just use the latest non-beta Python version?

There does not appear to be a way to do that built into MacPorts.

There doesn't appear to be any documentation to do so, and all documentation I found uses specific versions.
There is no "python" package, only numbered versions.

Out of curiosity I managed to do it this way, but the first line is rather hideous and takes several seconds (not in commit):
    LATEST_PY_V=$(port search python | grep -E "^python[0-9]+ " | cut -d ' ' -f 1 | cut -c 7- | sort -n | tail -n 1)
    port install python$LATEST_PY_V
    port select --set python python$LATEST_PY_V
    port install pip$LATEST_PY_V
    port select --set python python$LATEST_PY_V


Raise kuttl test timeout to 10m

kuttl tests are timing out in CI[1]. Raise the timeout to 600s (10m)
which is reasonable for a resource constrained CI environment.
Signed-off-by: James Slagle<EMAIL_ADDRESS>

this doesn'thave anything to do with the rdo job, so i think it's ok to merge.


CIMgen fails while building with CGMES v3 schema

Bug
CIMgen v3 fails at line 420 using Docker
Traceback (most recent call last):
File "/CIMgen/build.py", line 16, in
CIMgen.cim_generate(schema_path, args.outdir, args.cgmes_version, langPack)
File "/CIMgen/CIMgen.py", line 685, in cim_generate
parsed = _parse_rdf(parse_result, version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/CIMgen/CIMgen.py", line 420, in _parse_rdf
short_package_name[profile_name] = short_profile_name
^^^^^^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'short_profile_name' where it is not associated with a value
To Reproduce
Steps to reproduce the behavior:
1: docker build -t cimgen -f Dockerfile .
2: export SCHEMA_DIR='/home/cimgen-master/cgmes_schema/CGMES_3.0.0'
3: export OUTPUT_DIR='/home/cimgen-master/CGMES_3.0.0_python'
4: docker run -v ${OUTPUT_DIR}:/cgmes_output -v ${SCHEMA_DIR}:/cgmes_schema cimgen --langdir=python
Expected behavior
Correct me if I am wrong, if I understand correctly CIMgen generates classes for CIMpy?
Docker on Linux

OS: openSuSe Leap 15.5
Docker: version 24.0.5-ce

The option --cgmes_version=cgmes_v3_0_0 is missing.
See README change in https://github.com/sogno-platform/cimgen/pull/34.

i think this is solved.


Axroll RTS no successful pairing

Hi! Thanks for this nice project. It is working fine with some of my Somfy motors. But unfortunately Axroll pairing does not work. 00 in Axroll display is always flashing and no reaction when pressing Prog in ESP-Somfy-RTS. Both Axroll and Software are set to 1-Button mode. Tried also 20 reapeats but no luck. What else can I do?
Michael

Try pairing it after selecting the garage 3-button option.  If it pairs then the Axroll is similar in design to the Dexxo and should be using the Garage (3-button) type.

Have set Axroll to 3-button mode and selected the garage 3-button option. No pairing with "Prog" button in pairing dialog. Up-down buttons showed some reaction in Axroll (00 flashing stopped for a while) but also no pairing success.

Hold the pairing button down for at least 2 seconds.  Some of these motors require a medium length press to register the pairing.

Sorry, doesn't work either. Have cleared Axroll memory, tried 80bit, 56bit 1-butto and 3-button mode never any reaction pressing "Prog" for more than 2 seconds. Maybe debug outputs from working remotes might help. First from Somfy remote control (with no prog button, pairing with any key) and second form FHEM via CUL.
Thanks
Debug output from Somfy Remote Control pressing sigle button once for start once for stop:
[{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -51,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 24,
"pulses": [102400,102511,102267,32533,2594,2539,2547,2552,2535,2549,2545,2545,2534,2573,2517,2560,2520,2568,2538,2549,2522,2565,2528,2575,2533,2552,2520,2468,4846,1299,1307,1297,1304,675,660,1297,1308,671,651,687,649,1295,1310,1318,658,668,1304,1323,660,641,1324,1308,1297,1311,670,654,1312,667,663,666,643,1302,677,669,1311,643,675,1289,1320,1312,666,662,1308,1297,678,643,1309,694,629,1313,1319,1289,1320,664,670,1297,663,668,1311,1293,687,638,1320,1289,718,613,1335,647,661,1294,693,639,1303,676,659,1300,678,641,1323,659,655,666,656,1317,1293,690,645,673,660,650,671,657,665,669,658,666,645,673,661,674,648,660,678,667,658,667,643,673,662,1299,679,641,1322,658,655,1295],
"time": "2023-09-13T10:24:02.375+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -52,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [634,1918,2521,2554,2540,2548,2526,2563,2528,2574,2510,2578,2525,2468,4847,1296,1308,1294,1316,677,641,1298,1308,671,651,687,650,1295,1311,1318,660,669,1303,1325,658,641,1322,1283,1322,1309,667,654,1312,667,662,667,641,1326,663,648,1312,667,656,1314,1296,1318,666,661,1309,1297,677,643,1311,695,629,1311,1320,1290,1319,665,669,1297,663,669,1310,1291,686,648,1319,1291,695,639,1331,651,636,1315,676,663,1301,679,638,1295,1336,669,632,683,642,1301,1329,652,660,670,649,689,648,668,663,665,643,676,664,674,646,660,653,694,633,665,671,671,662,665,642,1306,1314,660,663,668,662,1291,1320],
"time": "2023-09-13T10:24:02.430+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -54,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [2569,2539,2546,2546,2544,2528,2576,2532,2555,2521,2568,2538,2445,4861,1291,1294,1309,1318,659,665,1296,1308,672,661,674,645,1313,1298,1311,669,654,1313,1318,657,644,1299,1315,1296,1315,676,637,1305,674,684,646,648,1313,689,633,1313,667,661,1291,1321,1315,649,663,1308,1298,680,642,1307,671,651,1314,1295,1315,1317,662,647,1295,683,643,1328,1300,678,631,1316,1314,667,656,1313,666,662,1281,695,636,1315,680,637,1320,1310,669,658,657,667,1300,1317,656,665,667,634,684,665,651,661,672,648,686,638,669,662,664,668,654,658,672,651,687,650,668,658,1293,1318,667,643,676,661,1298,1307],
"time": "2023-09-13T10:24:02.577+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 916,
"command": "Toggle",
"rssi": -50,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 24,
"pulses": [1138,101246,102425,102387,102401,102427,23117,2559,2574,2521,2560,2534,2570,2516,2561,2526,2574,2516,2557,2524,2568,2542,2545,2523,2568,2531,2551,2546,2551,2524,2485,4825,1296,1312,1294,1336,669,640,1315,1299,680,643,678,640,1322,1288,1317,665,673,669,639,1314,674,641,688,644,1304,1317,1312,668,654,664,673,670,638,680,668,658,667,667,656,1312,667,663,1290,1321,1290,693,637,1306,1324,664,647,1313,667,658,1310,1294,1343,1271,693,642,1298,690,644,1314,1316,664,648,1296,1317,717,614,1332,651,663,1301,677,638,1319,660,664,1297,1315,654,666,677,645,659,655,1319,1290,692,634,692,643,673,666,650,669,661,664,669,656,663,648,671,659,666,670,650,659,674,648,686,651,1292,692,644,673,639,1327,1305],
"time": "2023-09-13T10:24:06.573+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 916,
"command": "Toggle",
"rssi": -52,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [624,1946,2540,2562,2523,2552,2521,2573,2519,2567,2539,2549,2544,2454,4842,1279,1322,1304,1299,688,649,1309,1298,684,640,693,639,1307,1296,1315,672,639,677,645,1309,697,653,637,679,1293,1311,1296,682,644,700,642,673,649,684,625,691,638,683,644,1325,674,649,1286,1320,1315,668,655,1313,1293,685,645,1298,677,645,1309,1324,1311,1292,661,676,1294,686,620,1324,1293,693,639,1306,1300,679,667,1311,669,654,1289,694,633,1312,668,659,1293,1333,652,642,678,659,673,649,1310,1294,688,649,669,660,665,644,673,664,671,645,688,651,666,660,666,643,674,663,673,645,662,664,669,656,1289,695,633,684,646,1324,1293],
"time": "2023-09-13T10:24:06.628+0200"
}]
Debug output FHEM via CUL:
[{"encKey": 160,
"address": 11250603,
"rcode": 1903,
"command": "Down",
"rssi": -74,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses": [843,1131,1398,567,2592,2573,2590,2415,2590,2558,2604,2553,2595,2571,2600,2527,2467,2534,5190,1350,1223,1372,1196,621,763,596,605,596,789,580,637,1328,632,584,627,735,1241,580,792,572,643,553,772,1228,747,623,611,594,610,749,1237,751,610,1185,784,581,1250,1338,1216,729,641,594,641,1329,1250,721,613,1218,1347,618,593,1371,1218,765,620,597,598,1357,1233,1351,1236,732,628,587,625,1259,1302,752,619,1199,1370,618,594,1370,1367,595,615,592,790,1178,1387],
"time": "2023-09-13T10:36:56.111+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1903,
"command": "Down",
"rssi": -73,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses": [584,2606,2558,2604,2398,2598,2545,2619,2550,2595,2540,2600,2576,2445,2551,5185,1343,1237,1328,1258,563,779,603,594,604,776,620,595,1353,611,597,610,749,1243,569,786,587,638,586,785,1187,627,734,642,551,643,732,1217,772,594,1221,748,620,1225,1348,1229,745,612,601,611,1342,1257,708,644,1182,1401,573,645,1315,1254,745,612,599,609,1371,1205,1350,1232,729,646,585,626,1334,1245,729,645,1171,1398,566,641,1324,1242,749,614,616,592,1369,1389],
"time": "2023-09-13T10:36:56.149+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1904,
"command": "Down",
"rssi": -72,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 15,
"pulses": [102287,102393,102417,102391,9710,92684,102392,3113,2593,2566,2461,2533,2612,2563,2587,2546,2624,2542,2613,2387,2588,2581,5154,1346,1241,1350,1231,581,785,579,626,585,802,570,646,1306,644,593,610,775,1204,1346,610,604,612,759,627,587,625,734,621,575,645,731,1244,1333,1238,594,762,610,612,1351,1205,610,760,1202,776,597,1220,749,616,597,640,726,616,594,615,25,1355,643,549,1392,618,593,1370,607,592,791,572,1218,768,616,1197,764,586,1242,749,635,562,629,759,594,603,622,1354,618,601,1373,595,622,1331,649,570],
"time": "2023-09-13T10:36:59.414+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1904,
"command": "Down",
"rssi": -70,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [3351,2560,2432,2575,2597,2574,2571,2569,2594,2548,2615,2412,2588,2557,5158,1371,1240,1319,1241,574,813,560,627,613,753,600,599,1359,614,612,612,746,1237,1324,633,590,635,727,625,587,630,735,646,555,645,710,1263,1323,1237,622,737,612,608,1369,1228,583,780,1200,770,568,1241,752,614,570,641,745,639,566,643,1323,635,583,1389,607,600,1360,595,628,746,620,1194,773,620,1171,792,594,1222,743,640,566,640,723,641,568,665,1302,642,570,1393,622,584,1374,592,621],
"time": "2023-09-13T10:36:59.523+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1904,
"command": "Down",
"rssi": -73,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [3343,2558,2610,2379,2631,2535,2595,2571,2588,2566,2581,2407,2629,2509,5208,1321,1235,1360,1230,583,781,598,596,605,776,598,622,1345,618,596,618,729,1243,1344,631,570,658,746,583,611,609,759,627,585,624,734,1222,1355,1218,598,768,593,645,1326,1217,619,763,1206,763,607,1206,756,622,581,623,758,620,574,645,1334,621,597,1370,592,645,1319,644,568,793,569,1237,771,592,1221,741,620,1222,746,620,593,613,721,662,571,642,1337,632,563,1406,578,619,1338,644,575],
"time": "2023-09-13T10:36:59.696+0200"
}]

I don't see a prog command from the FHEM via CUL.  Is there a prog function?

Yes FHEM has a prog function, but I paired it with "on" command because FHEM prog also didn't work with Axroll. This is was FHEM porg does (without pairing):
[{"encKey": 160,
"address": 11250603,
"rcode": 1913,
"command": "Prog",
"rssi": -72,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses": [101880,102407,39216,559,2240,99,25277,35116,474,483,101404,98463,3926,1030,31040,519,481,498,37747,2597,2547,2617,2540,2626,2551,2592,2411,2588,2564,2600,2554,2589,2554,5193,1178,1402,1177,1399,569,641,570,799,568,641,576,792,568,640,571,793,1196,1399,1169,1395,1166,1417,566,643,568,791,1171,1402,1195,640,714,1263,1305,1254,1335,1247,1334,1247,1328,1240,742,632,1174,794,555,659,576,786,584,624,585,775,575,642,580,800,574,1248,1330,1244,1320,1247,1341,1241,716,643,1192,796,568,640,569,790,567,666,548,793,570,638,718,643,24,587],
"time": "2023-09-15T11:32:55.390+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1913,
"command": "Prog",
"rssi": -70,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses": [3216,2549,2594,2539,2602,2576,2616,2383,2613,2536,2603,2556,2597,2549,5197,1168,1392,1187,1408,578,625,584,799,572,643,552,795,571,639,575,796,1170,1420,1167,1392,1194,1394,564,642,570,794,1185,1388,1185,646,710,1249,1329,1265,1325,1237,1345,1237,1327,1257,736,617,1184,801,572,644,555,794,570,642,573,795,570,643,572,796,568,1269,1326,1245,1320,1240,1345,1249,721,639,1164,811,563,657,558,801,553,646,581,799,571,641,553,796,572],
"time": "2023-09-15T11:32:55.496+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1913,
"command": "Prog",
"rssi": -71,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses": [3214,2555,2588,2564,2604,2557,2621,2373,2619,2546,2593,2574,2595,2547,5016,1355,1394,1170,1416,567,641,573,790,567,641,575,791,569,639,573,794,1152,1419,1193,1378,1199,1389,589,608,604,761,1208,1376,1203,619,729,1242,1348,1239,1323,1247,1347,1243,1321,1259,717,642,1180,788,584,623,563,802,575,642,579,798,552,640,575,796,567,1265,1333,1246,1318,1247,1346,1239,715,640,1193,793,570,651,546,791,572,639,592,792,544,659,568,802,572],
"time": "2023-09-15T11:32:55.607+0200"
}]

Yes FHEM has a prog function, but I paired it with "on" command because FHEM prog also didn't work with Axroll.

Well that is a pertinent piece of information.  There is no such thing as an on command on the command by so could capture the FHEM "on" command that you used?

Thanks for your time. Because your project is so great I would like to
integrate all my Somfy products. That is the output from FHEM "on" command.
It is the same for pairing and 1-button remote. Even Somfy hardware remote
uses the same button for pairing (and no prog!) and later on for remote
control.
[{"encKey": 160,
"address": 11250603,
"rcode": 1914,
"command": "Down",
"rssi": -71,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 14,
"pulses":
[2596,2398,2616,2548,2589,2559,2608,2557,2590,2397,2625,2520,2625,2564,5167,1200,1370,1197,1391,571,641,725,640,592,621,720,654,1171,789,564,663,531,1435,560,651,1342,1245,1331,646,703,639,571,641,719,1263,579,784,561,646,1332,1243,1333,1269,547,794,1196,639,706,1262,567,791,568,647,565,790,567,641,1344,640,568,1396,567,646,1323,662,568,639,721,1243,567,793,1191,641,718,1265,545,794,592,641,569,794,569,646,1321,639,567,1396,592,648,1299,643,591],
"time": "2023-09-15T17:04:58.125+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1914,
"command": "Down",
"rssi": -72,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 13,
"pulses":
[3365,2396,2596,2572,2568,2566,2605,2555,2600,2541,2443,2570,2593,2545,5200,1187,1405,1182,1397,571,641,704,643,569,641,726,640,1189,793,569,649,541,1417,566,665,1321,1253,1316,638,747,611,608,608,762,1201,610,777,571,622,1357,1224,1345,1241,570,797,1171,651,721,1267,549,791,585,634,563,808,580,617,1333,640,575,1398,572,643,1324,665,569,644,706,1248,570,788,1198,637,721,1241,575,788,585,628,586,776,574,644,1330,646,570,1394,571,641,1329,637,593],
"time": "2023-09-15T17:04:58.254+0200"
},
{"encKey": 160,
"address": 11250603,
"rcode": 1914,
"command": "Down",
"rssi": -70,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 13,
"pulses":
[3361,2378,2642,2533,2584,2558,2627,2523,2616,2396,2591,2569,2597,2539,5190,1203,1395,1181,1393,566,643,724,636,569,642,725,649,1169,792,593,638,571,1397,567,644,1320,1245,1347,641,568,792,565,639,723,1263,562,786,580,646,1311,1245,1348,1224,593,792,1200,611,744,1244,557,788,587,629,586,777,573,644,1337,645,573,1397,566,644,1324,644,570,640,724,1243,574,787,1194,641,720,1243,566,817,568,625,567,817,567,642,1320,630,596,1395,567,619,1352,631,586],
"time": "2023-09-15T17:04:58.352+0200"
}]
Am Fr., 15. Sept. 2023 um 17:01 Uhr schrieb rstrouse <
@.***>:

Yes FHEM has a prog function, but I paired it with "on" command because
FHEM prog also didn't work with Axroll.
Well that is a pertinent piece of information. There is no such thing as
an on command on the command by so could capture the FHEM "on" command that
you used?
—
Reply to this email directly, view it on GitHub
https://github.com/rstrouse/ESPSomfy-RTS/issues/148#issuecomment-1721425432,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJ72TG5BTOS44YXZGQEZOTX2RUTLANCNFSM6AAAAAA4SCIEDQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Ok lets try this since ESPSomfy RTS can and will send this command.
Step 1: Put the motor into pairing mode
Step 2: Press the Down button on the Edit screen.

Step 3: After the motor pairs simply open the Pair Shade screen and click the Door Paired button.

That worked! Axroll is now paired with ESP-Somfy-RTS. Repeat is set to 3. Can move garage door with down button like 1-button. Link remote is also working. But, because down button now acts as toggle button (up, stopp, down, stopp, up, ...) position information is invalid. Hardware remote doesn't have 3-buttos therefor Axroll is configured for 1-button.
Is it necessary or possible to create a new "Axroll" shade? What would be MQTT topic in that case?
Thanks!

Or would it be more straight forward if ESP-Somfy does behave like Hardware remote with one button for pairing, and start stopp?
Debug output from Somfy Remote Control pressing sigle button once for start once for stop:
[{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -51,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 24,
"pulses": [102400,102511,102267,32533,2594,2539,2547,2552,2535,2549,2545,2545,2534,2573,2517,2560,2520,2568,2538,2549,2522,2565,2528,2575,2533,2552,2520,2468,4846,1299,1307,1297,1304,675,660,1297,1308,671,651,687,649,1295,1310,1318,658,668,1304,1323,660,641,1324,1308,1297,1311,670,654,1312,667,663,666,643,1302,677,669,1311,643,675,1289,1320,1312,666,662,1308,1297,678,643,1309,694,629,1313,1319,1289,1320,664,670,1297,663,668,1311,1293,687,638,1320,1289,718,613,1335,647,661,1294,693,639,1303,676,659,1300,678,641,1323,659,655,666,656,1317,1293,690,645,673,660,650,671,657,665,669,658,666,645,673,661,674,648,660,678,667,658,667,643,673,662,1299,679,641,1322,658,655,1295],
"time": "2023-09-13T10:24:02.375+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -52,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [634,1918,2521,2554,2540,2548,2526,2563,2528,2574,2510,2578,2525,2468,4847,1296,1308,1294,1316,677,641,1298,1308,671,651,687,650,1295,1311,1318,660,669,1303,1325,658,641,1322,1283,1322,1309,667,654,1312,667,662,667,641,1326,663,648,1312,667,656,1314,1296,1318,666,661,1309,1297,677,643,1311,695,629,1311,1320,1290,1319,665,669,1297,663,669,1310,1291,686,648,1319,1291,695,639,1331,651,636,1315,676,663,1301,679,638,1295,1336,669,632,683,642,1301,1329,652,660,670,649,689,648,668,663,665,643,676,664,674,646,660,653,694,633,665,671,671,662,665,642,1306,1314,660,663,668,662,1291,1320],
"time": "2023-09-13T10:24:02.430+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 915,
"command": "Toggle",
"rssi": -54,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [2569,2539,2546,2546,2544,2528,2576,2532,2555,2521,2568,2538,2445,4861,1291,1294,1309,1318,659,665,1296,1308,672,661,674,645,1313,1298,1311,669,654,1313,1318,657,644,1299,1315,1296,1315,676,637,1305,674,684,646,648,1313,689,633,1313,667,661,1291,1321,1315,649,663,1308,1298,680,642,1307,671,651,1314,1295,1315,1317,662,647,1295,683,643,1328,1300,678,631,1316,1314,667,656,1313,666,662,1281,695,636,1315,680,637,1320,1310,669,658,657,667,1300,1317,656,665,667,634,684,665,651,661,672,648,686,638,669,662,664,668,654,658,672,651,687,650,668,658,1293,1318,667,643,676,661,1298,1307],
"time": "2023-09-13T10:24:02.577+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 916,
"command": "Toggle",
"rssi": -50,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 24,
"pulses": [1138,101246,102425,102387,102401,102427,23117,2559,2574,2521,2560,2534,2570,2516,2561,2526,2574,2516,2557,2524,2568,2542,2545,2523,2568,2531,2551,2546,2551,2524,2485,4825,1296,1312,1294,1336,669,640,1315,1299,680,643,678,640,1322,1288,1317,665,673,669,639,1314,674,641,688,644,1304,1317,1312,668,654,664,673,670,638,680,668,658,667,667,656,1312,667,663,1290,1321,1290,693,637,1306,1324,664,647,1313,667,658,1310,1294,1343,1271,693,642,1298,690,644,1314,1316,664,648,1296,1317,717,614,1332,651,663,1301,677,638,1319,660,664,1297,1315,654,666,677,645,659,655,1319,1290,692,634,692,643,673,666,650,669,661,664,669,656,663,648,671,659,666,670,650,659,674,648,686,651,1292,692,644,673,639,1327,1305],
"time": "2023-09-13T10:24:06.573+0200"
},
{"encKey": 164,
"address": 11424762,
"rcode": 916,
"command": "Toggle",
"rssi": -52,
"bits": 80,
"proto": 0,
"valid": true,
"sync": 13,
"pulses": [624,1946,2540,2562,2523,2552,2521,2573,2519,2567,2539,2549,2544,2454,4842,1279,1322,1304,1299,688,649,1309,1298,684,640,693,639,1307,1296,1315,672,639,677,645,1309,697,653,637,679,1293,1311,1296,682,644,700,642,673,649,684,625,691,638,683,644,1325,674,649,1286,1320,1315,668,655,1313,1293,685,645,1298,677,645,1309,1324,1311,1292,661,676,1294,686,620,1324,1293,693,639,1306,1300,679,667,1311,669,654,1289,694,633,1312,668,659,1293,1333,652,642,678,659,673,649,1310,1294,688,649,669,660,665,644,673,664,671,645,688,651,666,660,666,643,674,663,673,645,662,664,669,656,1289,695,633,684,646,1324,1293],
"time": "2023-09-13T10:24:06.628+0200"
}]

Now change that shade to Garage 1-button and 80 bits.  It will then start sending the same commands as above.

v2.1.6 contains functions to ignore any toggle repeats from the remote.  This could have caused an issue with the positioning on a Garage door.
The Dexxo motors appear to have the ability to operate as a 3-button once they are paired. (who names these things... Picachu?).

Please download and try this firmware.  I have noticed a variance in the output timing for the toggle command.
https://github.com/rstrouse/ESPSomfy-RTS/blob/main/SomfyController.ino.esp32.bin

Further on this topic to use the 3-button mode the manual says you have to set the P0 to 04.  I don't really know what that means but it should operate in either mode.

What will be MQTT topic for "toggle" in 1-button mode?

Actually this is very obscure and I may add some topics in the future but set the following topic [root]/shades/[id]/direction/set to 0.

Closing this for now if you have any other issues, create a new one.


Fixed compression interop and re-enable for C++.

Also added some defense in depth for compression algorithms in the receive path.

LGTM.

LGTM


google phishlet

@phishlet_seller please contact me on TG

Why not reach out to @mrgretzky where he’s more responsive on icq to get proper updates… just suggesting