Compatibility Issue with Flutter Apps on LineageOS 21

Steps to reproduce

Develop a Flutter app and release it on the Google Play Store.
Install LineageOS 21 Nightly Build (e.g., lineage-21.0-20240525-nightly-bonito-signed.zip) on a device such as Google Pixel 3a XL.
Install Google services using MindTheGapps (e.g., MindTheGapps-14.0.0-arm64-20240225_232108.zip).
Set up a Google account and attempt to locate the app on the Google Play Store or access it directly via the app's Play Store URL.
Observe the incompatibility message displayed on the Google Play Store, despite the app not being explicitly excluded for the device in the Google Play Console.

Expected results
The Flutter app should be visible and downloadable from the Google Play Store on devices running LineageOS 21, similar to its availability on devices running standard Android versions. The app is listed as compatible with the majority of devices in the Google Play Console, and the specific device models running LineageOS 21 are not explicitly excluded.
Actual results
The Flutter app is shown as incompatible in the Google Play Store on devices running LineageOS 21, despite functioning properly when installed manually via the APK. This issue is specific to devices with LineageOS and does not occur on devices running the official Android versions.
Notably, in the Google Play Console, the app is listed as compatible with 20,011 device models, with only 49 explicitly excluded. The Google Pixel 3a XL, among other devices running LineageOS 21, is not listed under the excluded models. This suggests that the app should theoretically be accessible to users on these devices.
Furthermore, this compatibility issue is not isolated to a single device model but has been consistently reported by users across different models running LineageOS 21. This indicates a broader compatibility recognition issue between the Google Play Store and LineageOS 21, rather than a specific device exclusion.
There are currently no options within the Google Play Console that allow developers to specifically exclude custom ROMs like LineageOS. This absence means that any incompatibility displayed in the Google Play Store does not stem from direct actions taken within our developer settings.
This issue has potential broader implications. If not addressed, it may lead to a significant number of Flutter apps becoming unavailable for download from the Play Store for users on LineageOS, which could adversely affect user experience and app accessibility.
We would greatly appreciate any insights or guidance on potential steps that could be taken to address this discrepancy. Thank you for considering this issue with the seriousness it deserves.
 Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2"/>
    </application>
    <!-- <uses-permission android:name="android.permission.INTERNET"/> -->
    <queries>
        <intent>
            <action
                android:name="android.intent.action.SENDTO"/>
            <data
                android:scheme="mailto"/>
        </intent>
    </queries>
</manifest>

$ adb shell pm list features

feature:reqGlEsVersion=0x30002
feature:android.hardware.audio.low_latency
feature:android.hardware.audio.output
feature:android.hardware.audio.pro
feature:android.hardware.bluetooth
feature:android.hardware.bluetooth_le
feature:android.hardware.camera
feature:android.hardware.camera.any
feature:android.hardware.camera.autofocus
feature:android.hardware.camera.capability.manual_post_processing
feature:android.hardware.camera.capability.manual_sensor
feature:android.hardware.camera.capability.raw
feature:android.hardware.camera.flash
feature:android.hardware.camera.front
feature:android.hardware.camera.level.full
feature:android.hardware.context_hub
feature:android.hardware.device_unique_attestation
feature:android.hardware.faketouch
feature:android.hardware.fingerprint
feature:android.hardware.identity_credential=202301
feature:android.hardware.location
feature:android.hardware.location.gps
feature:android.hardware.location.network
feature:android.hardware.microphone
feature:android.hardware.nfc
feature:android.hardware.nfc.any
feature:android.hardware.nfc.hce
feature:android.hardware.nfc.hcef
feature:android.hardware.nfc.uicc
feature:android.hardware.opengles.aep
feature:android.hardware.ram.normal
feature:android.hardware.reboot_escrow
feature:android.hardware.screen.landscape
feature:android.hardware.screen.portrait
feature:android.hardware.se.omapi.uicc
feature:android.hardware.security.model.compatible
feature:android.hardware.sensor.accelerometer
feature:android.hardware.sensor.assist
feature:android.hardware.sensor.barometer
feature:android.hardware.sensor.compass
feature:android.hardware.sensor.gyroscope
feature:android.hardware.sensor.hifi_sensors
feature:android.hardware.sensor.light
feature:android.hardware.sensor.proximity
feature:android.hardware.sensor.stepcounter
feature:android.hardware.sensor.stepdetector
feature:android.hardware.strongbox_keystore
feature:android.hardware.telephony
feature:android.hardware.telephony.calling
feature:android.hardware.telephony.carrierlock
feature:android.hardware.telephony.cdma
feature:android.hardware.telephony.data
feature:android.hardware.telephony.euicc
feature:android.hardware.telephony.gsm
feature:android.hardware.telephony.ims
feature:android.hardware.telephony.messaging
feature:android.hardware.telephony.radio.access
feature:android.hardware.telephony.subscription
feature:android.hardware.touchscreen
feature:android.hardware.touchscreen.multitouch
feature:android.hardware.touchscreen.multitouch.distinct
feature:android.hardware.touchscreen.multitouch.jazzhand
feature:android.hardware.usb.accessory
feature:android.hardware.usb.host
feature:android.hardware.vulkan.compute
feature:android.hardware.vulkan.level=1
feature:android.hardware.vulkan.version=4198400
feature:android.hardware.wifi
feature:android.hardware.wifi.aware
feature:android.hardware.wifi.direct
feature:android.hardware.wifi.passpoint
feature:android.hardware.wifi.rtt
feature:android.software.activities_on_secondary_displays
feature:android.software.app_enumeration
feature:android.software.app_widgets
feature:android.software.autofill
feature:android.software.backup
feature:android.software.cant_save_state
feature:android.software.companion_device_setup
feature:android.software.controls
feature:android.software.credentials
feature:android.software.cts
feature:android.software.device_admin
feature:android.software.device_id_attestation
feature:android.software.device_lock
feature:android.software.file_based_encryption
feature:android.software.home_screen
feature:android.software.input_methods
feature:android.software.ipsec_tunnels
feature:android.software.live_wallpaper
feature:android.software.managed_users
feature:android.software.midi
feature:android.software.opengles.deqp.level=132383489
feature:android.software.picture_in_picture
feature:android.software.print
feature:android.software.sdksandbox.sdk_install_work_profile
feature:android.software.secure_lock_screen
feature:android.software.securely_removes_users
feature:android.software.sip
feature:android.software.sip.voip
feature:android.software.telecom
feature:android.software.verified_boot
feature:android.software.voice_recognizers
feature:android.software.vulkan.deqp.level=132383489
feature:android.software.webview
feature:android.software.window_magnification
feature:com.google.android.apps.dialer.SUPPORTED
feature:com.google.android.apps.photos.PIXEL_2019_MIDYEAR_PRELOAD
feature:com.google.android.feature.AER_OPTIMIZED
feature:com.google.android.feature.D2D_CABLE_MIGRATION_FEATURE
feature:com.google.android.feature.EXCHANGE_6_2
feature:com.google.android.feature.GOOGLE_BUILD
feature:com.google.android.feature.GOOGLE_EXPERIENCE
feature:com.google.android.feature.GOOGLE_FI_BUNDLED
feature:com.google.android.feature.PIXEL_2017_EXPERIENCE
feature:com.google.android.feature.PIXEL_2018_EXPERIENCE
feature:com.google.android.feature.PIXEL_2019_MIDYEAR_EXPERIENCE
feature:com.google.android.feature.PIXEL_EXPERIENCE
feature:com.google.android.feature.TURBO_PRELOAD
feature:com.google.android.feature.WELLBEING
feature:com.google.hardware.camera.easel_2018
feature:com.nxp.mifare
feature:com.verizon.hardware.telephony.ehrpd
feature:com.verizon.hardware.telephony.lte
feature:org.lineageos.android
feature:org.lineageos.globalactions
feature:org.lineageos.hardware
feature:org.lineageos.health
feature:org.lineageos.livedisplay
feature:org.lineageos.profiles
feature:org.lineageos.settings
feature:org.lineageos.trust

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.5 23F79 darwin-arm64, locale en-US)
    • Flutter version 3.22.0 on channel stable at /Users/calcitem/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • FLUTTER_GIT_URL = https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (3 weeks ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/calcitem/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2023.2)
    • Android Studio at /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.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.89.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] VS Code (version 1.81.1)
    • VS Code at /Users/calcitem/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 14.5 23F79 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 14.5 23F79 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 125.0.6422.114

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

• No issues found!

I've identified the solution to the issue regarding the visibility of the Sanmill app in the Google Play Store on devices running LineageOS. The root cause was linked to the "Visibility of product listings" setting in the Google Play Console, which was configured to perform device integrity checks. These checks were causing the app to be marked as incompatible on devices running LineageOS, which might not pass Google's standard integrity checks due to the nature of custom ROMs.
To address this, I will adjust the setting to "No integrity check." This change will ensure that the app does not undergo any integrity checks before being shown to users, thus allowing it to be visible and downloadable from the Google Play Store on all devices, including those running LineageOS. This adjustment should resolve the incompatibility issue and allow wider access to the app, irrespective of the users' choice of Android system.


Persist IndexedDB to disk.

https://github.com/dumbmatter/fakeIndexedDB says only in-memory and Functionally, it works exactly like IndexedDB except data is not persisted to disk.
Also in Supercraft, the sites don't seem to be fetching from IndexedDB to populate the load list. Need to investigate.

Yes, it was a stopgap to get the api working. localStorage should persist.
That probably means we should introduce the notion of a profile dir too.


Emit stream value after calling a method annotated with @Query(...)

Greetings!
According to documentation, DAO methods annotated with @Query won't emit new values into the stream
Only methods annotated with @insert, @update and @delete trigger Stream emissions. Inserting data by using the @Query() annotation doesn't.

TL;DR in the end
I have the following situation:

Entity has 2 primary ID fields (id_local, id_remote)
When the entity is being sent to the remote source, its values are [id_local: "id_local", id_remote: null]
When the response is received, the entity has following values:  [id_local: "id_local", id_remote: "id_remote"]
I need to set id_remote: "id_remote" to the entity that has id_local: "id_local"
If @Update is used, there will be no updated entity because there is yet no entity with [id_local: "id_local", id_remote: "id_remote"] primary keys
If @inesrt is used, then 2 entities will be created (since it has two primary keys):

1.   [id_local: "id_local", id_remote: null]
2.   [id_local: "id_local", id_remote: "id_remote"]

I cannot delete the entity with [id_local: "id_local", id_remote: null] primary keys because it will trigger unnecessary UI update (remove the old entity, add the new one)

To get my stream updated it's necessary to implement a dirty hack that calls @update method that updates nothing and whose sole purpose is to trigger stream data population:

// OBSERVERING STREAM HERE
class MyWidget {
  ...
  return StreamBuilder<List<Entity>>(
    stream: myRepo.findAll()
    builder: (context, entityList){
       updateState(entityList) <---- This expected to be trigerred after @Query(...) in dao is executed
    }
  )
}

@Dao
abstract class MyDao {
  @Query(update my_entity set remote_id = :remoteId where local_id = :localId)
  Future<void> updateRemoteId(remoteId, localId);

  @update
  update(Entity entity)
}

class MyRepo {
  MyDao myDao = database.getMyDao()

  Stream<List<Entity>> findAll() {
    return myDao.findAll();
  }

  void sendToRemote(entity){
    ..
    myDao.updateRemoteId(localId, remoteId)       <--- this is not triggering findAll() because @Query is used
    Entity entity = myDao.findById(entity.localId)  <--- looking for already updated entity
    myDao.update(entity)                            <--- dirty hack to trigger stream data update in observed findAll()
  }
}

So TL;DR question summary:
What is the best practice to trigger Stream data update after @Query(update set ... where ...)  is executed? Would it be possible to add some kind of attribute to @Query annotation that would forcefully trigger stream data to be updated for all observers? I.e. @Query(emitData = true, "update set value =: value where id = :id")

This feature is currently worked on in #361 and will work in the following way: floor will parse your sql statement in @Query and will then determine by itself which tables are updated. This work is mostly done, some tests are missing and it wasn't reviewed yet, but you can try it out right now by checking out the branch locally. (as this is the third issue that needs this PR we should maybe speed it up a little ;) )
If you want to keep using the current stable version then your current workaround is exactly what I would suggest. Although I would put it into a @transaction to avoid data races.
Originally I would have recommended you to do a @delete and @insert inside a transaction. Although this will trigger the Stream two times (due to #360 ), it should not show the intermediate state where the old entry was deleted and the new one was not yet added, because the transaction is only applied atomically.

Thank you for your response! Since this issue is now referenced in the PR you might close the issue if you feel like it.

Greetings @mqus
Are there any updates or ETA on this particular future implementation? Thanks!

We're still working on it and as you might know, giving ETAs in software projects is tricky.


Free5gc NF packages are deployed successfully onto workload clusters using Nephio.

Make sure all PODs are up and running
Make sure ping works between SMF and UPF

Probably also need packages to represent the actual function instances, including all their requirement CRs, etc., that go through the package specialization process.
/assign @vjayaramrh
Open issues:

We need to integrate cluster context with the cluster creation process (update cluster package)
We need to integrate injection of cluster context at package instantiation time (update NF packages)

@johnbelamaric @henderiw Should the value for the name field at https://github.com/nephio-project/free5gc-packages/blob/main/pkg-example-amf-bp/package-context.yaml#L8 be the name of the package i.e pkg-example-amf-bp instead of just example

That gets filled in automatically by kpt/Porch when the package published to a deployment repository (by Porch) or pulled with kpt get --for-deployment.

Where are the instructions to deploy the free5gc nf packages? I am looking for something similar to step 5 at https://github.com/nephio-project/test-infra/blob/main/e2e/provision/README.md

https://github.com/nephio-project/test-infra/pull/61

Update on June 5th:

As part of ensuring all pods are up and running, I found the some of the pods in the free5gc-cp namespace to be stuck in init and pending state. (cc: @johnbelamaric )

ubuntu@nephio-r1-e2e:~$ kubectl get pods -A --kubeconfig edge01-kubeconfig
NAMESPACE                      NAME                                                 READY   STATUS     RESTARTS   AGE
config-management-monitoring   otel-collector-6cb84fc5d6-79xzr                      1/1     Running    0          28m
config-management-system       config-management-operator-5c45bf56bb-tc9rl          1/1     Running    0          31m
config-management-system       reconciler-manager-86c5f8cc79-nz88t                  2/2     Running    0          28m
config-management-system       root-reconciler-edge01-bdd54c6f6-kcd7c               4/4     Running    0          28m
free5gc-cp                     free5gc-ausf-7d494d668d-vbhkp                        0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-nrf-66cc98cfc5-g6lnn                         0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-nssf-668db85d54-9x5qz                        0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-pcf-55d4bfd648-5n6hz                         0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-udm-845db6c9c8-t4cmm                         0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-udr-79466f7f86-7bcx8                         0/1     Init:0/1   0          17m
free5gc-cp                     free5gc-webui-84ff8c456c-45hdv                       0/1     Init:0/1   0          17m
free5gc-cp                     mongodb-0                                            0/1     Pending    0          17m
kube-system                    coredns-787d4945fb-x2hjq                             1/1     Running    0          31m
kube-system                    coredns-787d4945fb-xt2jh                             1/1     Running    0          31m
kube-system                    etcd-edge01-5x8xr-sc59z                              1/1     Running    0          31m
kube-system                    kindnet-fd7hg                                        1/1     Running    0          30m
kube-system                    kindnet-kmb2d                                        1/1     Running    0          30m
kube-system                    kindnet-kvv9c                                        1/1     Running    0          29m
kube-system                    kindnet-llk6j                                        1/1     Running    0          29m
kube-system                    kube-apiserver-edge01-5x8xr-sc59z                    1/1     Running    0          31m
kube-system                    kube-controller-manager-edge01-5x8xr-sc59z           1/1     Running    0          31m
kube-system                    kube-proxy-4xm6q                                     1/1     Running    0          31m
kube-system                    kube-proxy-5n4tp                                     1/1     Running    0          29m
kube-system                    kube-proxy-5q8db                                     1/1     Running    0          30m
kube-system                    kube-proxy-nwbvm                                     1/1     Running    0          29m
kube-system                    kube-scheduler-edge01-5x8xr-sc59z                    1/1     Running    0          31m
resource-group-system          resource-group-controller-manager-6cdfc6486d-ldmbd   3/3     Running    0          28m

Need a fix for this to continue further testing to close out the issue.
Is there an issue already open for this? If not, I can open one.
@johnbelamaric , Meanwhile, Who can provide the instructions to setup the SMF and UPF so that the ping between them can be tested out. Want to get familar with those instructions until the above pod issues are debugged and resolved?

Yes open PR(s) Are:
#259 -> this is a big one since we moved from clusterCtx to workload cluster. I updated all the test files. So many files, but this is the main change
https://github.com/nephio-project/api/pull/38 -> this allows to validate empty as not ready. Right now I use empty string.
https://github.com/nephio-project/api/pull/39 -> this allows for ipv6 and ipv4. So this allows us to specify what we want rather than hardcoding. It is a small change I want to incorporate after #259 is approved

so I have the specialization running, but to continue the PR chain I need the above 3 approved to proceed.
apiVersion: workload.nephio.org/v1alpha1
| kind: UPFDeployment
  | metadata: # kpt-merge: /upf-
  | name: "upf-cluster03"
  | annotations:
  | internal.kpt.dev/upstream-identifier: 'workload.nephio.org|UPFDeployment|default|upf-'
  | spec:
  | capacity:
  | maxDownlinkThroughput: 10G
  | maxUplinkThroughput: 10G
  | interfaces:
  | - name: n3
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n4
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n6
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | networkInstances:
  | - name: vpc-internal
  | interfaces:
  | - n4
  | - name: vpc-internet
  | dataNetworks:
  | - name: vpc-internet
  | pool:
  | - prefix: <IP_ADDRESS>/8
  | interfaces:
  | - n6
  | - name: vpc-ran
  | interfaces:
  | - n3
apiVersion: workload.nephio.org/v1alpha1
| kind: UPFDeployment
  | metadata: # kpt-merge: /upf-
  | name: "upf-cluster03"
  | annotations:
  | internal.kpt.dev/upstream-identifier: 'workload.nephio.org|UPFDeployment|default|upf-'
  | spec:
  | capacity:
  | maxDownlinkThroughput: 10G
  | maxUplinkThroughput: 10G
  | interfaces:
  | - name: n3
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n4
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n6
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | networkInstances:
  | - name: vpc-internal
  | interfaces:
  | - n4
  | - name: vpc-internet
  | dataNetworks:
  | - name: vpc-internet
  | pool:
  | - prefix: <IP_ADDRESS>/8
  | interfaces:
  | - n6
  | - name: vpc-ran
  | interfaces:
  | - n3
apiVersion: workload.nephio.org/v1alpha1
| kind: UPFDeployment
  | metadata: # kpt-merge: /upf-
  | name: "upf-cluster03"
  | annotations:
  | internal.kpt.dev/upstream-identifier: 'workload.nephio.org|UPFDeployment|default|upf-'
  | spec:
  | capacity:
  | maxDownlinkThroughput: 10G
  | maxUplinkThroughput: 10G
  | interfaces:
  | - name: n3
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n4
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | - name: n6
  | ipv4:
  | address: <IP_ADDRESS>/24
  | gateway: <IP_ADDRESS>
  | vlanID: 10
  | networkInstances:
  | - name: vpc-internal
  | interfaces:
  | - n4
  | - name: vpc-internet
  | dataNetworks:
  | - name: vpc-internet
  | pool:
  | - prefix: <IP_ADDRESS>/8
  | interfaces:
  | - n6
  | - name: vpc-ran
  | interfaces:
  | - n3

So the steps for me are:

approve the above PR(s)
do some further changes in the functions to incorporate the API(s)
add the new packages as a consequence of step1/2
upload images

I had to do a little hack for now based on https://github.com/nephio-project/nephio-example-packages/blob/main/cluster-capi-kind-docker-templates/docker_machine_template_worker.yaml#L12 that is mountable to make progress.
I had to create a directory /opt/cni/bin/edge01/mongodb and modify the PV yaml file as below to point to the newly created directory and apply the yaml file to create a PV for now
ubuntu@nephio-r1-e2e:~$ cat pv-edge01.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-loc-sc
spec:
  persistentVolumeReclaimPolicy: Delete
    #storageClassName: local-path
  capacity:
    storage: 7Gi
  accessModes:
    - ReadWriteOnce
  local:
    path: "/opt/cni/bin/edge01/mongodb"
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/os
          operator: In
          values:
          - linux

June 6th Update:
Followed instructions at https://github.com/nephio-project/test-infra/blob/main/e2e/provision/README.md and was able to execute steps till step 9 with workarounds.
Step 10 that attempts to deploys UPF does not deploy any pods

So, we have free5gc-cp up and running. We have two more PRs to merge to get the operator up and running. And I think Wim nearly has the hydration/specialization work done.

Sequence of operations :

Deploy the clusters
Set up Networking (Container lab scripts)
Then deploy NFs (UPF, SMF and AMF)

This is working now. There is still some flakiness, I think due to concurrency issues. But overall it does work.


Safari 14: Clarified SameSite support across macOS versions

Added #4 to 13.1: Should be the same as 13
Regarding 14:

Support for macOS 10.13 High Sierra is dropped; #4 removed
Support for macOS 10.14 Mojave is not dropped; #5 holds
Related to #5487

Removed #5 from TP: Support for 10.14 is dropped

Thanks!


fix Configuring ACL Plugin Docs

Hi, just wanna say there were some wrong endpoints in the last two examples. I have fixed them and will be all good if you merge the request.
Thank you for the excellent documentation anyway.

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


Event handlers

Description
WIP
Reactor
acceptNewConnections
accepts incoming connections and registers IOHandler for communication.
handleEvents
goes through the current epoll events and dispatches to their corresponding IOHandler.
AHandler
Abstract class for Handlers defining the HandlerContext, state and pure virtual handle function.
RequestHandler
responsible for reading data from the connection socket and building the request
ResponseHandler
responsible for writing data to the connection socket and building the response
IOHandler
responsible for dispatching the correct sub handler according to the epoll event
Type of Change

[ ] Bug fix
[x] New feature
[ ] Documentation update

How to Test

a dummy implementation for reading and sending data is already implemented. Just run the program and send a requst to the server. The Request handler will read the data and the response handler will just send a hello world for now.

Looks good enuff to me, maybe best not overthink the bits we're unsure about rn (such as when to close connections and whatnot), we'll figure those bits out soon enough. The handler structure you came up with seems nice.

Yeah, I will look over some stuff again and I guess we can merge this soon so we keep up the SYNCCC


Build a standalone HTML with the package generator

This feat was previously mentioned in Discord. We decided to use Pyxel's app2html new command.

Let's merge!


Unable to find a place to buy the real hardware

Not an issue with the software. I am having trouble finding a website where I can buy the CeleX5-MIPI. Could you provide me with the link?

you can contact this email<EMAIL_ADDRESS>detail information！Good Luck！

hey @zafirshi, thanks for your information. but I cannot get any reply from<EMAIL_ADDRESS>is there any other email I can try?

you can contact this email<EMAIL_ADDRESS>detail information！Good Luck！

hey @zafirshi, thanks for your information. but I cannot get any reply from<EMAIL_ADDRESS>is there any other email I can try?

The email may be changed these days, you can visit this website ,  filling in the form and waiting for the reply, or you can directly contact this new email address to have a try!
If you are in a hurry and need a salesperson's WeChat, you can add my WeChat and the contact information has been sent to your educational email address.

Hello could you please send me the salesperson's WeChat? Thanks.

you can contact this email<EMAIL_ADDRESS>detail information！Good Luck！

hey @zafirshi, thanks for your information. but I cannot get any reply from<EMAIL_ADDRESS>is there any other email I can try?

The email may be changed these days, you can visit this website , filling in the form and waiting for the reply, or you can directly contact this new email address to have a try!
If you are in a hurry and need a salesperson's WeChat, you can add my WeChat and the contact information has been sent to your educational email address.

Hello @zafirshi. Could you please send the salesperson's WeChat. Thanks very much.

you can contact my email

you can contact this email<EMAIL_ADDRESS>detail information！Good Luck！

hey @zafirshi, thanks for your information. but I cannot get any reply from<EMAIL_ADDRESS>is there any other email I can try?

The email may be changed these days, you can visit this website , filling in the form and waiting for the reply, or you can directly contact this new email address to have a try!
If you are in a hurry and need a salesperson's WeChat, you can add my WeChat and the contact information has been sent to your educational email address.

Hello @zafirshi. Could you please send the salesperson's WeChat. Thanks very much.

you can contact my email @zbzhzhy

To buy it asking by this email:
<EMAIL_ADDRESS>or Tel:
+86 21 6175 9835


Build on Windows, Linux and macOS

This contains the build scripts for #16

a new Python script rather than a bash script to run on all OSes
revised travis config
a new appveyor config

When working we will add the final build upload

We should also craft a link that goes in the build log that link to the corresponding download ;)


fix: docs serve command

The command shown in the Contributing guide was not matching the actual command from the noxfile.
This PR makes it consistent.
Let me know if you would prefer to change the noxfile parameter instead.

Thanks!


Add optional support for sending systemd readiness notifications

When ENABLE_SYSTEMD is enabled, we'll link against libsystemd and send readiness notifications using sd_notify() as documented in https://www.freedesktop.org/software/systemd/man/latest/sd_notify.html.
These will only be sent if the NOTIFY_$SOCKET environment variable is set to a unix socket where systemd expects to receive readiness notifications.
This allows running bpftrace in a systemd service which will only be considered started once bpftrace has finished allocation its probes. This allows starting bpftrace from scripts and ensuring that its probes are registered before continuing.
For example, currently one has to do something like this:
"""
bpftrace

Well I assume bpftrace might be used on distributions such as Alpine Linux which do not package libsystemd, and we don't want to exclude them from being able to use bpftrace.

@jordalgo I took a quick look but I have no clue where exactly I'd write a test. What the test needs to do is create a unix socket and bind it, set ``$NOTIFY_SOCKET` to the socket address, run any bpftrace program with probes and read from the socket to see if the messages were sent.

Well I assume bpftrace might be used on distributions such as Alpine Linux which do not package libsystemd, and we don't want to exclude them from being able to use bpftrace.

I'm still looking around but maybe we could use dlopen to dynamically load this library and fail gracefully if it doesn't exist on the distro. Then we don't have to worry about setting this flag for the different distro builds (although maybe that's not an issue).

Well I assume bpftrace might be used on distributions such as Alpine Linux which do not package libsystemd, and we don't want to exclude them from being able to use bpftrace.

I'm still looking around but maybe we could use dlopen to dynamically load this library and fail gracefully if it doesn't exist on the distro. Then we don't have to worry about setting this flag for the different distro builds (although maybe that's not an issue).

dlopen() is definitely possible, but I don't think distributions will mind the extra flag. Lots of applications do it this way, where there's a build option to enable the systemd specific bits. Even if dlopen() is used, distributions would still have to list libsystemd as a recommended or required dependency of bpftrace to make sure it is pulled in when bpftrace is installed (though in practice libsystemd will always be installed)

distributions would still have to list libsystemd as a recommended or required dependency of bpftrace to make sure it is pulled in when bpftrace is installed (though in practice libsystemd will always be installed)

Ah right, good point.

Thanks for the explanation - that does clear up how it's intended to be used.
I'm still not sure what the specific purpose is though (not that I'm saying there isn't one!). Who needs this feature and why?

Thanks for the explanation - that does clear up how it's intended to be used.
I'm still not sure what the specific purpose is though (not that I'm saying there isn't one!). Who needs this feature and why?

I need the feature to debug systemd's integration tests with bpftrace. Instead of writing the first snippet, I want to write the second snippet.

Does the -c command line option not work for that purpose?
e.g.
# bpftrace my_script.bt -c ./test/run-integration-tests.sh

Does the -c command line option not work for that purpose?

Totally forgot about this option. Can't wait for the docs website :) We should definitely add an FAQ or a How-To page

Does the -c command line option not work for that purpose?
e.g.
# bpftrace my_script.bt -c ./test/run-integration-tests.sh

Does not work because I can not add it in the middle of an existing script. I don't want to run the entire script with bpftrace tracing, only a few commands need the tracing enabled. Having to move stuff around to accommodate bpftrace -c is much more work than just adding the snippet from above around the code I want to trace.

Aside from the use case of using bpftrace in a script, If I want to run bpftrace during early boot to debug something then I do actually want to run it as a service so I can make sure it is started before the services that I want to trace, in which case I have the exact same problem that I don't want the services that need tracing to start before bpftrace has attached its probes. Again, the solution is the systemd notify integration so that I can drop in a service as follows:
bpftrace.service
[Unit]
Before=service-i-want-to-trace.service

[Service]
Type=notify
ExecStart=bpftrace <script>

Without the notify integration, systemd would immediately start the service I want to trace after systemd has execve()'d the bpftrace process, so you get a race condition where bpftrace might not attach its probes before the service that needs to be traced is started. The notify integration means that the service I want to trace is only started after bpftrace has attached its probes.

Great feature, I think it'll be useful for some of the use cases described!
Before enabling it in nixos I came here to check the systemd dependency, since it's just sd_notify() I think we might as well open-code it (as in the first 90 lines of https://github.com/systemd/systemd/blob/main/man/notify-selfcontained-example.c ) -- that'll avoid the condition on the build that @jordalgo was worried about (and at worst distros like alpine linux will just never use that code as the env var won't be set)
I don't think it's a priority (especially now libsystemd no longer pulls in libxz :grin:), but perhaps as an easy "first issue" for backlog if you think it makes sense.


Dev feature/sample env solving issue #20 setting up env files and entrypoint file

solution for #20

created env_samples directory containing .env files for both frontend and backend
README.md file update with instruction to setup env files
setup.bash
README.md file update with instructions for project setup using setup.sh script file

Hey, Thank you so much for your contribution, I am merging the PR
Please give this repository a star 🌟


New version: printfn.fend version 1.4.9

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

2024-06-21T00:02:23.2152766Z ##[error]Manifest Validation Failed
2024-06-21T00:02:28.2610878Z ##[section]Finishing: Validate Manifest

(Automated response - build 886.)


Changing the Character Name alignment whereever the character is..

Hi, I was thinking it would be a great feature for Dialogic to have the Character's name's alignment changed where ever the character is, on the left, on the right, anywhere
Just like this.

The thing is that while I like the general idea, there is lots of things that are a bit unclear. Like, what happens for a character in the central position?
Personally I think for 2.x we should add a method to easily get lot's of information on the current speaker, so you can easily adapt your ui and also maybe a signal for speaker change.

What happens to Central position, like Middle? well, just keep the text in middle place

lol, heck its confirmed for sometime in the next week when I get chance to implement it :) (well, maybe, idk how much time I'll have in the next week)
so most of this, mind you, will be how you design your dialog scene to customize it to consume this data the way you need it, since character positions themselves in 2.0 arent left/center/right like they are in 1.x, but freely placable and address by numbers (and also maybe name in the future, thats in plans for something). there's already the Text.speaking_character(string) signal that's emitted on each Text event, sending either the name of the currently speaking character or '(Nobody)' if it's a dialogue without anyone speaking. I've used this in a test to be able to set the entire dialog box to match the character, having a scene with multiple characters each with a dialog box attrached to them over their head, and it would show the box of whoever was speaking
there aren't any signals in the Portrait subsystem right now, but I can add some signals for add/update/leave easily enough with the naem of the character and position theyre being put on. then you just have your dialog scene listen for those signals to keep track of who's where in the scene, and then when a speaking_character signal is emitted make it show/move the name box to whichever matching position you want form there.
Note to self: change speaking_character signal to also emit the selected portrait as well, in case anyone needs it for reasons


Add libedit to clang-tools-extra

clang-query requires libedit for tab completion.

Clang-tools extra is not actually a separate package, and consists of extracting the source into the clang build https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/llvm/10/clang/default.nix
Looks like all versions should get it but I didn't check; https://reviews.llvm.org/D2200

Ok I'm not actually sure how to get this to work, adding editline to clangs inputs does not seem to be it. Might be LLVM since "lineeditor" is an LLVM component.

I guess I was looking at a patch that got obsoleted by https://reviews.llvm.org/D2200 .

It turns out that the lineeditor component is part of llvm, and rebuilding llvm like so, fixes the issue;
nix-shell -I nixpkgs=channel:nixos-unstable -p "(llvmPackages_10.extend (self: super: { llvm = super.llvm.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ pkgs.libedit ]; }); })  ).clang-unwrapped" -v

This is still a problem. cc @dtzWill @Ericson2314 @lovek323 @alyssais @RaitoBezarius @rrbutani  @sternenseemann as maintainers.
I am guessing it is unintentional that this is the case?


HSEARCH-3891 Allow POJO mapper implementations to pass explicit routing keys when indexing

https://hibernate.atlassian.net/browse/HSEARCH-3891
draft since I haven't added the tests done!

Merged, thanks

Thank you!


Decide which methodology for getting version info is correct

When gathering the release information in conf.py for Sphinx we use two approaches.
In the template to be hydrated we use this: https://github.com/lincc-frameworks/python-project-template/blob/main/python-project-template/docs/conf.py.jinja#L22
from importlib.metadata import version
release = version("{{package_name}}")

In the documentation for the python-project-template we use this: https://github.com/lincc-frameworks/python-project-template/blob/main/docs/conf.py#L15
from setuptools_scm import get_version
release = get_version(root="..")

I think that both work, however, the second version requires installing setuptools_scm explicitly in the dependencies list in the pyproject.toml file, whereas the first version doesn't require an additional dependency.
I'm not sure if one is more correct than the other, but seems like something we can consolidate on.
@delucchi-cmu do you have a strong opinion one way or the other?

I agree that it's not great to have two different approaches. However. =]
The first option won't work in the case of the python project template because it isn't a true python package.
Since we can't really use the first option (but other projects maybe should) we could add a note to the conf.py saying why we have to do it that way (and why it's different from what we suggest for other projects).

OK, I see what you're saying @delucchi-cmu. Given all that, I don't think that this is a priority right now, so I'm comfortable closing this as "not planned"


No records is always shown, even with data loaded

Describe the bug
I'm trying to use<EMAIL_ADDRESS>and implementing a dead simple table like the following
import { DataTable } from 'mantine-datatable';

export function HomePage() {
  return (
    <DataTable
      columns={[
      { accessor: 'name' },
      { accessor: 'email' },
    ]}
      records={[
      { name: 'test', email<EMAIL_ADDRESS>},
      { name: 'john doe', email<EMAIL_ADDRESS>},
    ]}
  />);
}

It always show the message "No records", even with data loaded (like above example).
To Reproduce
Create a simple mantine starter project, and add the above code sample to a component
Expected behavior
I would expect that the "No records" message would not be displayed when data is actually loaded.
Screenshots

Desktop (please complete the following information):

OS: Linux
Browser: Chrome and Firefox
Versions: Chrome 124.0.6367.201, FireFox 125.0

Hey @tbowmo, this only happens when styles are not imported or applied properly.
If you can share your setup in a codesandbox or something similar, I might be able to help you.

That was it, I did not import styles from mantine-datatables.. After doing that, it disappears :)
Thanks for the quick help

No worries.


Implement positivity favoring Rosenbrock schemes of Sandu with addtional projection method

In https://doi.org/10.1006/jcph.2001.6750 Sandu describes a method to project a negative approximation back to the reaction simplex without sacrificing accuracy.

The reaction step requires the solution of a quadratic optimization problem
$$\min \frac12\lVert z^{n+1} - y^{n+1}\rVert^2$$ subject to $$A^Tz^{n+1}=b,\quad z^{n+1}\geq 0$$,
where $$y^{n+1}$$ is an approximation with negative elements and $$z^{n+1}$$ is the approximation we seek.
@ranocha Any idea how this is best solved in Julia?
I found the discussion https://discourse.julialang.org/t/how-to-solve-a-large-quadratic-programming-problem/111200 which recommends RipQp.jl

I haven't used quadratic programming with inequality constraints in Julai so far. But I agree with you, RipQP.jl seems to be worth a try.

https://github.com/oxfordcontrol/Clarabel.jl could be worth looking at, too


Add QuickLogic CI configuration

This PR contains a basic configuration for the QuickLogic CI, as suggested in https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1758#issuecomment-723222892.

I'm obtaining gateway time-out errors in the CI:
CondaHTTPError: HTTP 504 GATEWAY TIME-OUT for url <https://conda.anaconda.org/symbiflow/linux-64/symbiflow-yosys-plugins-<IP_ADDRESS>_0174_g5e6370a-20201012_171341.tar.bz2>

This is strange since I can access the package using the url above directly.

I'm obtaining gateway time-out errors in the CI:
CondaHTTPError: HTTP 504 GATEWAY TIME-OUT for url <https://conda.anaconda.org/symbiflow/linux-64/symbiflow-yosys-plugins-<IP_ADDRESS>_0174_g5e6370a-20201012_171341.tar.bz2>

This is suspicious since I can access the package using the url above directly.

This is something that is broken in conda 3.8.3.  They fixed it in conda 3.8.4 and higher, but they haven't cut a new miniconda yet :/


Added export() for build tree

Otherwise, adeConfig.cmake from build tree is not usable.

Merged, thanks!


Liqoctl: get liqo version from controller-manager

Description
This PR includes the following changes:

adds a utility function to get the installed Liqo version (without using Helm client)
use the new function in liqoctl version command
added Liqo version in liqoctl status command

/rebase test=true

/merge


fix: improve TypeScript types

Trying to do this bit by bit :) I find the larger the PR the less likely it is to work 😂 But yeah, noImplicitAny coming in like a 5 PR set.


Inference problems

The tests don't finish on Julia 1.2+. Even locally with MOI v0.8 it seems slow, so it could be different than https://github.com/JuliaLang/julia/issues/32167. I will try all platforms on Travis with compat set to MOI v0.8 to see if that helps.

CI: https://travis-ci.com/ericphanson/TravelingSalesmanExact.jl/builds/126257518
Stalls out on the big problem on 1.2+ even with MOI v0.8. It’s a bit weird because it can solve the smaller problems ok (I moved the big problem to the end to check).

One thing special about the problem that gets stuck is that verbose=true. So it could be a problem with unicode plots, for example. I set verbose=true for an earlier problem that was solved on all versions, so when CI finishes, that could show if it's a problem with verbose=true or with something else.
CI: https://travis-ci.com/ericphanson/TravelingSalesmanExact.jl/builds/126275354

I turned on verbose=true on a small problem also specified by cities so that plots are generated. That works fine (CI: https://travis-ci.com/ericphanson/TravelingSalesmanExact.jl/builds/126635605). It's weird because I don't see why it should be doing more type inference at this point-- it should've run basically the same code already, just on a smaller problem. (And JuMP converts everything to Float64, so the fact that the file uses integers shouldn't matter). I'll need to do some profiling / put in debug logging etc and figure out exactly where it gets stuck and what it's doing, but I don't have time right now.

Locally https://github.com/ericphanson/TravelingSalesmanExact.jl/commit/6f6150af94199675d838e78eb4b8adb140537163 fixes the inference problems (CI in progress here). I really don't understand why, but it seems like the inference hang is deciding in the case of cities::Vector{Any} whether to call the method with signature
get_optimal_tour(cost::AbstractMatrix, with_optimizer =  get_default_optimizer(); verbose = false, symmetric = issymmetric(cost))

or the method with signature
get_optimal_tour(cities::AbstractVector, with_optimizer = get_default_optimizer(); verbose = false, distance = euclidean_distance, symmetric = true)

and it can't figure out which. Adding the type information for cities to be Vector{Vector{Int}} instead of Vector{Any} somehow lets it figure out which one to call much faster.


[SP-3501][PDI-16252] - Normalise Rows step performance logic fix

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/normaliser/Normaliser.java
  engine/src/org/pentaho/di/trans/steps/normaliser/NormaliserData.java
  engine/src/org/pentaho/di/trans/steps/normaliser/NormaliserMeta.java
  engine/test-src/org/pentaho/di/trans/steps/normaliser/NormaliserTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.job.entries.getpop.MailConnectionMeta

Branch Change:  + 1.00%
Complexity Change:  + 1.41%
Instruction Change:  + .30%

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change:  + 1.32%
Complexity Change:  + 1.85%
Instruction Change:  + .27%

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change:  + 5.21%
Complexity Change:  + 5.26%
Instruction Change:  + .28%
Line Change:  + .74%

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change:  + 2.00%
Complexity Change:  + 1.89%
Instruction Change:  + .17%

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change:  + .06%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -3.53%:small_red_triangle_down:
Complexity Change: -4.05%:small_red_triangle_down:

org.pentaho.di.trans.steps.normaliser.Normaliser

Branch Change:  + 80.00%
Complexity Change:  + 73.68%
Instruction Change:  + 87.88%
Line Change:  + 89.71%
Method Change:  + 100.00%

org.pentaho.di.trans.steps.normaliser.NormaliserData

Complexity Change:  + 100.00%
Instruction Change:  + 100.00%
Line Change:  + 100.00%
Method Change:  + 100.00%

org.pentaho.di.trans.steps.normaliser.NormaliserMeta

Branch Change:  + 32.79%
Complexity Change:  + 25.67%
Instruction Change:  + 23.36%
Line Change:  + 25.98%
Method Change:  + 26.32%

org.pentaho.di.trans.steps.pgbulkloader.PGBulkLoaderMeta

Branch Change:  + .88%
Complexity Change:  + .93%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -.07%:small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Instruction Change:  + .08%

org.pentaho.di.trans.steps.setvalueconstant.SetValueConstantMeta

Instruction Change:  + .14%

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -.10%:small_red_triangle_down:

org.pentaho.di.trans.steps.synchronizeaftermerge.SynchronizeAfterMergeMeta

Instruction Change: -.04%:small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -.18%:small_red_triangle_down:

@stepanovdg same here

Done

@mbatchelor @pamval @mchen-len-son

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/normaliser/Normaliser.java
  engine/src/org/pentaho/di/trans/steps/normaliser/NormaliserData.java
  engine/src/org/pentaho/di/trans/steps/normaliser/NormaliserMeta.java
  engine/test-src/org/pentaho/di/trans/steps/normaliser/NormaliserTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change: -7.14%:small_red_triangle_down:
Complexity Change: -7.69%:small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.28%:small_red_triangle_down:
Line Change: -3.87%:small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change: -.66%:small_red_triangle_down:
Complexity Change: -.93%:small_red_triangle_down:
Instruction Change: -.13%:small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change:  + .68%
Complexity Change:  + .58%
Instruction Change:  + .19%
Line Change:  + .26%

org.pentaho.di.trans.steps.combinationlookup.CombinationLookupMeta

Instruction Change:  + .04%

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -.10%:small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Instruction Change: -.09%:small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change:  + .11%

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change:  + 2.08%
Complexity Change:  + 2.11%
Instruction Change:  + .14%
Line Change:  + .37%

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change:  + 2.00%
Complexity Change:  + 1.89%
Instruction Change:  + .17%

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -.05%:small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.18%:small_red_triangle_down:
Complexity Change: -1.35%:small_red_triangle_down:

org.pentaho.di.trans.steps.normaliser.Normaliser

Branch Change:  + 80.00%
Complexity Change:  + 73.68%
Instruction Change:  + 87.88%
Line Change:  + 89.71%
Method Change:  + 100.00%

org.pentaho.di.trans.steps.normaliser.NormaliserData

Complexity Change:  + 100.00%
Instruction Change:  + 100.00%
Line Change:  + 100.00%
Method Change:  + 100.00%

org.pentaho.di.trans.steps.normaliser.NormaliserMeta

Branch Change:  + 32.79%
Complexity Change:  + 25.67%
Instruction Change:  + 23.36%
Line Change:  + 25.98%
Method Change:  + 26.32%

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Instruction Change:  + .08%

org.pentaho.di.trans.steps.setvalueconstant.SetValueConstantMeta

Instruction Change:  + .14%

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -.10%:small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -.18%:small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:


Out-of-tree drivers: input: MCUX GPT PPM input driver

Input subsys doesn't accept this driver (zephyrproject-rtos/zephyr/pull/61201) and counter subsys is lacking in features to do a proper abstraction.
Therefore I propose to move this driver under Cerebri

I think this just needs a clang format, I'll pull it and run it.


Root Cert Rotation

We assume that root cert is long lived and will never change.
When we need to rotate the root cert used by OSM for one reason or another we may have to take different paths based on which cert issuer is used by OSM.
For pkg/tresor there is no root cert rotation mechanism other than:

delete the current "osm-ca-bundle" secret
create new / different / own "osm-ca-bundle" secret
"kubectl rollout restart deployment -n osm-system osm-controller"
"kubectl rollout restart deployment ..." all other deployments that are in the mesh

We need to design, develop, and test a root cert rotation mechanism, which will ensure zero-downtime rotation of the root cert.

Related

doc: Certificates and Rotation (#2860)
Root Cert documentation: https://github.com/openservicemesh/osm/blob/707593c3a291ec9ac4a3e92836d8776cb3d84ce3/docs/content/docs/tasks_usage/certificates.md#root-certificate

Related to https://github.com/openservicemesh/osm/issues/507

This requires a design doc before implementing.

closing this in lieu of new issue.


TabbedPane layout when tab content contains ScrollPane

I'm trying to show scrolling content inside a tabbed pane. If the scroll bar becomes visible, the tabs start to "leak" outside of their area, overlapping with other UI elements.

To illustrate the issue, I modified TestTabbedPane in the VisUI tests:
		public TestTab (String title) {
			super(false, true);
			this.title = title;

			VisTable scrollContainer = new VisTable();
			scrollContainer.left().top();

			for (int i = 0; i < 10; i++) {
				scrollContainer.add(new VisLabel(title + " # " + i)).row();
			}

			VisScrollPane scrollPane = new VisScrollPane(scrollContainer);
			scrollPane.setFlickScroll(false);
			scrollPane.setFadeScrollBars(false);
			scrollPane.setScrollingDisabled(false, false);

			content = new VisTable();
			content.add(scrollPane).left().top().expand().fill();
		}

Here's a diff patch: scrolling-tabbedpane-patch.diff.zip

For some reason Table has trouble doing layout for such configuration, maybe because ScrollPane expects to have its size set explicitly. Anyways you can fix this by forcing min height for tabs pane widget:
add(tabbedPane.getTable()).minHeight(new PrefHeightIfVisibleValue()).growX();
row();
add(container).grow();

Thanks a lot, this fix works nicely.


Error receiving small files like 1Kb

Whenever I try to send a message that has a very small content I always get an error that says
padding is greater then the length
I traced the code and it's in cbc.go: line 97
anyone knows how to fix this?

Do you get the error when you want to send or download the file?

@Rhymen I get the error when I'm trying to receive the file. for example I have a .txt file that only have one letter as a content in it. whenever I receive a super small file it always points me to that error

Same issue happens for me too. After some testing I realized this only happens with files <= 95 bytes.

When the file size is smaller than 32 bytes it throws file length does not match but when it is bigger it throws padding is greater then the length: 222 / 48. Both errors are caused by AES encryption libraries.

I'm having the same issue


Adding NOTICE file for license exceptions

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Is there any issue related to this PR? (Link to an issue, e.g. #99999)
This PR is related to dojot/dojot#2082

Other information:

Maybe you can add this in kafka-ws in dev and release/v0.6.0 branch


[ADD ME TO THE ORGANIZATION]

Anusha:
Bangalore:
Programming and writing technical contents
Discord username(optional):-
Why do you want to join?

I want to join because I'm a Dev and want to learn and contribute.

You can also join our Discord community here
Feel free to check out other cool repositories of the Open Source Community here.

@AnushaSP07 Thanks for your interest. Invitations have been sent to you. Kindly accept it and make your membership public.


CanvasRenderingContext2D.canvas is undefined

const { createCanvas } = require('@napi-rs/canvas');
const canvas = createCanvas(1, 1);
const ctx = canvas.getContext('2d');
console.log(ctx.canvas);
//out:undefined

@Brooooooklyn this issue has surfaced for me too since 0.1.30 and breaks many existing applications.


Stat size difference

import shutil
import pyfakefs.fake_filesystem
import os

ROOT_PATH = "/Volumes/ramdisk/newtest"

fs = pyfakefs.fake_filesystem.FakeFilesystem()
fs.CreateDirectory('/Volumes')
fs.CreateDirectory('/Volumes/ramdisk')
fs.CreateDirectory('/Volumes/ramdisk/newtest')
os0 = pyfakefs.fake_filesystem.FakeOsModule(fs)
opener0 = pyfakefs.fake_filesystem.FakeFileOpen(fs)

if False:
    os0 = os
    shutil.rmtree(ROOT_PATH)
    os.mkdir(ROOT_PATH)

component0 = "alpha"
component1 = ""
path0 = ROOT_PATH
path1 = ROOT_PATH
path0 += os.path.sep + component0
os0.symlink(path1,path0)
path0 += os.path.sep + component1
stat0 = os0.lstat(path0)
result = stat0.st_size

print result

24 for pyfakefs, 102 for Python!

I think this is something we won't fix - the size of symlink is implementation-specific and shall not matter in real code, so I don't see this as a real bug.
The result for the given test is 17 under Linux, 102 for MacOS, and 0 in Windows.

Ok, will see how to implement a workaround to avoid keeping reporting it.


Vue.js intellisense, code completion, suggestions crashing with some files

On M1 mac in VUE project, after a moments use of code completion it stops working. It behaves strange, seems like it depends on position in the file. When testing at the begining of the file, it works, but when i move deeper in the code, it doesn't and stops working completely.
Tried last 3 versions of VSC, it is the same. Installed just a few basic vue and vuetify extensions.

You can try to use the new extension bisect tool https://code.visualstudio.com/blogs/2021/02/16/extension-bisect to find which extension is causing the issue. When detected please file the issue against the corresponding extension.

i have run bisect and this is the result> mdi-vuetify-intellisense is causing the problem
i have submited the issue to project.
thanks for help


PublishTo settled, but sbt reports "Repository for publishing is not specified."

(See the guidelines for contributing, linked above)
steps
When I use Jenkins executes one job running with docker, to publish jar to one private nexus.
sbt reports "Repository for publishing is not specified."

git clone SCALA_PROJECT to jenkins slave_workspace;
docker run -v slave_workspace:${CONTAINER_WORKSPACE} sbt clean package publish
The error log is " Done packaging...  Repository for publishing is not specified."

problem
Though the publishTo value is settled in
build.sbt and  <-- in project root dir
~/.sbt/0.13/global.sbt   <-- in docker
sbt reports "Repository for publishing is not specified."
expectation
sbt can publish normally in my developing machine with above settings.  I think the sbt error message should not occurred.
notes
sbt version: 0.13.15

Are you sure everything is setup properly? Try adding "show publishTo" to the docker invocation:
docker run -v slave_workspace:${CONTAINER_WORKSPACE} sbt clean "show publishTo" package publish

I am closing this due to inactivity, but if this is still relevant let us know with more details (reproduction steps etc).


Allow attributes release policy and username resolution for OAuth2 Client Credentials flow

Allow attributes release policy and username resolution for Client Credentials OAuth2 flow
It's usefull when you want to add or transform attributes in this OAuth2 use case.

@apereocas-bot runci


[docs] Improve grammar in snackbars

[x] I have followed (at least) the PR section of the contributing guide.

@chaseholdren Thanks!


[core] Sort props ASC

One step closer to solve #1631 and https://github.com/mui-org/material-ui/issues/19706.

Do you make all this sortings manually? If so – we need some automate solution for that

We have a constraint on sorting the prop types, otherwise eslint crashes. It would be cool if we can extended this static analysis.


Fix connection to elasticsearch with empty credentials

Found a small bug with the latest update. The problem is that when Elasticsearch doesn't have a username/password it's impossible to connect to ES.
Due to "interesting" string interpolation logic of undefined in JS, the following code generates a wrong connection string
https://github.com/mountain-pass/addressr/blob/a4b76a5b445f3448048cca716b0919675d4c681d/client/elasticsearch.js#L155
> `${undefined}`
'undefined'

And even when you pass empty ELASTIC_USERNAME/ELASTIC_PASSWORD envs
https://github.com/mountain-pass/addressr/blob/370c5e8f465cac63ae2052d4a85740ce389c2c60/client/elasticsearch.js#L10-L11
> `${'' || undefined}`
'undefined'

Oh. I've added similar PR just seconds ago. :(
#327
@tompahoward you might wanna merge this (or my) PR. :)

@donbobka , sorry I missed this earlier. I've just merged #327 which I believe achieves the same, but lemme know if it doesn't


hang up command

as a solution or hack to address https://github.com/rusefi/rusefi/issues/5719 can we send a command to stop/hang up/stand by one of two WBOs by internal index?

Implemented in 0bbc32104d50cb43b1d92f3e5104eea222449184

Closing


[Question] How to change exposed"Firmware" value?

Hello,
Do you know which field and which cluster this "Firmware" value corresponds to in Matter fabric and iOS?
I couldn't find it in the project's source code. Is it in the SDK source code?

Regards

@lboue You can see PROJECT_VER_NUMBER definition in CMakeLists.txt :)
cmake_minimum_required(VERSION 3.5)

set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32_devkit_c)
set(PROJECT_VER "<IP_ADDRESS>")
set(PROJECT_VER_NUMBER 20231127)

Thanks 👍


Emit WorkUnitsCreated Count Event for MR deployed jobs.

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-766] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-766

Description

[ x] Here are some details about my PR, including screenshots (if applicable):

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Tested on Yugioh by emitted the events to kafka and verifying using kafka-tool

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2706 into master will decrease coverage by 40.71%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master   #2706       +/-   ##
============================================
- Coverage     44.87%   4.15%   -40.72%
+ Complexity     8708     736     -7972
============================================
  Files          1879    1879
  Lines         70095   70098        +3
  Branches       7704    7704
============================================
- Hits          31455    2915    -28540
- Misses        35728   66877    +31149
+ Partials       2912     306     -2606

Impacted Files
Coverage Δ
Complexity Δ

...ava/org/apache/gobblin/metrics/event/JobEvent.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...pache/gobblin/runtime/mapreduce/MRJobLauncher.java
54.49% <100%> (+0.38%)
18 <0> (ø)
:arrow_down:

...n/converter/AvroStringFieldDecryptorConverter.java
0% <0%> (-100%)
0% <0%> (-2%)

...he/gobblin/cluster/TaskRunnerSuiteThreadModel.java
0% <0%> (-100%)
0% <0%> (-5%)

...n/mapreduce/avro/AvroKeyCompactorOutputFormat.java
0% <0%> (-100%)
0% <0%> (-3%)

...apache/gobblin/fork/CopyNotSupportedException.java
0% <0%> (-100%)
0% <0%> (-1%)

.../gobblin/kafka/writer/KafkaWriterCommonConfig.java
0% <0%> (-100%)
0% <0%> (-7%)

...ker/task/TaskLevelPolicyCheckerBuilderFactory.java
0% <0%> (-100%)
0% <0%> (-2%)

...bblin/data/management/copy/AllEqualComparator.java
0% <0%> (-100%)
0% <0%> (-2%)

...blin/converter/string/ObjectToStringConverter.java
0% <0%> (-100%)
0% <0%> (-3%)

... and 1075 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 50280ee...2991aec. Read the comment docs.

Hi @htran1 @zxcware Can you please review this PL? Thanks

@krishraman Can you check travis failure?

Iterating the workunit Stream in the localJoblauncher is not possible because the same iterator is returned and then trying to get a flattened Wu's returns empty. Made a change to return flattened Wu's instead.

For LocalJob Launcher we can use the taskCount in taskSubmitted Event which is a representation of flattened workunits created.


when grouping cycles by rates, store the global total capacity for that cell_id (if auto)

for each cell_id, have two fields:
total_capacity,
auto_adjust.
If  auto_adjust is False, then total_capacity is only set if None.
If  auto_adjust is True, then total_capacity is set every time the data is processed.

also store the global start time.


go/vt/sqlparser: Make UNION's interactions with ORDER BY and WITH clauses more similar to MySQL.

I don't know if it still differs. I just fixed the concrete thing I knew about, which was just that ORDER BY / LIMIT should not bind on any inner queries that are not parenthesized.


Update netty-tcnative-boringssl-static to 2.0.53.Final

Updates io.netty:netty-tcnative-boringssl-static from 2.0.46.Final to 2.0.53.Final.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.netty", artifactId = "netty-tcnative-boringssl-static" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.netty", artifactId = "netty-tcnative-boringssl-static" }
}]

labels: library-update, commit-count:1

Superseded by #594.


Fixed indentation error in the aqara gas detector profile

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Yu Zou seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[chore] Bump Python requirement to 3.12

We'd like to decouple our Python version from the system Python.
The motivation is:

Allowing us to update our dependencies.
Allowing us to use projects that only support the latest Python (e.g. QEMU scripts).
Allowing us to test against one fixed Python version in CI.

This shouldn't cause any issues within Bazel, however hardware engineers using Python scripts directly (e.g. through fusesoc) may need to start using virtual environments.

We'd like to decouple our Python version from the system Python.
(...)
however hardware engineers using Python scripts directly (e.g. through fusesoc) may need to start using virtual environments.

I'm not generally opposing the changes proposed in this PR, just want to raise a concern that such changes should be properly discussed among teams and partners and that it's probably worth preparing a transition guide for integrators / downstream users.
If I understand correctly, there are two main changes:

using a project-specific / virtual environment installation of Python instead of the system Python;
updating from Python 3.8 to 3.12.

Is that accurate?
Going from Python 3.8 to 3.12 is basically a jump of four years (in terms of release date) which includes quite a few deprecations and subsequent removals. Not all OpenTitan partners may be able to make that change within a few hours, as Python code on their end may have to be changed.
As for using a project-specific / virtual environment installation of Python instead of the system Python, can this be bootstrapped on any Linux distribution (also consider older ones like CentOS 7) by a user in their local directories without superuser privileges? Does it also work for sandboxed machines (i.e., no internet access)?
This may be worth an RFC -- WDYT?


Remove margin

I want to remove the margin on both side of topbar. Please help.

Not sure where that is coming from but I didn't see any margin while using the sample app. I would look into your xml, you might have some margin there.


move legend on lineplots

I am having trouble finding documentation on how to move the legend on a line plot.
df.hvplot(x='LST_DATE', y=['T_DAILY_MIN', 'T_DAILY_MEAN', 'T_DAILY_MAX'], legend_position='top_left')
Appears to not be supported. Is there a work around? The default plots the legend right on top of my data... In can make my plot bigger but that does not seem like the right choice.

Try
df.hvplot(...).opts(legend_position='top_left')

I tried that as well:
df.hvplot(x='LST_DATE', y=['T_DAILY_MIN', 'T_DAILY_MEAN', 'T_DAILY_MAX']).opts(legend_position ='top_left')
Returns this error:
TypeError                                 Traceback (most recent call last)
 in ()
----> 1 df.hvplot(x='LST_DATE', y=['T_DAILY_MIN', 'T_DAILY_MEAN', 'T_DAILY_MAX']).opts(legend_position ='top_left')
/opt/conda/lib/python3.6/site-packages/holoviews/core/dimension.py in opts(self, options, backend, clone, **kwargs)
1386         elif clone:
1387             obj = self.map(lambda x: x.clone(id=x.id))
-> 1388         StoreOptions.set_options(obj, options, backend=backend, **kwargs)
1389         return obj
1390
/opt/conda/lib/python3.6/site-packages/holoviews/core/options.py in set_options(cls, obj, options, backend, **kwargs)
1721         # {'Image.Channel:{'plot':  Options(size=50),
1722         #                  'style': Options('style', cmap='Blues')]}
-> 1723         options = cls.merge_options(Store.options(backend=backend).groups.keys(), options, **kwargs)
1724         spec, compositor_applied = cls.expand_compositor_keys(options)
1725         custom_trees, id_mapping = cls.create_custom_trees(obj, spec)
/opt/conda/lib/python3.6/site-packages/holoviews/core/options.py in merge_options(cls, groups, options, **kwargs)
1589             for k, d in kwargs.items():
1590                 if spec_key in d:
-> 1591                     kws = d[spec_key]
1592                     additions.update({k:kws})
1593             if spec_key not in options:
TypeError: string indices must be integers

df.hvplot(x='LST_DATE', y=['T_DAILY_MIN', 'T_DAILY_MEAN', 'T_DAILY_MAX'], legend_position='top_left')

That sounds like a bug, this should definitely work.

Strange; it works for me on hvplot==0.4.0 and holoviews==1.12.3
import xarray as xr

ds = xr.tutorial.open_dataset('air_temperature')
tst = ds.isel(lat=0, lon=0).to_dataframe()

tst['airx2'] = tst['air'] * 2

tst.hvplot('time', y=['air', 'airx2']) + \
tst.hvplot('time', y=['air', 'airx2'], legend='top_left')

?Hi Andrew!
Thank you for the help. It appears that my problem is rooted in the version of hvplot  I am using. I really appreciate your helping me trouble shoot this.
Best,
Dax
Dax Soule
School of Earth and Environmental Sciences
Queens College
Flushing, NY 11367
(718) 997-3329

From: Andrew<EMAIL_ADDRESS>Sent: Monday, June 10, 2019 5:19 PM
To: pyviz/hvplot
Cc: Dax Soule; Author
Subject: Re: [pyviz/hvplot] move legend on lineplots (#215)
EXTERNAL EMAIL: please report suspicious content to the ITS Help Desk.
Strange; it works for me on hvplot==0.4.0 and holoviews==1.12.3
import xarray as xr
ds = xr.tutorial.open_dataset('air_temperature')
tst = ds.isel(lat=0, lon=0).to_dataframe()
tst['airx2'] = tst['air'] * 2
tst.hvplot('time', y=['air', 'airx2']) +
tst.hvplot('time', y=['air', 'airx2'], legend='top_left')
[image]https://user-images.githubusercontent.com/15331990/59227649-b8948680-8b8a-11e9-99bd-f443e8edd7ff.png

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pyviz/hvplot/issues/215?email_source=notifications&email_token=AHCJOC6LFQN6L5U2YBIHOVDPZ3AP7A5CNFSM4HWINGO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXLITEI#issuecomment-500599185, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHCJOC7C34ZOVC4KBXMID7TPZ3AP7ANCNFSM4HWINGOQ.

Great, can this be closed?

?Yes. Is this something that I do?
Dax Soule
School of Earth and Environmental Sciences
Queens College
Flushing, NY 11367
(718) 997-3329

From: Andrew<EMAIL_ADDRESS>Sent: Wednesday, June 12, 2019 10:44 PM
To: pyviz/hvplot
Cc: Dax Soule; Author
Subject: Re: [pyviz/hvplot] move legend on lineplots (#215)
EXTERNAL EMAIL: please report suspicious content to the ITS Help Desk.
Great, can this be closed?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/pyviz/hvplot/issues/215?email_source=notifications&email_token=AHCJOC3VBTUWDW6P4KLQ2KLP2GX7LA5CNFSM4HWINGO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXSLD7I#issuecomment-501527037, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHCJOC5J7WYXXYJHTYYYIMLP2GX7LANCNFSM4HWINGOQ.


why should i use static when i use [lv_event_cb_t] type?

hi, im a user of littlevgl. really thank you for making this.
i have a question. i use it as c/c++ mix up version.  then i had a problem.
why should i use "static" when i use [lv_event_cb_t] in [lv_obj_set_event_cb]?
i know it's defined [typedef void (*lv_event_cb_t)(struct _lv_obj_t * obj, lv_event_t event);]
but i can't understand why i must use it static function. i want to use it as just function. not static function.
can you give me some hint..?

There should be no need to make it a static function, unless you are using it within a class, where it would need to be static and not a class instance member.

We use GitHub issues for development related discussions.
Please use the forum to ask questions.
It's possible to sign in to the forum with your GitHub account... you don't need to make a separate account.


Correctly remove future_directives with # cython: language_level=2

Fix #2791

Is there any chance to backport this to 0.29.x? It would make it possible to use language_level=3str globally for a Cython project, but still use language_level=2 for a few files which haven't been ported.


Flexibilize usage

Currently only runs as a web service, should also be possible to run one-time operations from the command line or from within another javascript script.
Also offer a general-use server for image manipulation capable of uploading the source images (makes local use possible without installing ImageMagick)
Also need to invent the verb "flexibilize"

As an extra flexible feature (for platforms where you can't install imagemagixx with a simple npm i) I would like to suggest adding a remote option.
basically what it does
Installs the img server locally , but instead of using a local imgmagixx it forwards all the requests (and files) to a server and receives images over the network when done
protip: support batched requests and responses

I don't think we need that, all we need is automated launching, and then you make your requests directly to the remote, no need for a local running process

Allow POSTing image as an alternative to providing a URL

the idea for the remote is to support cli deps for for examples native builds (even when you cant install imgmagixx)

Supporting POSTed images will help with manipulating images that reside on your own machine (with extra options to suppress caching for one-off commands). After that we can make all sorts of command line helpers, integrations with dowhap the super system, etc.

Its not about making new cli commands its as a fallback for when things cant be installed, could use a post method indeed

@jimdebeer please check branch feature/2-flexibilize


lxc launch fails with short hash

I thought we fixed that one a while back, but apparently not...

We did, but the 'dbImageGet' call needs to be executed first. Even before we do 'ensureLocalImage'. Instead of ignoring the response from 'dbImageGet", we should replace the variable uuid with the fingerprint value from the returned struct. Thats should do the trick. Will send a pull request later.

Sorry, ensureLocalImage has to be before dbImageGet.


Add fixer for Go modules

Go 1.11 introduces the "go.mod" file and "go mod edit -fmt" to format
it. This adds a fixer for that.
This requires Go 1.11 to test, and a recently new version of vim-go
which sets the filetype for this file (was merged today). Or you can
stick this in your vimrc:
autocmd BufRead,BufNewFile go.mod set ft=gomod

I'll see if we can get it in the standard runtime files too.

I thought I had merged this already, but I hadn't.
Cheers! :beers:


Certes should not use System.Net.Http NuGet for desktop frameworks

Currently Certes is pulling System.Net.Http via NuGet. But this should be avoided for the Desktop Frameworks (net45, net47).

Most frameworks and libraries on desktop rely on the System.Net.Http that comes with the normal desktop .net Framework installation. Pulling the System.Net.Http NuGet causes typically a DLL-hell even though it should not result in additional DLLs added. Something gets messed up with version numbers and assembly redirects.
https://github.com/fszlin/certes/blob/eedf1a1fefd578c705d6dc82cc5ca81986b77ee6/src/Certes/Certes.csproj#L41
The code above should be replaced by
<Reference Include="System.Net.Http" Condition="'$(TargetFramework)' == 'net45' Or '$(TargetFramework)' == 'net47'" />

Here some similar issues from other projects
https://github.com/IdentityModel/IdentityModel2/issues/76
https://github.com/dotnet/corefx/issues/29622
https://github.com/serilog/serilog-sinks-splunk/issues/77
https://github.com/Azure/Azure-Functions/issues/477

Thanks, will make the changes.

Thanks a lot for the quick change. Do you already have an idea when you will publish this change to NuGet?

Should be live on Nuget now. Sorry for the delay.

Thanks a lot. I will directly attempt to upgrade our projects.


why doesn't helm lint fail for missing values in nested maps

When trying to reference a value that doesn't exist, I'd expect helm lint to fail. Example:
# values.yaml
service:
  type: ClusterIP
  port: 80

# templates/service.yaml
  ports:
    - port: {{ .Values.service.port }}
      something: {{ .Values.service.doesNotExist }}

Full repo with example: https://github.com/ntextreme3/helm-lint-nested-map-issue/commit/28f037dcf98fc994d9d544618ec62ecb89509346
Reproduce:

helm create helm-lint-nested-map-issue
cd helm-lint-nested-map-issue
Update templates/service.yaml to reference a value in a nested map that doesn't exist (e.g. .Values.service.doesNotExist)
helm lint --strict . does not fail

If you go deeper into the nesting, it does fail. So it seems as long as the top-level map exists, it doesn't fail on its keys. Example:
  ports:
    - port: {{ .Values.service.port }}
      something: {{ .Values.service.doesNotExist.alsoDoesNotExist }}

$ helm lint .
==> Linting .
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: template: helm-lint-nested-map-issue/templates/service.yaml:11:27: executing "helm-lint-nested-map-issue/templates/service.yaml" at <.Values.service.doesNotExist.alsoDoesNotExist>: nil pointer evaluating interface {}.alsoDoesNotExist

Error: 1 chart(s) linted, 1 chart(s) failed

Output of helm version:
version.BuildInfo{Version:"v3.10.3", GitCommit:"835b7334cfe2e5e27870ab3ed4135f136eecc704", GitTreeState:"clean", GoVersion:"go1.18.9"}

Also, I came across JSON Schema validation while digging into this https://helm.sh/docs/topics/charts/#schema-files -- but would only go that route if this is the expected behavior.

Additional information:
The lines of source code have been added in the following PR.
https://github.com/helm/helm/pull/5889

Linting for a helm chart is actually (somewhat confusingly enough) much different to validating the chart's templating.
In general templating can produce very different results depending on the input values. It can even produce different results on the same run (is non deterministic) e.g.
{{- if (gt randNumeric 1 '5') }}
 something: {{ .Values.service.doesNotExist }}
{{- end }}

helm lint does a cursory check that a given chart's templates will render, but as you found, it is ignoring missing values. Since it (at least) can't do an exhaustive check on values being valid. Json schema for your values (as you found) are the way to ensure inputs conform to your expectations. But
Personally, I like to use something like: helm template -f scenario1.values.yaml | kubectl apply --dry-run=server -f - (but you need to cover multiple "scenarios" if you chart is sufficiently complex; and of course charts that produce practically deterministic output are a must as well). As this both allows confirming a chart will produce valid yaml (for the given values), and can be understood/validated by a representative cluster.

Hi all.
I partially agree with the comrade @gjenkins8.
But still, if I believe the description from Helm's documentation, I can tell that the linter should display an error if key is missing, quote "If the linter encounters things that will cause the chart to fail installation, it will emit [ERROR] messages.", but it does not.
Source: https://helm.sh/docs/helm/helm_lint/.
For now, @ntextreme3, I can recommend my pipeline:

helm lint and values.schema.json only for validating the input data;
helm unittest to check if the templates are generated correctly according to the values on the input, good practice if you change something and don't want to check all the templates with your eyes;
helm template to just make sure the templates are generated.

This looks like it has some good answers. I'm closing this as solved.


XML formatter is sensitive to single quotes

Description
Indentation is messed up with this example file:
<root>
  <element attr='1'>
  <element attr='2'>
</root>

This is formatted as
<root>
  <element attr='1'>
<element attr='2'>
</root>

Formatter Implementation
v2
XML Tools Version
2.1.1
VS Code Version
1.23.1
Operating System
Win 10

These changes will support single-quoted attribute values, but keep in mind, the sample XML in this issue will likely still have issues as it is not valid XML. Self-closing tags must end with "/>" unlike HTML.

You are right, I must have introduced these errors in minimizing my example code - thanks for pointing them out. Thanks for the quick fix as well :)


Prompt users to try and give feedback on the language server

The language server will be ready for broad testing in the July release of the Python extension. We should add two notifications:

Prompt users to try the language server
Prompt a survey after users have used the language server

Prompt to try out the extension
Prompt the following notification to 10% of users who open python files using jedi:

Text: Try out Preview of our new Python Language Server to get richer and faster IntelliSense completions, and syntax errors as you type.
Buttons: [ Try it now ] [ No thanks ] [ Remind me Later ]

Try it now should add python.jediEnabled: false to user settings, no thanks dismisses the notification and it never appears again, remind me later will prompt the user the next time they start VS Code / load Jedi.
Prompt for feedback
After a random n of 100-500 completions, we should prompt the user to fill out a survey with feedback:

Text: Can you please take 2 minutes to tell us how the Experimental Debugger is working for you? [Yes, take survey now] [No, thanks]
If the user selects Yes, take survey now, the browser opens to a survey in survey monkey
If the user selects No Thanks, they never see the prompt again
If the user clicks the “x” on the notification, if the implementation is not complex, the notification can show again the first debug session at the next session of VS Code. Though n should keep incrementing every time they use the debugger so that the n value reported reflects the total number of times they ran the debugger.
Survey link: https://www.research.net/r/LJZV9BZ?n=[n_value]

@qubitron do you want the survey to ask about the Experimental Debugger, or the Language Server?

Language server, updated inline, thanks!


Deployment fails when template is deployed to southindia

Hi,
One customer is having this deployment failure when choosing southindia region:
{
"status": "Failed",
"error": {
"code": "BadRequest",
"message": "Region doesn't support non-consolidated component creation"
}
}
This is coming from the App Insights (Microsoft/Insights/Components) and leads to the whole template failing.
Could you contact me in private Teams chat and advise how to deploy this template in South India?
How can he deploy the template without app insights, so that the deployment succeeds?
Thank you.

Feedback from the customer:
In the template docs, we do not clearly state which regions are supported for the resources in the template.
This led to multiple issues in its deployment.

Thank you for submitting the feedback, documentation has been updated on supporting regions, as we work to ensure consistent responses with items logged in our issues list, we are working to address these items that did not get responses. Please let us know if you still require assistance and we will be happy to discuss. If no further action is needed at moment and no response is received, we will close out the issue in 3 business days. You may also always open a new issue or respond here if something does come back up. Thank you!


Saber locks up with too much interrupt

Ok so I tried my sabers out at my wedding and we had one break on me (physically) but the others worked until you either left them on for about 5 min or swung them around a lot (twirling)...if you left it on it would suddenly cut the audio but keep light on and you'd have to kill battery in order to fix it....with the swinging it would suddenly loop a small portion of audio and become unresponsive...likewise I had to cut battery and then it worked fine

Hello
should be corrected by v1.0.4


CSS ordering/specificity is incorrect

When replacing tailwind.css with benefit.css for https://github.com/tailwindcss/playground (https://epic-edison-761ca3.netlify.com/), things like md:pl-4 pl-0 don't behave as expected.
There are a couple things to address:

[x] css.js shouldn't sort classes at all when outputting them.
[x] Classes should be generated such that specific rules are added after generic rules. (e.g. .bg-white, then .sm:bg-blue, then .sm:bg-black:hover)
[x] styleWith should respect the ordering of classes from the above efforts, vs. emotion enforcing left-to-right prioritization.

Confirmed fixing this corrects the CSS issue: classes are compiled in the order they're listed in Object.keys(utilities) (which is deterministic):

Looking into the behavior when using styleWith now...

Enforcing order with styleWith ea8a0f4
Notice how we see the reset class, the md:pl-16 class, and the pl-0 class.
There's a potential that, if these rules are called individually, then we can't guarantee that their order matches that of `utilities.
Enforcing order with cx 59a643b
This builds on ea8a0f4 in that, instead of concatenating strings, we pass it to cx to ensure that the rules are compiled in an order to ensure it's deterministic:

I feel that this version is the safest approach: changing order of utilities will be all that's necessary to enforce order.

The most controversial part is b65740861d091f9bc0b43940cd0522511b90977f, where normalizeClass is removed from each utility.
We've discussed this before, and it seems with more & more examples that normalization per-class (or per-usage) is overkill, as it's attempting to neuter a cascade that doesn't exist (or that we would want via base.css).
My recommendation would be for "sandboxing" to be done via a flag (like important), or a isolateWith(...) version.

Sweet!

styleWith keeps original behavior.
cx uses emotion's cx utility to enforce order & flattens classes down.
normalization has been removed by default so it can be added in React land.

@cdonohue I didn't have to update them with normalization removed. (Didja know that Netlify apparently runs the tests??)

  Tests were passing until I added cx.
Didn't realize you had CodeShip!


The description of "public IP prefix"  in portal.

The user request that there is the description of "public IP prefix" in Azure portal.   The following articles will be involved:  articles/virtual-network/associate-public-ip-address-vm.md
articles/virtual-network/index.md
articles/virtual-network/manage-public-ip-address-prefix.md
articles/virtual-network/public-ip-address-prefix.md

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

ID: 1ff0cc43-48e9-4ce6-edd7-24fe07280737
Version Independent ID: 4bf0c32c-3dc4-8231-87dd-bf8924f2755e
Content: Create, change, or delete an Azure public IP address prefix
Content Source: articles/virtual-network/manage-public-ip-address-prefix.md
Service: virtual-network
GitHub Login: @anavinahar
Microsoft Alias: anavin

@rockboyfor , can you please elaborate your issue ?
In the portal below is the description which you get when you try to create Public IP prefix:
"A Public IP prefix is a range of contiguous static public IP addresses. Azure allocates a static range of addresses to your subscription based on how many you specify. This allows you to associate public IP addresses to virtual machines, load balancers, or other resources from a predictable range that will not change when moved or dissociated from the resource."

This articles describe Public IP prefix as the spelling of "Public IP address prefix". Actually, We can only search this feature as Public IP prefix in the the portal.  Maybe it is typo in this articles.  The following articles also contains this typo.
https://docs.microsoft.com/azure/virtual-network/associate-public-ip-address-vm
https://docs.microsoft.com/azure/virtual-network/index
https://docs.microsoft.com/azure/virtual-network/manage-public-ip-address-prefix
https://docs.microsoft.com/azure/virtual-network/public-ip-address-prefix

@msrini-MSFT , Sorry to add split line to render the previous comments as bold format.

@rockboyfor , Thank you for your feedback. Public IP address are different from Public IP prefixes.
As you mentioned Public IP prefix are correct and documentation needs to be updated to Public IP Prefix instead of Public IP address prefix.
I will validate with the author and update the doc.

@anavinahar , Can you please confirm that the name of the component has to be "Public IP Prefix" and not "Public IP Address Prefix" ?

@rockboyfor , Thank you for your feedback. Your feedback has been shared to author and we will validate and take appropriate actions.


Add research notice

I hope this is okay, but let me know if there are any issues or a better place for this to go! :) @sdruskat is aware of this project.

Thanks @yochannah for this PR. Happy to be a part of this project.
We may reformat the notice at some point by, e.g., assigning it a larger header level if that's okay. Won't touch the contents though :wink:.


Dive into tailwind usage in rust

https://docs.rs/tailwind-css/latest/tailwind_css/

Closing in favor of: https://github.com/axodotdev/oranda/issues/59


[DRAFT] Additional configuration for peer verification (server_name) and keys logging (keylog_path)

Another draft to discuss API/approach 😁
There are a few additional configuration options that I'm working on:

server_name for quiche::connect. I extended QuicBuilder with serverName() API and passed given configuration into QuicheQuicClientCodec as a constructor argument that later goes into QuicheQuicChannel.handleConnect. This seems to be a reasonable approach.

logKeys() configuration option using JNI call to quiche_config_log_keys

ChannelOption to set keylog_path. This one is interesting/questionable. Quiche does not store keylog_path as a part of configuration, there's  a separate API how to setup it for a given pointer to connect (I've implemented JNI wrapper  for it). Apparently, the reason is that I can use different files for different connections 🤔 I created new ChannelOption for this setting and use it after connect gives me connAddr. I'm not sure that the same approach would work for the server as when we perform accept within QuicheQuicServerCodec::handleServer I don't think I have access to ChannelOptions that were set to the Bootstrap object. So... either I need to store this configuration as a part of codec rather than channel (but how can I setup different files  for different connections?), or apply this in channelActive (which seems to be too late?) @normanmaurer WDYT?

I did miss that one and just refactored the builder stuff today. That said I think the server name stuff should be a ChannelOption

Okay, cool. I'm going to merge with latest changes and move this from builder into ChannelConfig

Can we Split the prs as well ?

Sure!