🐛 [CLOUD_FIRESTORE] AggregateQuerySnapshot Missing Fields on MacOS

Bug report
Describe the bug
I updated to Cloud Firestore 4.14.0, but I get these errors. It appears there may be missing files for the macOS target:
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:751:18: error: unknown type name 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
  NSMutableArray<FIRAggregateField *> *aggregateFields =
                 ^~~~~~~~~~~~~~~~~
                 FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:752:24: error: unknown type name 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
      [[NSMutableArray<FIRAggregateField *> alloc] init];
                       ^~~~~~~~~~~~~~~~~
                       FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:757:37: error: unknown receiver 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
        [aggregateFields addObject:[FIRAggregateField aggregateFieldForCount]];
                                    ^~~~~~~~~~~~~~~~~
                                    FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:757:55: error: no known class method for selector 'aggregateFieldForCount'
        [aggregateFields addObject:[FIRAggregateField aggregateFieldForCount]];
                                                      ^~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:761:24: error: unknown receiver 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
            addObject:[FIRAggregateField aggregateFieldForSumOfField:[queryRequest field]]];
                       ^~~~~~~~~~~~~~~~~
                       FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:761:42: error: no known class method for selector 'aggregateFieldForSumOfField:'
            addObject:[FIRAggregateField aggregateFieldForSumOfField:[queryRequest field]]];
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:765:24: error: unknown receiver 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
            addObject:[FIRAggregateField aggregateFieldForAverageOfField:[queryRequest field]]];
                       ^~~~~~~~~~~~~~~~~
                       FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:765:42: error: no known class method for selector 'aggregateFieldForAverageOfField:'
            addObject:[FIRAggregateField aggregateFieldForAverageOfField:[queryRequest field]]];
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:773:46: error: no visible @interface for 'FIRQuery' declares the selector 'aggregate:'
  FIRAggregateQuery *aggregateQuery = [query aggregate:aggregateFields];
                                       ~~~~~ ^~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:800:54: error: unknown receiver 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
                             valueForAggregateField:[FIRAggregateField
                                                     ^~~~~~~~~~~~~~~~~
                                                     FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:801:57: error: no known class method for selector 'aggregateFieldForSumOfField:'
                                                        aggregateFieldForSumOfField:[queryRequest
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:800:30: error: no visible @interface for 'FIRAggregateQuerySnapshot' declares the selector 'valueForAggregateField:'
                             valueForAggregateField:[FIRAggregateField
                             ^~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:814:54: error: unknown receiver 'FIRAggregateField'; did you mean 'FIRAggregateQuery'?
                             valueForAggregateField:[FIRAggregateField
                                                     ^~~~~~~~~~~~~~~~~
                                                     FIRAggregateQuery
In module 'FirebaseFirestore' imported from /Users/peter/development/git/planter/macos/Pods/Headers/Public/Firebase/Firebase.h:50:
@class FIRAggregateQuery;
       ^
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:815:57: error: no known class method for selector 'aggregateFieldForAverageOfField:'
                                                        aggregateFieldForAverageOfField:
                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/peter/.pub-cache/hosted/pub.dev/cloud_firestore-4.14.0/macos/Classes/FLTFirebaseFirestorePlugin.m:814:30: error: no visible @interface for 'FIRAggregateQuerySnapshot' declares the selector 'valueForAggregateField:'
                             valueForAggregateField:[FIRAggregateField

This is all after a flutter clean, rm Podfile.lock, and new build. The build is working for iOS, Android, and web. Just macOS is encountering these issues.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 3.16.5, on macOS 14.1.1 23B81 darwin-arm64, locale en-US)
    • Flutter version 3.16.5 on channel stable at /Users/peter/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (3 weeks ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc1)
    • Android SDK at /Users/peter/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc1
    • Java binary at: /Users/peter/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C65
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Users/peter/Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.85.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • iPhone 14 Plus (mobile) • 935AE290-D408-4283-BA05-B64B605F1244 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator)
    • macOS (desktop)         • macos                                • darwin-arm64   • macOS 14.1.1 23B81 darwin-arm64
    • Chrome (web)            • chrome                               • web-javascript • Google Chrome 120.0.6099.129

[✓] Network resources
    • All expected network resources are available.

 Can you try clearing it and running the project again? From what I understand, macOS & iOS use shared code

Figured it out! For anyone else suffering from a similar issue: In my situation, the latest version of the pre-compiled pod from https://github.com/invertase/firestore-ios-sdk-frameworks.git stopped working for me. So I commented out the line that used it. However, what I also needed to do was comment out this line in my podfile:
$FirebaseSDKVersion = '10.12.0'

This variable was still being used behind-the-scenes to set the Firebase version, creating conflicting versions and missing classes.


Able to deploy in kube-system and sync() properly

When deploying the keepalived-kip to "kube-system" (in most case, it's reasonable to protect the "system" application and hide them in 'kube-system'), the "sync()" will be triggered every second, which causes keepalived keeping reload.
It's because the endpoints of kube-controller-manager & kube-scheduler being re-new every second, you can try with kubectl get ep -n kube-system -w .  I'm not sure about the reason ,this happens both to single master or 3 master clusters, my kubernetes version is 1.10, I only found sth relevant : https://github.com/kubernetes/kubernetes/issues/23812 )
So in our code,
Everytime , pkg/controller/main.go, below Enqueue() will be triggered
if !reflect.DeepEqual(old, cur) {
   ipvsc.syncQueue.Enqueue(cur)
}

because every second, the kube-controller-manager & kube-scheduler endpoints, their ResourceVersion and renewTime will update.
so DeepEqual() always being false.
How about adding a check  to UpdateFunc()  as below ?
if  old.(*apiv1.Endpoints).Namespace == "kube-system" {
    return;
}

assuming there's no use-case keepalived managers workload under kube-system.
or
if  old.(*apiv1.Endpoints).Name == "kube-scheduler" || old.(*apiv1.Endpoints).Name == "kube-controller-manager"   {
    return;
}

How about adding a check to UpdateFunc() as below ?

No. This is not a fix.
What you describe not makes sense. Please provide the steps and configuration of the configmap to reproduce this issue

Thanks @aledbf
After digging,  my observation was not right (hmm... partial right :-P ), it will not keep doing Reload() , but sync().
Every second the endpoint of kube-controller-manager & kube-scheduler gets updated , the ipvsControllerController.sync() will be triggered.
but the final guard (the Cfg md5 check in sync() ) save the world, as below:
md5, err := checksum(keepalivedCfg)
if err == nil && md5 == ipvsc.ruMD5 {
    return nil
}

But still curious,  the two weird ep updates are quite annoying.  And it will trigger sync() every second which is unnecessary.  So don't you consider block those two k8s endpoints update event as my original thread  :-) ?
attached my yaml (major part)
I use deployment instead of daemonset, and run it in kube-system.
apiVersion: v1
kind: ConfigMap
metadata:
  name: vip-configmap
  namespace: kube-system
data:
  <IP_ADDRESS>: default/nginx
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-keepalived-vip
  namespace: kube-system
secrets:
- name: kube-keepalived-vip-token-4kzkh
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
  name: kube-keepalived-vip
rules:
  - apiGroups: [""]
    resources:
    - pods
    - nodes
    - endpoints
    - services
    - configmaps
    verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: kube-keepalived-vip
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kube-keepalived-vip
subjects:
  - kind: ServiceAccount
    name: kube-keepalived-vip
    namespace: kube-system
---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kube-keepalived-vip
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      name: kube-keepalived-vip
  template:
    metadata:
      labels:
        name: kube-keepalived-vip
    spec:
      hostNetwork: true
      serviceAccount: kube-keepalived-vip
      containers:
        - image: aledbf/kube-keepalived-vip:0.35
          name: kube-keepalived-vip
          livenessProbe:
            httpGet:
              path: /health
              port: 8081
            initialDelaySeconds: 15
            timeoutSeconds: 3
          resources:
             limits:
               cpu: 500m
               memory: 500Mi
             requests:
               cpu: 100m
               memory: 500Mi
          securityContext:
            privileged: true
          volumeMounts:
            - mountPath: /lib/modules
              name: modules
              readOnly: true
            - mountPath: /dev
              name: dev
          # use downward API
          env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          # to use unicast
          args:
            - -v=5
            - --services-configmap=kube-system/vip-configmap
      volumes:
        - name: modules
          hostPath:
            path: /lib/modules
        - name: dev
          hostPath:
            path: /dev

Every second the endpoint of kube-controller-manager & kube-scheduler gets updated , the ipvsControllerController.sync() will be triggered.

This is expected. Watching endpoints is one of the more expensive things you can do with an informer. You can also see the same behavior if there is a pod in CrashloopBackOff. That's why adding exceptions is not the solution.

but the final guard (the Cfg md5 check in sync() ) save the world, as below:

That's why is there :)


Fix hang in TLS activation because no timeout is set on the underlying NetworkStream

SslStream call recv internally. Since there is no timeout set on the socket, it hangs indefinitely.
This issue happens rarely. I have to modify an FTP server to simulate timeout on TLS handshake to reproduce this. Stack trace when it freezes is attached below.
 	ntdll.dll!NtWaitForSingleObject()	Unknown
 	mswsock.dll!SockWaitForSingleObject()	Unknown
 	mswsock.dll!WSPRecv()	Unknown
 	ws2_32.dll!recv()	Unknown
 	[Managed to Native Transition]
 	System.dll!System.Net.Sockets.Socket.Receive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode)	Unknown
 	System.dll!System.Net.Sockets.NetworkStream.Read(byte[] buffer, int offset, int size)	Unknown
 	System.dll!System.Net.FixedSizeReader.ReadPacket(byte[] buffer, int offset, int count)	Unknown
 	System.dll!System.Net.Security.SslState.StartReceiveBlob(byte[] buffer, System.Net.AsyncProtocolRequest asyncRequest)	Unknown
 	System.dll!System.Net.Security.SslState.StartSendBlob(byte[] incoming, int count, System.Net.AsyncProtocolRequest asyncRequest)	Unknown
 	System.dll!System.Net.Security.SslState.ForceAuthentication(bool receiveFirst, byte[] buffer, System.Net.AsyncProtocolRequest asyncRequest)	Unknown
 	System.dll!System.Net.Security.SslState.ProcessAuthentication(System.Net.LazyAsyncResult lazyResult)	Unknown
 	FluentFTP.dll!FluentFTP.FtpSocketStream.ActivateEncryption(string targethost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCerts, System.Security.Authentication.SslProtocols sslProtocols)	Unknown
 	FluentFTP.dll!FluentFTP.FtpClient.OpenPassiveDataStream(FluentFTP.FtpDataConnectionType type, string command, long restart)	Unknown
>	FluentFTP.dll!FluentFTP.FtpClient.OpenDataStream(string command, long restart)	Unknown
 	FluentFTP.dll!FluentFTP.FtpClient.GetListing(string path, FluentFTP.FtpListOption options)	Unknown

Awesome, thanks for this!

@robinrodricks Is there a release coming anywhere soon that includes this?
We have been hunting this problem for the last two weeks and came to the same conclusion today, about the read timeout.
Greate work, @iamjay!

Please check https://www.nuget.org/packages/FluentFTP/19.1.4

Wow, that is awesome! Thanks!


Bump swamid-plugins to v0.1.0

Use swamid-plugins v0.1.0 in order to have access to the new MFAFlagger micro-service.

@johanlundberg @mariahaider can you have a look at this?

I will test it with a 'test' tag first as 8.0.1 is used by all the production instances.


Remove ApiSegment from UUIDs of HttpClients/Servers and TcpClients/Servers

For simplification purposed, the ApiSegment shall be removed from UUIDs of HttpClients/Servers and TcpClients/Servers.
Example: ro-2-0-0-http-c-bm-tar-1-0-0-000 shall be changed into ro-2-0-0-http-c-tar-1-0-0-000

Check updated documentation about UUIDs
Check files of ApplicationPattern as a reference
Change ServiceList
Change ProfileInstanceList
Change CONFIGfile
Change OAS

mappings:

http-c-bm-;http-c-
http-c-bs-;http-c-
http-c-im-;http-c-
http-c-is-;http-c-
tcp-c-bm-;tcp-c-
tcp-c-bs-;tcp-c-
tcp-c-im-;tcp-c-
tcp-c-is-;tcp-c-
http-s-bm-;http-s-
http-s-bs-;http-s-
http-s-im-;http-s-
http-s-is-;http-s-
tcp-s-bm-;tcp-s-
tcp-s-bs-;tcp-s-
tcp-s-im-;tcp-s-
tcp-s-is-;tcp-s-
-p-bm-;-p-
-p-bs-;-p-
-p-im-;-p-
-p-is-;-p-
-fd-bm-;-fd-
-fd-bs-;-fd-
-fd-im-;-fd-
-fd-is-;-fd-
-link-bm-;-link-
-link-bs-;-link-
-link-im-;-link-
-link-is-;-link-


replace unicode characters

I was getting this
LANG=C bundle exec jekyll b _site
Configuration file: /home/stan/src/site/_config.yml
            Source: /home/stan/src/site
       Destination: /home/stan/src/site/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/styles.scss':
                    Invalid US-ASCII character "\xE2" on line 27
jekyll 3.6.2 | Error:  Invalid US-ASCII character "\xE2" on line 27

This commit changes the two non ascii characters as there are simple replacements.  Another fix would be to put @charset "UTF-8"; at the top of the two files (it seems like they need to be in the relevant file rather than the alembic.scss file, perhaps could be removed from there).

Wow nice spot, thanks @stan3! I'll merge this in now, but if you fancy making a PR for the @charset stuff too I'd appreciate it 💚


Crash

The quick start project SwiftVoiceCallKitQuickstart crashes. Here's a stack dump.

thread #27: tid = 0x3f3539, 0x0000000000000000, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)

frame #0: 0x0000000000000000
frame #1: 0x0000000108dccfff TwilioVoiceTWISSL_CRYPTO_gcm128_encrypt_ctr32 + 127 frame #2: 0x0000000108dc5e79 TwilioVoiceTWISSL_aead_aes_gcm_seal + 265
frame #3: 0x0000000108dc30bb TwilioVoiceTWISSL_EVP_AEAD_CTX_seal + 171 frame #4: 0x0000000108e6c623 TwilioVoiceTWISSL_SSL_AEAD_CTX_seal + 563
frame #5: 0x0000000108e7f1b3 TwilioVoiceTWISSL_do_seal_record + 243 frame #6: 0x0000000108e7f078 TwilioVoiceTWISSL_tls_seal_record + 312
frame #7: 0x0000000108e65ea8 TwilioVoiceTWISSL_do_ssl3_write + 328 frame #8: 0x0000000108e65c71 TwilioVoiceTWISSL_ssl3_write_bytes + 209
frame #9: 0x0000000108e5f5c4 TwilioVoiceTWISSL_ssl3_do_write + 36 frame #10: 0x0000000108e60864 TwilioVoiceTWISSL_ssl3_connect + 1796
frame #11: 0x0000000108d0e861 TwilioVoicedo_handshake + 34 frame #12: 0x0000000108d0e4d1 TwilioVoiceasock_on_data_read + 132
frame #13: 0x0000000108d80a8f TwilioVoiceioqueue_on_read_complete + 178 frame #14: 0x0000000108d94ed9 TwilioVoicetwilio_ioqueue_dispatch_read_event + 609
frame #15: 0x0000000108d96432 TwilioVoicetwilio_pj_ioqueue_poll + 782 frame #16: 0x0000000108d82ebb TwilioVoicetwilio_pjsip_endpt_handle_events2 + 166
frame #17: 0x0000000108d2390f TwilioVoicetwilio_pjsua_handle_events + 68 frame #18: 0x0000000108d232c3 TwilioVoiceworker_thread + 44
frame #19: 0x0000000108d1c72b TwilioVoicethread_main + 82 frame #20: 0x000000010e83e99d libsystem_pthread.dylib_pthread_body + 131
frame #21: 0x000000010e83e91a libsystem_pthread.dylib_pthread_start + 168 frame #22: 0x000000010e83c351 libsystem_pthread.dylibthread_start + 13

Hi @migrap
Thanks for reporting the crash.
Could you share more information about this issue?

what's version of the SDK?
how was the framework imported? via pod install or manually dragged-and-dropped into Embedded Binaries?
what were the steps that got you into the crash?
did this happen to you consistently with the steps?

Also it would be great if you could provide us verbose SDK logs so we can take a look as well.
Thanks.
-bobie

SDK: should be 2.0.0-beta8.
Framework imported: via pod install
Steps: followed the readme.md, launched, clicked “Place Outgoing Call”... crash
Consistently: yes, every time I clicked “Place Outgoing Call”.
How can I get you the verbose SDK logs? I’d love to send those over.
Michael
On Apr 20, 2017, at 7:02 PM, bchen-twilio<EMAIL_ADDRESS>wrote:
Hi @migrap https://github.com/migrap
Thanks for reporting the crash.
Could you share more information about this issue?
what's version of the SDK?
how was the framework imported? via pod install or manually dragged-and-dropped into Embedded Binaries?
what were the steps that got you into the crash?
did this happen to you consistently with the steps?
Also it would be great if you could provide us verbose SDK logs so we can take a look as well.
Thanks.
-bobie
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/twilio/voice-quickstart-swift/issues/25#issuecomment-296013925, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF12wEqOMqJZkP_VheeaIbwZqhZH9B9ks5ryA4cgaJpZM4NCSfS.

Hi @migrap
Sorry for the delay of responding your ticket.
There is a method in the TwilioVoice class for configuring the logging level of the SDK:
  [[TwilioVoice sharedInstance] setLogLevel:TVOLogLevelVerbose];

Then in the Xcode debug console you should see logs being printed. Please copy the save them as a text file and attach in the comment.
Thanks.
-bobie

It looks like inside viewDidLoad there’s an existing call to [[TwilioVoice sharedInstance] setLogLevel:TVOLogLevelVerbose];
Michael
On Apr 25, 2017, at 10:05 AM, bchen-twilio<EMAIL_ADDRESS>wrote:
Hi @migrap https://github.com/migrap
Sorry for the delay of responding your ticket.
There is a method in the TwilioVoice class for configuring the logging level of the SDK:
[[TwilioVoice sharedInstance] setLogLevel:TVOLogLevelVerbose];
Then in the Xcode debug console you should see logs being printed. Please copy the save them as a text file and attach in the comment.
Thanks.
-bobie
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/twilio/voice-quickstart-swift/issues/25#issuecomment-297097904, or mute the thread https://github.com/notifications/unsubscribe-auth/ABF123Javibhp79WZxUF_myuKzQnqmbFks5rzifpgaJpZM4NCSfS.

There's been no activity for a while here. @migrap, I'm going to close this issue. If there's still issues,   let us know, and let's reopen.


HOSTEDCP-1104: Skip CPU Check on Render & Get Mgmt Cluster CPU from API Server

What this PR does / why we need it:
Skips the cluster/nodepool CPU check on render and properly gets the mgmt cluster CPU from the API Server version to check against the NodePool CPU.
We are also not blocking the CLI execution if these don't match now.
Which issue(s) this PR fixes:
Fixes HOSTEDCP-1104
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/lgtm

/unhold

/retest-required


[9.x] Record the place that call log method

通过回溯定位调用的地方并不总是有效，像是一种hack，而且还会影响其他单元测试。
Locating where the call is made by backtracking doesn't always work, it's a hack, and it affects other unit tests.

There exists already a solution for this in monolog itself, it's called IntrospectionProcessor
In config/logging.php you need use the via key so your own code is called to instantiate the logger and then you add the processes, e.g.
    'via' => MyApplicationLogger::class,

class MyApplicationLogger {
  public function __invoke(array $config) {
    …
    $processors = [
      new IntrospectionProcessor(…),
    ];
    return new Logger(…, …, $processors);
  }


Error

ubantu 16.04 :  error while loading shared libraries: libmemplugin.so: cannot open shared object file: No such file or directory

Hi @OHeroJ thanks for raising the issue. How exactly are you running your app?

I have the same problem. it happens using the docker file provided by Vapor

Hi,
I've solved the issue by adding a COPY line for the *.so in the Vapor Docker file
...
FROM ubuntu:16.04
ARG env
RUN apt-get -qq update && apt-get install -y
libicu55 libxml2 libbsd0 libcurl3 libatomic1
tzdata
&& rm -r /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /build/bin/Run .
COPY --from=builder /build/bin/*.so /usr/lib
...


Websocket error: Handshake Status 404 Not Fount

Hello,
After cloning the Shaco Repo and installing the necessary websocket-client for Python, I'm receiving the following error after running the handler.py
[-] Websocket error: Handshake status 404 Not Found -+-+- {'content-type': 'text/plain', 'date': 'content-length': '18'} -+-+- b'404 page not found'
Any Tips how to resolve this are appreciated

Same error

hello, the havoc is passing for an unstable moment for 3rd party agents integrations, in dev branch on havoc you can enable the integration, but, while the 3rd party agent integration is not an priority, I'm hoping to be able to continue development.
Thanks @QU35T-code to you contrib


NotImplementedError: Surface.create_for_data: Not Implemented yet.

after installed successfully and run the first example
python3 mnist_1.0_softmax.py

Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 69, in on_draw_event
buf, cairo.FORMAT_ARGB32, width, height)
NotImplementedError: Surface.create_for_data: Not Implemented yet.

for these problems, the solution is usually to try and use different graphics backend in matplotlib:
import matplotlib
matplotlib.use('backend-name-here')

closing without further updates


Type variables can be resolved to Max Type

Updates to TypeVariable and TypeVariableInfo to allow type checking algorithm to resolve variables to max type.

Waiting for 5th check.


Please upload wdio-spec-reporter to npm

Running wdio with option
{ reporters: ['spec'] }
instead of 'dot' in wdio.conf.js fails with this error:
Error: reporter "wdio-spec-reporter" is not installed. Error: Error: Cannot find module 'wdio-spec-reporter'
But the wdio-spec-reporter is not available from npm.
I have not tried to use it from git directly, sofar. I assume that the deferred upload is intentional.
These are the used packages:
"devDependencies": {
"chai": "^3.5.0",
"mocha": "^2.4.5",
"selenium-standalone": "^5.1.0",
"util": "^0.10.3",
"wdio-junit-reporter": "0.0.2",
"wdio-mocha-framework": "^0.2.12",
"wdio-selenium-standalone-service": "0.0.1",
"webdriverio": "^4.0.5"
},
I have prepared a build on Travis CI. In the beginning you see the working case with 'dot' and the in the last line the failing case with 'spec'. I do not want the build itself fail so I ored the failures...
In line 500 of this build the error message is shown:
https://travis-ci.org/leutloff/e2e-webdriverio-mocha-tdd-example/builds/120160625

:+1:  should be publish on NPM

As of 60 seconds ago:
$ npm install wdio-spec-reporter --save npm WARN install Usage of the --devoption is deprecated. Use--only=dev` instead.
npm ERR! Linux 4.2.0-35-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "wdio-spec-reporter" "--save"
npm ERR! node v5.10.0
npm ERR! npm  v3.8.3
npm ERR! code E404
npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/wdio-spec-reporter
npm ERR! 404
npm ERR! 404  'wdio-spec-reporter' is not in the npm registry.
`

It doesn't look like this reporter works even if I install it directly, e.g. npm install webdriverio/wdio-spec-reporter.

This reporter doesn't work yet. Please use the dot reporter in the meantime. It will output the same error report as the spec reporter.

Please add the nodejs spec reporter to for npm

Please add the nodejs spec reporter for npm

@kashesandr what do you mean?

@christian-bromann
I mean I agree with the topic starter and it'll be useful to have the module in npm :)
I'm currently setting up the integration testing and faced with the problem - can't use the spec reporter easily...
Sorry if confused you.

Like I said, use the dot reporter in the meantime, it shows you the same error output as the dot reporter

What is it doing on the website then?
http://webdriver.io/guide/testrunner/reporters.html
You should comment on the readme that it's not ready ;)

@bichotll apparently this is an outdated page (see http://webdriver.io/guide/reporters/dot.html) .. our s3 sync mechanism doesn't seem to clear deleted files

@christian-bromann what prevents this repo from being published to NPM? Something in particular? It seemed to be working fine locally. Some of us could take a look at it in the free time (to fix whatever is broken).

I don't think it is working if you run it with multiple sessions at the same time, I see some stuff left to do:

print the logs of a test in one step once the test has finished
maybe have a similar preemble like protractor: [firefox 45.0 Windows 8.1 #1o] to identify the session

If you guys could manage to implement that it would be awesome 👍

@christian-bromann we could definitely take a look, but to be fare this could be an iterative process. First you release what works and then add features as you go along. If you wait until it is perfect you may never get it out :)

Just a comment, in that case I recommend to leave a clear note on the
Readme.md.
On 29 May 2016 4:31 a.m., "Simon Tsvilik"<EMAIL_ADDRESS>wrote:

@christian-bromann https://github.com/christian-bromann we could
definitely take a look, but to be fare this could be an iterative process.
First you release what works and then add features as you go along. If you
wait until it is perfect you may never get it out :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/webdriverio/wdio-spec-reporter/issues/3#issuecomment-222340802,
or mute the thread
https://github.com/notifications/unsubscribe/AAnRH4J9XcBF22RYgG_Xy8SovyNTKF8iks5qGQh5gaJpZM4H9nC9
.

This reporter doesn't work yet. Please use the dot reporter in the meantime. It will output the same error report as the spec reporter.

There's no describe section:

@monolithed what do you mean by that? Like I said this reporter isn't ready yet. It is not published on the website and has no readme. Should clearly indicate that this project is work in progress.

@christian-bromann, I mean that there's no describe section in dot reporter, nothing else :)

@christian-bromann if dot reporter is ready for npm, then can I just fork that and add the describe section to that, or is there any other difference with spec reporter?

@monolithed please file an issue in the wdio-dot-reporter project then
@dheerajbhaskar sure you can

https://github.com/webdriverio/wdio-dot-reporter/issues/1

Just released a beta version v0.0.1


Return empty string when input is empty instead of 'Invalid Date'

I think this should resolve issue #122. Now instead of performing the formatting regardless of 'value' the formatting will only occur if the moment creation is valid. Otherwise it will return an empty string.

+1

this allows clearing the date, but I suggest a similar fix in the constructor for when you give an empty initial date/time


Populate dosdp tsv with xrefs from taxonomy

These come from the citations column (check name) in the dendrogram/taxonomy.   All entries in  a cell (| sep) must be prefixed with DOI:

Implementation completed. Pull request created: https://github.com/obophenotype/brain_data_standards_ontologies/pull/128/files


Automated checks for tutorial PRs

Currently our tests do not capture if there is any regression in the tutorials due to an API change.

It will be nice to be able to run a subset of cells in travis for any PR so as to have some degree of confidence that it does not break our existing tutorials.
For tutorial related PRs like #581, we should be able to detect that there are no erroneous statements introduced due to the change.

do our example tests run these tutorials (eg ssvae, air)? that would be starting point to verify existing code isnt broken. most of the tutorial notebooks arent runnable so they would be hard to test directly

test_examples.py does test the helper modules in examples/, but does not test the notebooks.
$ pytest -v tests/test_examples.py -n auto -x

tests/test_examples.py::test_cpu[vae.py]
tests/test_examples.py::test_cpu[air/main.py]
tests/test_examples.py::test_cpu[contrib/named/tree_data.py]
tests/test_examples.py::test_cpu[bayesian_regression.py]
tests/test_examples.py::test_cpu[ss_vae_M2.py]
tests/test_examples.py::test_cpu[dmm/dmm.py]
tests/test_examples.py::test_cpu[vae_comparison.py]
tests/test_examples.py::test_cpu[contrib/named/mixture.py]
tests/test_examples.py::test_cuda[bayesian_regression.py]
tests/test_examples.py::test_cuda[air/main.py]
tests/test_examples.py::test_cuda[dmm/dmm.py]
tests/test_examples.py::test_cuda[vae.py]

in that case, we should make sure in review that when an example breaks it has a corresponding fix in the tutorials.
perhaps we can also put a disclaimer at the top of the tutorials on the webpage eg "supported by Pyro vx.x.x/Pytorch vx.x.x", and then the link to the gh code will reference the code compatible with the latest version of pyro
(note this is for all the un-runnable examples, for the other ones we can just run the cells as suggested above)

Already addressed.


IMC recovery from txt file is potentially broken

ERROR steinbock.preprocessing.imc - Error reading file raw/20220819_MC_NSCLCTcellexh_87C_1/20220819_MC_NSCLCTcellexh_87C_1/20220819_MC_NSCLC_Tcellexh_87C_1.mcd: sequence item 0: expected str instance, PosixPath found
Traceback (most recent call last):
  File "/app/steinbock/steinbock/preprocessing/imc.py", line 341, in _try_preprocess_mcd_images_from_disk
    recovery_txt_file = _match_txt_file(
  File "/app/steinbock/steinbock/preprocessing/imc.py", line 300, in _match_txt_file
    ", ".join(filtered_txt_files),
TypeError: sequence item 0: expected str instance, PosixPath found

@MureziCapaul

Closed with 56d0fe3f5e34ea8dd5f638abb7febe773742a33f


Merge remote-tracking branch 'origin/develop' into CCP-370

Pull Request Test Coverage Report for Build 955

0 of 0   changed or added relevant lines in 0 files are covered.
18 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 41.166%

Files with Coverage Reduction
New Missed Lines
%

pages/Product/connector.js
3
0.0%

pages/Product/subscriptions.js
15
0.0%

Totals

Change from base Build 953:
-0.02%

Covered Lines:
1559

Relevant Lines:
3795

💛  - Coveralls


Uncaught TypeError: Cannot read property 'click' of undefined

When i paste the script i get this error
Uncaught TypeError: Cannot read property 'click' of undefined
at :1:45

Make sure you are using chrome or edge chromium and the instagram window its not too small.
Also you must be on your profile while executing the script
Try that first

When i paste the script i get this error
Uncaught TypeError: Cannot read property 'click' of undefined
at :1:45

Can you tell me if that worked please?

If you need more help re-open the issue,


Add PL34's file

This is a 2nd Slide

[ ] Learnerd tO Branch
[ ] Pull Request
[ ] Commit

We have edited the following :
Created a New Slide
Wrote in some text to it
Submiited a pull request

Crisp


Compatibility with Bitcoin Core v0.21

Compatibility with Bitcoin Core v0.21 was implemented in a6878c8a5dc64b5ff5e2b4555ea651e4528b4a12, but this did not get released yet.
If you're running into this error:
JSON-RPC error: JSON decode error: missing field `addnode`

You can add the following to your bitcoin.conf file to re-enable the deprecated RPC fields:
deprecatedrpc=getpeerinfo_addnode
deprecatedrpc=banscore
deprecatedrpc=whitelisted

The fix was released in v0.2.2.

The fix was released in v0.2.2.


Playing Premium Tracks

I am a Youtube Premium subscriber and have some albums that are available only to premium members.
Here is one such album: https://music.youtube.com/browse/MPREb_9dr3eORVCHz
When trying to play the album, despite me copying my request headers in and being logged in through the browser, the premium tracks on this album are not available to me. When playing them, I get the following error.
"ERROR: This video is only available to Music Premium members"
Is there any way this functionality can be added? I have modifying the youtubedl constructor to include my cookies.txt to no avail.

Basically, can you download the album with youtube-dl? If no, you should open an issue there.

Yes. If I pass my cookies.txt into youtube-dl, it works fine. I think my changes actually didn't go through when I tried to fix it. I am trying again, but I believe the fix would be to have a user copy their cookies similarly to how they copy their request headers. Just make it a config option.

Shouldn't be necessary, as headers also include all the cookies, just parse them out and figure out where to pass them.
Thanks, you pretty much provided everything I need to get this working. I'm currently sick with some flu like virus, but I'll look into it next week probably.

Can confirm after passing my cookiefile in the constructor that it works. Get well soon and happy new year!


add option to allow commands to fail

Feature-request
Description
Add a flag, at least for the cmd-blossom, to allow a failing execution without canceling the run.

duplication of  #138


Trunk Plugins - more tools and actions

Current dependencies on/for this PR:

main

PR #3   👈

This stack of pull requests is managed by Graphite.


Infinite loading screen

Describe the bug
When I have this mod installed, along with my other mods, it stays stuck at the initial loading screen forever.
To Reproduce
WoTR version: 1.3.7d
My mod list:

AllowModdedAchievements
BubbleBuffs
BubbleTweaks
BuyMaterialComponents
com.betweentheborders.PWOTR.CombatRelief
EnhancedInventory
FastTravel
FixAlignShift
hotkeysSetAiStealth
MicroscopicContentExpansion
MoreRelicInfo
NoTeleportationCircleRestrictions
RandomEquipment
ScalingCantrips
SparsSorcerousSundries
SpellMetamagicOptionsFix
TabletopTweaks-Base
TabletopTweaks-Core
TabletopTweaks-Reworks
TomeOfTheFirebird
ToyBox
UseUntilHealed
WeaponFocusPlus

I've attached a picture with the versions, since UMM doesn't let you copy easily.
Screenshots
You will note that the only mod not enabled is Expanded Content, as that is the only way I was able to get the game to load up.

You are on a old version of the mod, download the update and it should work.
If not could you please get the error log from UMM and I'll have a look.

I...am not sure how that happened. I swore I downloaded the most recent release at least twice.
Anyway, you were right and it works fine now. Sorry about that.


Add rawInput stats to Exchange.

For Exchange

input / output size: deserialized vector size.
raw input size: serialized page size, network traffic.

For PartitionedOutput

input / output size: output vector size, before serialization.
No stats about serialized page size.

Thanks for adding this metric. Is this the similar expectation for Trino? BTW, let's add your PR description as code comments.

Thanks for adding this metric. Is this the similar expectation for Trino? BTW, let's add your PR description as code comments.

Yes, same as Trino.


Fix JpxImage API issues (PR 17946 follow-up)

This commit changes the JpxImage.decode method signature to define the ignoreColorSpace argument as optional with a default value. Note that we already set this default value in the getBytes method of the src/core/decode_stream.js file since this option only seems useful for certain special cases and therefore shouldn't be mandatory to provide.
Moreover, the JPX fuzzer is changed to use the new JpxImage API.

This PR is in draft because updating the fuzzer seems to have uncovered another problem related to the OpenJPEG integration:
$ npx jazzer fuzz/jpx_image.fuzz --sync
Dictionary: 4 entries
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed:<PHONE_NUMBER>
INFO: Loaded 1 modules   (512 inline 8-bit counters): 512 [0x7b37064ff010, 0x7b37064ff210),
INFO: Loaded 1 PC tables (512 PCs): 512 [0x7b36fda00010,0x7b36fda02010),
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes
==19424== Uncaught Exception: ReferenceError: self is not defined
    at OpenJPEG (file:///home/timvandermeij/Documenten/Ontwikkeling/pdf.js/Code/build/image_decoders/webpack:/pdf.js/external/openjpeg/openjpeg.js:8:811)
    at Function.decode (file:///home/timvandermeij/Documenten/Ontwikkeling/pdf.js/Code/build/image_decoders/webpack:/pdf.js/src/core/jpx.js:29:22)
    at fuzz (file:///home/timvandermeij/Documenten/Ontwikkeling/pdf.js/Code/test/fuzz/jpx_image.fuzz.js:21:1

@calixteman Do you have an idea what could cause this self problem in the built OpenJPEG file? Note that this should be easy to reproduce outside the fuzzer too; that's just what surfaced the issue.

The self bit in the built OpenJPEG file does seem to be related to that variable, yes. I have edited the comment above to provide a minimal reproducer outside of the fuzzer that can easily reproduce the issue with a plain image decoders build and Node; does that help to confirm your thought?

Maybe we should change it for web.

Please don't forget about our Node.js support as well.

I confirm it's because of the workerenvironment.
Setting it to web fixes the issue and it's ok with either local dev server or m-c build.
I'm making a patch.

I tested my change with the repro.js made by Tim in Node and I get:
OpenJPEG: Unknown format

node:internal/process/esm_loader:40
      internalBinding('errors').triggerUncaughtException(
                                ^
Error
    at BaseExceptionClosure (file:///home/calixte/dev/mozilla/pdf.js.calixteman/build/image_decoders/pdf.image_decoders.mjs:415:29)
    at file:///home/calixte/dev/mozilla/pdf.js.calixteman/build/image_decoders/pdf.image_decoders.mjs:418:2
    at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:336:24)
    at async loadESM (node:internal/process/esm_loader:34:7)
    at async handleMainPromise (node:internal/modules/run_main:106:12) {
  message: 'JPX error: JPX decode failed',
  name: 'JpxError'
}

Node.js v18.19.1

So I guess it works in Node since the string OpenJPEG: Unknown format is dumped from the C code.

I have rebased the patch on top of #17954 and confirmed that the fuzzer now works. I have created #17955 to improve the fuzzer output.
If this PR is merged all JPX code should be functional, and we can then look into #17955 and any reported API issues in separate scopes.

/botio test


Gradle proxy config passed via gradle.properties seems to be ignored by Gradle

Current Behavior
When I provide the configuration for my corporate proxy inside the $GRADLE_USER_HOME/gradle.properties the build fails because Gradle can downloads dependencies because it requests the proxy on the bad port (443 instead of 8080).
Here is a copy of my gradle.properties file (IP masked) :
systemProp.http.proxyHost=1**.**.**.201
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=1**.**.**.201
systemProp.https.proxyPort=8080
systemProp.http.nonProxyHosts=*.mycompany.test|*.mycompany.fr|*.mycompany.eu|*.mycompany.intra|localhost|127.*|[::1]

The build command that I run : gradle build
The output of the failed build :
Starting a Gradle Daemon, 2 stopped Daemons could not be reused, use --status for details

FAILURE: Build failed with an exception.

* Where:
Build file '/home/fabrice/DEPOTS/SNDIL/Eno/build.gradle' line: 3

* What went wrong:
Plugin [id: 'org.springframework.boot', version: '3.2.0', apply: false] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (No included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository
    MavenRepo

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 1m 37s

Notice that 443 is the default value of  https.proxyPort property.
Expected Behavior
Gradle should download dependencies and the build should succeed as in my workaround.
Workaround :
I run this command gradle build -Dhttps.proxyPort=8080 and the build succeeds :
BUILD SUCCESSFUL in 22s
28 actionable tasks: 12 executed, 16 up-to-date

Context (optional)
I just need to build a java application with gradle behind a corporate proxy which process https requests on the good proxy port.
Steps to Reproduce

Stay behind a corporate proxy which does not use the port 443 to process https requests
Get a clean installation of Gradle 8.9 (with sdkman for example)
Clone this project : https://github.com/InseeFr/Eno
Do not open it in your IDE
Try to run gradle build --debug
the build is going to fail while downloading the first dependency with this kind of stack trace inside the logs (proxy IP masked)  :

Caused by: org.apache.http.conn.ConnectTimeoutException: Connect to 1**.**.**.201:443 [/1**.**.**.201] failed: Connect timed out
        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:401)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:201)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:177)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:166)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:114)
        ... 259 more
Caused by: java.net.SocketTimeoutException: Connect timed out
        at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
        at java.base/java.net.Socket.connect(Socket.java:751)
        at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75)
        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
        ... 271 more

NB : I get similar issue whith the wrapper when the wrapper tries first to download the Gradle binary
Gradle version
8.9
Build scan URL (optional)
No response
Your Environment (optional)

Ubuntu 24.04 on WSL
java version 21.0.3-tem (installation from sdkman)
gradle 8.9 installed by sdkman

Does the proxy configuration inside WSL /home/fabrice/.gradle/gradle.properties and Windows C:\Users\<your windows username>\.gradle\gradle.properties match?

Gradle was not installed on my windows host previously. I installed it, copied the gradle.properties from WSL to the Windows C:\Users\<your windows username>\.gradle\gradle.properties ... and I got the same issue :

if I run gradle build  without option, gradle request the proxy on the wrong port (443 instead of 8080 : seen in debug logs)
If I run gradle build -Dhttps.proxyPort=8080, the build runs successfull

A team mate shared his file gradle.properties with me and it worked. The issue with mine was that I had a trailline space at the end of a few lines including the one for the proxy port property. Sorry for opening this issue as a bug.
So my question would be : gradle should trim all systemProp values from gradle.properties files since when they are passed through command line leading and trailling spaces are impossible, shouldn't it ?

The issue is in the backlog of the relevant team and is prioritized by them.

I agree that we could potentially trim numeric values before using them to avoid such issues.


Pass the errors accumulated during binding to the validate method

This attempts to address the issue outlined in https://github.com/mholt/binding/issues/46

Thanks!


Use canonical systemd unit name

On some operating systems (e.g. Debian-11) the canonical systemd unit name is "named.service". The unit file creates the alias "bind9.service" to be backwards compatible.
The canonical unit name should be used in the module.

Fixed


Create and sync sitemetadata with instructors

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
Part of #382
What's this PR do?
Creates and populates a WebsiteContent for sitemetadata for each imported course. At the moment only instructors are read into the site metadata. The metadata for each course should have a list of text_ids which match the instructors for that course.
I updated the courses in the test data in order to have up to date versions of instructors. I didn't make any changes other than running the courses through ocw-data-parser and ocw-to-hugo.
How should this be manually tested?

Run ./manage.py override_site_config or otherwise update your site config with the instructors field which was added in this PR in ocw-course-site-config.yml
Make sure you have a site called ocw-www. If not, create one
Run ./manage.py import_ocw_course_sites -b ocw-to-hugo-output-qa --limit 5. This should take about a minute, or you can remove --limit 5 to populate based on all the courses, which will take a half hour or so.
In your browser, go to one of the sites you imported, for example 1-011-project-evaluation-spring-2011. Click on "Metadata" in the sidebar. You should see a relationfield with two instructors (see screenshot). It may take 30 seconds or so to load the instructors so you may see a uuid for a number of seconds. This should be addressed in #402
You should be able to add and remove instructors, and save your changes.

Screenshots

Codecov Report

Merging #409 (1222255) into master (14d377e) will increase coverage by 4.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #409      +/-   ##
==========================================
+ Coverage   90.23%   95.05%   +4.82%
==========================================
  Files         138       72      -66
  Lines        4578     1841    -2737
  Branches      706      397     -309
==========================================
- Hits         4131     1750    -2381
+ Misses        401       89     -312
+ Partials       46        2      -44

Impacted Files
Coverage Δ

websites/permissions.py

websites/conftest.py

websites/signals.py

ocw_import/conftest.py

...caldev/management/commands/override_site_config.py

ocw_import/tasks.py

content_sync/apps.py

content_sync/factories.py

websites/config_schema/validators.py

websites/models.py

... and 54 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 14d377e...1222255. Read the comment docs.

Needs a rebase

@mbertrand Thanks for catching that. It looks like the metadata problem is still there after a rebase so I'll file an issue for it.


Add option to handle large WSI images during inference

Is your feature request related to a problem? Please describe.
Currently, large WSIs (i.e., of size ~[100k x 150k]) simply cannot be processed using a "normal" amount of hardware resources, and the process completely fails.
Describe the solution you'd like
Fall back to not initialize multiple high-memory variables (such as the tissue mask and probability maps) and just write the predictions. This is obviously going to be useless for segmentation, but at least the error messages will be meaningful with an attached subject ID instead of an outright failure.
Describe alternatives you've considered
N.A.
Additional context
N.A.

This looks good.


Paramererize database queries

To my defense I had not taken any course in computer security when I started this project, and it turns out you actually learn stuff at university. All queries should be parameterized so that nØllan can't steal our precious articles.

Turns out they already were. Who would have thought.


Error no directory

cant login on Xina jailbreak. using Sileo and trollstore.  ios15.1

IPARanger does not support Xina. Please consider moving to dopamine.


Defined new revisions for golang dep: github.com/Rican7/retry

@AndrienkoAleksandr It looks like the license is MIT: https://github.com/Rican7/retry/blob/28d17f812805614e76f170aa3c8698155ea8e019/LICENSE
If you agree, I will update the PR.

@AndrienkoAleksandr It looks like the license is MIT:

Done. Changed to MIT


hljs Theme Support

Added support for Highlight.JS themes. The results can be seen below. Basically added additional class names to the nodes to match hljs stylesheets, created a options page to show theme selection and some other minor css tweaks to get it to work. The manifest has been updated to include a new storage and web-accessible-resources to accommodate for theme selection.
The readme has also been updated to include working examples of JSON files.
Examples:

This adds a lot of unnecessary file bloat.  Worse, it creates additional maintenance burden for this project. As styles are added/removed/updated on the HighlighJS site, this project will be expected to follow suit.
My suggestion: Implement a generic theming feature that allows for the specification of a background color, JSON key color, and colors for each of the 5 JSON types. These can get stored in whatever local storage mechanism is available to chrome extensions.  For the UI, there should be 10-12 out-of-the-box themes users can choose from (5-6 light, 5-6 dark), and a "custom" option that lets them set the colors manually. (using HTML5 color inputs).
For HighlightJS support, the "custom" UI could include an option for loading the color fields from one of the HighlightJS themes.  But the themes and theme colors should all be fetched dynamically from the HightightJS github repo.  (You can get a list of themes and download urls for each theme at this Github API url.  This will avoid the aforementioned maintenance burden.


Create Yeoman generator for project set up

Let's explore options to spin off the current example template into a more flexible and interactive starting point using grunt-init or Yeoman.

I wonder if we can borrow from or collaborate with Hedley

http://www.gizra.com/content/yo-hedley/
http://www.gizra.com/content/phantomcss-ui-regression/
https://github.com/Gizra/generator-hedley

This has been started: https://github.com/phase2/generator-gadget
Let's close this once we have documentation in this project about it.

Documentation has been added: https://github.com/phase2/grunt-drupal-tasks/blob/master/CONFIG.md#start-using-gadget


[C++17] Bump base version to c++17

[C++17] Bump base version to c++17

This patch bumps baseline version to c++17.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1275. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.


Add Upsert/UpsertBatch to builder

This PR adds Upsert and UpsertBatch methods to builder.
This supersedes https://github.com/codeigniter4/CodeIgniter4/pull/6294
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

@kenjis
I'm working on a branch that combines this PR with https://github.com/codeigniter4/CodeIgniter4/pull/6373 and refactors everything.
Putting it all together helps to better envision and combine things. Upsert shares some things with Insert and some with Update.
When I get everything working combined I'll share so you guys can see this big picture.
There are a few things with this PR and https://github.com/codeigniter4/CodeIgniter4/pull/6373 I think I'd like to rework a bit. One thing is how protectIdentifiers is applied and how that affects handling of arrays of constraints and update keys. I'd like them to be consistent in Insert/Upsert/Update batch methods. Then will use some common functions that will apply the protectIdentifiers.

Can we agree that the primary purpose of methods like setInsertBatch, setUpdateBatch, or my proposed methods setBatch, is to enable collecting of data without executing. This might be in a loop such as reading data from a csv file and setting the data for batch insert. Other than that it might be used to get the sql statements without executing them.
If the reason is this then we only need parameters needed setting the data.. the data itself and whether to escape or not. Things like batch size is not necessary information for setting the data.

Good job @sclubricants 👍 This feature will help me a lot 😃


The encoding of FILE should match the encoding of the filename passed to eval

Fixed on ruby/ruby master


Add Cloud Computing Course - GFG (Sponsored by Google)

#403 Added Cloud Computing Course - Sponsored By Google on GeeksForGeeks Platform.
Checkout the link - https://www.geeksforgeeks.org/courses/google-cloud-tech-program

Hello @avinash201199, I sent the PR.
Please have a review and let me know if there is some issue with same.

Hello @avinash201199, I sent the PR. Please have a review and let me know if there is some issue with same.

Thanks , will review it soon


Support closed generic types.

Idea

Value Witness Table (came from swift)
Aggregate implementation for generic parameters are objref type.

How to analyze and fix implementation for partial objref arguments at generic parameters?

Found fist problem at symbol mangling system.
Current mangling rules are gonna break easier if will append/change members.
We have to make stable mangling symbols, I'll rewrite the type and method symbol name mangling algorithm.
For example: string string.Format(string format, object arg0)
--> System_String* System_String_Format__System_String_System_Object(System_String* format, System_Object* arg0)
For example (planning closed generic type): int List<string>.Add(string value)
--> System_Int32 System_Collections_Generic_List__System_String_Add__System_String(System_Collections_Generic_List__System_String* this__ ,System_String* value)
It's very redundant but stable and safe. And I'm planning will fix by append (readable, useful) alias names the final step.

NOTE: It's interesting about how to fit the array types into generic symbol system, I feel the array types understand making better:
int[] --> System.Array<System.Int32> --> System_Array__System_Int32
Ofcourse System.Array<T> isn't real type definition. We can apply with pseudo type internal IL2C metadata system.

MEMOIZED: Higher Kinded Polymorphism / Generics on Generics
https://github.com/dotnet/csharplang/issues/339

Today, redesigned method overriding calculation at Center CLR Try development meetup #8 (In japanese).

I'll update CalculateVirtualMethods() and remove overload index related codes.

Hello.
I propose generic implementation idea.
if you like, please see the following repository.
https://github.com/Sinsjr2/CGenericImpleSample
Implementation idea

[x] static generic function
[x] generic class/struct instance method
[ ] generic class virtual method (Partially completed)
[ ] generic struct virtual method (Partially completed)
[ ] OpCodes.Constrained
[ ] generic class/struct static valiable

Thanks for the sample code. Very interesting implementation.
I see that you use runtime type information to achieve this. I can already get the size (il2c_sizeof()). As for copying the value, I think it is possible to go for a static method, given the details, like in the case of an objref or when the valuetype contains an objref. I think I can go for the static method.
My idea at the moment (not clearly formed) is to use C macros for the expansion.
The disadvantage of this method is that it could generate a large amount of the same code.
When I thought of this method, I was thinking of relying on VC optimizations (which can remove identical code at the binary level when linking. See /OPT:ICF).
Now that we are planning to pull VC out of priority support, we are wondering if we can do the same thing with gcc or clang instead. I think I need to see if we can do the same with gcc or clang instead.
The other problem is that readability will be poor, and I'm not sure I can go any further without resorting to a C++ template. (I have no plans to go literal "IL2C++", the C++ compiler is too slow :)
If you think you can fill in the rest of your idea, you could try applying it directly to IL2C.Core. I am currently planning to work on Release 0.5, and the rest of the work will mainly be to improve the build environment and fix the documentation. Therefore, I do not plan to do much work on IL2C.Core for a while. （Core (the unit test code is scheduled for significant revision in relation to #100).

Thank you for your reply.

I see that you use runtime type information to achieve this. I can already get the size (il2c_sizeof()). As for copying the value, I think it is possible to go for a static method, given the details, like in the case of an objref or when the valuetype contains an objref. I think I can go for the static method.

it mens changing from "TypeInfo" to "IL2C_RUNTIME_TYPE", and "IL2C_RUNTIME_TYPE" can get from "il2c_get_header__".
/* System_Object* */void* obj;
IL2C_RUNTIME_TYPE generic_T = il2c_get_header__(obj)->type;

void Extensions_GenericPassThrough_T(IL2C_RUNTIME_TYPE generic_T, void *result, void *x) {
    // .locals init (
    //     [0] !!T
    // )
    void *local_0;
    void *stack_0;
    void *stack_1;
    uint32_t runtimeSize_T;

    runtimeSize_T = il2c_sizeof__(generic_T)

    local_0 = NULL;
    stack_0 = alloca(runtimeSize_T);

    // IL_0000: nop
    // IL_0001: ldarg.0
    memcpy(stack_0, genericArg_x, runtimeSize_T);
    // IL_0002: stloc.0
    memcpy(local_0, stack_0, runtimeSize_T);
    // IL_0003: br.s IL_0005

    // IL_0005: ldloc.0
    memcpy(stack_1, local_0, runtimeSize_T);
    // IL_0006: ret
    memcpy(result, stack_1, runtimeSize_T);
}

void Extensions_GenericPassThroughTest() {
    // .locals init (
    //     [0] int32 a
    // )
    System_Int32 a_System_Int32;
    System_Int32 stack_0_0;

    // IL_0000: nop
    // IL_0001: ldc.i4.s 10
    stack_0_0 = 10;
    // IL_0003: call !!0 Extensions::GenericPassThrough<int32>(!!0)
    Extensions_GenericPassThrough_T(il2c_typeof(System_Int32), &stack_0_0, &stack_0_0);
    // IL_0008: stloc.0
    a_System_Int32 = stack_0_0;
    // IL_0009: ret
}

I'm planning follows.

Translate above "Implementation idea" manyally.
Because, it's easier than tlanslation code with IL2C.
Check manually translated code, to prevent obvious mistakes in implementation policy.
Write code in IL2C.Core and check with unit test code.

(Sorry it's a bit long. Since you seemed to be Japanese, I'll put the manuscript I wrote in Japanese on gist. You can reply there, but it would be helpful if you could also add the English translation here so that others can refer to it. deepl is also fine :)

That code is fine for how to get runtime type information. (Perhaps you should define a macro in il2c.h.)
I still don't understand all the sample code you wrote, but to get the member offsets of the structure, you can do the following.

When you run the unit tests, the partially translated test code will be output in the test-artifacts directory for your reference.
You can refer to the MultipleInsideValueType type in the GarbageCollection of IL2C.Tests.RuntimeSystems as an example structure. This type is defined in C# as follows:

public struct MultipleInsideValueTypeType
{
    public string Value1;
    public ObjRefInsideValueTypeType Value2;
    public ObjRefInsideObjRefType Value3;

    public MultipleInsideValueTypeType(string value1, string value2, string value3)
    {
        this.Value1 = value1;
        this.Value2 = new ObjRefInsideValueTypeType(value2);
        this.Value3 = new ObjRefInsideObjRefType(value3);
    }
}

Output under test-artifacts/Debug/net48/RuntimeSystems/GarbageCollection/MultipleInsideValueType_0/.
If you look at the end of MultipleInsideValueTypeType.c, you will find the following code:

//////////////////////
// [7] Runtime helpers:

// [7-10-1] VTable (Not defined, same as System.ValueType)

// [7-8] Runtime type information
IL2C_RUNTIME_TYPE_BEGIN(IL2C_RuntimeSystems_MultipleInsideValueTypeType, "IL2C.RuntimeSystems.MultipleInsideValueTypeType", IL2C_TYPE_VALUE, sizeof(IL2C_RuntimeSystems_MultipleInsideValueTypeType), System_ValueType, 3, 0)
    IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_REFERENCE(IL2C_RuntimeSystems_MultipleInsideValueTypeType, Value1)
    IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_VALUE(IL2C_RuntimeSystems_MultipleInsideValueTypeType, IL2C_RuntimeSystems_ObjRefInsideValueTypeType, Value2)
    IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_REFERENCE(IL2C_RuntimeSystems_MultipleInsideValueTypeType, Value3)
IL2C_RUNTIME_TYPE_END();

This is a macro that defines runtime type information, with three lines of definitions IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_REFERENCE() and IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_VALUE(), respectively, for the objref and valuetype fields are defined.
For example, look at the definition of ``IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_VALUE()' (il2c.h`):
#define IL2C_RUNTIME_TYPE_MARK_TARGET_FOR_VALUE(typeName, fieldTypeName, fieldName) \
    (uintptr_t)il2c_typeof(fieldTypeName), \
    offsetof(typeName, fieldName),

which corresponds to markTargets[] in IL2C_RUNTIME_TYPE_DECL (il2c_private.h):
typedef const struct IL2C_MARK_TARGET_DECL
{
    const IL2C_RUNTIME_TYPE valueType;
    const uintptr_t offset;
} IL2C_MARK_TARGET;

struct IL2C_RUNTIME_TYPE_DECL
{
    const char* pTypeName;
    const uintptr_t flags;
    const uintptr_t bodySize;       // uint32_t
    const IL2C_RUNTIME_TYPE baseType;
    const void* vptr0;
    const uintptr_t markTarget;     // mark target count / custom mark handler (only variable type)
    const uintptr_t interfaceCount;
    //IL2C_MARK_TARGET markTargets[markTarget];
    //IL2C_IMPLEMENTED_INTERFACE interfaces[interfaceCount];
};

In other words, code like IL2C_RUNTIME_TYPE->markTargets[index].offset will give you the offset of the structure member.
For now, IL2C uses this information only to track the garbage collector, but I have a feeling it could be used for this method as well.

You can refer to the il2c_mark_handler_recursive__() area for the specific formula.

Since this calculation was also a very internal information of IL2C, I did not specifically define a macro for this calculation, but if necessary, you may define a macro.
Now, besides the performance issues with memcpy(), you need to be careful whether you can do pure copying or not.

If it is valuetype, no problem. (If you include an objref, you need to be able to track it, so you need to insert start and end codes that bind the EXECUTION_FRAME. This can be considered later.)
If IL2C_RUNTIME_TYPE points to an objref, copying it from pReference does not mean you copied it correctly. This is because IL2C_REF_HEADER is placed before pReference (at a negative offset):

    // +----------------------+ <-- pHeader
    // | IL2C_REF_HEADER      |
    // +----------------------+ <-- pReference   -------
    // |          :           |                    ^
    // | (Instance body)      |                    | bodySize
    // |          :           |                    v
    // +----------------------+                  -------

I still don't understand the need for the copy, but I have a feeling that the way to handle this depends on why the copy is needed.

As you see,As you see, I'm Japanese.
I will also write English for many peple can read this.
Generic T GC implementation
Thank you for your description of GC mark method.
I simply describe generic T GC implementation.
The problem of implementing GC for generic T is to change objref and value type dynamically.
So, as follows I assign generic_T to x_type__,
when gc run,  it determines whether x_value_ptr__ is objref or value type,
switch the function to call.
https://github.com/kekyo/IL2C/blob/4c3b4097de29f119a01e9b4499d319eca773003e/IL2C.Runtime/src/Core/il2c_gc.c#L256-L270
objref:  il2c_mark_handler_for_objref__(*(System_Object**)x_value_ptr__) value type (existing implementation): il2c_mark_handler_recursive__(pAdjustedReference, pHeader->type, offset);`
Case of Generic T is Objref
If type of T is objref, it doesn't copy class fields.
It copies pointer itself with memcpy.

If it is valuetype, no problem. (If you include an objref, you need to be able to track it, so you need to insert start and end codes that bind the EXECUTION_FRAME. This can be considered later.)
If IL2C_RUNTIME_TYPE points to an objref, copying it from pReference does not mean you copied it correctly. This is because IL2C_REF_HEADER is placed before pReference (at a negative offset):

Case of assign
System_Object* x;
System_Object* local_0;
local_0 = x;

Case of memcpy
System_Object* x;
System_Object** arg_x;
System_Object** local_0;

arg_x = &x;
local_0 = alloca(sizeof(System_Object*));

memcpy(local_0, arg_x, sizeof(System_Object*))

OutputCode
typedef struct Extensions_GenericPassThroughTest_EXECUTION_FRAME_DECL
{
    const IL2C_EXECUTION_FRAME* pNext__;
    const uint16_t objRefCount__;
    const uint16_t valueCount__;
    //-------------------- objref
    //-------------------- value type
    const IL2C_RUNTIME_TYPE x_type__; // generic type
    const void* x_value_ptr__;
    const IL2C_RUNTIME_TYPE local_0_type__; // generic type
    const void* local_0_value_ptr__;
    const IL2C_RUNTIME_TYPE local_1_type__; // generic type
    const void* local_1_value_ptr__;
    const IL2C_RUNTIME_TYPE local_2_type__; // generic type
    const void* local_2_value_ptr__;

} Extensions_GenericPassThroughTest_T_EXECUTION_FRAME__;

void Extensions_GenericPassThrough_T(IL2C_RUNTIME_TYPE generic_T, void *result, void *x) {
    // .locals init (
    //     [0] !!T
    // )
    uint32_t runtimeSize_T;
    runtimeSize_T = il2c_sizeof__(generic_T);
    Extensions_GenericPassThroughTest_T_EXECUTION_FRAME__ frame = {
        ...
        generic_T, // x
        alloca(runtimeSize_T),
        generic_T, // local_0
        alloca(runtimeSize_T),
        generic_T, // local_1
        alloca(runtimeSize_T),
        generic_T,// local_2
        alloca(runtimeSize_T)
    };
    // IL_0001: ldarg.0
    // T is value type: copy member filelds to new instance
    // T is object reference type: copy pointer to new local variable with memcpy.
    //    so, this is not Object.MemberwiseClone https://docs.microsoft.com/ja-jp/dotnet/api/system.object.memberwiseclone?view=net-6.0
    memcpy(frame.stack_0, x, runtimeSize_T);
    ...
}

void Extensions_GenericPassThroughTestObj() {
    // .locals init (
    //     [0] object a
    // )

    // IL_0000: nop
    System_Object* a_System_Object;
    System_Object* stack_0_0;

    // IL_0001: newobj instance void [System.Runtime]System.Object::.ctor()
    stack_0_0 = il2c_get_uninitialized_object(System_Object);
    System_Object__ctor(stack_0_0);
    // IL_0006: call !!0 C::GenericPassThrough<object>(!!0)
    // pass pointer of pointer
    Extensions_GenericPassThrough_T(il2c_typeof(System_Object), &stack_0_0, &stack_0_0);
    // IL_000b: stloc.0
    a_System_Object = stack_0_0;
    // IL_000c: ret
}

Hold a field in the execution frame with a raw pointer to the instance x_value_ptr__ (which may point to a pointer to an objref, or to the body of a valuetype) and the runtime type information x_type__:

If T is an objref, then :

treat x_value_ptr__ as if it were a System_Object* (reinterpret_cast).
Let GC traverse the reference tracking as it is (implement it in il2c_gc.c as a handler for the third variable element, or use [pReference in the execution frame](https://github.com/kekyo/IL2C/blob/4c3b 4097de29f119a01e9b4499d319eca773003e/IL2C.Runtime/src/il2c_private.h#L77) to handle it well... There seems to be a trade-off between footprint and readability.

If T is a valuetype, then :

Treat x_value_ptr__ like a pointer to the target value type body.
When accessing runtime type information with box opcode and etc., refer to x_type__.
If GC reference tracing is required (IsRequiredTraverse) put it in valueDescriptors__ of Execution frame, or not if you don't need it...? Might be better to create some helper function and have it do it in there?)

Maybe your initial concern about using memcpy can be offset by optimizations in the C compiler. At least when I verified it with optimization enabled in VC++ before, it generated exactly the same code with memcpy and assignment expressions in C language. Of course, I suppose it depends on the conditions...

Generic type argument constraints
I haven't examined instance member access yet, but accesses like System.Object.ToString() for T :
public static string foo<T>(T value) =>
  value.ToString();

Or access with T constraint:
public static string bar<T>(T value)
  when T : IDisposable =>
  value.Dispose();

Assuming a managed compiler like C# has (correctly) computed the constraints, IL2C simply casts the pointer (reinterpret_cast to the VTABLE layout type of System.Object.ToString's VTABLE or IDisposable's VTABLE) might be able to access it.
In the case of interfaces, we need to calculate adjustor offset, but if we can determine which interface the specified member (Dispose()) belongs to by cecil from T, I think it would be possible to convert the code to calculate adjustor offset statically.

I have come up with a conversion process for the following process and report it below.

generic static variable
generic virtual function
generic class/struct fields

Now that I have a rough idea of how to implement generics using memcpy in handwritten C code, I would like to think about the details while actually implementing it in IL2C (output in C89).
First, I will try to implement it for value types that do not require gc in static methods.
I don't fully understand how the process is divided by objref value when tracking with gc, so I will think about it later.
As for memcpy optimization, I'm not that worried about it in major compilers (gcc, clang) including msvc.
I am a little worried about how far the compiler for microcontrollers (cc-rx, cc-rl, rx gcc) will optimize it.
However, it is no use thinking about it before implementation, so I will think about it after implementation is done.
https://github.com/Sinsjr2/CGenericImpleSample/blob/29a64b9642910ed5cf67d0cc4f332d92f3b02af5/README.md

In the generic implementation, I need to add result and generic_T to the function arguments and
In current mangling process, it has a possibility of name conflicts.
class C
{
  static void F<T>(int result, int generic_T) {}
}

Current conversion process
void C_F_T(void* result, IL2C_RUNTIME_TYPE generic, int result, int generic_T) {}

So, I will try to escape strings used for type and variable names with the following rules.
The following process is reversible, so unescape is possible and names will not conflict.
Escaping rules
. => __ // Currently converts to _, but that does not treat _ as an escape character Existing. IL2C.Runtime needs to be modified.

_ => _i_ // _ is often used to separate and discard values i is a vertical bar, so it is easy to see that it is separated

[a-zA-Z0-9] => no conversion

After reserved (ex: this, frame) converted by IL2C => suffix with _sr_ (ex: this_sr_, frame_sr_, generic_T_sr_, result_sr_)
  (_sr_) stands for System Reserved

Other characters => convert to _ux○○○○○○○○ (8-digit hexadecimal UTF-32)
  ux stands for unicode hex
  IL can use unicode characters such as Kanji and Japanese as identifiers, so conversion is necessary (most systems can use only Ascii characters and _ in c language. Some systems can use universal character names).

< => _d_ // For using generic, this notation can easily be written in c if written by hand.

> => _b_  // For using generic, this notation can easily be written in c if written by hand.

Local variables used in methods (@if, malloc, @void, NULL) c# can describe reserved words by adding @) => add _l_ as suffix (ex: if_l_, malloc_l_, void_l_, NULL_l_)
  If you don't add anything, it will be expanded as a macro or conflict with C reserved words, resulting in a compile error.

I plan to make the above fixes separately from the generic implementation, but may I implement them?

Sorry for the late reply.

How do you give the value of alignment for il2c_adjustAlignment?

I'm thinking the safe thing to do would be to #define it in a platform specific header file, but
It would be better if we could have the compiler calculate it (I haven't come up with the specifics, but maybe have it use offsetof()...)
size_t is quite hard to use on some platforms, so uint8_t might be better, assuming that the alignment never exceeds 256 (even in IL2C, there are some places where we have compromised and stopped using size_t).

I think we need some kind of generic dictionary function...

It's hard to add it to the runtime library to increase the footprint, but I guess it can't be helped.
I wonder if it would be exempt if we didn't use generic types, if they weren't linked...

However, I can't get IL2C_RUNTIME_TYPE_DECL from this when it comes to regular function calls.
Therefore, we separate the function for virtual calls and the function for normal calls.

Yes indeed, in the case of value type, I have no problem without vptr (pReference) (this is in consideration of allowing direct pointer references on the native side during interop)

In the generic implementation, I need to add result and generic_T to the function arguments, and
With the current mangling process, there is a possibility of name conflicts.

Noted :)
In particular, we need to add a . You are absolutely right about the conversion of  into _, which is problematic even when generic type arguments are not involved.

When I looked into it before, something like escaping Unicode points (\x1234) is not available in the preprocessor macro.
There is no stable special character other than _ as a preprocessor macro symbol (although there may be one on some processors).

So, I was holding off.
With the method you suggest, I would have to modify the translator as well as the existing runtime implementation. Until we make this modification, we should try to increase the runtime implementation as little as possible.

After reserved (ex: this, frame) converted by IL2C => suffix with sr (ex: this_sr_, frame_sr_, generic_T_sr_, result_sr_)

I think it's good (I was thinking it might be better to make it dirtier for the current method).

Other characters => convert to _ux○○○○○○○○ (8-digit hexadecimal UTF-32)

Do you want to use UTF-8? There are readability issues, but realistically I don't think there's much use of CJK or anything like that, just enough to be a target if umlauts or something like that is used. Although not a symbol, you might want to keep in mind bug #124 that we recently picked up, if you haven't seen it yet. I mistakenly put in wchar_t thinking it was 16-bit.

The translator side cannot (maybe) use string literals. uint16_t str[] = { ... }; to output the raw value, or char str[] = "..." ; to put in UTF-8 I believe.
If you decide to use UTF-8 in the above, you will need to modify the implementation at runtime, especially around System_String.

< => d // For using generic, this notation can easily be written in c if written by hand.

=> b  // For using generic, this notation can easily be written in c if written by hand.
Local variables used in methods (@if, malloc, @void, NULL) c# can describe reserved words by adding @) => add l as suffix (ex: if_l_, malloc_l_, void_l_, NULL_l_)

I think it is good.
Or maybe it would be better to have it macro-expanded (though I'm not a bit sure if it would contribute to readability). For example :
// System.Collections.Generic.List<System.Int32>

// this won't work.
#define GENERIC_ARG(args) _d_##args%%_b_
System__Collections__Generic GENERIC_ARG(System__Int32)

// not so good...
#define GENERIC_TYPE(type, args) type##_d_##args%%_b_
GENERIC_TYPE(System__Collections__Generic, System__Int32)

like ?


🔄 synced file(s) with worgarside/github-config-files

synced local file(s) with worgarside/github-config-files.

This PR was created automatically by the repo-file-sync-action workflow run #6017508424

This PR is empty, closing it. :no_good:


Provide option to ignore the glTF spec and use smooth normals instead of flat normals

The glTF spec says:

When normals are not specified, client implementations should calculate flat normals.

Calculating flat normals requires duplicating every vertex that is shared between multiple triangles, which increases memory usage, loading time, and rendering time. In many cases, smooth normals -  where each vertex's normal is the weighted average of the normals of its faces - would be just as good or maybe even better. We can easily provide a Tileset option to toggle between smooth normals (faster) and flat normals (strictly spec compliant).

@kring @baothientran Would it be at all beneficial to make this an option in TilesetOptions? So then smooth normals could be calculated (when normals are missing) on the cesium-native side?


Chrome Mobile 111

Hello,
I'm testing Browser-Update with our site in mobile using BrowserStack.
The configuration that I set is:
var $buoop = {
required: {
c: -6,
e: -6,
f: -6,
o: -6,
s: -1,
samsung: -6
},
reminder: 0,
reminderClosed: 72,
//test: true,
insecure: true,
unsupported: true,
api: 2023.05,
url: getBrowserUrl(),
text: textEnglish,
text_fr: textFrench,
text_de: textGerman,
text_it: textItalian
};
But using Chrome Mobile 111 the message shows up...

A bug ?
Thanks for your help.

weird. It is gone...

na, network configuration. Wasn't connectig to browser-update.org. Problem is still here...

some extra information:

It is notified because of your configuration "unaupported:true"
Oliver Voutat @.***> schrieb am Mo., 15. Mai 2023,
13:28:

some extra information:
[image: image]
https://user-images.githubusercontent.com/4015741/238332627-005c1896-5305-4458-ae5a-c32cd0a06076.png
—
Reply to this email directly, view it on GitHub
https://github.com/browser-update/browser-update/issues/570#issuecomment-1547680573,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACASWKSXRCSFRP2L7HYXISLXGIHPDANCNFSM6AAAAAAYB2QB2M
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Oh, ok. Thanks. I thougth that unsupported was related to other browsers not listed in the required list.
So it is other browsers and versions unsupported by the vendor ?


Module build failed: SyntaxError: Unexpected token � in JSON at position 0 ?

I cant use your plugin :confused:
I got error:
client:119 ./~/vue-typer/dist/vue-typer.min.js
Module build failed: SyntaxError: Unexpected token � in JSON at position 0 ?

Are you sure this is an issue with vue-typer? Or some configuration with your module bundler?
You can see the vue-typer.min.js file here, and there's no � characters that I can see<EMAIL_ADDRESS>

I created a brand new Vue app via https://github.com/vuejs-templates/webpack and installed vue-typer and it worked fine for me.

If you're on Vue 1.x, unfortunately vue-typer only supports Vue 2+.

Did you follow these installation AND usage instructions?
https://github.com/cngu/vue-typer#getting-started

I'm using webpack2.
I'm import it like your guide

But when i run app , it show like this :

I'm glad you got it working. Thanks for the feedback! I've created 2 separate issues to track your requests: #4 and #5


Not able to get urlCrawlErrorsSamples using API

Hello All,
Search Console API is not returning urlCrawlErrorsSamples for any domain using search console API.
I am using like this .
$webmastersService = new Google_Service_Webmasters($client);
$webmastersService->urlCrawlErrorsSamples;
$urlcrawlerrorssamples->listUrlcrawlerrorssamples($url, $category, $platform);
Is there anything is going on from API end.
Please let me know your view here.
Thanks

Do you have access to user data on your credentials?
I think the call should be something like  this
$webmastersService = new Google_Service_Webmasters($this->client);
$webmastersService->urlcrawlerrorscounts->query($url, $category, $latestCountsOnly, $platform);

Thank you for filing this issue. We asked some clarifying questions a week or more ago and never heard back from you. We are unable to proceed with this issue until then, so we are closing it. Please feel free to re-open this issue with more information.

Hello Matt,
Never received the clarifying questions.
Can you please let me know what the questions about?
Thanks,

Can you reproduce this issue in API Explorer or Try This API?

@chiragvels is this something you are still trying to track down?

@mattwhisenhunt No, I am not able to reproduce same issue.
I am closing down this thread.


Automatic landing of patches after successful builds

Idea:

Once a patch is ready to be landed, the user sets the "autoland" flag on a Revision.
If all builds have passed: The CI system automatically lands the patch.
If the builds fail: The "autoland" flag is removed and the user is notified.

fineprint:

We need to define which users are allowed to do a auto-land?
Do we require code reviews for this feature?
Which GitHub account is used to land the patch? I suppose we cannot impersonate other users.

+1000 - I believe this would be a nice productivity booster! Having a commit queue would help avoid needing to investigate (even if minimally) what is often unrelated failures, and raise authors' confidence in their submission.
I'd add to the fineprint: "which bots are part of the auto-land group" - some bots may still need to run asynchronously (wrt submissions), because their execution takes too much time, or because they are a limited resource.

That would be great feature!
Something that is really a pre-requisite for me to use a system is the robustness: right now pre-merge testing is almost constantly failing for an unrelated reason to the patch. This is "OK" as we can manually ignore (for example) an LLDB test while approving/landing an MLIR patch, but this would block an automated system.


[T5A2][W11-B4] Charlton Lim

Ready for review.

@cadmusthefounder
Some comments added. Please ack & close the PR after reading comments.


Adjust log severity for consensus protocol events

Currently there are various log entries emitted from the consensus protocol under "warn" and "error" severities. The issue is that these entries may not refer to the local node so having such high severity may lead the node operator into a false belief that their node is at fault while the error actually occurred while processing an external transaction.
We should go over all the emitted log events and adjust the severity to be more appropriate.

Discussed offline: First step is to demote all of these logs to debug, then maybe re-up their level if they originate from the current node.


add AutoNavi maps

Hi,
not sure about adding this as it only really covers China well.
You can easily add the layer when a client connect like this - Is that sufficient ?
[{"id":"8bd963c9.92693","type":"worldmap","z":"151081db.844eee","name":"","lat":"","lon":"","zoom":"","layer":"","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"false","coords":"none","showgrid":"false","path":"/worldmap2","x":490,"y":460,"wires":[]},{"id":"dce9e05b.0f354","type":"worldmap in","z":"151081db.844eee","name":"","path":"/worldmap2","events":"","x":180,"y":460,"wires":[["a77d3bdc.b1a838"]]},{"id":"a77d3bdc.b1a838","type":"function","z":"151081db.844eee","name":"","func":"msg.payload = {command: {\n    map: {\n        \"name\":\"AutoNavi\",\n        \"url\":\"https://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}\",\n        \"opt\":{ \"maxZoom\":14, \"attribution\":\"Tiles © 高德地图\" }\n    },\n    layer:\"AutoNavi\"\n}};\nreturn msg;","outputs":1,"noerr":0,"x":330,"y":460,"wires":[["8bd963c9.92693"]]}]

Hi,
have tested your flow, it works, and the layer only works with regions of China, you can test with lat 31 and lon 120. The maxZoom maybe 18 is well.

As this only covers a limited region and can be loaded quite simply as an extra layer I'm not going to add this as a base map. Thanks for asking.


Added maximal square question

Have you read the Contributing Guidelines on Pull Requests?
I have read all the contributing guidelines for the repository
Description
I have provided a detailed description and solution to the problem maximal square on leetcode along with example. The solution is written in C++.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[X] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Solves issue #335

@smv1999 Do you mean I should place comments alongside code, as I have explained my approach above and then written the solution.

Yes @AbhiC7721 explain the functions and some more parts alongside code, write short points though. No big paragraphs

Yes @AbhiC7721, instead of paragraph, write the comments alongside the code.

Fixed the changes requested and placed the comments in between code


Replace separators found within keys

Summary
Separators that already exist within keys pose a risk when unpacking. This PR adds optional ability to replace separators found in keys with some other character
Also fixes some small typo in README.md
Bug Fixes/New Features

New parameter: replace_separators=None
Fixes in README.md for example flattened values not being correct

How to Verify
New tests: test_replace_separators_*
Side Effects
Does the pull request contain any side effects? This should list non-obvious things that have
changed in the request.
Resolves
Helps with https://github.com/amirziai/flatten/issues/60
Tests
New tests: test_replace_separators_*
All tests passing
Code Reviewer(s)
@amir-ziai-zefr

Hello @baolsen! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file flatten_json/__init__.py:

Line 21:1: E303 too many blank lines (3)
Line 40:80: E501 line too long (92 > 79 characters)
Line 80:80: E501 line too long (104 > 79 characters)
Line 83:80: E501 line too long (108 > 79 characters)
Line 157:80: E501 line too long (114 > 79 characters)
Line 162:80: E501 line too long (108 > 79 characters)
Line 223:80: E501 line too long (103 > 79 characters)

In the file test_flatten.py:

Line 2220:5: E303 too many blank lines (2)

Hi @amirziai, any plans for releasing changes from this PR on PyPI?


multi upload using tus-client-js in React

Question
Hello, I working on a upoload integration with the Vimeo API for resumable uplaods using tus.
To allow user to upload multiple files at the same time I call the function in a loop and for each file I create. Everything works perfect but I would like to implement the option to pause and resume the upload.
I created a React custom hook where I have a factory function for tus where I return:
const tusUpload = (response: VimeoPostResponse, file: FilePreview, index: number) => {
const upload = new tus.Upload(file, {
	endpoint: import.meta.env.VITE_VIMEO_API_URL,
	uploadUrl: response.upload.upload_link,
	retryDelays: [0, 3000, 5000, 10000, 20000], // seconds
	chunkSize: 5000000, // 5000000 bytes = 5 MB
	storeFingerprintForResuming: true,

	metadata: {
		filename: file.name,
		filetype: file.type,
	},
	headers: {
		Accept: 'application/vnd.vimeo.*+json;version=3.4',
	},
             ...
return {
	startOrResumeUpload: () => {
		// Check if there are any previous uploads to continue.
		upload.findPreviousUploads().then((previousUploads) => {
			// Found previous uploads so we select the first one.
			if (previousUploads.length) {
				upload.resumeFromPreviousUpload(previousUploads[0]);
			}

			// Start the upload
			upload.start();
		});
	},

	pause: () => {
		upload.abort(true);
	},
};

I'm calling the function inside the function like this:
if (videoFiles.length > 0) {
	for (let i = 0; i < videoFiles.length; i++) {
		triggerVimeo({
			fileSize: videoFiles[i].size,
			name: videoFiles[i].name,
		})
			.unwrap()
			.then((response) => {
				tusUpload(response, videoFiles[i], i).startOrResumeUpload();
				triggerAddVideo({
					origin_model,
					origin_model_id,
					vimeo_object: response,
					filename: videoFiles[i].name,
				});
			});
	}
}

Setup details
Please provide following details, if applicable to your situation:

Runtime environment: Browser, React JS created with vite
Used tus-js-client version: "tus-js-client": "^3.0.0-0",

I don't know what your actual question is. You have described your setup and showed code, but what is your question/problem?

I don't know what your actual question is. You have described your setup and showed code, but what is your question/problem?

Hi, thank you for replay. My problem is when I pause the video upload. The pause implementation doesn't work.

What do you mean doesn't work? What is happening? What are you expecting to happen?
Be aware that the true argument in upload.abort(true) causes the upload to be deleted, so that it cannot be resumed. This is also explained in the documentation. I do not think you want to use true here.

I'm expecting to pause and resume an upload. I will try another implementation without true argument, but I was trying few implemententions and nothing worked.

You need to be more specific or we cannot help you. Are you seeing any errors? What HTTP requests are sent? What does the network tab in the dev tools show? What implementations did you try out? Without such details, we can provide any assistance. Please be more descriptive than writing two sentences.

@Acconut sorry for the late reply. I think I found the issue. The start and pause wrking fine just if I don't start the upload inside the loop.
`ts
const onMediaUploadHandler = async () => {
try {
// NON VIDEO FILES UPLOAD
if (nonVideoFiles.length > 0) {
xhrUpload({
files: nonVideoFiles,
origin_model,
origin_model_id,
});
}
	// VIDEO FILES UPLOAD
	if (videoFiles.length > 0) {
		for (let i = 0; i < videoFiles.length; i++) {
			triggerVimeo({
				fileSize: videoFiles[i].size,
				name: videoFiles[i].name,
			})
				.unwrap()
				.then((response) => {
					// TUS Object
					// tusUpload(response, videoFiles[i], i);

					// SET UPLOAD
					setUploads((prev) => [...prev, tusUpload(response, videoFiles[i], i)]);

					triggerAddVideo({
						origin_model,
						origin_model_id,
						vimeo_object: response,
						filename: videoFiles[i].name,
					});
				});
		}
	}
} catch {
	//	handler err
}

dispatch(apiSlice.util.invalidateTags(['Media']));

};`
If I call tusUpload(response, videoFiles[i], i).start() inside the loop than the upload is starting but I can't pause it anymore.
If I don't call it inside the loop and I call each object manually clicking on the start than the pause/resume will work. But doing this my uploads doesn't start automatically anymore.

If I don't call it inside the loop and I call each object manually clicking on the start than the pause/resume will work. But doing this my uploads doesn't start automatically anymore.

Yes, you must call tus.Upload#start() to begin the upload. I am not seeing this in your code above. It seems like some mistake in your logic. I don't know your application, but couldn't you just do this in your loop:
const upload = tusUpload(response, videoFiles[i], i);
upload.start();
setUploads((prev) => [...prev, upload]);

Yes, but if I begin with upload.start() and I have my component with two buttons upload.pause() and upload.start() than I can't pause() and start() again, it will still upload util the end.

Later edit: hmm... now it seems like working

Great! Does this mean this issue is solved for you now?

Yes, the issue is solved. Everything works as expected. But I think we can add more documentation or a tutorial for React with Vimeo integration.

But I think we can add more documentation

Of course. Which information do you think is currently missing in our documentation? Or what details would have helped you?


fix: document how to pass args to flutter in powershell

My understanding is windows requires an extra quote mark before the -- separator?
I thought we mentioned this in our docs, but I don't see it:

https://docs.shorebird.dev/code-push/release/

Looks like it's quoted '--', which our cli correctly prints out:
shorebird release android '--' --no-pub lib/main.dart