text:
[HOW-TO] make this rtsp stream stable?

i have a example to push rtsp stream to my server
camera.py
from picamera2 import Picamera2
from picamera2.encoders import H264Encoder
from picamera2.outputs import FfmpegOutput
from tool.log.log_uru import Logger

class Camera(object):
    def __init__(self, sn):
        self.rtsp = None
        self.lug = Logger().get_logger
        self.picam2 = Picamera2()
        # Picamera2.set_logging(Picamera2.DEBUG)
        # rtsp推流的编码
        self.encoder = None
        resolution = (1280, 720)
        self.picam2.configure(self.picam2.create_video_configuration(main={"size": resolution}))
        self.picam2.start()
        self.lug.info("Camera initialized")
        self.start_rtsp()

    def error_callback(self, e):
        """
        picamera2异常断开的回调函数
        """
        self.lug.error("Camera Error {}", e)
        # 重连
        # self.picam2.stop_encoder(self.encoder)
        # self.start_rtsp()
        # self.lug.warning("reconnecting...")

    def start_rtsp(self):
        # self.encoder = H264Encoder(bitrate=1000000)
        self.encoder = H264Encoder(bitrate=1000000, repeat=True, iperiod=15, framerate=15)
        self.rtsp = FfmpegOutput("-f rtsp rtsp://myserverip/live/test")
        self.rtsp.error_callback = self.error_callback
        self.encoder.output = self.rtsp
        self.picam2.start_encoder(self.encoder)

    def stop(self):
        """
        停止camera
        :return:
        """
        self.picam2.stop()

i run this camera.
main.py

if __name__ == '__main__':
   Camera("camera")
   while True:
     pass

However, if he pushes the RTSP stream for a maximum of 10 minutes, a broken pipe exception will appear。i want to know this is the ffmpeg's error or picamera2's error;

Here's the full code
main.py
import signal
import time
import sys
import RPi.GPIO as GPIO

from manager.device.index import DeviceManager
from manager.wireless.index import WirelessManager
from device.bluetooth.index import BluetoothDevice
from manager.protocol.mqtt.index import Mqtt
from manager.protocol.index import ProtocolManager
from tool.log.log_uru import Logger
from device.dht11.index import Dht11
from device.sgp30.index import Sgp30
from device.camera.index import Camera

lug = Logger().get_logger

# 定义信号处理函数
def signal_handler(sig, frame):
    lug.warning('收到信号:{} 退出程序中......', sig)
    ProtocolManager.terminate()
    DeviceManager.terminate()
    WirelessManager.terminate()
    GPIO.cleanup()
    lug.info("退出程序完成......")
    # 退出程序
    sys.exit(0)

# 注册信号处理函数
signal.signal(signal.SIGTERM, signal_handler)

if __name__ == '__main__':

    try:
        lug.info("项目启动中...")
        # 实例化mqtt协议
        Mqtt()
        # 初始化协议管理器
        ProtocolManager.init()
        # # 实例化蓝牙设备
        BluetoothDevice()
        # 初始化无线协议管理器
        # WirelessManager.init()

        # 温湿度计 5minutes每次
        dht11 = Dht11(18, "dht11_0001")
        lug.info("温湿度计启动...")

        # 环境传感器
        Sgp30(dht11, "SGP30_0001")
        lug.info("环境传感器启动...")

        # 摄像头 半小时采集一次图片
        Camera("camera")
        lug.info("摄像头启动...")

        # 开始定时任务
        # job = Job(mq)
        # job.add_job(data_job, 60 * 30, (mq,))
        # job.start()
        # lug.info("启动定时任务...")

        lug.info("项目启动完成......")
        while True:
            time.sleep(1)
            pass
    except KeyboardInterrupt:
        lug.error("捕获到 KeyboardInterrupt 异常，正在退出...")
        ProtocolManager.terminate()
        DeviceManager.terminate()
        sys.exit(0)
    except Exception as e:
        lug.error("异常: {}", e)
        ProtocolManager.terminate()
        DeviceManager.terminate()
        GPIO.cleanup()
        sys.exit(0)

camera index.py
import io
import threading
import time
from picamera2 import Picamera2
from picamera2.encoders import H264Encoder
from picamera2.outputs import FfmpegOutput
# from third.Out2 import FfmpegOutput
from device.models import Cam
from manager.device.index import Device, Topic
from manager.protocol.index import ProtocolManager
from tool.base64_tool import bytes_to_base64
from tool.log.log_uru import Logger
from tool.time_tool import ymd_hms_time

class Camera(Device):
    def get_protocol(self):
        return "Mqtt"

    def __init__(self, sn):
        super().__init__(sn, {}, {}, {})
        self.rtsp = None
        self.topic = Topic.camera_post
        self.lug = Logger().get_logger
        self.picam2 = Picamera2()
        # Picamera2.set_logging(Picamera2.DEBUG)
        # rtsp推流的编码
        self.encoder = None
        resolution = (1280, 720)
        self.picam2.configure(self.picam2.create_video_configuration(main={"size": resolution}))
        self.picam2.start()
        self.lug.info("Camera initialized")
        self.start_rtsp()
        self.push_task()

    def error_callback(self, e):
        """
        picamera2异常断开的回调函数
        """
        self.lug.error("Camera Error {}", e)
        # 重连
        # self.picam2.stop_encoder(self.encoder)
        # self.start_rtsp()
        # self.lug.warning("reconnecting...")

    def start_rtsp(self):
        # self.encoder = H264Encoder(bitrate=1000000)
        self.encoder = H264Encoder(bitrate=1000000, repeat=True, iperiod=15, framerate=15)
        self.rtsp = FfmpegOutput("-f rtsp rtsp://47.109.65.247/live/test")
        self.rtsp.error_callback = self.error_callback
        self.encoder.output = self.rtsp
        self.picam2.start_encoder(self.encoder)

    def __capture_pic(self):
        """
        抓取图片
        :return:
        """
        time.sleep(1)
        try:
            while True:
                data = io.BytesIO()
                time.sleep(1)
                self.picam2.capture_file(data, format='jpeg')
                b = data.getvalue()
                data.close()
                base_64 = bytes_to_base64(b)
                self.lug.debug("推送图片大小：{}", len(b))
                ProtocolManager.send_msg("Mqtt", self.topic,
                                         Cam(sn=self.sn, action="capture", val=base_64, time=ymd_hms_time()))
                time.sleep(60 * 5)
        except Exception as e:
            self.lug.error("抓取图片异常：{}", e)

    def push_task(self):
        """
        开启定时任务推送数据
        """
        threading.Thread(target=self.__capture_pic, daemon=True).start()

    def stop(self):
        """
        停止camera
        :return:
        """
        # self.rtsp.stop()
        # self.picam2.stop_encoder()
        self.picam2.stop()


text:
🛑 BFSU Mirror(mirrors.bfsu.edu.cn) is down

In 7e54b70, BFSU Mirror(mirrors.bfsu.edu.cn) (https://mirrors.bfsu.edu.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: BFSU Mirror(mirrors.bfsu.edu.cn) is back up in 2c79127.

source: gharchive/issue

repo: raspbian-addons/status

license: MIT

license_type: permissive

license_source: github-api


text:
lntop - an interactive text-mode channels viewer for Unix systems

Great tool to view LND channels in realtime.
Manual instructions to install for now:
# install Go
config.scripts/bonus.go.sh on

# install with Go
go install github.com/edouardparis/lntop@latest

# or install from source
git clone https://github.com/edouardparis/lntop.git
cd lntop && go install ./...

Start once with (CTRL+C to exit):
/home/admin/go/bin/lntop

Edit the config file:
nano .lntop/config.toml

Use:
cert = "/home/admin/.lnd/tls.cert"
macaroon = "/home/admin/.lnd/data/chain/bitcoin/mainnet/admin.macaroon"

Start with:
/home/admin/go/bin/lntop

Once the tls.cert and admin.macaroon is copied over works great with a remote node also (modify the setting accordingly) - related https://github.com/rootzoll/raspiblitz/issues/2392

closing as the project is no longer maintained

repo: raspiblitz/raspiblitz


text:
Numerous 'Lightning Wallet Locked'

Describe the bug
With a running node, I receive a 'Lightning Wallet Locked' message every few days.
I unlock the wallet; the node syncs and runs fine again.
This has been going on for a month. It is more of an annoyance than a real problem, but any insight would be appreciated.
Thank you.
Jim
To Reproduce
Just start the node and wait. Unlock lightning wallet when asked.
Debug file
https://termbin.com/5rrs
**system
Raspiblitz v1.11.0
bitcoin v26.0.0
lnd 0.17.3-beta

In general a request for an unlock happens when LND restarts. So the question is why is your LND restarting. Cannot see anything would in LND logs - just requests to unlock.
The release of RaspiBlitz v1.11.1 is close - best would be if you can so the update once its out and if the problem pesists write again here.

What Bugs me ist this

error creating wallet config: unable to set up wallet password listeners: shutting down

See also https://github.com/lightningnetwork/lnd/issues/3612
Ist your Swap enabled?
Check with cat /proc/swaps

authors: cstenglein rootzoll thephizzz


text:
Change the show art

Before publishing, the defaults need to change

Hi there! What do you want to be changed here? The page layout?

authors: felipebpl rastacalavera

repo: rastacalavera/cautiously-curious-HCN


text:
Implement Widget on &BarChart or &mut BarChart

Problem
Widget currently cannot be implemented on &BarChart nor &mut BarChart because it mutates its state in a destructive way.
Solution
Change BarChart implementation to not mutate or in a non destructive way.
Additional context
See https://github.com/ratatui-org/ratatui/pull/833#discussion_r1465312072 for some context.

This is fixed by https://github.com/ratatui-org/ratatui/pull/903

repo: ratatui-org/ratatui


text:
Disable __checkbox on load

Hi there,
I have a little question relative to the usage of __checkbox  , its possible set the checkbox as disabled/enabled based on row specific information ?

Yes, you just add or remove the track-by id to/from the selectedToarray.

@ratiw hi there sorry for the late reply. I will try that =) but i'm just wondering if i do that the checkbox dont get disabled , instead get a unselected status or i'm wrong ?

@Rubemlrm Yes, you're correct. There is no way to selectively enable/disable each checkbox unless you fork the repo and make some necessary adjustment. But wouldn't that be confusing to the user?

In this case its a needed feature , because the list i'm working on , its a task list and i want disable the checkbox's of tasks already planned to avoid duplicated tasks planning. Maybe i will use a component/slot to emulate this behaviour.

i've implemented the behaviour i wanted using a slot and settings the selectedTo props.
I will close this issue. thanks for the help @ratiw.

authors: Rubemlrm ratiw

license: mit

license_source: bigquery


text:
Is it possible to display the interstitial ad during the splash screen?

Is it possible to display the interstitial ad during the splash screen?
When you try to do this, it closes the splash screen and displays the home of the app before displaying the interstitial.

@weltonpagassini You could simulate the effect by displaying the ad on device ready event, but since ads are loaded asynchronously and maybe fail, this may result a long loading time for your users.

authors: ratson weltonpagassini

repo: ratson/cordova-plugin-admob-free


text:
Plugin not working, how to debug?

Hey,
First of all, this plugin looks amazing, its just what I am after. However I am having issues getting it to work.
This is how I am loading it via lazy
return {
  {
    'ravibrock/spellwarn.nvim',
    config = function()
      require('spellwarn').setup {

        event = { -- event(s) to refresh diagnostics on
          'CursorHold',
          'InsertLeave',
          'TextChanged',
          'TextChangedI',
          'TextChangedP',
          'TextChangedT',
        },
        ft_config = { -- spellcheck method: "cursor", "iter", or boolean
          alpha = false,
          help = false,
          lazy = false,
          lspinfo = false,
          mason = false,
        },
        ft_default = true, -- default option for unspecified filetypes
        max_file_size = nil, -- maximum file size to check in lines (nil for no limit)
        severity = { -- severity for each spelling error type (false to disable diagnostics for that type)
          spellbad = 'WARN',
          spellcap = 'HINT',
          spelllocal = 'HINT',
          spellrare = 'INFO',
        },
        prefix = 'possible misspelling(s): ', -- prefix for each diagnostic message
      }
    end,
  },
}

Yet when I do :Spellwarn enable nothing happens. For example
        -- heello
``` Does not show a warning, what can I do to debug this? I don't mind writing some docs once I understand what I am doing wrong.. Thanks.

That config snippet works for me. Did you set spell?

I did not... after set spell it works. Strange I thought I had that set already, but apparently not.  Maybe adding that to the README might help new users like myself ?

Sure,  I can add a note about that. Glad I could help.

authors: ktasper ravibrock


text:
Expose inet:port for socket types

For example, I would like to be able to get the port number of a socket like so:
import gleam/io
import gleam/result
import glisten/socket
import glisten/socket/options.{ActiveMode, Passive}
import glisten/tcp

pub fn main() {
  use listener <- result.then(tcp.listen(0, [ActiveMode(Passive)]))
  use port <- result.then(socket.port(listener))
  io.debug(#("port number is ", port))

  use sock <- result.then(tcp.accept(listener))
  use port <- result.then(socket.port(sock))
  io.debug(#("port number is ", port))

  Ok(Nil)
}

Notice that port 0 is used so the OS will allocate a port for us. Without the inet:port function, there is no way to know what the actual port number is.
I did something very simple here to test it out:
@external(erlang, "inet", "port")
pub fn port(socket: ListenSocket) -> Result(Int, SocketReason)

But I'm completely new to gleam, and I'm not sure how to make this work for both ListenSocket and Socket types. I don't know any Erlang, so I'm not sure how those opaque types are related to the Erlang gen_tcp code.
I'm also not sure if SocketReason is the proper error type for this external function.

Makes sense as well, I can add a wrapper for that.  Thanks!

Cool, so I've added this.  Currently just on master... it's going to need a major version bump since I had to update the return signature of the top-level methods to support accessing the OS-assigned port.  For the "low-level" stuff, it's accessible at glisten/transport.{port} and it uses the ListenSocket.  It probably works with both, but that's annoying to do with the Gleam type system.
I suspect it will be okay in practice to just look it up once the listen socket is obtained.  If you have a use-case in mind that needs it otherwise, I can work around it.  Will probably just need a separate function.
If you want, you can clone the repo and try it out as a path dependency.  If you can, would be helpful to see if I did anything wrong 😅 if not, no worries!

Thanks!

It probably works with both, but that's annoying to do with the Gleam type system.

Understandable, I can't think of a use case for getting the bound port from an accept call. I'm curious what you mean by "annoying" though.
Also OOC, what does the unknown mean here?
pub fn port(socket: ListenSocket) -> Result(Int, unknown)

If you want, you can clone the repo and try it out as a path dependency

I just made a small change to the "low_level" example to see it working:
diff --git a/examples/low_level/src/low_level.gleam b/examples/low_level/src/low_level.gleam
index 5a087ab..20c2b81 100644
--- a/examples/low_level/src/low_level.gleam
+++ b/examples/low_level/src/low_level.gleam
@@ -1,13 +1,17 @@
+import gleam/int
 import gleam/io
 import gleam/result
 import glisten/socket/options.{ActiveMode, Passive}
 import glisten/tcp
+import glisten/transport
 import logging

 pub fn main() {
   logging.configure()

-  use listener <- result.then(tcp.listen(8000, [ActiveMode(Passive)]))
+  use listener <- result.then(tcp.listen(0, [ActiveMode(Passive)]))
+  use port <- result.then(transport.port(listener))
+  io.println("port = " <> int.to_string(port))
   use socket <- result.then(tcp.accept(listener))
   use msg <- result.then(tcp.receive(socket, 0))
   io.debug(#("got a msg", msg))

Oh also the "echo_server" example is already doing this, but via the get_port function.

authors: bonsairobo rawhat

repo: rawhat/glisten


text:
Expose head service ServiceSpec

Exposes the ServiceSpec of the head pod service to the user.  Previously, we only exposed the type field. This led to limitations such as, for example, the user specifying type: LoadBalancer and having no way to set the associated field LoadBalancerIPs.
After this PR, we will have two ways of specifying the service type: the legacy HeadGroupSpec.ServiceType, and the new HeadGroupSpec.HeadServiceSpec.Type.  In this PR we make the former take precedence.
In the long term we should have only one way of specifying this.  One plan might involve a few PRs:

Update all sample YAMLS and documentation examples that currently use HeadGroupSpec.ServiceType to use HeadGroupSpec.HeadServiceSpec.Type, if any
Print a deprecation warning for HeadGroupSpec.ServiceType in v0.6
Remove HeadGroupSpec.ServiceType in v0.7.

Or, if we think it's convenient and harmless, we can leave them both in forever.
Why are these changes needed?
Closes #877

Related issue number

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

Is https://github.com/ray-project/kuberay/blob/master/ray-operator/controllers/ray/raycluster_controller_fake_test.go the best place to add a test for this?

There's one test failure:
                               Diff:
                                --- Expected
                                +++ Actual
                                @@ -8,3 +8,5 @@
                                   (string) (len=16) "rayClusterConfig": (map[string]interface {}) (len=3) {
                                -   (string) (len=13) "headGroupSpec": (map[string]interface {}) (len=3) {
                                +   (string) (len=13) "headGroupSpec": (map[string]interface {}) (len=4) {
                                +    (string) (len=15) "headServiceSpec": (map[string]interface {}) {
                                +    },
                                     (string) (len=14) "rayStartParams": (map[string]interface {}) (len=7) {
                Test:           TestMarshallingRayService
--- FAIL: TestMarshallingRayService (0.00s)

I'm trying to figure out why the new headServiceSpec field is being included but the existing serviceType field isn't included, even though they're both optional and have similar code handling them.

In the long term we should have only one way of specifying this.

At some point, the API needs to be upgraded to, say, v1beta1. Then you're allowed to make backwards-incompatible changes, but there's some rigamarole with converting webhooks that you're supposed to do: https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html

Closing in favor of https://github.com/ray-project/kuberay/pull/1040

source: gharchive/pull-request

authors: DmitriGekhtman architkulkarni

repo: ray-project/kuberay


text:
Add validating webhook

and validate worker group names are unique.
Much of the code was generated by running the command below as documented in
kubebuilder.
kubebuilder create webhook \
  --group ray \
  --version v1 \
  --kind RayCluster \
  --defaulting \
  --programmatic-validation`

Example RayCluster that has duplicate worker group names
cat dupe-worker-group-name.yaml

apiVersion: ray.io/v1
kind: RayCluster
metadata:
  name: dupe-worker-group-name
spec:
  headGroupSpec:
    rayStartParams:
      dashboard-host: '0.0.0.0'
    template:
      spec:
        containers:
        - name: ray-head
          image: rayproject/ray:2.7.0
  workerGroupSpecs:
  - replicas: 1
    minReplicas: 1
    maxReplicas: 10
    groupName: group1
    rayStartParams: {}
    template:
      spec:
        containers:
        - name: ray-worker
          image: rayproject/ray:2.7.0
  - replicas: 1
    minReplicas: 1
    maxReplicas: 10
    groupName: group1
    rayStartParams: {}
    template:
      spec:
        containers:
        - name: ray-worker
          image: rayproject/ray:2.7.0

Before
kubectl apply -f dupe-worker-group-name.yaml
raycluster.ray.io/raycluster-dupe-worker-name created

After
kubectl --context kind-kind apply -f config/samples/ray-cluster-dupe-worker-name.yaml                                                                                (base)
The RayCluster "raycluster-dupe-worker-name" is invalid: spec.workerGroupSpecs[1]: Invalid value: v1.WorkerGroupSpec{GroupName:"group1", Replicas:(*int32)(0x40006e63cc), MinReplicas:(*int32)(0x40006e63c8), MaxReplicas:(*int32)(0x40006e63c0), RayStartParams:map[string]string{}, Template:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC), DeletionTimestamp:<nil>, DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ClusterName:"", ManagedFields:[]v1.ManagedFieldsEntry(nil)}, Spec:v1.PodSpec{Volumes:[]v1.Volume(nil), InitContainers:[]v1.Container(nil), Containers:[]v1.Container{v1.Container{Name:"ray-worker", Image:"rayproject/ray:2.7.0", Command:[]string(nil), Args:[]string(nil), WorkingDir:"", Ports:[]v1.ContainerPort(nil), EnvFrom:[]v1.EnvFromSource(nil), Env:[]v1.EnvVar(nil), Resources:v1.ResourceRequirements{Limits:v1.ResourceList(nil), Requests:v1.ResourceList(nil)}, VolumeMounts:[]v1.VolumeMount(nil), VolumeDevices:[]v1.VolumeDevice(nil), LivenessProbe:(*v1.Probe)(nil), ReadinessProbe:(*v1.Probe)(nil), StartupProbe:(*v1.Probe)(nil), Lifecycle:(*v1.Lifecycle)(nil), TerminationMessagePath:"", TerminationMessagePolicy:"", ImagePullPolicy:"", SecurityContext:(*v1.SecurityContext)(nil), Stdin:false, StdinOnce:false, TTY:false}}, EphemeralContainers:[]v1.EphemeralContainer(nil), RestartPolicy:"", TerminationGracePeriodSeconds:(*int64)(nil), ActiveDeadlineSeconds:(*int64)(nil), DNSPolicy:"", NodeSelector:map[string]string(nil), ServiceAccountName:"", DeprecatedServiceAccount:"", AutomountServiceAccountToken:(*bool)(nil), NodeName:"", HostNetwork:false, HostPID:false, HostIPC:false, ShareProcessNamespace:(*bool)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Hostname:"", Subdomain:"", Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), HostAliases:[]v1.HostAlias(nil), PriorityClassName:"", Priority:(*int32)(nil), DNSConfig:(*v1.PodDNSConfig)(nil), ReadinessGates:[]v1.PodReadinessGate(nil), RuntimeClassName:(*string)(nil), EnableServiceLinks:(*bool)(nil), PreemptionPolicy:(*v1.PreemptionPolicy)(nil), Overhead:v1.ResourceList(nil), TopologySpreadConstraints:[]v1.TopologySpreadConstraint(nil), SetHostnameAsFQDN:(*bool)(nil), OS:(*v1.PodOS)(nil)}}, ScaleStrategy:v1.ScaleStrategy{WorkersToDelete:[]string(nil)}}: worker group names must be unique

Related issue number
closes #718
closes #736
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

Cool! Can users determine whether to install this webhook or not?

I need to find a way to make it opt-in. Lmk if you have some examples.

Why does the Go-build-and-test / Lint (pull_request) check fail when it has no files to analyze?
run golangci-lint
  Running [/home/runner/golangci-lint-1.54.1-linux-amd64/golangci-lint run --out-format=github-actions --path-prefix=./apiserver --timeout=3m] in [/home/runner/work/kuberay/kuberay/apiserver] ...
  level=error msg="Running error: context loading failed: no go files to analyze"

  Error: golangci-lint exit with code 5
  Ran golangci-lint in 6317ms

@davidxia Would you mind fixing the CI errors? Thanks!

The lint check in CI keeps failing.

The lint check in CI keeps failing.

should be fixed now!

Should I update docs here in a subsequent PR?

Should I update docs here in a subsequent PR?

We currently move almost all docs to the Ray website. Maybe we can add a doc for webhook under User Guides instead?

Thanks, I will merge it after I manually test it.

Manual tests include

make install-with-webhooks && make uninstall-with-webhooks exits 0
make deploy-with-webhooks && make undeploy-with-webhooks exits 0
make install && make install-with-webhooks exits 0
make deploy && make deploy-with-webhooks exits 0
make install-with-webhooks deploy-with-webhooks && kubectl apply -f dupe-worker-group-name.yaml (see above for file) results in error with message worker group names must be unique

Should we write proper tests for these? Is it easy to do so?

I tested this PR manually by running the following
kind create cluster --image=kindest/node:v1.26.0
IMG=kuberay/operator:test make docker-image
kind load docker-image kuberay/operator:test

# If this command reports any errors, rerun it.
IMG=kuberay/operator:test make deploy-with-webhooks

kubectl apply -f dupe-worker-group-name.yaml
# The RayCluster "dupe-worker-group-name" is invalid: spec.workerGroupSpecs[1]: Invalid value: ...... : worker group names must be unique

The command make deploy-with-webhooks always reports errors about cert-manager in the first run. I need to rerun the command when the cert-manager Pods are ready. Is there any way to make the first try succeed?

Do serving-cert and selfsigned-issuer take some time to appear on the cluster?

Do serving-cert and selfsigned-issuer take some time to appear on the cluster?

No. I do not dig into the root cause, but, in my observation, both serving-cert and selfsigned-issuer can only be created after cert-manager Pods are ready. If I do not rerun the command, the KubeRay operator Pod will hang forever because  Warning  FailedMount  11s (x6 over 27s)  kubelet            MountVolume.SetUp failed for volume "cert" : secret "webhook-server-cert" not found. After I run the command again, the certificate will be created immediately.

Compatibility:

cert-manager v1.13.2 supports Kubernetes 1.23 - 1.28. (https://github.com/ray-project/kuberay/pull/1584#discussion_r1403618840)
KubeRay currently supports Kubernetes 1.20 and above. However, it would be acceptable to only support versions 1.23 and higher, as the Kubernetes community has not supported version 1.23 since February 2023. (https://endoflife.date/kubernetes).
I tried to test this PR with webhook disabled on Kubernetes 1.20.7. It works.

To conclude, it is fine for KubeRay to support v1.23+.

Open an issue to track the progress: https://github.com/ray-project/kuberay/issues/1692

thanks so much for merging, i'll take a look at that new issue when I get a chance.
I'll first make a doc PR to the User Guides. I'm guessing you'd like a new page and item in that list for it?

Good work! I have one question: it seems that helm chart installation is inconsistent with this pr and only kustomize installation for webhook is supported?

@cermeng yes we didn't add that yet. But I think PRs are welcome.

authors: cermeng davidxia kevin85421


text:
Unpin pyarrow as petastorm was updated

Unpin pyarrow as petastorm was updated.

Test failures are unrelated and same on master


text:
[Bug] C++ Type_definition()

Hi.
With C++, trying to use vim.lsp.buf.type_definition() shows this error:

Yes. it is expected. clang does not support typeDefinition request, use definition request instead.

Perfect.

authors: chriztheanvill ray-x


text:
GT key binding overrides vim shift-g shortcut

Normally, shift+g goes to the end of the file. With the GT shortcut defined, that no longer works, at least with the which-key plugin.

Thanks for the suggestions. Code updated.

authors: ckoehler ray-x


text:
[Formula 1] ...

Extension – Formula 1
Author:

Description
i'm getting errors for every Formula1 extension message "Error - Could not load seasons"
Steps To Reproduce

Open Raycast
chouse Race Schedule (or any other command)3.

The current behavior
Under the Raycast i can see the Error only
The expected behavior
See the schedule
Raycast version

1.36.1

Hi @gentlice 👋
I was not possible to reproduce the issue here, are you on our Slack then I'd love to debug the issue with you 🙂

authors: gentlice pernielsentikaer

repo: raycast/extensions


text:
[OpenAI GPT3] ...

Extension
https://www.raycast.com/simicvm/openai-gpt3
Description
error 429
Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

Me as well. Same issue.

Does it happen with any model, or only a specific model?
Does it happen on every prompt?

Resolves #5790

authors: MoskaletsA homoky simicvm


text:
[Linear] Improvements for "Search Projects" command

Description

#13882: Replaced filtering on roadmaps with filtering on initiatives, as initiatives replaced roadmaps.
Made Delete Project action alert destructive and added a retry option in case of errors.

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

closes https://github.com/raycast/extensions/issues/13882

This PR is ready to be reviewed 🔥

Hey @thomaslombart can you please take a look when you have some time?


text:
Connexion Security Plugin

Hello,
Thanks, this was easy to set up and get going. A Connexion/OpenAPI example would be great.
Thanks Again,
Mark

Thanks for your suggestion. We will definitely take a look at a later time. We are currently focusing on providing better support for more popular frameworks. We shipped Django support just minutes ago. Our next target will be Flask.
Meanwhile, you can use the Watch button (near the Star button) of this repo to subscribe its future release notifications.

authors: nosrednakram rayluo

repo: rayluo/identity


text:
null is not an object ( evaluating ;this.state.visible';)

Hello,
excuse me for the probably stupid question. I am really new to React, I wa trying to get the Modal without overlay example up and running but i get this error : null is not an object ( evaluating ;this.state.visible';) when I try to run the program. I am probably missing something, maybe call it from somewhere when I click a button, but I am not sure how.
Thank you !

It looks like you simply copied and pasted the example from the README.md. These examples are not complete and their purpose is just to highlight the API of the modal wrapper. In that example this.state represents the state of the component that uses the modal wrapper, and this.state.visible logically represents the visibility of the modal wrapper, since it is passed as prop to determine its visibility. If you are not familiar with the basis of react I suggest you to study it a little bit, and you can start from taking a look at props and state.
props:
https://facebook.github.io/react/docs/components-and-props.html
state:
https://facebook.github.io/react/docs/state-and-lifecycle.html
I'm closing this because it is not an issue.


text:
Update raudio.h

Fixed typo, where music parameter of SetMusicPan was named incorrectly.

@AnkurMal thanks for the review!

license: Zlib


text:
[compiling] Can't link libraries

I have been reading up on this library for a few days now and decided to give it a shot. I am trying to link the libraries, but nothing happens. I am on Ubuntu 16.04, and I have followed the tutorial in the Wiki to install GLFW and OpenAL.
Makefile:
# OBJS specifies which files to compile as part of the project
OBJS = *.cpp

# CXX specifies the compiler that we want to use
CXX = c++

# COMPILER_FLAGS specifies the additional compilation options that we are using
# -w supress all warnings
COMPILER_FLAGS = -w -std=c++11

# INCLUDE_PATHS
INCLUDE_PATHS = -I"/usr/local/include"

# LINKER_PATHS
LINKER_PATHS = -L"/usr/local/lib"

# LINKER_FLAGS
LINKER_FLAGS = -lraylib

# OBJ_NAME specifies the name of our executable
OBJ_NAME = Test

# This is the target that compiles our executable
all: $(OBJS)
    $(CXX) $(COMPILER_FLAGS) $(INCLUDE_PATHS) $(LINKER_PATHS) $(LINKER_FLAGS) $(OBJS) -o $(OBJ_NAME)

Errors after compiling:
c++ -w -std=c++11 -I"/usr/local/include" -L"/usr/local/lib" -lraylib *.cpp -o Test
/tmp/cc92J6DK.o: In function `main':
main.cpp:(.text+0x27): undefined reference to `InitWindow'
main.cpp:(.text+0x31): undefined reference to `SetTargetFPS'
main.cpp:(.text+0x36): undefined reference to `WindowShouldClose'
main.cpp:(.text+0x42): undefined reference to `BeginDrawing'
main.cpp:(.text+0x6f): undefined reference to `ClearBackground'
main.cpp:(.text+0xab): undefined reference to `DrawText'
main.cpp:(.text+0xb0): undefined reference to `EndDrawing'
main.cpp:(.text+0xba): undefined reference to `CloseWindow'
collect2: error: ld returned 1 exit status
Makefile:25: recipe for target 'all' failed
make: *** [all] Error 1

All the libraries are in the lib folder, and the include file is in the include folder.

It seems it's not linking with libraylib.a... and I also see you're not linking with all required libs... To verify it, try copying libraylib.a and raylib.h in same folder and compile again:
c++ -w -std=c++11 -I. -L. -lraylib -lglfw3 -lGL -lopenal -lm -pthread -ldl *.cpp -o test

Please, let me know if it works!

I just tried that a few minutes ago, still got this:
c++ -w -std=c++11 -I"/usr/local/include" -L"/usr/local/lib" -lraylib -lglfw3 -lGL -lopenal -lm -pthread -ldl *.cpp -o Test
/tmp/ccrcvsRQ.o: In function `main':
main.cpp:(.text+0x27): undefined reference to `InitWindow'
main.cpp:(.text+0x31): undefined reference to `SetTargetFPS'
main.cpp:(.text+0x36): undefined reference to `WindowShouldClose'
main.cpp:(.text+0x42): undefined reference to `BeginDrawing'
main.cpp:(.text+0x6f): undefined reference to `ClearBackground'
main.cpp:(.text+0xab): undefined reference to `DrawText'
main.cpp:(.text+0xb0): undefined reference to `EndDrawing'
main.cpp:(.text+0xba): undefined reference to `CloseWindow'
collect2: error: ld returned 1 exit status
Makefile:25: recipe for target 'all' failed
make: *** [all] Error 1

Hi @BlakeBarnes00,
Have you tried the default examples? Do they work?
Just go to raylib/examples folder and run the make file:
make PLATFORM=PLATFORM_DESKTOP -B

raylib is a C library but it should work perfectly with C++.
Try compiling a single C example (core_basic_window.c) this way:
gcc core_basic_window.c -o test -std=c99 -I. -I../src -L. -L../release/linux -lraylib -lglfw3 -lGL -lopenal -lm -ldl -pthreads

Any news on this issue? Does it work?

I tried it too but I've got the same results.

sorry, my bad, it should be -lpthread
Ok, full line again:
gcc core_basic_window.c -o core_basic_window -std=c99 -I. -I../src -L. -L../release/linux -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor

Have you tried again? Does it work now?

Yes! Thanks! I just sent you an e-mail to tell that it's working, but the makefiles LIBS flags needs update to work.

Just wanted to say that for me it won't work if i put the -lraylib before the source files:
Works:
g++ main.cc -lraylib

Doesn't Work:
g++ -lraylib main.cc

@RGFTheCoder this is expected behaviour with g++ and gcc for that matter, nothing to do with raylib ...

Just wanted to point it out because It took me a really long time to realize.

@RGFTheCoder  have a look at this https://stackoverflow.com/questions/45135/why-does-the-order-in-which-libraries-are-linked-sometimes-cause-errors-in-gcc

To make it work I just  sudo ldconfig

hey hello everyone i had the exact same issue as them and i tried all the methods none work
any help?

Just wanted to say that for me it won't work if i put the -lraylib before the source files:
Works:
g++ main.cc -lraylib

Doesn't Work:
g++ -lraylib main.cc

That solved my problem too

authors: BlakeBarnes00 CodeLearnermax EllisBarnes00 Kankulo RGFTheCoder ahmetkar chriscamacho raysan5 seccopower


text:
[rlgl] Add unsigned int to rlSetUniform

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[x] I checked the documentation on the wiki
[x] My code has no errors or misuse of raylib

Issue description
rlSetUniform doesn't provide a way to set unsigned uniform, i.e. no way to call glUniform1uiv, glUniform2uiv, glUniform3uiv, glUniform4uiv.
Environment
Computer shader with OpenGL4.3

@spevnev Is this request intendedt to address a specific use-case? Or is it just for completion?


text:
README.md: HTTP => HTTPS

Checked the links, skipping the redirect HTTP => HTTPS this way 0:-)
Note regarding http://mingw-w64.org/doku.php:
It's currently 404 but checking the latest available entry in the archive (=> https://web.archive.org/web/20210828144510/http://mingw-w64.org/doku.php), it's clear that it's just https://www.mingw-w64.org/ now.

@Schweinepriester thank you very much for the review!


text:
feat: api to create product features

https://github.com/raystack/proton/pull/346

Pull Request Test Coverage Report for Build 8316032562
Details

565 of 4782 (11.82%)  changed or added relevant lines in 7 files are covered.
186 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 9.927%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

billing/product/service.go
0
3
0.0%

pkg/server/interceptors/authorization.go
0
6
0.0%

internal/api/v1beta1/billing_product.go
0
65
0.0%

proto/v1beta1/frontier_grpc.pb.go
0
78
0.0%

proto/v1beta1/frontier.pb.gw.go
0
241
0.0%

proto/v1beta1/frontier.pb.validate.go
0
507
0.0%

proto/v1beta1/frontier.pb.go
565
3882
14.55%

Files with Coverage Reduction
New Missed Lines
%

proto/v1beta1/frontier.pb.go
186
6.07%

Totals

Change from base Build 8313739000:
-0.1%

Covered Lines:
9401

Relevant Lines:
94705

💛  - Coveralls

authors: coveralls kushsharma

repo: raystack/frontier


text:
Two sum migrate swift3

Migrated the two sum problem to swift3 as per #181 and due to #182 being closed due to inactivity.

Thanks @JaapWijnen 👍

authors: JaapWijnen chris-pilcher

repo: raywenderlich/swift-algorithm-club


text:
DismissAnimator使用AnimatorSet导致消失动画失效

系统版本：Android6.0

库版本：20190611

问题描述/重现步骤：在onCreateDismissAnimator里面return的类是AnimatorSet会导致消失动画不生效。

问题代码/截图：目前最新代码，列表弹窗ListPopup，就有这样的问题

报错信息：没有

大佬，有空看吗

暂时来说，你先给animatorset设置duration

好的呢

authors: razerdp tpnet

repo: razerdp/BasePopup


text:
Update the camera class

I wanted to make some changes to how the Model, View etc matrices are bound. I would also probably integrate the new Camera class from Sol in.

Added a new CameraManager. Hopefully it will work.


text:
POSTCSS: failed to transform "assets/main/bundle.min.css"

Hi,
Trying to deploy latest version on CF Pages, however it fails with: Error: Error building site: POSTCSS: failed to transform "assets/main/bundle.min.css" (text/css): SyntaxError: Unexpected token ] in JSON at position 95
Complete build log:
.......
2023-01-25T05:42:01.626552Z	Success: Finished cloning repository files
2023-01-25T05:42:02.377468Z	Installing dependencies
2023-01-25T05:42:02.389335Z	Python version set to 2.7
2023-01-25T05:42:05.966623Z	Downloading and installing node v16.13.2...
2023-01-25T05:42:06.420087Z	Downloading https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz...
2023-01-25T05:42:06.838438Z	Computing checksum with sha256sum
2023-01-25T05:42:06.965865Z	Checksums matched!
2023-01-25T05:42:11.29325Z	Now using node v16.13.2 (npm v8.1.2)
2023-01-25T05:42:11.709604Z	Started restoring cached build plugins
2023-01-25T05:42:11.723894Z	Finished restoring cached build plugins
2023-01-25T05:42:12.247231Z	Attempting ruby version 2.7.1, read from environment
2023-01-25T05:42:15.978588Z	Using ruby version 2.7.1
2023-01-25T05:42:16.352566Z	Using PHP version 5.6
2023-01-25T05:42:16.520341Z	5.2 is already installed.
2023-01-25T05:42:16.549973Z	Using Swift version 5.2
2023-01-25T05:42:16.550521Z	Started restoring cached node modules
2023-01-25T05:42:16.56905Z	Finished restoring cached node modules
2023-01-25T05:42:17.053726Z	Installing NPM modules using NPM version 8.1.2
2023-01-25T05:42:35.56786Z
2023-01-25T05:42:35.568212Z	added 480 packages, and audited 481 packages in 18s
2023-01-25T05:42:35.56837Z
2023-01-25T05:42:35.568511Z	47 packages are looking for funding
2023-01-25T05:42:35.568625Z	  run `npm fund` for details
2023-01-25T05:42:35.570321Z
2023-01-25T05:42:35.570566Z	found 0 vulnerabilities
2023-01-25T05:42:35.585841Z	NPM modules installed
2023-01-25T05:42:36.136716Z	Installing Hugo 0.106.0
2023-01-25T05:42:37.498208Z	hugo v0.106.0-e08ce30fe4779e7d8a8395d7021314b915648cb4+extended linux/amd64 BuildDate=2022-11-17T18:33:40Z VendorInfo=gohugoio
2023-01-25T05:42:37.503527Z	Started restoring cached go cache
2023-01-25T05:42:37.526693Z	Finished restoring cached go cache
2023-01-25T05:42:37.527573Z	Installing Go version 1.18.1
2023-01-25T05:42:45.611424Z
2023-01-25T05:42:45.627776Z	unset GOOS;
2023-01-25T05:42:45.643574Z	unset GOARCH;
2023-01-25T05:42:45.643923Z	export GOROOT='/opt/buildhome/.gimme_cache/versions/go1.18.1.linux.amd64';
2023-01-25T05:42:45.644134Z	export PATH="/opt/buildhome/.gimme_cache/versions/go1.18.1.linux.amd64/bin:${PATH}";
2023-01-25T05:42:45.644593Z	go version >&2;
2023-01-25T05:42:45.644758Z
2023-01-25T05:42:45.650898Z	export GIMME_ENV="/opt/buildhome/.gimme_cache/env/go1.18.1.linux.amd64.env"
2023-01-25T05:42:45.664896Z	go version go1.18.1 linux/amd64
2023-01-25T05:42:45.668205Z	Installing missing commands
2023-01-25T05:42:45.668492Z	Verify run directory
2023-01-25T05:42:45.668691Z	Executing user command: hugo --minify
2023-01-25T05:42:47.716973Z	hugo: downloading modules …
2023-01-25T05:42:48.637348Z	hugo: collected modules in 2921 ms
2023-01-25T05:42:48.759106Z	Start building sites …
2023-01-25T05:42:48.759392Z	hugo v0.106.0-e08ce30fe4779e7d8a8395d7021314b915648cb4+extended linux/amd64 BuildDate=2022-11-17T18:33:40Z VendorInfo=gohugoio
2023-01-25T05:42:52.45272Z	Error: Error building site: POSTCSS: failed to transform "assets/main/bundle.min.css" (text/css): SyntaxError: Unexpected token ] in JSON at position 95
2023-01-25T05:42:52.453007Z	    at JSON.parse (<anonymous>)
2023-01-25T05:42:52.453163Z	    at defaultExtractor (/tmp/hugo_cache/modules/filecache/modules/pkg/mod/github.com/razonyang/hugo-theme-bootstrap@v1.0.0-beta2/purgecss.config.js:11:22)
2023-01-25T05:42:52.453351Z	    at A (/opt/buildhome/repo/node_modules/purgecss/lib/purgecss.js:1:4142)
2023-01-25T05:42:52.453502Z	    at P.extractSelectorsFromFiles (/opt/buildhome/repo/node_modules/purgecss/lib/purgecss.js:1:6179)
2023-01-25T05:42:52.453628Z	    at async /opt/buildhome/repo/node_modules/@fullhuman/postcss-purgecss/lib/postcss-purgecss.js:1:646
2023-01-25T05:42:52.453738Z	    at async LazyResult.runAsync (/opt/buildhome/repo/node_modules/postcss/lib/lazy-result.js:433:15)
2023-01-25T05:42:52.453844Z	    at async Promise.all (index 0)
2023-01-25T05:42:52.453948Z	Total in 6740 ms
2023-01-25T05:42:52.466502Z	Failed: build command exited with code: 255
2023-01-25T05:42:53.408444Z	Failed: an internal error occurred

It builds and runs just fine on WSL (Ubuntu). I also matched the same versions of hugo, node, etc.
Any idea what is happening?

I think this issue comes from hugo_stats.json or extra_stats.json. You can output and check those files by cat command or something else during the CF deployment.

I don't think you can cat during CF deployment.

Another clue is that emulate this in local, hugo -e production --minify -b http://localhost:1313.

Another clue is that emulate this in local, hugo -e production --minify -b http://localhost:1313.

Yes, this works. Now checking.

All good, an extra "," was present in extra_stats.json.
Thank you!

authors: Mecanik razonyang

repo: razonyang/hugo-theme-bootstrap-skeleton


text:
Fix server timer for res (closest res to 1196x673)

Might be c-value issue. is centered in tf_use_match_hud 0

Should now hopefully be resolved.

Fixed in https://github.com/rbjaxter/budhud/commit/85f44e04433fd3dd45abf27b87750e315188de37.

It appears this has not yet been resolved, and has to do with having tf_use_match_hud set to 0 when first launching. When you toggle between tf_use_match_hud 1 and 0, it fixes this issue. Furthermore, using 1 leads to this issue not existing. I may try to continue to explore how to resolve this, but I'm not sure if there's a solution at the moment.

It appears it's now fixed, as far as I can tell.

repo: rbjaxter/budhud


text:
When should I close mysql/sqlite3 connection ? Or I don't need to close them ?

When and how should I close mysql/sqlite3 connection ?
Or they use a static thread local implementation, so actuall every time I write code:
	sqlpp::mysql::connection db(config);

Actually I get the same mysql/sqlite3 connection on the same thread ? (and when process ends, the connection is closed) So nothing need to be done for close ?

Connections close when they go out of scope.
Thread-safety is "inherited" from the underlying library. E.g. if something is safe to do with sqlite3, it is safe to do that with sqlpp11::sqlite3.

thanks


text:
Failed to find schema examples

Hello,
Whenever I execute the fhir-seagger \ command I get a lot of errors saying:
Failed to find schema example for <e.g. ActivityDefinition>
I'm not sure which file from the package do i need to modify so that the tool can generate Swagger for fhir json files.
Thank you!

Hi there,
You can add example schemas here: https://github.com/bobby-brennan/fhir-swagger/tree/master/schemas
The schemas that are there came from this page. It's possible they've added new schemas since the last download. Happy to accept a PR with ActivityDefinition or any other schema examples.

Hello,
Thank you so much for the reply. Unfortunately, the application is giving me ETIMEOUT error now:
[cid:image001.png@01D4A285.C7E3EB60]
Any suggestions to resolve this?
Also, is it possible to start with few resources, instead of all of them? I want to convert say 4-5 JSON files (such as Patient, Practitioner, Organization, etc. ) to Swagger format. Not sure if the tool will allow, if yes, next question is how and where?
Thank you in advance for looking into the issues. Appreciate your response.
Kind regards,
Radhika
From: Bobby Brennan notifications@github.com
Sent: Wednesday, January 2, 2019 10:19 AM
To: bobby-brennan/fhir-swagger fhir-swagger@noreply.github.com
Cc: Verma, Radhika radhika.verma@ehealthontario.on.ca; Author author@noreply.github.com
Subject: Re: [bobby-brennan/fhir-swagger] Failed to find schema examples (#11)
Hi there,
You can add example schemas here: https://github.com/bobby-brennan/fhir-swagger/tree/master/schemashttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_bobby-2Dbrennan_fhir-2Dswagger_tree_master_schemas&d=DwMFaQ&c=JZUmuHfvZaOkNOGiUpQbGyGsM8Jf9oFbjpAib-DiM1Q&r=uvzbDYZhCCnIUq86Jdwe6NfXsmCVeFnCqsYsVg9lvZC3aHmeI950ryi0wBp22rkT&m=wj3gdZZIQgndhoL_15vrZf3Z7x-qRZQHB2vOYg8D-8o&s=NVL8B4D18-A8rr1vMU6kB9WyPV2ElA_9CCI8wBMJB0o&e=
The schemas that are there came from this pagehttps://urldefense.proofpoint.com/v2/url?u=https-3A__www.hl7.org_fhir_downloads.html&d=DwMFaQ&c=JZUmuHfvZaOkNOGiUpQbGyGsM8Jf9oFbjpAib-DiM1Q&r=uvzbDYZhCCnIUq86Jdwe6NfXsmCVeFnCqsYsVg9lvZC3aHmeI950ryi0wBp22rkT&m=wj3gdZZIQgndhoL_15vrZf3Z7x-qRZQHB2vOYg8D-8o&s=HvZipXfRqV9Fxb5sSkDq8aT6VdGqz_yU5uiRMbuqrsA&e=. It's possible they've added new schemas since the last download. Happy to accept a PR with ActivityDefinition or any other schema examples.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_bobby-2Dbrennan_fhir-2Dswagger_issues_11-23issuecomment-2D450890276&d=DwMFaQ&c=JZUmuHfvZaOkNOGiUpQbGyGsM8Jf9oFbjpAib-DiM1Q&r=uvzbDYZhCCnIUq86Jdwe6NfXsmCVeFnCqsYsVg9lvZC3aHmeI950ryi0wBp22rkT&m=wj3gdZZIQgndhoL_15vrZf3Z7x-qRZQHB2vOYg8D-8o&s=CLClmvnTpHmh-7MnLic-2NYyZOTrEZ-oZFuVIJQ69wI&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Ap9qXPaX1uurT1WR0nAUSS4tdDboIAGZks5u-5FM3MgaJpZM4ZkCUz&d=DwMFaQ&c=JZUmuHfvZaOkNOGiUpQbGyGsM8Jf9oFbjpAib-DiM1Q&r=uvzbDYZhCCnIUq86Jdwe6NfXsmCVeFnCqsYsVg9lvZC3aHmeI950ryi0wBp22rkT&m=wj3gdZZIQgndhoL_15vrZf3Z7x-qRZQHB2vOYg8D-8o&s=1NwV1muk4G2HPYe9NAEyZ6BNA5WbaDT5cFe6-bqNzz4&e=.

Here is the description of the error message:
C:\Users[username]\AppData\Roaming\npm\node_modules\fhir-swagger\bin\fhir-swagger:7
if (err) throw err;
^
Error: connect ETIMEDOUT 54.87.74.90:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1113:14)

Sounds like that URL (54.87.74.90:80) is either unavailable or unresponsive.
There's currently no option to do a partial conversion, but I'd accept a PR that adds it.

Thank you! Appreciate your help and response.

Hi. I am getting the same error with a list of missing examples. However, I see that (e.g.) ActivityDefinition is in the examples...
https://github.com/bobby-brennan/fhir-swagger/blob/master/schemas/r4/examples/activitydefinition-example.json
Do you know why there's a discrepancy between it being in the repo and it not being able to find it?

Dug into this a little bit more. I was able to get more recent definitions by specifying the latest commit.
"fhir-swagger": "https://github.com/bobby-brennan/fhir-swagger#666e26b5ce8738b99deaa6406315448c3dab679e"

Looks like the latest needs to be included in the next version. Thoughts on when that will be? Thanks!

Published as 2.3.0, thanks!

I still have get error:
C:\Users[username]\AppData\Roaming\npm\node_modules\fhir-swagger\bin\fhir-swagger:7
if (err) throw err;
^

Error: connect ETIMEDOUT 54.87.74.90:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1113:14)

example usage:
fhir-swagger fhir_url "http://localhost:8084/api/fhir/" conformance_path="/metadata?_format=application/json" r4 output swagger.json
@rbren do you know error reason?

authors: bobby-brennan jkalinowskizajdak radver thril

repo: rbren/fhir-swagger


text:
Proposal: Support filename plus linenum format from grep

When using the result of grep (such as ripgrep) in QuickFix, it is convenient to open it in the format "filename:linenum"
Ref: https://github.com/bogado/file-line
What about opening a file in this format and changing it to not do setpos if lnum is 0?

@yuki-ycino
I'm sorry. I did refactoring.
https://github.com/rbtnn/vim-jumptoline/commit/24e2c42c1b8b11e9e950071a44d87d8e8b9c6bd2
And I seem to fail at C:\Users\rbtnn\.vimrc:12|| on Windows.
Please fix the conflicting and consider this pattern.

I think adding this pattern to s:ps is better than your code.

@yuki-ycino I have fixed it. Please check it.

Thank you
Worked as expected

authors: rbtnn yuki-ycino

repo: rbtnn/vim-jumptoline


text:
Typo fix: KEY_STENGTH -> KEY_STRENGTH

dist/ca, dist/certificate, source/ca.py, source/certificate.py:
Typo fix: KEY_STENGTH -> KEY_STRENGTH

Thank you @SunTsu

authors: SunTsu rclayton-the-terrible

repo: rclayton-the-terrible/Ansible-OpenSSL


text:
exeCombinational() needs to be called twice to deal with memories

A simple failure case is the mem.rowbuffer test in simulator/interpreter.cpp

What branch is that failing case in?

master


text:
It is dangerous to set /proc/sys/kernel/sched_rt_runtime_us to -1

From Dobby code :
    // the following restores the old skool RT scheduling behaviour, and it's
    // needed to ensure that containered apps can start in RT scheduling mode
    if (!mUtilities->writeTextFile("/proc/sys/kernel/sched_rt_runtime_us", "-1\n",
                                   O_TRUNC | O_WRONLY, 0))
    {
        AI_LOG_FATAL("failed to write to sched_rt_runtime_us file, you may have"
                     " issues starting containers");
    }

According to this RedHat and other documentation, this is a dangerous thing to do.
Setting the value to -1 means that real-time tasks may use up to 100% of CPU times. This is only adequate when the real-time tasks are well engineered and have no obvious caveats such as unbounded polling loops.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/7/html/tuning_guide/real_time_throttling
https://access.redhat.com/solutions/1604133
Additional note:
In our RDK platforms, we have an AppArmor profile restricting write access inside /proc/sys/kernel/ except for shm* and core*.

thanks @deepthi-ps for raising this concern. We'll review and get back to you.

authors: deepthi-ps goruklu

repo: rdkcentral/Dobby


text:
Router boot page/splash screen (bootComponent/#$) gets stuck and never proceeds to root page

In certain scenarios, the page specified in Router configuration as a Boot page can be loaded after the Router is started (most commonly, if the WPE browser's back function or the equivalent keyboard shortcut is used). In this case, the entire app will be stuck on the splash screen, since the Router only checks for completion of the boot callback once, when the app first loads and calls startRouter().
While this is certainly an edge case, it's definitely possible that either app code or the browser changes the hash to #$, and the Router should handle this gracefully. One possible approach would be to hold onto the promise returned by the configured boot callback, and if the hash is changed back to #$ and the boot promise is already resolved, simply proceed back to the root component of the app. I am only slightly familiar with Router internals, but I am happy to make a PR for this as a starting point. I think this would just require holding onto the return value of boot, and an extra check in handleHashChange for the special #$ route.

Hi @aposmontier we have been looking into this issue, but so far we couldn't reproduce the exact case.
By any chance would you be able to share an example App or a video clearly displaying the issue? That would be really helpful :)

Hello @aposmontier,
We hope this message finds you well. After carefully reviewing this particular issue's progress, it appears there haven't been any recent updates. Therefore, we regret to inform you that we have decided to close this issue for now. However, we want to assure you that we're here to assist you if needed.
To better understand and address the issue you encountered, we kindly request your assistance. If you could provide us with a sample app or a video that clearly illustrates the problem, we would greatly appreciate it. By sharing this additional information, you can help us reopen the issue and work towards finding a resolution.
Thank you for your understanding and cooperation. We look forward to hearing from you soon.

repo: rdkcentral/Lightning-SDK


text:
DK-32024 : Factory and Warehouse Reset

Reason for change: Code transition from pwrMgr to systemservices.
Test Procedure: Refer Jira
Risks: Low

 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.Divyashree Rajasekar 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.

Closing older PRs. Pls resubmit on latest branches if required.

authors: CLAassistant anand-ky drajas861

repo: rdkcentral/rdkservices


text:
Clarity in complex client versions

Improve clarity in the client version with more than 20 catalogs. In RDMO, many different institutions (= clients) can be managed together in one RDMO installation. With many different question catalogs per client, a clear assignment of client and question catalogs would be useful.
[This issue is from 7th RDMO community meeting on March 2, 2022]

We can only address this when implementing a new front-end: https://github.com/rdmorganiser/rdmo/issues/518

In the new interface, catalogs (and everything else) can now be filtered by site and uri prefix.

Can be closed by 2.0.0?

authors: MyPyDavid frankRuehle jochenklar

repo: rdmorganiser/rdmo


text:
Bug: multiple downloads

Why is it possible to download 7 times at once the same dictionary ??
When you press the download button of a dictionary currently downloading it add the download with 'the-name-5' for example.

I understand, this happen because quickDic use an external downloader. Maybe it could be better to use a proper downloader...

When you press download, the current version will change the download button into an X that when pressed will cancel the download.
If that's not happening that most likely means the download manager app on your phone is broken.
While I considered other solutions, they are messy enough that I lean towards instead recommending to see this as a hint to in the future buy from companies that at least test their products before selling it (or if possible switch to a custom ROM).
If I had a phone affected by this I'd probably look into what can be done about it though, but so far all mine work (mostly) fine.

I use the default download manager in v6.0.1 from Google. In fact I view the 'x' to cancel but it didn't work. So I have manually deleted the download with the download manager. By the way it's only once so no problem...
You can consider this ticket close if you want 😃

That's interesting! It works fine on my LG G4 with Android 6.0. Which is weird since OEMs usually add bugs, not fix them, so I would have expected a Google version to work at least as well.
Well, I might look through the code at some point, just to make sure I didn't just forget to handle something right.

Maybe it's because I had lost the network while it was downloading ...

Thanks! That hint allowed me to reproduce it.
Even though I don't know why paused downloads behave differently (my code that checks the URI to find out if a download is already happening suddenly no longer finds it and thus starts a new one - and yes I do ask for a list including paused downloads).
I'll try setting a title for the download (which is a good idea anyway) and see if that at least also works for finding paused downloads.

I wish you will find how to correct it then 😃

I think 6608106e36d6488340c47b69947ca467b5785ba7 and 969ea0063628e074662e7f04e50d9d509e5c1073 fixed it.

authors: homersimpsons rdoeffinger

repo: rdoeffinger/Dictionary


text:
Subscribing in render phase is not "safe"

In the same vein as my concerns in https://github.com/kosich/react-rxjs-elements/issues/4 I walked through your library to see how it works, it is very clever!
However, I see that in render phase, the library is calling toPromise (essentially subscribing in render). Would it be accurate to say that the way this library works is as following:

User calls connectObservable causing their stream to gain a monkey patched getValue() method
React renders the hook for consuming your stream, internally it passes an init thunk to useReducer
This init thunk is invoked by react, in the render phase, which calls getValue()
getValue causes the stream to become subscribed (it calls toPromise())

this happens in render phase
a 200ms timeout is set to unsubscribe..

If React commits, the useEffect hook runs, and subscribes a second time (to the shared observable, so the source stream is only subscribed once)
If react doesn't commit until 201ms, the first subscription will be destroyed by the timeout, and theuseEffect hook will run causing a second subscription (to a new instance of a shared observable, so the source stream is subscribed twice as well)

Is this all correct? If subscribing to a stream triggers side effects like a network request, this could be really important to users for it to be documented as a tradeoff the library makes, so they can know this upfront instead of learning it the "hard way" after writing an app.
If I understand, there is a tradeoff here where:

lowering the timeout can increase the chances of duplicate side effects
increasing the timeout will mitigate the affordance where the library is intending to solve for "memory leaks" (if react is aborting renders fast enough there could be enough back pressure to cause memory leaks depending how high the timeout is set & how fast react is aborting renders)
if a render phase in react takes over 200ms before it commits, effects will be double subscribed

Is this all correct?

Partially, yes.

Is this "safe" for effectful streams?

Most definitely. We have been using these bindings at my company for some months now: we use lots of streams that trigger side-effects (websocket connections, http requests, etc) and we have never ran into the kind of issue that you are describing.

If subscribing to a stream triggers side effects like a network request, this could be really important to users for it to be documented

As I already mentioned in a previous issue: we are still working on the docs site, and this in particular will be properly explained.
However, I think you are missing some context:

What you are describing would only happen on a component that's being mounted and that is leveraging the Suspense API because that stream has never emitted anything yet. Also that's assuming that the user is not using the useSubscribe hook above the Suspense component and that the user hasn't increased the graceTime of the hook.

I could argue that if you have a component makes React take longer than 200ms to commit on a mounting component after the suspense promise resolves, then it's very possible that you actually have a bigger issue already :sweat_smile:

However, even if that was the case, the user would have at least 2 ways to avoid that hypothetical issue:

Use the second argument of bind to increase the graceTime to let's say a couple of secs.
Use useSubscribe just above the Suspense component.

For instance, let's say that that following code is problematic:
const [useUser] = bind(id => requestUser(id));

const User: React.FC<{userId: number}> = ({ userId }) => {
  const user = useUser(userId);
  return (
    <ComponentVeryVeryExpensiveToMount user={user} />
  );
}

export const SuspendedUser: React.FC<{userId: number}> = ({ userId }) => (
  <Suspense fallback={null}>
    <User userId={userId} />
  </Suspense>
)

The problem could easily be solved like this:
const [useUser, getUser$] = bind(id => requestUser(id));

const User: React.FC<{userId: number}> = ({ userId }) => {
  const user = useUser(userId);
  return (
    <VeryExpensiveToMountComponent user={user} />
  );
}

export const SuspendedUser: React.FC<{userId: number}> = ({ userId }) => {
  useSubscribe(getUser$(userId))
  return (
    <Suspense fallback={null}>
      <User userId={userId} />
    </Suspense>
  );
}

or like this:
const [useUser] = bind(id => requestUser(id), 5_000);

const User: React.FC<{userId: number}> = ({ userId }) => {
  const user = useUser(userId);
  return (
    <VeryExpensiveToMountComponent user={user} />
  );
}

export const SuspendedUser: React.FC<{userId: number}> = ({ userId }) => (
  <Suspense fallback={null}>
    <User userId={userId} />
  </Suspense>
)

Also, you may find this passing test interesting. FTR: currently, that test would probably not pass on the experimental version of React. However, it does pass on the latest release of React 17, so I think that we are on a good spot right now :slightly_smiling_face:.
All that being said, I think that I got an idea to further mitigate this (IMO very hypothetical) issue.

At work we use RxJS to control cars. If we send 2 RPCs to the car instead of 1 because React happened to, for example, take longer than 200ms to complete a render, that could result in loss of human life, for example. I think it's a legit concern.

I think that I got an idea to further mitigate this (IMO very hypothetical) issue.

Why close the issue, instead of leaving open & discussing your idea?

For us at least, increasing the timeout would not be acceptable, because there is no guarantee React completes the render within that time window

Which is why the first solution that I provided was using useSubscribe :slightly_smiling_face:. Also, regardless of that, I would like to suggest that you make your requests idempotent so that no one get's killed :smile:

which is why you shouldn't normally do side effects in render phase like this, according to the React core team...

Things have changed a bit on that regard.

Why close the issue, instead of leaving open & discussing your idea?

Because I answered the question with all sort of details, and because the issue doesn't have to be open in order to continue the conversation. I like to have open issue for things that are actionable/need to be fixed. I really don't think that this is an issue. It's a very good question and concern and I do agree that this should be explained properly in the docs, for sure.

Not clear on why you say this. It could be problematic for numerous reasons I listed in my OP. You subscribe in render. If React doesn't commit within 200ms, the effect will be double subscribed.

Not if you use useSubscribe on top of Suspense, have you look at the docs of useSubscribe?

This seems like it can happen on any initial render that takes over 200ms, which I've seen happen a ton FYI.

So have I. However, I really think that this is an x/y problem, because the whole point of Suspense is to avoid that issue. Think about the example that I just gave you: if you are using Suspense and you have a component that takes a long time to mount inside a Suspense, then the rest of the app will mount a lot faster (because that component would be put on suspense :wink:). That means that the, the subscription of useSubscribe will start before react tries to mount the expensive component that takes longer than 200ms to mount, and that subscription will prevent the subscription from being closed.

What happens if you stress test your app & turn on CPU throttling in the browser devtools?

I've tried to reproduce the hypothetical issue that you are describing in many accounts and I haven't been able to reproduce the issue using useSubscribe.
However, if you are actually able to come up with a code-sandbox that reproduces this issue (while using useSubscribe in the way that I described), please let me know it and I will re-open the issue, for sure!

I would like to suggest that you make the requests idempotent so that no one get's killed 😄

This is a bit disingenuous, first of all it implies I'm using tech I don't understand, second of all it implies we don't need side effectul requests. For example, a logs endpoint which is not idempotent by design because it would decrease write throughput, and it can be assumed client applications can manage to send the request just once.

Things have changed a bit on that regard.

From the suspense docs you just linked to:

We’ve already kicked off the requests in fetchProfileData(). It gave us a special “resource” instead of a Promise. In a realistic example, it would be provided by our data library’s Suspense integration, like Relay.

They trigger the side effect outside of render, not inside render. Nowhere are they saying to do your side effects in render method. Elsewhere in the docs it says we shouldn't have effects in render, and these suspense docs do not say otherwise. In fact they specifically do the side effect outside of render in the doc you are linking to.

the render method itself shouldn’t cause side effects. It would be too early — we typically want to perform our effects after React has updated the DOM.

Not if you use useSubscribe on top of Suspense, have you look at the docs of useSubscribe?

I'm not reporting an issue about that, I'm just reporting an issue about this connectObservable pattern & how it subscribes directly in render.

come up with a code-sandbox that reproduces this issue (while using useSubscribe in the way that I described)

This feels a bit like telling the doctor your foot hurts when you walk & them saying don't walk. The issue isn't with the hook that doesn't subscribe in render. The issue is with the hook that does subscribe directly in render.

This is a bit disingenuous, first of all it implies I'm using tech I don't understand, second of all it implies we don't need side effectul requests. For example, a logs endpoint which is not idempotent by design because it would decrease write throughput, and it can be assumed client applications can manage to send the request just once.

My apologies @joshribakoff , it was meant to be a friendly joke. I did not mean to imply that you don't know what you are doing :handshake:. However, now I can see how that didn't come across as it was intended. I apologize for that.

I'm not reporting an issue about that, I'm just reporting an issue about this connectObservable pattern & how it subscribes directly in render.

From the React docs that you mentioned:

In a realistic example, it would be provided by our data library’s Suspense integration, like Relay.

IMO what we are doing is not so far off. You see, most of the times the subscription/Promise will be there already. I think that it's important to understand why the react team doesn't want side-effects on render. The reason is because react may call the render method as many times as it needs to and given the same state and props, the function should always behave the same... I know that strictly speaking our render is not referentially transparent, but almost :smile:... It's like saying that a function that memoizes values is impure because it accesses a cache that it's outside of its scope. It's true, memoized functions are impure, but 99% of the cases they can be used like if they were referentially transparent. I think that what we are doing is something like that.
IMO we understand what we are doing and that's why we can get away with making an early subscription on the init function of a useReducer, because it doesn't matter how many times react decides to recall the hook, it will always behave the same (from React's POV, of course).
I understand your concern, but after having tested this a lot, I assure you that these has never been problematic for us.

I'm not reporting an issue about that, I'm just reporting an issue about this connectObservable pattern & how it subscribes directly in render.

Well, you changed the title after I closed the issue. Before the title was a question and I didn't know that this was your worry.

The issue isn't with the hook that doesn't subscribe in render. The issue is with the hook that does subscribe directly in render.

I think that you are being a bit dogmatic about this... I will need something more than an appeal to authority, to consider this a real issue. That's why I think that it's important to show an example where doing what we are doing is going to be a real problem.

Here's your reproduction case, https://www.youtube.com/watch?v=w5vOCKzSoYQ&feature=youtu.be
// @ts-ignore
import React, { useEffect, useState, Suspense, unstable_useTransition } from "react";
import "./App.css";
import { connectObservable } from "react-rxjs";
import { Observable, Observer } from "rxjs";

let subscribeCount = 0;
const obs = Observable.create((observer: Observer<any>) => {
  subscribeCount++;
  console.log("subscribed", subscribeCount, performance.now());
  observer.next('test')
  return () => {
    console.log("unsubscribe", performance.now());
  };

});

let renderCount = 0;

const [useCounter] = connectObservable(obs, 10);

function App() {
  const [startTransition, isPending] = unstable_useTransition({ timeoutMs: 3000 });
  const [foo, setFoo] = useState(false);
  const [bar, setBar] = useState(false);
  useEffect(() => {
    const int1 = setInterval(()=>{
      setBar(bar=>!bar)
    }, 100)
    const int2 = setInterval(() => {
      startTransition(()=>{
        setFoo(foo => !foo);
      })
    }, 2000);
    return ()=>{
      clearInterval(int1)
      clearInterval(int2)
    }
  }, [/*startTransition*/]);
  return (
    <>
      bar: {bar ? 1 :0}

      foo: {foo ? 1 :0}

      isPending: {isPending? 1 :0}

      {foo ? <App2 /> : null}
    </>
  );
}

function App2() {
  console.log("render", renderCount);
  useEffect(()=>{
    console.log('mount', performance.now())
    return () => console.log('unmount', performance.now())
  },[])
  renderCount++;
  const count = useCounter();
  console.log(performance.now());
  let c
  for (let i = 0; i <= 1000; i++) {
    c = i * i
    console.log(i, performance.now())
  }
  console.log(performance.now());
  return
count {count}
;
}

export default App;

. The reason is because react may call the render method as many times as it needs to and given the same state and props, the function should always behave the same.

No, I don't think that's the full story I'm afraid. As shown here, React can abort rendering for higher priority updates. Your component can render without ever mounting.

It's like saying that a function that memoizes values is impure because it accesses a cache that it's outside of its scope.

That would be a correct statement.

we understand what we are doing and that's why we can get away with making an early subscription on the init function

I'm not saying not to make this library. Just that you should have a warning or something, like one of the docusarous callouts that its experimental & could lead to non determinism.

Before the title was a question

Sorry, I was trying to be light handed in my feedback, but I do feel strongly that side effects in render could cause issue for newcomers, which is why I'm pushing back harder

I think that you are being a bit dogmatic about this... I will need something more than an appeal to authority, to consider this a real issue. That's why I think that it's important to show an example where doing what we are doing is going to be a real problem.

I gave an example, but IMO the React core team telling people not to do this because they plan to break the assumptions made here is a good enough reason for me not to do it in my lib. I just figured I'd point it out so you could be aware of the tradeoff sooner rather than later. I was hoping for less of a "debate" and more of a "thanks for pointing this out" and maybe a docs PR, but I can also see a lot of hard work has gone into this & how my feedback can come off with some friction here.

Hey - Thank you for comming up with this, it's a pretty valid concern. We're currently working in the docs and it's something we need to make it clear.
I'd like to clarify something though - For the example you provided, App2 is the only relevant bit, App is just unmounting/remounting App2 to replicate the race-condition. Sometimes when App2 mounts, it will subscribe - unsubscribe - subscribe again for one single mount lifecycle.
There are two things to note though:

This example only exposes this issue in concurrent mode - it's something we already noticed in the test that @josepot already mentioned, but as concurrent mode is still experimental we decided to add this test for the current version of react (which passes) and when CM takes a bit more shape we can revisit it (and it will most likely cause that test to fail).
This library needs a mental model to use it effectively. We're currently working with the docs and we need to make sure that people understand it, but regarding this case:

bind creates an observable that will execute the side effect when there's a new subscription, and will clean up when all of them unsubscribe. This means that having another component subscribing to this observable will re-trigger the side effect.
If you want to prevent this from happening, react-rxjs provides a hook useSubscribe that basically subscribes to the stream in a useEffect, while ignoring all events. Essentially it's designed to ensure that there's at least one subscription alive to that stream.
In this particular example, if you want to ensure that useCount only will execute once, then it's the perfect example for useSubscribe. Otherwise you need to assume the stream of useCount will get subscribed/unsubscribed as components are added or removed.
With react-rxjs, usually you wouldn't use a hook to trigger a non-idempotent action. I mean, imagine you want to send an email when the user clicks on "post" button - it's really, really, disencouraged to represent this action in a hook through a bind, and try to use it with a component mounting/unmounting to trigger that action. The way of handling this instead, is by having a subject you can push user actions to when the user clicks, and have a stream that listens to that subject to send the POST request.

This is all something we need to make very clear in the docs - We already have some of this work done in the core concepts section, and we'd love to hear feedback from it (points that need clarifying, etc.) although it's still WIP. Again, thank you for raising this.

@voliva thats correct the App component (sorry for the terrible names) is mounting and in mounting App2 as a “low priority” update and is just setting some other arbitrary higher priority state which sometimes interrupts the lower priority update causing the library to “miss” the mount/unmount
I would say your very detailed description above clarifies the tradeoffs such that users can reasonably use it safely
Thanks for the detailed response if you need anyone to bounce ideas off of or review the docs feel free to ping me and best of luck with it all!

Hi @joshribakoff,
Thanks for providing your insights. However, I don't appreciate the following comments:

I'm not saying not to make this library. Just that you should have a warning or something, like one of the docusarous callouts that its experimental & could lead to non determinism.

Please, do not tell us again what we should do. It's not cool. Constructive criticism is very welcome, but blatant orders are not. This library hasn't been publicly announced yet, we haven't had the chance to publish our docs site yet and I don't appreciate this kind of unsolicited advice when we haven't had the chance to explain ourselves.

I just figured I'd point it out so you could be aware of the tradeoff sooner rather than later. I was hoping for less of a "debate" and more of a "thanks for pointing this out" and maybe a docs PR

:open_mouth: In my very first comment I already told you that we were aware of this and that the docs where in their way. I even provided you with a link to a test that we are using to make sure that this is not an issue in the stable versions. I also told you that we were aware that the current implementation can be problematic with the experimental version of React.
Also, my very first comment was an answer to a question. It turns out that -as you have admitted- your intention was not to ask a question, but to point out to us that we were doing something that you are convinced that it's not safe. So, after I answered and closed the question you decided to do a bunch of edits to the title and to your original comment. It's pretty obvious by now that you were not interested into what I had to say about your very good question. You had already made your mind that what we are doing is "not safe" and you were not open to the possibility that maybe we knew what we were doing. Even after I told you that we have been using these bindings on different projects with great success.
And last @joshribakoff I never suggested that you should be using these techniques on your own library. So, I don't understand why you have to bring your library into the comments of this conversation. We have chosen different paths, we are solving different problems, we are creating completely different mental-models and trade-offs and we understand reactivity very differently. I was hopping that we could help each other and learn from each other, I'm not interested in competing with any library.

Hey, I'm sorry if my comment came off as a blatant order or unsolicited advice. Looking forward to the docs

authors: josepot joshribakoff voliva

repo: re-rxjs/react-rxjs


text:
Using nested dataField and selectRow returns undefined

I am came across a bug:
if setting up columns via a member such as
dataField: 'object.field',
and using selectRequestRow
both functions gives undefined objects rather than rows.
onSelect: (row, isSelect, rowIndex) => {
        //row undefined
      },

      onSelectAll: (isSelect, rows) => {
       //rows is an array of undefined values
      }

@Northshoot hi, it works for me. would you please show me your raw data and columns definition? thanks!

@AllenFang
Is it possible to simply do the object.key notation within dataField??

authors: AllenFang Northshoot awitherow


text:
Custom transition going backwards

Hello guys! I've created a custom navigator that has custom transitions depending on the behaviour.  For now, I've managed to make a slide In transition when you go forward on the navigation, but I'm struggling to implement the same thing while going back. I know it has something to do with the index but I've tried so many things that my brain Is going to blow...If you can provide some light on fixing this issue I will appreciate It very much!
## Transitioner class
import React, { Component } from 'react';
import { Animated, View, StyleSheet, Easing, Platform, Dimensions } from 'react-native';
import { Transitioner } from 'react-navigation';

const { height, width } = Dimensions.get('window');

class TransitionerClass extends Component {

    constructor(props) {
        super(props);

        this._configureTransition = this._configureTransition.bind(this);
        this._renderScene = this._renderScene.bind(this);
        this._render = this._render.bind(this);
    }

    _configureTransition(transitionProps, prevTransitionProps) {
        const { state } = this.props.navigation;
        const { index } = state;

        if (index === 0) {
            return {
                timing: Animated.timing,
                duration: 800,
                easing: Easing.in(Easing.bounce),
            };
        } else {
            return {
                timing: Animated.timing,
                duration: 250,
                easing: Easing.inOut(Easing.ease),
            };
        }
    }

    _renderScene(transitionProps, scene) {
        const { state } = this.props.navigation;
        const { position } = transitionProps;
        const { index, routes } = state;

        const opacity = position.interpolate({
            inputRange: [index - 1, index, index + 0.999, index + 1],
            outputRange: [0, 1, 0.3, 0],
        });

        const rotate = position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: ['45deg', '0deg', '0deg']
        });

        const translateXForward = position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: [100, 0, 0],
        });

        const translateXBackward = position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: [0, 0, 100],
        });

        const scaleX = position.interpolate({
            inputRange: [index - 1, index, index + 1],
            outputRange: [0, 0, height],
        });

        const Scene = this.props.router.getComponentForState(state);

        if (index === 0) {
            return (<Animated.View key={scene.key} style={[styles.sceneStyle, { opacity, transform: [{ translateX: translateXBackward }] }]}>
                    {<Scene navigation={this.props.navigation} />}
                </Animated.View>
            );
        } else {
            return (<Animated.View key={scene.key} style={[styles.sceneStyle, { opacity, transform: [{ translateX: translateXForward }] }]}>
                    {<Scene navigation={this.props.navigation} />}
                </Animated.View>
            );
        }
    }

    _render(transitionProps, prevTransitionProps) {
      const scenes = transitionProps.scenes.map(scene => this._renderScene(transitionProps, scene));

      return (
        <View style={styles.wrapperStyle}>
            {scenes}
        </View>
      );
    }

    render() {
        return (
          <Transitioner
              configureTransition={this._configureTransition}
              navigation={this.props.navigation}
              render={this._render}
              onTransitionStart={this.onTransitionStart}
              onTransitionEnd={this.onTransitionEnd}
          />
        );
    }
}

const styles = StyleSheet.create({
    sceneStyle: {
        position: 'absolute',
        top: 0,
        right: 0,
        left: 0,
        bottom: 0
    },
    wrapperStyle: {
        flex: 1,
        position: 'relative'
    }
});

export default TransitionerClass;

## Custom Navigator Class
import React, { Component } from 'react';
import { createNavigationContainer, createNavigator, StackRouter } from 'react-navigation';

import MainScreen from '../screens/MainScreen';
import SubScreen from '../screens/SubScreen';
import SectionScreen from '../screens/SectionScreen';
import ItemScreen from '../screens/ItemScreen';
import TransitionerClass from './TransitionerClass';
import ZoomInTransitioner from './ZoomInTransitioner';

class CustomNavigator extends Component {
    static getNavigator() {
        return navigator;
    }

}

const router = StackRouter({
    menu: {
        screen: MainScreen,
    },
    submenu: {
        screen: SubScreen,
    },
    section: {
        screen: SectionScreen,
    },
    item: {
        screen: ItemScreen,
    }
});

const navigator = createNavigationContainer(createNavigator(router)(TransitionerClass));

export default navigator;

hey @FacuAcosta could you please let us know how you were able to solve this, given that you have closed the issue?

authors: FacuAcosta shrutic

repo: react-community/react-navigation


text:
Disable / enable swipe depending on screen.

Fix react-community#1760
Problem: if you use the StackNavigator in the TabNavigator and you are at that time on the StackNavigator screen, the swipe will switch the screens to the TabNavigator.
Solution:
Adds a new option in the Screen Navigation Options in TabNavigator:
swipeEnabled
True or false to enable or disable swiping between tabs, if not set then defaults to TabNavigatorConfig option swipeEnabled .

Is this on hold because of documentation? If so, I am willing to do that.

Documentation updated. CircleCI errors fixed.

Thanks!

Is this going to be part of this week's release or next one?

It will be part of the next release, which should happen sometime next week.

authors: cmpayc nicholasc spencercarli


text:
Fix the ReduxExample app (2)

The awesome refactor that was done recently (thanks so much for that!) had a few import/export bugs preventing it from running that are fixed here.
I also disabled persistence to AsyncStorage; though it's a cool feature, it isn't necessary to demonstrate how to use react-navigation and may cause more confusion than it's worth. For example, if you change the name of a route and then refresh the app, everything will break because it can't find the old route that had been persisted, even though your code is perfectly fine.
cc @samijaber @ericvicenti

Agh, thought I was thorough and tested the example before making the PR. Thanks for the fix!

No worries mate, simple fix :)

Looks like @gsaandy beat me by 40 minutes! https://github.com/react-community/react-navigation/pull/944
I can rebase if that gets merged first; it would still be nice to remove AsyncStorage.

And yep, I think it makes sense to remove AsyncStorage.
Eventually we can add persistence features to NavigationContainer.

authors: cooperka ericvicenti samijaber


text:
fix: trigger onChange twice when inputting using the input method

The onCompositionEnd event will be called when the user input method combination ends, triggering an onChange event, but it only needs to be called after the count method of Input is successfully cropped.

https://github.com/ant-design/ant-design/issues/46587

需要添加测试用例

需要添加测试用例

已添加测试用例，主要有两点：

在未发生count裁剪时，onChange触发一回
在发生裁剪且裁剪后的字符小于max时，compositionEnd中会触发onChange，总共两次

要不要这样改，还简单一点

#61 你觉得怎样？

#61 你觉得怎样？

emmm，其实我一开始也想在triggerChange上加参数，这确实是最简单的改法。但往triggerChange这种语义化的函数中堆除了e和value之外的参数总感觉怪怪的😂如果后续再来个类似的需求，又得加参数了。
看怎么考虑吧，这里也不是对外暴露的API，这么写也没啥关系

#61 你觉得怎样？

纯函数有些时候也不一定能保证，无非是把set值的操作再放到另外一个函数中去

repo: react-component/input


text:
There is no version 7.0.2 in NPM packages

Describe the bug
I found that there is a bug fix about "Fix UMD Builds to use CommonJS-based Libraries" in version 7.6.2. And it's important for my project. But in NPM packages, there is no version 7.6.2. It just jumped from 7.6.1 to 8.0.0.
Expected behavior
It will help a lot if you could release version 7.6.2 on NPM. Because it can help users who use ^7.x in their package.json. But if you tell me, just update to version 8.0.0, I will accept this too.
Screenshots

Hey @maoqxxmm , 7.6.1 contains the fix for the react-dnd package, and 7.6.2 applies that fix to react-dnd-html5-backend. Sorry for the confusion
Starting with 8.0, you can install react-dnd-umd-builds to get UMD versions of both.

authors: darthtrevino maoqxxmm

repo: react-dnd/react-dnd


text:
Expose enableUserSelectHack prop for Draggable

Thanks for submitting a pull request to RGL!
Please reference an open issue. If one has not been created, please create one along with a failing
example or test case.
Please do not commit built files (/dist) to pull requests. They are built only at release.

Hi, thanks for the PR, could you please add some description to it? Add some context.

repo: react-grid-layout/react-grid-layout


text:
Linking in RN Windows C#

Hey there!
I am trying to use this package my React Native Windows project. It uses the C# version of react-native-windows. I followed the manual linking guide for windows, added the solution and added it as a reference to my main project. However, I have problems with the last two steps.
Add #include "winrt/ReactNativeAsyncStorage.h" to pch.h.
Can't do that because I have the C# version and thus no pch.h.
Add PackageProviders().Append(winrt::ReactNativeAsyncStorage::ReactPackageProvider()); before InitializeComponent(); in app.cpp.
Instead I used PackageProviders.Add(new ReactNativeAsyncStorage.ReactPackageProvider()); in App.xaml.cs.
When I try to build the project I get the following error:
Requested Windows Runtime type 'ReactNativeAsyncStorage.ReactPackageProvider' is not registered.

Repro steps

Create fresh react-native-windows project with --language cs flag
Follow async-storage linking manual for windows with the changes mentioned above
Try to build

Environment

Async Storage version:  1.10.3
React-Native version: 0.61.5
React-Native Windows version: 0.61.0
Platform tested: Windows

I already fixed it :D
I had to install the C++/WinRT extension in Visual Studio and then it worked fine.

repo: react-native-community/async-storage


text:
Rename start & end properties to fix conflict with RN 51

A recent commit in RN added start/end properties to RCTViewManager.
Because LinearGradient inherits from this class and has properties of
the same name, RN gets mixed up and tries to convert to a YGValue
instead of CGPoint, which results in the exception:
Error setting property 'start' of BVLinearGradient with tag #18: JSON
value '{
    x = 0;
    y = 0;
}' of type NSMutableDictionary cannot be converted to a YGValue.

This PR renames the values to avoid conflict, but keeps the JavaScript component API the same, thus preventing a breaking change.

Please accept-it, I need it !

I just did the same thing for Android here FYI:
https://github.com/react-native-community/react-native-linear-gradient/pull/242

#243

+1 Please I need it too.

Hey folks, I have updated this PR to support android as well. I know there have been several follow up PRs since my original submission and it's gotten a bit confusing -- hopefully this now takes care of everything and we can get it merged.

Can you please merge this? Thanks!

Also need this! Just updated to RN 0.51

just FYI for @kevinvangelder : you'll need to update #145 once this is merged before that PR can be merged.

Trying to yarn upgrade this to no avail... should there have been an accompanying version bump, or am I doing something wrong? 😅

But, We also need a new release for this pr.

For the impatient, just add the git url to your package.json:
"react-native-linear-gradient": "git+https://github.com/react-native-community/react-native-linear-gradient.git",

Released 2.4.0

also getting the same issue here with
└─ react-native-linear-gradient@2.5.2
└─ react-native: 0.57.7

authors: GantMan MichaelDanielTom Psyycker abeddow91 adamski afilp bilalsyed001 bmovement hwangjr imekinox matthargett sjmueller