Request for Help: WebSocket Connection Issue with Jitsi on Azure Kubernetes

Hi everyone,
Firstly, I want to commend the excellent work on the Chart! It's been incredibly helpful.
I'm currently facing an issue with my Jitsi setup on an Azure Kubernetes Cluster where WebSocket support, intended for higher video quality, consistently fails. Here's the error I'm encountering:
BridgeChannel.js:92 WebSocket connection to 'wss://<url>/colibri-ws/<IP_ADDRESS>/a0f267fa8b539273/35fb3c8a?pwd=xxx' failed:

To provide some context, the Jitsi Video Bridge (JVB) is publicly available via hostport. Additionally, here’s the ingress configuration for web access:
ingress:
    enabled: true
    ingressClassName: azure-application-gateway
    annotations:
      #kubernetes.io/ingress.class: azure/application-gateway
      cert-manager.io/cluster-issuer: letsencrypt-prod
      kubernetes.io/tls-acme: "true"
    hosts:
      - host: host
        paths: ["/"]
    tls:
      - secretName: jitsi-web-tls
        hosts:
          - host

Could anyone suggest any modifications to the ingress settings or other configuration changes that might help resolve the WebSocket connectivity issue? I'm wondering if specific adjustments are necessary for the ingress to support WebSocket connections.
Thank you for your time and any assistance you can provide!

colibri websocket is a permanent connection between the client and the server. If ingress drops the connections after a while, this will break the signaling.
You may try to increase timeouts:
ingress:
  annotations:
    nginx.ingress.kubernetes.io/proxy-read-timeout: "7200"
    nginx.ingress.kubernetes.io/proxy-sent-timeout: "7200"

Hi emrahcom,
Thanks for the suggestion! I tried updating my configuration as you recommended, but unfortunately, it didn't resolve the issue. The error persists, and it seems like the WebSocket connection isn't being established at all. Any other ideas or adjustments I could try?
Appreciate your help!

Hello @Bananenbrot1!
You can try using the current main branch snapshot with these values:
# jitsi-values.yaml
websockets:
  colibri:
    enabled: false
  xmpp:
    enabled: false

Current main snapshot sets all the necessary environment variables required for proper function of legacy datachannels which work well when WebSockets fail.

It may be also related with COLIBRI_WEBSOCKET_REGEX depending on the Jitsi version.
https://github.com/jitsi/docker-jitsi-meet/blob/master/web/rootfs/defaults/meet.conf#L3C5-L3C28
It should be the following for this case:
COLIBRI_WEBSOCKET_REGEX=[0-9.]+

Hi @spijet,
Thanks for the quick response! I implemented the extraCommonEnvs as you suggested, and it indeed resolved the error. Now, I can successfully receive and stream videos at 360p, which is a small but appreciated improvement 👍.
However, I'm hesitant about using a legacy version since I'm aiming to build a clean, modern stack. Do you have any insights on how I might enable the websockets to function properly in this setup?
Do you think upgrading to the head of main of the chart would solve the issue?
Hi @emrahcom,
Thank you as well for your prompt reply. I tried setting the environment variable as you advised, but unfortunately, there's been no change—I'm still seeing the same error message. Any other suggestions?
Thanks again for all the help!

Hey @spijet
sure! Here is our values.yaml file.
# Default values for jitsi-meet.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

global:
  # Set your cluster's DNS domain here.
  # "cluster.local" should work for most environments.
  # Set to "" to disable the use of FQDNs (default in older chart versions).
  clusterDomain: cluster.local
  podLabels: {}
  podAnnotations: {}
  releaseSecretsOverride:
    enabled: false
    #Support environment variables from pre-created secrets, such as 1Password operator
    #extraEnvFrom:
    #  - secretRef:
    #      name: '{{ include "prosody.fullname" . }}-overrides'
    #      optional: true

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

enableAuth: false
enableGuests: true
# Where Jitsi Web UI is made available
# such as jitsi.example.com
# test-jitsi.hellopeers.com
publicURL: "pubUrl"

tz: Europe/Amsterdam

image:
  pullPolicy: IfNotPresent

## WebSocket configuration:
#
#  Both Colibri and XMPP WebSockets are disabled by default,
#  since some LoadBalancer / Reverse Proxy setups can't pass
#  WebSocket connections properly, which might result in breakage
#  for some clients.
#
#  Enable both Colibri and XMPP WebSockets to replicate the current
#  upstream `meet.jit.si` setup. Keep both disabled to replicate
#  older setups which might be more compatible in some cases.
websockets:
  ## Colibri (JVB signalling):
  colibri:
    enabled: true
  ## XMPP (Prosody signalling):
  xmpp:
    enabled: true

web:
  replicaCount: 1
  image:
    repository: jitsi/web

  custom:
    contInit:
      _10_config: ""
    defaults:
      _default: ""
      _ffdhe2048_txt: ""
      _interface_config_js: ""
      _meet_conf: ""
      _nginx_conf: ""
      _settings_config_js: ""
      _ssl_conf: ""
      _system_config_js: ""

  extraEnvs: {}
  service:
    type: ClusterIP
    port: 80
    ## If you want to expose the Jitsi Web service directly
    #  (bypassing the Ingress Controller), use this:
    #
    # type: NodePort
    # nodePort: 30580
    # port: 80
    externalIPs: []

  ingress:
    enabled: true
    ingressClassName: azure-application-gateway
    annotations:
      #kubernetes.io/ingress.class: azure/application-gateway
      cert-manager.io/cluster-issuer: letsencrypt-prod
      kubernetes.io/tls-acme: "true"
      nginx.ingress.kubernetes.io/proxy-read-timeout: "7200"
      nginx.ingress.kubernetes.io/proxy-sent-timeout: "7200"
    hosts:
      - host: host
        paths: ["/"]
    tls:
      - secretName: jitsi-web-tls
        hosts:
          - host

  # Useful for ingresses that don't support http-to-https redirect by themself, (namely: GKE),
  httpRedirect: false

  # When tls-termination by the ingress is not wanted, enable this and set web.service.type=Loadbalancer
  httpsEnabled: false

  ## Resolver IP for nginx.
  #
  #  Starting with version `stable-8044`, the web container can
  #  auto-detect the nameserver from /etc/resolv.conf.
  #  Use this option if you want to override the nameserver IP.
  #
  # resolverIP: <IP_ADDRESS>

  livenessProbe:
    httpGet:
      path: /
      port: 80
  readinessProbe:
    httpGet:
      path: /
      port: 80

  podLabels: {}
  podAnnotations: {}
  podSecurityContext:
    {}
    # fsGroup: 2000

  securityContext:
    {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  resources:
    {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 128Mi
    # requests:
    #   cpu: 100m
    #   memory: 128Mi

  nodeSelector: {}

  tolerations: []

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: agentpool
                operator: In
                values:
                  - nodepool

jicofo:
  replicaCount: 1
  image:
    repository: jitsi/jicofo

  custom:
    contInit:
      _10_config: ""
    defaults:
      _jicofo_conf: ""
      _logging_properties: ""

  xmpp:
    password: "xxx"
    componentSecret:

  livenessProbe:
    tcpSocket:
      port: 8888

  readinessProbe:
    tcpSocket:
      port: 8888

  podLabels: {}
  podAnnotations: {}
  podSecurityContext: {}
  securityContext: {}
  resources: {}
  nodeSelector: {}
  tolerations: []
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: agentpool
                operator: In
                values:
                  - nodepool
  extraEnvs: {}

jvb:
  useHostPort: true
  UDPPort: 32768

  publicIPs:
    publicIPs
  replicaCount: 1
  image:
    repository: jitsi/jvb

  xmpp:
    user: jvb
    password: "xxx"

  tolerations:
    - key: "type"
      operator: "Equal"
      value: "jvb"
      effect: "NoSchedule"

  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchExpressions:
              - key: app.kubernetes.io/component
                operator: In
                values:
                  - jvb
          topologyKey: "kubernetes.io/hostname"
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: type
                operator: In
                values:
                  - jvb

  ## Use a STUN server to help some users punch through some
  #  especially nasty NAT setups. Usually makes sense for P2P calls.
  stunServers: "meet-jit-si-turnrelay.jitsi.net:443"

  metrics:
    enabled: true
    image:
      repository: docker.io/systemli/prometheus-jitsi-meet-exporter
      tag: 1.2.3
      pullPolicy: IfNotPresent

    prometheusAnnotations: false
    serviceMonitor:
      enabled: true
      selector:
        release: monitoring
      interval: 10s
      # honorLabels: false

    grafanaDashboards:
      enabled: true
      labels:
        grafana_dashboard: "1"
      annotations: {}
octo:
  enabled: true

jigasi:
  ## Enabling Jigasi will allow regular SIP clients to join Jitsi meetings
  ## or nearly real-time transcription.
  enabled: false

  ## Use external Jigasi installation.
  ## This setting skips the creation of Jigasi Deployment altogether,
  ## instead creating just the config secret and enabling services.
  ## Defaults to disabled (use bundled Jigasi).
  useExternalJigasi: false

  replicaCount: 1
  image:
    repository: jitsi/jigasi

  breweryMuc: jigasibrewery

  ## jigasi XMPP user credentials:
  xmpp:
    user: jigasi
    password:

  livenessProbe:
    tcpSocket:
      port: 8788
  readinessProbe:
    tcpSocket:
      port: 8788

  podLabels: {}
  podAnnotations: {}
  podSecurityContext: {}
  securityContext: {}
  resources: {}
  nodeSelector: {}
  tolerations: []
  affinity: {}
  extraEnvs: {}

jibri:
  ## Enabling Jibri will allow users to record
  ## and/or stream their meetings (e.g. to YouTube).
  enabled: false

  ## Use external Jibri installation.
  ## This setting skips the creation of Jibri Deployment altogether,
  ## instead creating just the config secret
  ## and enabling recording/streaming services.
  ## Defaults to disabled (use bundled Jibri).
  useExternalJibri: false

  ## Enable single-use mode for Jibri.
  ## With this setting enabled, every Jibri instance
  ## will become "expired" after being used once (successfully or not)
  ## and cleaned up (restarted) by Kubernetes.
  ##
  ## Note that detecting expired Jibri, restarting and registering it
  ## takes some time, so you'll have to make sure you have enough
  ## instances at your disposal.
  ## You might also want to make LivenessProbe fail faster.
  singleUseMode: false

  ## Enable recording service.
  ## Set this to true/false to enable/disable local recordings.
  ## Defaults to enabled (allow local recordings).
  recording: true

  ## Enable livestreaming service.
  ## Set this to true/false to enable/disable live streams.
  ## Defaults to disabled (livestreaming is forbidden).
  livestreaming: false

  ## Enable multiple Jibri instances.
  ## If enabled (i.e. set to 2 or more), each Jibri instance
  ## will get an ID assigned to it, based on pod name.
  ## Multiple replicas are recommended for single-use mode.
  replicaCount: 1

  ## Enable persistent storage for local recordings.
  ## If disabled, jibri pod will use a transient
  ## emptyDir-backed storage instead.
  persistence:
    enabled: false
    size: 4Gi
    ## Set this to existing PVC name if you have one.
    existingClaim:
    storageClassName:

  shm:
    ## Set to true to enable "/dev/shm" mount.
    ## May be required by built-in Chromium.
    enabled: false
    ## If "true", will use host's shared memory dir,
    ## and if "false" — an emptyDir mount.
    # useHost: false
    # size: 256Mi

  ## Configure the update strategy for Jibri deployment.
  ## This may be useful depending on your persistence settings,
  ## e.g. when you use ReadWriteOnce PVCs.
  ## Default strategy is "RollingUpdate", which keeps
  ## the old instances up until the new ones are ready.
  # strategy:
  #   type: RollingUpdate

  image:
    repository: jitsi/jibri

  podLabels: {}
  podAnnotations: {}

  breweryMuc: jibribrewery
  timeout: 90

  ## jibri XMPP user credentials:
  xmpp:
    user: jibri
    password:

  ## recorder XMPP user credentials:
  recorder:
    user: recorder
    password:

  livenessProbe:
    initialDelaySeconds: 5
    periodSeconds: 5
    failureThreshold: 2
    exec:
      command:
        - /bin/bash
        - "-c"
        - >-
          curl -sq localhost:2222/jibri/api/v1.0/health
          | jq '"\(.status.health.healthStatus) \(.status.busyStatus)"'
          | grep -qP 'HEALTHY (IDLE|BUSY)'

  readinessProbe:
    initialDelaySeconds: 5
    periodSeconds: 5
    failureThreshold: 2
    exec:
      command:
        - /bin/bash
        - "-c"
        - >-
          curl -sq localhost:2222/jibri/api/v1.0/health
          | jq '"\(.status.health.healthStatus) \(.status.busyStatus)"'
          | grep -qP 'HEALTHY (IDLE|BUSY)'

  extraEnvs: {}
  custom:
    contInit:
      _10_config: ""
    defaults:
      _autoscaler_sidecar_config: ""
      _jibri_conf: ""
      _logging_properties: ""
      _xorg_video_dummy_conf: ""

serviceAccount:
  # Specifies whether a service account should be created
  create: true
  # Annotations to add to the service account
  annotations: {}
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name:

xmpp:
  domain: meet.jitsi
  authDomain:
  mucDomain:
  internalMucDomain:
  guestDomain:

extraCommonEnvs:
  START_VIDEO_MUTED: "50"
  # COLIBRI_WEBSOCKET_REGEX: "[0-9.]+"
  # ENABLE_SCTP: "true"
  # ENABLE_COLIBRI_WEBSOCKET: "false"
  # JVB_PREFER_SCTP: "true"

prosody:
  enabled: true
  useExternalProsody: false
  server:
  extraEnvFrom:
    # - secretRef:
    #     name: '{{ include "prosody.fullname" . }}-jibri'
    - secretRef:
        name: '{{ include "prosody.fullname" . }}-jicofo'
    # - secretRef:
    #     name: '{{ include "prosody.fullname" . }}-jigasi'
    - secretRef:
        name: '{{ include "prosody.fullname" . }}-jvb'
    - configMapRef:
        name: '{{ include "prosody.fullname" . }}-common'
  image:
    repository: jitsi/prosody
  # service:
  #   ports:
  # If Prosody c2s in needed on private net outside the cluster
  #     xmppc2snodePort: 30522
  custom:
    contInit:
      _10_config: ""
    defaults:
      _prosody_cfg_lua: ""
      _saslauthd_conf: ""
      _jitsi_meet_cfg_lua: ""
    tag: "stable-9111"
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: agentpool
                operator: In
                values:
                  - nodepool

And here is the browser console log:
LocalStatsCollector.js:169 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
Bi.connectAudioContext @ LocalStatsCollector.js:169
Logger.js:155 2024-04-17T13:29:02.484Z [features/base/redux] <Object.persistState>:  redux state persisted. 9f2be0c6182ebba582d855acb22e5dd1 -> 7163dd433209cfe005396baf50e2ddd1
Logger.js:155 2024-04-17T13:29:02.521Z [JitsiMeetJS.ts] <Object.init>:  This appears to be chrome, ver: <IP_ADDRESS>
Logger.js:155 2024-04-17T13:29:02.521Z [modules/RTC/RTCUtils.js] <Nr.init>:  Disable AP: false
Logger.js:155 2024-04-17T13:29:02.522Z [modules/RTC/RTCUtils.js] <Nr.init>:  Stereo: false
Logger.js:155 2024-04-17T13:29:02.523Z [features/base/lib-jitsi-meet] lib-jitsi-meet version:456e45ee
Logger.js:155 2024-04-17T13:29:02.524Z [features/base/media] Start muted: audio,
Logger.js:155 2024-04-17T13:29:02.525Z [features/base/media] Start audio only set to false
Logger.js:155 2024-04-17T13:29:02.525Z [features/analytics] Initialized 0 analytics handlers
Logger.js:155 2024-04-17T13:29:02.623Z [index.web] <HTMLDocument.<anonymous>>:  (TIME) document ready:<PHONE_NUMBER>238419
lang/countries.json:1

       Failed to load resource: the server responded with a status of 404 (Not Found)
Logger.js:155 2024-04-17T13:29:02.871Z [modules/RTC/RTCUtils.js] Audio output device set to default
test:55 Service worker registered. ServiceWorkerRegistration
Logger.js:155 2024-04-17T13:29:02.924Z [modules/RTC/RTCUtils.js] <ud>:  list of media devices has changed: Array(8)
Logger.js:155 2024-04-17T13:29:02.936Z [modules/RTC/RTCUtils.js] <Nr.<anonymous>>:  Got media constraints:  {"video":{"height":{"ideal":720},"width":{"ideal":1280},"facingMode":"user"},"audio":{"autoGainControl":true,"echoCancellation":true,"noiseSuppression":true}}
injected.js:4 Retrieving "b5x-stateful-inline-icon" flag errored: timed out - falling back
qy @ injected.js:4
Show 1 more frame
Show less
Logger.js:155 2024-04-17T13:29:04.479Z [modules/RTC/RTCUtils.js] onUserMediaSuccess
Logger.js:155 2024-04-17T13:29:04.489Z [features/base/redux] <Object.persistState>:  redux state persisted. 7163dd433209cfe005396baf50e2ddd1 -> 19c15861d98895c0aa9e2d7d8c9746e4
Logger.js:155 2024-04-17T13:29:04.505Z [features/base/media] Sync audio track muted state to muted
Logger.js:155 2024-04-17T13:29:04.508Z [modules/RTC/JitsiLocalTrack.js] Mute LocalTrack[1,audio]: true
Logger.js:155 2024-04-17T13:29:04.544Z [features/base/connection] Using service URL https://url/http-bind
Logger.js:155 2024-04-17T13:29:04.546Z [modules/xmpp/moderator.js] <new is>:  Using xmpp for conference requests.
Logger.js:155 2024-04-17T13:29:04.547Z [modules/xmpp/xmpp.js] <ja._initStrophePlugins>:  P2P STUN servers:  Array(1)
Logger.js:155 2024-04-17T13:29:04.554Z [modules/xmpp/xmpp.js] <ja.connectionHandler>:  (TIME) Strophe connecting:	 2804.600000023842
Logger.js:155 2024-04-17T13:29:05.154Z [modules/xmpp/XmppConnection.js] <Jo._maybeEnableStreamResume>:  Stream resume enabled, but WebSockets are not enabled
r @ Logger.js:155
Show 1 more frame
Show less
Logger.js:155 2024-04-17T13:29:05.154Z [modules/xmpp/strophe.ping.js] <$o.startInterval>:  XMPP pings will be sent every 10000 ms
Logger.js:155 2024-04-17T13:29:05.154Z [modules/xmpp/xmpp.js] <ja.connectionHandler>:  (TIME) Strophe connected:	 3405.899999976158
Logger.js:155 2024-04-17T13:29:05.154Z [modules/xmpp/xmpp.js] <ja.connectionHandler>:  My Jabber ID<EMAIL_ADDRESS>Logger.js:155 2024-04-17T13:29:05.174Z [modules/RTC/CodecSelection.js] <new Ja>:  Codec preference order for jvb connection is vp9,vp8,h264,av1
Logger.js:155 2024-04-17T13:29:05.175Z [modules/RTC/CodecSelection.js] <new Ja>:  Codec preference order for p2p connection is vp9,vp8,h264,av1
Logger.js:155 2024-04-17T13:29:05.175Z [modules/xmpp/xmpp.js] <ja.createRoom>:  JID<EMAIL_ADDRESS>using MUC nickname 0c594c68
Logger.js:155 2024-04-17T13:29:05.175Z [modules/xmpp/ChatRoom.js] <new xs>:  Joining MUC as<EMAIL_ADDRESS>Logger.js:155 2024-04-17T13:29:05.176Z [modules/statistics/AvgRTPStatsReporter.js] <new Oh>:  Avg RTP stats will be calculated every 15 samples
Logger.js:155 2024-04-17T13:29:05.176Z [JitsiConference.js] <new du>:  backToP2PDelay: 5
Logger.js:155 2024-04-17T13:29:05.176Z [JitsiConference.js] <new du>:  End-to-End Encryption is supported
Logger.js:155 2024-04-17T13:29:05.178Z [JitsiConference.js] <du._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSession
Logger.js:155 2024-04-17T13:29:05.178Z [JitsiConference.js] <du._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSession
Logger.js:155 2024-04-17T13:29:05.185Z [modules/xmpp/moderator.js] <conferenceRequestSent.Promise.then.conferenceRequestSent>:  Sending conference request over XMPP to focus.meet.jitsi
Logger.js:155 2024-04-17T13:29:05.188Z [conference.js] Initialized with 1 local tracks
Logger.js:155 2024-04-17T13:29:05.228Z [modules/xmpp/strophe.jingle.js] getting turn credentials with extdisco:2 failed, trying extdisco:1
r @ Logger.js:155
Show 1 more frame
Show less
Logger.js:155 2024-04-17T13:29:05.234Z [modules/xmpp/xmpp.js] <ja._maybeSendDeploymentInfoStat>:  {"region":"all","userRegion":"all","id":"deployment_info"}
Logger.js:155 2024-04-17T13:29:05.368Z [modules/xmpp/moderator.js] <is._handleSuccess>:  Adding focus JID<EMAIL_ADDRESS>Logger.js:155 2024-04-17T13:29:05.368Z [modules/xmpp/moderator.js] <is._handleSuccess>:  Authentication enabled: false
Logger.js:155 2024-04-17T13:29:05.369Z [modules/xmpp/moderator.js] <is._handleSuccess>:  Sip gateway enabled: undefined
Logger.js:155 2024-04-17T13:29:05.369Z [modules/xmpp/moderator.js] <is._handleSuccess>:  Conference-request successful, ready to join the MUC.
Logger.js:155 2024-04-17T13:29:05.369Z [modules/xmpp/strophe.jingle.js] getting turn credentials failed
r @ Logger.js:155
Show 1 more frame
Show less
Logger.js:155 2024-04-17T13:29:05.369Z [modules/xmpp/strophe.jingle.js] is mod_turncredentials or similar installed and configured?
r @ Logger.js:155
Show 1 more frame
Show less
Logger.js:155 2024-04-17T13:29:05.404Z [modules/xmpp/ChatRoom.js] <xs.onPresence>:  (TIME) MUC join started:	 3656
Logger.js:155 2024-04-17T13:29:05.437Z [modules/xmpp/ChatRoom.js] <xs.onPresence>:  entered<EMAIL_ADDRESS>Object
Logger.js:155 2024-04-17T13:29:05.438Z [modules/version/ComponentsVersions.js] Got focus version: 1.0.1057
Logger.js:155 2024-04-17T13:29:05.440Z [JitsiConference.js] <du._updateProperties>:  Audio unmute permissions set by Jicofo to false
Logger.js:155 2024-04-17T13:29:05.440Z [JitsiConference.js] <du._updateProperties>:  Video unmute permissions set by Jicofo to false
Logger.js:155 2024-04-17T13:29:05.441Z [modules/xmpp/ChatRoom.js] <xs.onPresence>:  Jicofo supports restart by terminate: true
Logger.js:155 2024-04-17T13:29:05.441Z [conference.js] <o.<anonymous>>:  My role changed, new role: none
Logger.js:155 2024-04-17T13:29:05.442Z [modules/xmpp/ChatRoom.js] <xs.onPresence>:  (TIME) MUC joined:	 3693.699999988079
Logger.js:155 2024-04-17T13:29:05.455Z [modules/xmpp/ChatRoom.js] <xs.onMessage>:  Subject is changed to
Logger.js:155 2024-04-17T13:29:05.604Z [conference.js] <o.<anonymous>>:  My role changed, new role: moderator
Logger.js:155 2024-04-17T13:29:12.849Z [modules/xmpp/ChatRoom.js] <xs.onPresence>:  entered<EMAIL_ADDRESS>Object
Logger.js:155 2024-04-17T13:29:12.864Z [conference.js] <o.<anonymous>>:  USER 0face48b connected: _r
Logger.js:155 2024-04-17T13:29:12.864Z [JitsiConference.js] <du._maybeStartOrStopP2P>:  Will start P2P with<EMAIL_ADDRESS>Logger.js:155 2024-04-17T13:29:12.865Z [JitsiConference.js] <du._startP2PSession>:  Created new P2P JingleSession<EMAIL_ADDRESS><EMAIL_ADDRESS>Logger.js:155 2024-04-17T13:29:12.877Z [modules/RTC/TraceablePeerConnection.js] <new Tl>:  Using RTCRtpTransceiver#setCodecPreferences for codec selection
Logger.js:155 2024-04-17T13:29:12.877Z [modules/RTC/TraceablePeerConnection.js] <new Tl>:  Create new TPC[id=1,type=P2P]
Logger.js:155 2024-04-17T13:29:12.877Z [JitsiConference.js] <du._startP2PSession>:  Starting CallStats for P2P connection...
Logger.js:155 2024-04-17T13:29:12.877Z [modules/RTC/TraceablePeerConnection.js] <Tl.addTrack>:  TPC[id=1,type=P2P] adding LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:12.971Z [modules/xmpp/strophe.jingle.js] <Ta.onJingle>:  Found a JSON-encoded element in session-initiate, translating to standard Jingle.
Logger.js:155 2024-04-17T13:29:12.971Z [modules/xmpp/strophe.jingle.js] <Ta.onJingle>:  (TIME) received session-initiate:	 11222.300000011921
Logger.js:155 2024-04-17T13:29:12.973Z [modules/RTC/TraceablePeerConnection.js] <new Tl>:  Using RTCRtpTransceiver#setCodecPreferences for codec selection
Logger.js:155 2024-04-17T13:29:12.973Z [modules/RTC/TraceablePeerConnection.js] <new Tl>:  Create new TPC[id=2,type=JVB]
Logger.js:155 2024-04-17T13:29:12.973Z [JitsiConference.js] <du._setBridgeChannel>:  SCTP: offered=false, prefered=false
Logger.js:155 2024-04-17T13:29:12.973Z [JitsiConference.js] Using colibri-ws url wss://url/colibri-ws/<IP_ADDRESS>/e615b440c76e4752/0c594c68?pwd=5oo87muk0ppjcmqpbm1gkruca4
Logger.js:155 2024-04-17T13:29:12.975Z [modules/RTC/TraceablePeerConnection.js] <Tl.addTrack>:  TPC[id=2,type=JVB] adding LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:12.978Z [JitsiConference.js] <du._acceptJvbIncomingCall>:  Starting CallStats for JVB connection...

Logger.js:155 2024-04-17T13:29:13.399Z [modules/xmpp/JingleSessionPC.js] <ya.setVideoCodecs>:  JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] setVideoCodecs: vp9,vp8,h264,av1
Logger.js:155 2024-04-17T13:29:13.399Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.399Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.403Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] Processing addRemoteStream
Logger.js:155 2024-04-17T13:29:13.410Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.410Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"networkPriority":"low","priority":"low","maxBitrate":1200000,"scaleResolutionDownBy":1,"scalabilityMode":"L3T3_KEY"},{"active":false,"adaptivePtime":false,"networkPriority":"low","priority":"low","maxBitrate":0},{"active":false,"adaptivePtime":false,"networkPriority":"low","priority":"low","maxBitrate":0}]
Logger.js:155 2024-04-17T13:29:13.414Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.415Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"maxBitrate":1200000,"networkPriority":"low","priority":"low","scaleResolutionDownBy":1}]
Logger.js:155 2024-04-17T13:29:13.415Z [modules/RTC/TraceablePeerConnection.js] <Tl._remoteTrackAdded>:  TPC[id=2,type=JVB] Received track event for remote stream[id=0face48b-video-0-1,type=video]
Logger.js:155 2024-04-17T13:29:13.416Z [modules/RTC/TraceablePeerConnection.js] <Tl._createRemoteTrack>:  TPC[id=2,type=JVB] creating remote track[endpoint=0face48b,ssrc=4181336143,type=video,sourceName=0face48b-v0]
Logger.js:155 2024-04-17T13:29:13.417Z [modules/xmpp/JingleSessionPC.js] <ya.setReceiverVideoConstraint>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] setReceiverVideoConstraint - constraints: {}
Logger.js:155 2024-04-17T13:29:13.421Z [modules/connectivity/TrackStreamingStatus.ts] <new tl>:  RtcMuteTimeout set to: 10000
Logger.js:155 2024-04-17T13:29:13.445Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] addRemoteStream - OK
Logger.js:155 2024-04-17T13:29:13.466Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.466Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"maxBitrate":1200000,"networkPriority":"low","priority":"low","scalabilityMode":"L3T3_KEY","scaleResolutionDownBy":1},{"active":false,"adaptivePtime":false,"maxBitrate":0,"networkPriority":"low","priority":"low"},{"active":false,"adaptivePtime":false,"maxBitrate":0,"networkPriority":"low","priority":"low"}]
Logger.js:155 2024-04-17T13:29:13.539Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] Got RESULT for "session-initiate"
Logger.js:155 2024-04-17T13:29:13.539Z [JitsiConference.js] <du.onCallAccepted>:  P2P setAnswer
Logger.js:155 2024-04-17T13:29:13.543Z [modules/xmpp/JingleSessionPC.js] <ya.setReceiverVideoConstraint>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] setReceiverVideoConstraint - constraints: {}
Logger.js:155 2024-04-17T13:29:13.545Z [modules/RTC/TraceablePeerConnection.js] <Tl._remoteTrackAdded>:  TPC[id=1,type=P2P] Received track event for remote stream[id=0face48b-video-0-2,type=video]
Logger.js:155 2024-04-17T13:29:13.545Z [modules/RTC/TraceablePeerConnection.js] <Tl._createRemoteTrack>:  TPC[id=1,type=P2P] creating remote track[endpoint=0face48b,ssrc=1281408767,type=video,sourceName=0face48b-v0]
Logger.js:155 2024-04-17T13:29:13.545Z [JitsiConference.js] <du.onRemoteTrackAdded>:  Trying to add remote P2P track, when not in P2P - IGNORED
Logger.js:155 2024-04-17T13:29:13.594Z [modules/RTC/JitsiRemoteTrack.js] <cl._playCallback>:  (TIME) Render video:	 11845.300000011921
Logger.js:155 2024-04-17T13:29:13.594Z [modules/RTC/JitsiRemoteTrack.js] <cl._playCallback>:  (TIME) TTFM video:	 2771.7999999523163
Logger.js:155 2024-04-17T13:29:13.686Z [modules/RTC/JitsiRemoteTrack.js] <cl.setMute>:  Mute RemoteTrack[userID: 0face48b, type: video, ssrc:<PHONE_NUMBER>, p2p: true, sourceName: 0face48b-v0, status: {readyState: live, muted: false, enabled: true}]: false
Logger.js:155 2024-04-17T13:29:13.686Z [modules/RTC/JitsiRemoteTrack.js] <cl.setMute>:  Mute RemoteTrack[userID: 0face48b, type: video, ssrc:<PHONE_NUMBER>, p2p: false, sourceName: 0face48b-v0, status: {readyState: live, muted: false, enabled: true}]: false
Logger.js:155 2024-04-17T13:29:13.699Z [JitsiConference.js] <du.onTransportInfo>:  P2P addIceCandidates
Logger.js:155 2024-04-17T13:29:13.704Z [modules/xmpp/JingleSessionPC.js] <peerconnection.oniceconnectionstatechange>:  (TIME) ICE checking P2P:	 11955.899999976158
Logger.js:155 2024-04-17T13:29:13.705Z [modules/xmpp/JingleSessionPC.js] <peerconnection.oniceconnectionstatechange>:  (TIME) ICE connected P2P:	 11956.800000011921
Logger.js:155 2024-04-17T13:29:13.705Z [JitsiConference.js] <du._setP2PStatus>:  Peer to peer connection established!
Logger.js:155 2024-04-17T13:29:13.707Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.708Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.710Z [JitsiConference.js] <du._removeRemoteTracks>:  Removing remote JVB track: RemoteTrack[userID: 0face48b, type: video, ssrc:<PHONE_NUMBER>, p2p: false, sourceName: 0face48b-v0, status: {readyState: live, muted: false, enabled: true}]
Logger.js:155 2024-04-17T13:29:13.723Z [JitsiConference.js] <du._addRemoteTracks>:  Adding remote P2P track: RemoteTrack[userID: 0face48b, type: video, ssrc:<PHONE_NUMBER>, p2p: true, sourceName: 0face48b-v0, status: {readyState: live, muted: false, enabled: true}]
Logger.js:155 2024-04-17T13:29:13.732Z [modules/connectivity/TrackStreamingStatus.ts] <new tl>:  RtcMuteTimeout set to: 10000
Logger.js:155 2024-04-17T13:29:13.745Z [JitsiConference.js] <du._suspendMediaTransferForJvbConnection>:  Suspending media transfer over the JVB connection...
Logger.js:155 2024-04-17T13:29:13.745Z [modules/RTC/TPCUtils.js] <yl.setMediaTransferActive>:  TPC[id=2,type=JVB] Suspending media transfer.
Logger.js:155 2024-04-17T13:29:13.745Z [JitsiConference.js] <du._onIceConnectionEstablished>:  Starting remote stats with p2p connection
Logger.js:155 2024-04-17T13:29:13.745Z [modules/statistics/statistics.js] <cr.sendAnalyticsAndLog>:  {"type":"operational","action":"established","source":"p2p","attributes":{"initiator":true}}
Logger.js:155 2024-04-17T13:29:13.763Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.764Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=2,type=JVB] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"maxBitrate":1200000,"networkPriority":"low","priority":"low","scalabilityMode":"L3T3_KEY","scaleResolutionDownBy":1},{"active":false,"adaptivePtime":false,"maxBitrate":0,"networkPriority":"low","priority":"low"},{"active":false,"adaptivePtime":false,"maxBitrate":0,"networkPriority":"low","priority":"low"}]
Logger.js:155 2024-04-17T13:29:13.764Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.764Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"maxBitrate":1200000,"networkPriority":"low","priority":"low","scaleResolutionDownBy":1}]
Logger.js:155 2024-04-17T13:29:13.766Z [modules/xmpp/JingleSessionPC.js] <ya.sendIceCandidate>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] sendIceCandidate: last candidate
Logger.js:155 2024-04-17T13:29:13.772Z [modules/RTC/TPCUtils.js] <yl.setMediaTransferActive>:  TPC[id=2,type=JVB] Suspending media transfer.
Logger.js:155 2024-04-17T13:29:13.772Z [JitsiConference.js] Suspended media transfer over the JVB connection !
Logger.js:155 2024-04-17T13:29:13.835Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=JVB,initiator=false,sid=cadesqmvo7jq3] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.835Z [modules/xmpp/JingleSessionPC.js] <ya.setSenderVideoConstraint>:  JingleSessionPC[session=P2P,initiator=true,sid=a5499c5280dd] setSenderVideoConstraint: 2160, sourceName: 0c594c68-v0
Logger.js:155 2024-04-17T13:29:13.835Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] Setting degradation preference [preference=maintain-framerate,track=LocalTrack[2,video]
Logger.js:155 2024-04-17T13:29:13.836Z [modules/RTC/TraceablePeerConnection.js] <Tl._updateVideoSenderEncodings>:  TPC[id=1,type=P2P] setting max height=2160,encodings=[{"active":true,"adaptivePtime":false,"maxBitrate":1200000,"networkPriority":"low","priority":"low","scaleResolutionDownBy":1}]
BridgeChannel.js:92 WebSocket connection to 'wss://url/colibri-ws/<IP_ADDRESS>/e615b440c76e4752/0c594c68?pwd=5oo87muk0ppjcmqpbm1gkruca4' failed:
_initWebSocket @ BridgeChannel.js:92
Logger.js:155 2024-04-17T13:29:14.201Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed: 1006
r @ Logger.js:155
Show 1 more frame
Show less
BridgeChannel.js:92 WebSocket connection to 'wss://url/colibri-ws/<IP_ADDRESS>/e615b440c76e4752/0c594c68?pwd=5oo87muk0ppjcmqpbm1gkruca4' failed:
_initWebSocket @ BridgeChannel.js:92
Logger.js:155 2024-04-17T13:29:16.181Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed: 1006
r @ Logger.js:155
Show 1 more frame
Show less
BridgeChannel.js:92 WebSocket connection to 'wss://url/colibri-ws/<IP_ADDRESS>/e615b440c76e4752/0c594c68?pwd=5oo87muk0ppjcmqpbm1gkruca4' failed:
_initWebSocket @ BridgeChannel.js:92
Logger.js:155 2024-04-17T13:29:20.177Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed: 1006

Your values seem to be OK, apart from the jvb.octo.enabled: true (which should work, but is not thoroughly tested ATM). To be on the safer side, I'd try to scale JVB back to a signle replica with OCTO disabled and edit the publicIPs list accordingly.
As for that WSS error, code 1006 seems to mean that the local side closed the WSS connection for some reason. Just in case, can you check if you can reach the URL mentioned in the error with wss:// replaced with https:// using your browser while having the bogus room open in another tab? It should give us more information about the problem.
Another possible cause is that Azure Ingress controller needs some special configuration in order to start passing the WSS connections through. I haven't had any experience with AKS yet so I don't know if that is the case, but it can't hurt to check.

Hey @spijet,
I wanted to update you about the Octo configuration—we conducted a load test yesterday evening with 110 users across two video bridges, and it worked flawlessly!
The HTTPS link is accessible, so no issues there. Regarding AKS, I initially thought that might be a problem area, but I haven’t found anything conclusive yet. I'll continue to investigate.
Thanks so much for all your help!

I conducted further testing, and it turns out the 360p issue was due to Jitsi automatically scaling down the video for conferences with more than three users, which makes sense.
@spijet, I also tested with three video bridges and three participants. Each participant was connected to a different bridge, and the conference quality was very good. I then simulated a failure by shutting down two bridges, and all users were seamlessly reassigned to the remaining active bridge. Everything worked perfectly.
I'm going to close this ticket now. Thanks for all the help! If I find a solution for the websocket issue, I'll update this thread.

turns out the 360p issue was due to Jitsi automatically scaling down the video for conferences with more than three users

I haven't heard about it until today. I assume you've tested it in tile mode?

Hi , pleas can you tell me how did you solve your problem with AKS and websocket?


[W6.6h][W14-B1]Chua Wei Wen

Added use case for renaming of an existing tag

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


Use targeted refresh for cloud_volume create/update/delete

Thanks for the review @llivne!  You can go ahead and merge if this looks good to you


✨ IMPROVE: Styling print to pdf

The following PR aims to change the structure and styling of single page documents when printing using "Print to PDF" functionality of jb. It primarily relies on two css classes for defining structure(showing, hiding elements from the dom) - onlyprint and noprint.
Output with this PR looks like this:

Formatting code outputs.pdf
The above document's content is from https://jupyterbook.org/content/code-outputs.html
Will keep updating the output picture and document here, as we push more changes.
cc: @rowanc1 @damianavila @mmcky

thanks @AakashGfude the new single-page formatting looks nice and a lot less like a "printed" webpage.
The link to the pdf doesn;t seem to work - just FYI.

Just some thoughts:

might it be possible to add an "option" to turn off "margin notes". (in the theme) They often aren't essential to the thread of a page and it might be nice to use the full width of the page.
Can we remove "Print to PDF"?

Just some thoughts:

might it be possible to add an "option" to turn off "margin notes". (in the theme) They often aren't essential to the thread of a page and it might be nice to use the full width of the page.

Good idea. We can also style the margin to include it in the main content instead of in the side, and stylize it in a way to make it look like a note?

Can we remove "Print to PDF"?
Working on this.

One more drawback is that background-color property is not shown unless clicking the checkbox of background graphics .
Ex:
(Left: on, Right: off)

Note that I believe this is using bootstrap-native tooltips, so maybe those docs will have helpful pointers: https://getbootstrap.com/docs/4.0/components/tooltips/
Thank you @choldgraf for the link. Though I could not find any resource to remove it in a boostrapy way. But I did get the element ids. I am detaching them from the DOM just before calling window.print() and then reattaching them again for HTML. A bit hacky but works nicely.

@choldgraf this looks ready to go I think if there are no further comments.


Gh-2711: conditionally run tests on windows

Related Issue

Resolve #2711

Commit b0df840 should pass, as its only running the tests on Ubuntu (because of the keywords it's looking for)
Commit dd6a883 should fail because of issues with the tests running on windows, but does show that if the keywords are in the branch name the tests will run on windows.

Codecov Report

Merging #2716 (dd6a883) into v2-alpha (8a43ebd) will decrease coverage by 0.19%.
The diff coverage is n/a.

:exclamation: Current head dd6a883 differs from pull request most recent head 7398b99. Consider uploading reports for the commit 7398b99 to get more accurate results

@@              Coverage Diff               @@
##             v2-alpha    #2716      +/-   ##
==============================================
- Coverage       65.73%   65.54%   -0.20%
+ Complexity       2435     2269     -166
==============================================
  Files             862      611     -251
  Lines           27251    19188    -8063
  Branches         3126     2259     -867
==============================================
- Hits            17914    12576    -5338
+ Misses           7980     5564    -2416
+ Partials         1357     1048     -309

Impacted Files
Coverage Δ

...er/AbstractSplitStoreFromRDDOfElementsHandler.java

...chq/gaffer/hdfs/operation/mapper/GafferMapper.java

...store/key/core/impl/classic/ClassicKeyPackage.java

...gov/gchq/gaffer/mapstore/impl/GetElementsUtil.java

...hdfs/operation/handler/job/factory/JobFactory.java

...gaffer/accumulostore/key/impl/ValidatorFilter.java

...e/operation/handler/FederatedAggregateHandler.java

...v/gchq/gaffer/accumulostore/utils/IngestUtils.java

...accumulostore/retriever/AccumuloItemRetriever.java

.../accumulostore/inputformat/ElementInputFormat.java

... and 243 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 a820490...7398b99. Read the comment docs.

I've just raised #2717 to cover the remaining Windows test failures. However, because it is not a priority issue, I don't think we should run this new Windows variant of CI for releases yet.
The next release is not planned to include the Windows fixes. If this PR were merged ahead of that release, the CI would fail when run on the release. We don't really want the CI to routinely fail on releases as this is misleading.
Also, under #2717 there will be extra changes required to the CI for Windows only (to install appropriate Hadoop libraries). If the release trigger were to remain disabled for now, it could then be enabled when #2717 is fixed (as there would be no more failures after this point).

I've just raised #2717 to cover the remaining Windows test failures. However, because it is not a priority issue, I don't think we should run this new Windows variant of CI for releases yet. The next release is not planned to include the Windows fixes. If this PR were merged ahead of that release, the CI would fail when run on the release. We don't really want the CI to routinely fail on releases as this is misleading.
Also, under #2717 there will be extra changes required to the CI for Windows only (to install appropriate Hadoop libraries). If the release trigger were to remain disabled for now, it could then be enabled when #2717 is fixed (as there would be no more failures after this point).

So for now, this should only run when "windows" is in the branch name?

So for now, this should only run when "windows" is in the branch name?

Yes that's the idea, this way we can create branches and PRs to work on the Windows problems, but the releases will continue to build as usual and will pass. Then once the existing Windows issues are fixed, we can enable it for releases as well.
From a practical perspective, we could have release-disabled-for-now instead of release so that there's only a minor edit required to enable, that way this PR could be merged pretty much as it is, instead of taking the release bit out.

So for now, this should only run when "windows" is in the branch name?

Yes that's the idea, this way we can create branches and PRs to work on the Windows problems, but the releases will continue to build as usual and will pass. Then once the existing Windows issues are fixed, we can enable it for releases as well.
From a practical perspective, we could have release-disabled-for-now instead of release so that there's only a minor edit required to enable, that way this PR could be merged pretty much as it is, instead of taking the release bit out.

I've made the change to use release-disabled-for-now as you suggested :)

Because the branch for this PR contains the word 'windows', the tests are run on Windows and they fail because Windows isn't fully supported yet. This PR is ok to be merged despite the CI showing a failure.


How to unregister user with dj-rest-auth.registation?

I want to delete user who want to unregister my app.
how can I do this?

Hi @jsw4215,
this is a very simplified solution without any verification step (e.g. send out email with a confirmation code):

define a view class that inherits from UserDetailsView and rest_framework's RetrieveUpdateDestroyAPIView
register this new view class for the route named rest_user_details (make sure this is before the path definition that includes dj_rest_auth.urls in order to override the default behaviour)
add allauth.socialaccount to INSTALLED_APPS (Yes, this is strange. There is a SELECT on table allauth_socialaccount which fails otherwise.)
send DELETE to the rest_user_details endpoint with proper authentication


chore: update workspace version

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

By the way, change the default version of docker compose.

By the way, change the default version of docker compose.

on main branch？

on main branch？

on release-1.6, change the docker compose default version to v1.6.1

updated


Flaky E2E tests

I got two types of failure:

The test times out before building all the docker images
Strimzi is not completely deployed when the Kafka tests start

-> timeout issue addressed in #163

added longer timeouts.
Fixed strimzi deployment.


Spawners can "hijack" entities because of the eid property

The owned entity ID of a spawner is currently stored in metablock property eid (which is stored on disk) and might point to a different entity when the server restarts.
Should either:

Randomize entity IDs (they are currently incremental) which reduces the chance of this happening to practically zero (but not truly)
Store the entity ID somewhere else or delete it on shutdown/startup (which requires specialized logic which is annoying)

Good enough for now.


Evaluate Tangram + vector tile basemap

Evaluate using Tangram with vector tiles for new basemap.
Dev version at https://smartchicago.github.io/trailsy/
Needed customization:

This currently needs a manual build of the Tangram js master branch since it contains a bug fix that hasn't made it to a released version yet.
This version modifies the leaflet.zoomcss.js plug in to round zoom levels to the nearest whole number since Tangram zooming does partial zoom levels. https://github.com/smartchicago/trailsy/blob/cc-imagery/js/vendor/leaflet.zoomcss.js#L30

Issues:

Tile loading seems slow. I think this is because of the nextzen server it is pulling from right now.
Its still sometimes not re-positioning items on zoom/movement.

@shua123 Didn't find anything new testing it.
Check out the notes under "Internal" at the end of this release and see if any of those adjustments re: Leaflet are relevant:
https://github.com/tangrams/tangram/releases/tag/v0.14.0

I found an undocumented Tangram option that I think has fixed our main zoom icon out of place issues. (https://github.com/smartchicago/trailsy/blob/gh-pages/js/map.js#L163)
Try it out now @versatilehuman

We moved this to production. Performance still isn't ideal so this may evolve into a new solution.

Time to revisit.

Moved to https://github.com/fpdcc/trailsy/issues/278

Closing because we are moving away from Tangram towards using an ESRI vector tile basemap with esri-leaflet

Closing because we are moving to ESRI vector tile basemaps with esri-leaflet


Swift PM and Linux Support

Hi,
I'd like to participate in this project by adding support for Swift Package Manager and some fixes for Linux os.
Please let me know when i missed something.
Thanks

I moved the PR to #36 because i made a little mess with commit 363da44 in this PR


Unified: Error when expanding on Azure subscription

OS: Windows 10
VS Code:  Insider v1.67.0 & stable v1.66.0
Resource Group extension from: #20220405.3 Add display names and icons (#148)
Azure account extension: v0.10.0
Note:  I previously had the old release of the Resource Group extension installed, as well as the static web app extension installed. I uninstalled both. Then perform the following steps.
Repro:

In VS Code, F1 to bring up command prompt and search for Extension: install from VSIX.  Select the VSIX downloaded from the above build
Since my last Azure login session was from a long time ago, the resource extension couldn't be activated using the old authentication. I had to reauthenticate to sign into Azure which was successful, and my subscription was shown in the resource group
Try to expand the subscription node

Expected Results:
Show my Azure resources, or no error if I don't have any Azure resources
Actual Result:
"Error: Cannot read properties of undefined (reading 'id')

Account extension configuration:

Also FYI, this happened to all subscriptions I know I have access to or I am a owner of.

Caused by the groupBy setting not respecting the default value somehow.
Repro steps:

Install extension from VSIX
Go to your settings.json file, and delete the groupBy setting
Reload VS Code or refresh the tree

We have a default value specified in the package.json, not sure why VS Code gives us undefined instead of this value...

Fixed by https://github.com/microsoft/vscode-azureresourcegroups/pull/159


Adding data doesn't update the scrollbar position

Using the event fin-scroll-y, I have created a infinite scrolling list.
My problem is that when I scroll to the end, the scrollbar doesn't move after the data is loaded.
Taking a looks at your README, it seems the scrollbar is not tied to the rows.
Is there an easy way to fix this problem?

call myModel.changed();
On Thu, Oct 1, 2015 at 3:27 PM, Ângela Igreja<EMAIL_ADDRESS>wrote:

Using the event fin-scroll-y, I have created a infinite scrolling list.
My problem is that when I scroll to the end, the scrollbar doesn't move
after the data is loaded.
Taking a looks at your README, it seems the scrollbar is not tied to the
rows.
Is there an easy way to fix this problem?
—
Reply to this email directly or view it on GitHub
https://github.com/openfin/fin-hypergrid/issues/50.

It doesn't fix the issue since I am doing a setData.
Would it work if instead, I added the new rows to using the getData?

Hypergid uses the array object you give it
So yes
Push new rows into the result of getData()
And call changed ();
On Oct 1, 2015 4:54 PM, "Ângela Igreja"<EMAIL_ADDRESS>wrote:

It doesn't fix the issue since I am doing a setData.
Would it work if instead, I added the new rows to using the getData?
—
Reply to this email directly or view it on GitHub
https://github.com/openfin/fin-hypergrid/issues/50#issuecomment-144844950
.

Thanks.

This has been fixed in the meantime. Thanks for the replies.


Update docs

A lot of things have changed since the current version of the docs were written:

transactions
new side effects

like invalidating and refreshing futures
Hydrate, replay

and we likely need to better document the following:

RearchBuilder
current builtin side effects
Migrations (especially from Riverpod)
Logging paradigm

Should also add a new page called "Creating Capsules" or something similar, as it can be daunting if you don't know where to start. Idea spun out of https://github.com/GregoryConrad/rearch-dart/issues/71

Add fpdart interop FAQ per https://github.com/GregoryConrad/rearch-dart/issues/79

Add a testing recommendations page on how to test capsules/side effects

I want to get some of the improvements I made out, so spinning off the remaining TODOs in future issues so that what is done already can be shipped.


[9.x] Collection select()

As explained here: https://github.com/laravel/framework/discussions/41521 , I open a PR for introducing select() method for Collection.
select() get data from bi-dimensional array by keys.
I created also tests in tests/Support/SupportCollectionTest.php adding testSelect() method with some test case (not existent columns, null columns, string column.

If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!

ok , thank you for the suggestion.
I'm building a package for this
use HiFolks\DataType\Table;

$table = Table::make([
    ['product' => 'Desk', 'price' => 200, 'active' => true],
    ['product' => 'Chair', 'price' => 100, 'active' => true],
    ['product' => 'Door', 'price' => 300, 'active' => false],
    ['product' => 'Bookcase', 'price' => 150, 'active' => true],
    ['product' => 'Door', 'price' => 100, 'active' => true],
]);
/**
 * I would like to **filter** the rows with price greater than 100,
 * select only "product" and "price" fields,
 * and for each rows **create a new field** named "new_filed"
 * that is a calculated field (doubling the price)
 */
var_export(
    $table
        ->select(['product' , 'price'])
        ->where('price', 100, '>')
        ->calc("new_field", fn ($item) => $item['price'] * 2)
        ->arr()
);
/*
array (
  0 => array (
    'product' => 'Desk',
    'price' => 200,
    'new_field' => 400,
  ),
  2 => array (
    'product' => 'Door',
    'price' => 300,
    'new_field' => 600,
  ),
  3 => array (
    'product' => 'Bookcase',
    'price' => 150,
    'new_field' => 300,
  ),
)
 */

The packages is https://github.com/Hi-Folks/array , the class is Table


Reset spec counter when leaving instanced fights

When leaving Vorkath or Alchemical Hydra fights, the spec counter does not reset, despite the boss resetting their stats. This could cause the spec counter to add the player's next trip spec to that, giving an inaccurate total spec count. This clears that counter when leaving the vork + hydra region instances.
Needs to be tested at hydra, since I don't have access to that fight to test myself. Drafted until then.

Confirmed to work at Hydra by @TheStonedTurtle, so removing Draft status.


Display messages on map (as custom markers) and in message list

Should be good to merge but I did clean it up without retesting heavily. Might be worth playing around with, some cosmetic stuff might need changing


Order dashboard finished page by completion date by default

Merging immediately because Travis is slow and the dashboard doesn't get tested.


delete iterator occur segmentation fault

What steps will reproduce the problem?
1.mutilthreads set and iterator leveldb

What is the expected output? What do you see instead?

Program terminated with signal 11, Segmentation fault.
#0  0x00000000004650f7 in leveldb::ReleaseBlock(void*, void*) ()
(gdb) bt
#0  0x00000000004650f7 in leveldb::ReleaseBlock(void*, void*) ()
#1  0x0000000000464613 in leveldb::Iterator::~Iterator() ()
#2  0x000000000046a236 in leveldb::Block::Iter::~Iter() ()
#3  0x0000000000467103 in leveldb::(anonymous
namespace)::TwoLevelIterator::~TwoLevelIterator() ()
#4  0x0000000000467103 in leveldb::(anonymous
namespace)::TwoLevelIterator::~TwoLevelIterator() ()
#5  0x000000000046495f in leveldb::(anonymous
namespace)::MergingIterator::~MergingIterator() ()
#6  0x0000000000456cdf in leveldb::(anonymous namespace)::DBIter::~DBIter() ()

What version of the product are you using? On what operating system?
ubuntu 10.04

Please provide any additional information below.

thanks any answer!

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 17 Feb 2012 at 3:47

this is may be my application problem: delete iterator after db

Original comment by<EMAIL_ADDRESS>on 29 Feb 2012 at 9:01

Original comment by<EMAIL_ADDRESS>on 30 May 2012 at 5:14

Changed state: Invalid


using external nlohmann-json?

Is there a plan to allow building nopayloadclient with an external nlohmann-json distribution?  This will help us greatly, since nlohmann-json is used in a number of different places and we'd like to avoid unintentional conflicts.

You can now specify to use an external nlohmann-json header like so:
cmake -S . -B build -DINCLUDE_DIR_NLOHMANN_JSON=<nlohmann_include_dir>
If omitted, the header that is shipped with nopayloadclient (under contrib/) will be used.

Thank you!
Lynn

From: Lino Gerlach @.***>
Sent: Wednesday, October 25, 2023 3:54 AM
To: BNLNPPS/nopayloadclient
Cc: Lynn A Garren; Author
Subject: Re: [BNLNPPS/nopayloadclient] using external nlohmann-json? (Issue #6)
You can now specify to use an external nlohmann-json header like so:
cmake -S . -B build -DINCLUDE_DIR_NLOHMANN_JSON=<nlohmann_include_dir>
If omitted, the header that is shipped with nopayloadclient (under contrib/) will be used.
—
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_BNLNPPS_nopayloadclient_issues_6-23issuecomment-2D1778811843&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=P0Z7nIv69Nz5OP_L9NyELQ&m=cJ_aYT61cAcusWKbJtNYFX1VxjTYbygRaV7bqJee07ffHKSa0POVY2CNGe1SZRsa&s=SNK_qJLgy69hvnpDXOIJaiCnJqyusUsgeQimNn_4lkY&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ABKYH2MO6TM3LGXS2IASPATYBDHUDAVCNFSM6AAAAAA6OKGIOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZYHAYTCOBUGM&d=DwMFaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=P0Z7nIv69Nz5OP_L9NyELQ&m=cJ_aYT61cAcusWKbJtNYFX1VxjTYbygRaV7bqJee07ffHKSa0POVY2CNGe1SZRsa&s=uVi4pgkocSBWSQXMBdtinHTs53LYHljAU-l-u9cSAew&e=.
You are receiving this because you authored the thread.Message ID: @.***>

@ligerlac Would you make a new tag that includes this functionality?  Thanks!

Done. It is now tagged as v0.0.2

@ligerlac  It seems that json.hpp is still being installed from contrib.  When an external distribution of  nlohmann-json is used, we would prefer that the nopayloadclient include/nlohmann directory not be installed.  Is that a problem?

I had forgotten to delete the header under include. It should be fixed now. Let me know if it's okay like this and I will create a new tag.

This works.  Waiting for the new tag.

Happy with v0.0.3.  Closing this, but see new PR.


Inline View

In one of the main features it says full control over the UI, WebView will run inside your app. It means this will support displaying webview as an inline component? .  Could you please provide a example if it supports. For eg: Displaying as one of the child widget in a clolumn widget.

Yeah it does. Both OauthWebView and BaseWebView are widgets so you can use it in any widget tree. In fact that's what is done in the OAuthWebScreen and BaseWebScreen respectively.
You can check example project, or check the plugin code to see further.


[21.11] git: 2.33.1 -> 2.33.2 (security, CVE-2022-24765)

<EMAIL_ADDRESS>https://github.com/git/git/blob/v2.33.2/Documentation/RelNotes/2.33.2.txt:
"This release merges up the fixes that appear in v2.30.3, v2.31.2 and
v2.32.1 to address the security issue CVE-2022-24765"
Description of changes
Not a real backport but basically https://github.com/NixOS/nixpkgs/pull/168412 for 21.11.

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

@ofborg build gitMinimal git gitFull

'll assume that darwins will be fine, or dealt with somehow during staging-next-21.11.


Add more TLS options

What was changed
Add more TLS options
Why?
Add the tls options to support Private Link testing
Checklist

Closes

How was this tested:

Any docs updates needed?

We need this in all SDKs not just Go. Doesn't have to be in this PR but should at least be tracked in an issue.


Check to see if key is present and values are set

Fix various index out of range failures
Traceback (most recent call last):
  File "/opt/homebrew/bin/parse_sdrf", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.10/site-packages/sdrf_pipelines/parse_sdrf.py", line 226, in main
    cli()
  File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/homebrew/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/sdrf_pipelines/parse_sdrf.py", line 101, in maxquant_from_sdrf
    Maxquant().maxquant_convert(
  File "/opt/homebrew/lib/python3.10/site-packages/sdrf_pipelines/maxquant/maxquant.py", line 1429, in maxquant_convert
    first = list(tparam.values())[0]
IndexError: list index out of range

Sorry, it looks like I added an extra colon on most of the lines... I did the editing on the web interface 🫢
Maybe revert or just add another commit to fix it?

Fixed in my PR.


Movies & TV app settings

Description of the new feature / enhancement
The Movies & TV app needs an option to toggle "Autoplay" on and off.  As well as being able to select a new default between "Repeat", "Autoplay" and a newly implemented "Off" option.
Scenario when this would be used?
Sometimes I have newly created music that has to be opened with the Movies & TV app, which needs to be viewed & examined multiple times.
Supporting information
Having to toggle "Repeat" to on every single time is a major inconvenience and very counterproductive.

/feedbackhub


Agent fails with credential errors, cannot use IAM Roles for Service Accounts (IRSA) or EKS Pod Identities with EKS Addon

Users may wish to run the CloudWatch Agent using pod-based IAM roles, using the IRSA or EKS Pod Identities technologies. Recently (PR below) this was enabled when an environment variable is set on the agent pod, RUN_WITH_IRSA=true, and this enables the agent to utilize the default provider chain for AWS authentication.
However, the EKS Addon for AWS CloudWatch Observability creates a managed AmazonCloudWatchAgent configuration, making it unsafe - there is no guarantee it won't be overridden - to add environment variables.
Background
CloudWatch Agent PR:

https://github.com/aws/amazon-cloudwatch-agent/pull/682/files

Expected behavior
Running the EKS Addon for AWS CloudWatch Observability with pod-based IAM should work by default.
Actual behavior
The agent fails, and there is no knob available to users to ensure the agent works.
Proposal
Either of these solutions would address this:

The Addon and Operator should permit an additional configuration, to merge either individual env vars or arbitrary config into the AmazonCloudWatchAgent custom resource
The Agent's configuration file, cwagentconfig.json, which is managed by the add-on should accept a configuration key to enable the RUN_WITH_IRSA mode.

Hi @AaronFriel,
Have a few questions that would help us look into your issue.

Did you follow https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#install-CloudWatch-Observability-EKS-addon-serviceaccountrole when setting up the EKS Addon with IRSA?
Can you provide a sample of the failure you're seeing in the agent logs?
Does the agent work as expected when you set RUN_WITH_IRSA=true on the pod?

Hey @jefchien thanks for getting back to me.
Yeah, this is the TypeScript code used with Pulumi IaC to deploy EKS CloudWatch.
  // This configures IRSA with an `AssumeRoleWithWebIdentity` - confirmed working with other addons including:
  // * AWS EFS CSI Driver
  // * Karpenter Controller
  const role = IamServiceAccountRole(`${clusterPetName}-cloudwatch-observability`, {
    namespaceName: 'amazon-cloudwatch',
    serviceAccountName: 'cloudwatch-agent',
  });

  new aws.iam.RolePolicyAttachment(`${clusterPetName}-cloudwatch-observability-agent`, {
    policyArn: 'arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy',
    role,
  });
  new aws.iam.RolePolicyAttachment(`${clusterPetName}-cloudwatch-observability-xray`, {
    policyArn: 'arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess',
    role,
  });

  const addonVersion = aws.eks.getAddonVersionOutput({
    addonName: 'amazon-cloudwatch-observability',
    kubernetesVersion: clusterVersion,
    mostRecent: true,
  });

  const addon = new aws.eks.Addon(
    `${clusterPetName}-cloudwatch-observability`,
    {
      clusterName,
      addonName: addonVersion.addonName,
      addonVersion: addonVersion.version,
      serviceAccountRoleArn: role.arn,
      preserve: false,
    },
    { dependsOn },
  );

Yes, here are the agent logs. I've formatted these for readability:
2024-04-09T01:27:56Z E! {
  "caller": "cwlogs@v0.89.0/cwlog_client.go:135",
  "msg": "cwlog_client: Error occurs in PutLogEvents",
  "kind": "exporter",
  "data_type": "metrics",
  "name": "awsemf/containerinsights",
  "error": "SharedCredsLoad: failed to load shared credentials file
  caused by: FailedRead: unable to open file
  caused by: open /root/.aws/credentials: no such file or directory",
  "stacktrace": "github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs.(*Client).PutLogEvents
  \tgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs@v0.89.0/cwlog_client.go:135
  github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs.(*logPusher).pushEventBatch
  \tgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs@v0.89.0/pusher.go:264
  github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs.(*logPusher).AddLogEntry
  \tgithub.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs@v0.89.0/pusher.go:238
  github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter.(*emfExporter).pushMetricsData
  \tgithub.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter@v0.89.0/emf_exporter.go:153
  go.opentelemetry.io/collector/exporter/exporterhelper.(*metricsRequest).Export
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/metrics.go:58
  go.opentelemetry.io/collector/exporter/exporterhelper.(*timeoutSender).send
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/timeout_sender.go:38
  go.opentelemetry.io/collector/exporter/exporterhelper.(*baseRequestSender).send
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/common.go:33
  go.opentelemetry.io/collector/exporter/exporterhelper.(*metricsSenderWithObservability).send
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/metrics.go:173
  go.opentelemetry.io/collector/exporter/exporterhelper.(*baseRequestSender).send
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/common.go:33
  go.opentelemetry.io/collector/exporter/exporterhelper.(*baseExporter).send
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/common.go:189
  go.opentelemetry.io/collector/exporter/exporterhelper.NewMetricsExporter.func1
  \tgo.opentelemetry.io/collector/exporter@v0.89.0/exporterhelper/metrics.go:98
  go.opentelemetry.io/collector/consumer.ConsumeMetricsFunc.ConsumeMetrics
  \tgo.opentelemetry.io/collector/consumer@v0.89.0/metrics.go:25
  github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry.(*wrapperMetricsExporter).ConsumeMetrics
  \tgithub.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry@v0.89.0/resource_to_telemetry.go:32
  go.opentelemetry.io/collector/processor/batchprocessor.(*batchMetrics).export
  \tgo.opentelemetry.io/collector/processor/batchprocessor@v0.89.0/batch_processor.go:442
  go.opentelemetry.io/collector/processor/batchprocessor.(*shard).sendItems
  \tgo.opentelemetry.io/collector/processor/batchprocessor@v0.89.0/batch_processor.go:256
  go.opentelemetry.io/collector/processor/batchprocessor.(*shard).start
  \tgo.opentelemetry.io/collector/processor/batchprocessor@v0.89.0/batch_processor.go:218"
}
2024-04-09T01:27:56Z W! {
  "caller": "batchprocessor@v0.89.0/batch_processor.go:258",
  "msg": "Sender failed",
  "kind": "processor",
  "name": "batch/containerinsights",
  "pipeline": "metrics/containerinsights",
  "error": "SharedCredsLoad: failed to load shared credentials file
  caused by: FailedRead: unable to open file
  caused by: open /root/.aws/credentials: no such file or directory"
}

The only way to set RUN_WITH_IRSA to true is to edit the amazoncloudwatchagents.cloudwatch.aws.amazon.com resource, because the operator will reconcile that against the pods. Editing the resource like so:
 apiVersion: v1
 items:
 - apiVersion: cloudwatch.aws.amazon.com/v1alpha1
   kind: AmazonCloudWatchAgent
   metadata:
     annotations:
       pulumi.com/patchForce: "true"
     creationTimestamp: "2024-04-01T08:21:38Z"
     generation: 5
     labels:
       app.kubernetes.io/managed-by: amazon-cloudwatch-agent-operator
     name: cloudwatch-agent
     namespace: amazon-cloudwatch
     resourceVersion: "3839446"
     uid: 542fecd4-0368-4ab1-8d8b-e7e5ad47c538
   spec:
     config: '{"agent":{"region":"us-west-2"},"logs":{"metrics_collected":{"app_signals":{"hosted_in":"opal-quokka-6860d02"},"kubernetes":{"cluster_name":"opal-quokka-6860d02","enhanced_container_insights":true}}},"traces":{"traces_collected":{"app_signals":{}}}}'
     env:
+  - name: RUN_WITH_IRSA
+    value: true
   - name: K8S_NODE_NAME
     valueFrom:
       fieldRef:
         fieldPath: spec.nodeName

This edit enables the CloudWatch Agent to succeed. However, there is no way to guarantee that this change is persistent, because the cloudwatch-agent resource is owned by the addon and could be overwritten during an upgrade.

Do you have IMDS disabled or a hop limit set to 1? This seems like a similar issue to https://github.com/aws/amazon-cloudwatch-agent/issues/1101 where the agent thinks it is onPrem because it cannot reach IMDS, which results in it trying to read the /root/.aws/credentials file.

Yes, because that is considered best practice - but also because if the IMDS is enabled, it is not using pod identity, it's using node identity.
If the CloudWatch Agent does not work with IMDS hop limit set to 1, what is this section doing?
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html#install-CloudWatch-Observability-EKS-addon-serviceaccountrole
I think the answer is "nothing"?

Any updates on this? It's preventing us from using it.

We're working on providing an alternative to IMDS. You can track that here https://github.com/aws/amazon-cloudwatch-agent/issues/1101.


Added umb-table directive

(Again, branched off from PR #2)

again fixed the conflict via the website, I need to confirm i haven't borked it


Update README

Some updates made 2017-04-11. Make another pass.

See comments on issue #1.

Suggestions from issue #1:
Note that the focus or outcome of this project is the ld4l ontology, currently a work-in-progress in: https://github.com/ld4l-labs/ontology/blob/master/target-ontologies/ld4l-o.owl
Note that the ontology review and commentary process is coordinated in ontology calls and google documents (or wiki docs). It's not in branches or PRs on this repository.
The README could link out to related documents or wiki-docs on ontology use cases, or incorporate the use case documents into this repository.

Completed.


[WIP] Refactor for 2024

Numerous refactoring to fix some bugs in #54
Added new results for model families FTT, TabPFN, Linear, and KNeighbors
Code cleanup

Numerous refactoring to fix some bugs in https://github.com/autogluon/tabrepo/pull/54

Could you explain what the bugs and how they are fixed? (It is not clear to me now as the PR is quite large)
Also if there is a bug which was fixed related to #54, it would be great to add a unit-test.


Fix the sort function

The sort function in JS should return 0 for equality and +1 or -1 for larger or smaller values.
When you pass in a boolean, the sorting of the array does not have to be ascending by index.

Thanks for the PR
I did not know that I implemented the sort function in a "subtle-flawed" way until you pointed it out.
I will merge the PR if you address the section i wrote about in the code comments

@lhartikk Sure, sorry for the newline at the end of the file. My editor does this automatically.
This is done.


Prepare Polish language for v2.13

Changes:

SoftDeletes & Wizard support.
Changed "Ładowanie..." to "Wczytywanie...". Seems more appropriate.
[?] Move from action & action another to action & continue for consecutive actions.
[?] Made a few changes to action result messages.

@lolen will you have a moment to review? Let's keep it as draft until review or until v2.13.

I'm worried about is returns:

Rekord utworzony
Rekord usunięty
Rekord przywrócony

They only concern a single record. I don't know if multiple records can be selected. And this is universal:

Utworzono
Usunięto
Przywrócono

[?] Move from action & action another to action & continue for consecutive actions.
Another concern I have is that "Continue" may be difficult for the user to read. And in the original it is "Create & create another" and the user knows what the next action is.

The rest without complaint. Great job.

@lolen I was expecting push back on these, hence the question marks. Reverted both.
Rekord utworzony - I am not aware of being able to create more than one object at once. Rekord usunięty and Rekord przywrócony also have plural forms Rekordy usunięte and Rekordy przywrócone. It depends on whether single or multiple index is used. At least that's what I'm thinking.

@danharrin I marked it by accident, but I think it's alright. @lolen ?


solve tiki kv git dependency

As a maintainer I need to move all the dependencies to pub. Tiki kv has a overwritten dependency from git.
Acceptance criteria

Remove the git dependency


as a teacher i want to document broken or lost devices and demand a refund

so that the devices can be replaced and the school doesn't loose money


Show download count information

Something I really like about scidraw.io is the ability to see how many times a graphic has been downloaded. As someone considering making biology icons I would find this to be very motivating to see how many people my graphic is reaching.

Thanks for your input! I can see how this would be useful but it is hard to implement for the following reasons:

currently our site is completely static and does not track any user information, for download counts depending on how it is implemented one might need a cookie banner cluttering the UX
since the site is static, some kind of server would be needed to process the download counts
The illustrations are directly displayed as svg and can also be downloaded/copied with right click. I would need to count those  downloads as well which is hard to do to represent the numbers faithfully

I think it would be easier to

integrate a "built with bioicons" page that allows users to highlight which illustrations they used and reference the paper they used them in
add a favorite button to the icons so users can save/mark their favorites which can be used as a proxy for downloads

Would those be acceptable alternatives to you?

Totally makes sense! Yes I love the idea of an icon to indicate you like a graphic. Maybe it could be a heart or thumbs up (to me a star would indicate it’s being saved as a favorite and I’d be less likely to favorite something because I wouldn’t want a cluttered favorites page)?
So you’re saying this could display the number of hearts/likes overall? Doesn’t that also require a server for storage?
I also really like the “built with bioicons” page idea as well!


Upgrade to the latest ocm api

issue reference: https://github.com/open-cluster-management-io/ocm/issues/280

/cc @qiujian16

/approve
/lgtm


(feat) Added functionality to pass the Args, and Commands for Runner Pod

Signed-off-by: Rahul M Chheda<EMAIL_ADDRESS>
What this PR does / why we need it:

This PR is for adding functionality to pass Args and Commands for the RunnerPod Container RunnerPod Container
Added fields for passing the arguments, and commands to the runner Pod for debug purposes.

Testcases / Considerations

Override the go command/args
Use default command/args (i.e., chaosengine doesn't override)
Override the ansible command/args
Use default command/args (i.e., chaosengine doesn't override)
What is the CRD validation corresponding to this?
BDD corresponding to this (new / changes to existing one)

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
https://github.com/litmuschaos/litmus/issues/1215
Special notes for your reviewer:
Example Chaos Engine Spec:
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
  name: engine
  namespace: litmus
spec:
  engineState: ""
  jobCleanUpPolicy: "delete"
  auxiliaryAppInfo: ""
  components:
    runner:
      image: "litmuschaos/chaos-executor:ci"
      type: "go"
      args: ["rahul"]
      command: ["m","chheda"]
  appinfo:
    appns: litmus
    applabel: "app=nginx"
    appkind: deployment
  chaosServiceAccount: litmus
  monitoring: true
  experiments:
    - name: node-cpu-hog

Runner pod spec:
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2020-02-19T09:48:08Z"
  labels:
    app: engine
    chaosUID: 459a8fb6-522b-11ea-9ec5-42010a800213
  name: engine-runner
  namespace: litmus
  resourceVersion: "7420457"
  selfLink: /api/v1/namespaces/litmus/pods/engine-runner
  uid: ef30058a-52fc-11ea-9ec5-42010a800213
spec:
  containers:
  - args:
    - rahul
    command:
    - m
    - chheda
    env:
    - name: CHAOSENGINE
      value: engine
    - name: APP_LABEL
      value: app=nginx
    - name: APP_NAMESPACE
      value: litmus
    - name: EXPERIMENT_LIST
      value: node-cpu-hog
    - name: CHAOS_SVC_ACC
      value: litmus
    - name: AUXILIARY_APPINFO
    - name: CLIENT_UUID
      value: e3b34dac-6fb8-d332-f558-585906cd9fc9
    image: litmuschaos/chaos-executor:ci
    imagePullPolicy: IfNotPresent
    name: chaos-runner
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: litmus-token-lrjbt
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: gke-rahulchheda-litmus-default-pool-94f0899c-471s
  priority: 0
  restartPolicy: OnFailure
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: litmus
  serviceAccountName: litmus
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: litmus-token-lrjbt
    secret:
      defaultMode: 420
      secretName: litmus-token-lrjbt
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2020-02-19T09:48:08Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2020-02-19T09:48:08Z"
    message: 'containers with unready status: [chaos-runner]'
    reason: ContainersNotReady
    status: "False"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2020-02-19T09:48:08Z"
    message: 'containers with unready status: [chaos-runner]'
    reason: ContainersNotReady
    status: "False"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2020-02-19T09:48:08Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://7a3e519468ae1c87dc46dcd31d274d949605db4323d48a0fdad4263142f8d52c
    image: litmuschaos/chaos-executor:ci
    imageID: docker-pullable://litmuschaos/chaos-executor@sha256:aa6a834570117a6ea86a1f6c2e54ccb04137b47180c1f57aa87f7370278a6910
    lastState:
      terminated:
        containerID: docker://7a3e519468ae1c87dc46dcd31d274d949605db4323d48a0fdad4263142f8d52c
        exitCode: 127
        finishedAt: "2020-02-19T10:29:45Z"
        message: 'OCI runtime create failed: container_linux.go:345: starting container
          process caused "exec: \"m\": executable file not found in $PATH": unknown'
        reason: ContainerCannotRun
        startedAt: "2020-02-19T10:29:45Z"
    name: chaos-runner
    ready: false
    restartCount: 13
    state:
      waiting:
        message: Back-off 5m0s restarting failed container=chaos-runner pod=engine-runner_litmus(ef30058a-52fc-11ea-9ec5-42010a800213)
        reason: CrashLoopBackOff
  hostIP: <IP_ADDRESS>
  phase: Running
  podIP: <IP_ADDRESS>
  qosClass: BestEffort
  startTime: "2020-02-19T09:48:08Z"

Checklist:

[ ] Fixes #
[ ] Labelled this PR & related issue with documentation tag
[ ] PR messages has document related information
[ ] Labelled this PR & related issue with breaking-changes tag
[ ] PR messages has breaking changes related information
[ ] Labelled this PR & related issue with requires-upgrade tag
[ ] PR messages has upgrade related information
[ ] Commit has unit tests
[ ] Commit has integration tests

Have added some tests/considerations into the description. Lets factor in those as well.


First stab on removing unused code

ref: #206

Codecov Report

Merging #208 (c167a78) into master (591d92b) will increase coverage by 1.22%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #208      +/-   ##
==========================================
+ Coverage   60.77%   62.00%   +1.22%
==========================================
  Files         262      258       -4
  Lines       23734    23016     -718
==========================================
- Hits        14424    14270     -154
+ Misses       7821     7269     -552
+ Partials     1489     1477      -12

Impacted Files
Coverage Δ

proxy/client.go
0.00% <0.00%> (-23.08%)
:arrow_down:

test/e2e/generator/generate.go
0.00% <ø> (ø)

consensus/reactor.go
73.83% <0.00%> (-3.78%)
:arrow_down:

statesync/snapshots.go
91.59% <0.00%> (-1.69%)
:arrow_down:

mempool/reactor.go
86.36% <0.00%> (-1.52%)
:arrow_down:

blockchain/v0/reactor.go
63.06% <0.00%> (-0.91%)
:arrow_down:

statesync/syncer.go
78.96% <0.00%> (-0.80%)
:arrow_down:

consensus/state.go
67.94% <0.00%> (-0.56%)
:arrow_down:

mempool/clist_mempool.go
80.86% <0.00%> (-0.37%)
:arrow_down:

p2p/pex/pex_reactor.go
78.86% <0.00%> (ø)

... and 6 more

I think I got too trigger happy yesterday night and deleted too much already 🙈 🤣

The tests time out and I don't know why exactly.
I[2021-03-11|20:05:03.438] Waiting for all nodes to reach height 1018...
I[2021-03-11|20:05:03.451] Waiting for all nodes to reach height 1035...
E[2021-03-11|20:05:30.010] timed out waiting for full01 to reach height 1035
Error: Process completed with exit code 1.

Skimming through the logs wasn't insightful either. The only thing I've noticed is that there seem to be more p2p.ErrRejected errors than usual. Unclear how this could be related to only keeping builtin abci apps (and removing support for other DBs besides badgersb in e2e tests)

OK, restarting fixed it here. Locally, the tests did not pass but they time out much later if I close all other processes.


[SPARK-28652][TEST][Kubernetes] Add python version check for executor

What changes were proposed in this pull request?
Current two PySpark version tests in PythonTestsSuite, just test against Python version at driver side. Because the test script doesn't run any spark job requiring python worker, it doesn't actually do version check at worker side. This patch adds pieces of code to the test script, to run a simple job to verify Python version.
How was this patch tested?
Unit test. Locally manual test.

This patch was coming from my test on this code, in order to look into the original ticket SPARK-28652. I think it is just for test coverage.

Test build #108939 has started for PR 25411 at commit b4cd5b9.

Test build #108939 has finished for PR 25411 at commit b4cd5b9.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108939/
Test FAILed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14013/

Test build #108940 has started for PR 25411 at commit 7ed97e7.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14014/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14013/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14013/
Test PASSed.

Test build #108940 has finished for PR 25411 at commit 7ed97e7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108940/
Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14014/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14014/
Test PASSed.

cc @HyukjinKwon @skonto

Test build #108950 has started for PR 25411 at commit bbc2e70.

Test build #108950 has finished for PR 25411 at commit bbc2e70.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108950/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14022/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/14022/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14022/
Test PASSed.

Merged to master.


Use supported apps API group version in the deployment

What this PR does / why we need it:
Motivation: It enables installing this chart in k8s that support other versions of the apps API group
Defines and uses a helper template to get the most recent apps API version supported by the cluster.

Request for feedback before opening an upstream PR.

@julio-lopez we don't need this one, correct?


Merge in fixes from v2proto branch

Merging Egyptian OT development branch into main. Code is not ready for Unicode 12 format controls beta.