Role manager (servo?) assignment behaviour is different when Makecode is/isn't connected

In the attached video (https://github.com/microsoft/jacdac/assets/88154489/bf2d7dc8-3e97-45f6-be6d-22576faf6d69), I've already downloaded the code (https://makecode.microbit.org/_JKyP30b9TY8a) to the microbit. With the computer disconnected I turn the breakout board on. Only the left servo turns (in firmware they're created in order 0:left 1:middle 2:right). Once I connect the computer/Makecode, the left and middle servos start turning. They will keep doing this even if I disconnect the computer again. If I start with the microbit connected to Makecode, then both servos will work on startup.
Additional detail
In the above build, using our wrapper extension I've included code to wait for roleManagerServer.isConnected() in the extension's main.ts before querying (in order) left-, middle-, and rightServo.getAngle() in an attempt to bias the roleManager's assignments. This seems to work in Makecode, but a disconnected microbit will assign "leftServo" to the first service, while the other two roles can be assigned in either order with no obvious pattern.
Our issue has a lot in common with #1293; we can control the servos using the dashboard controls and they move within their full range without delay, but only the first service will respond to the first block (e.g. servo1.run(x) will always work).
Other services on the board only start repsonding after the second block (e.g. servo2.run(x) has no effect the first time, but subseuqent calls to servo2.anything work as normal)
There may be something in the physical init process that influences this; when the board is powered on any servo on the left pin (first one in firmware) moves to 0° while the others do not move. I can turn the servos easily so they're unpowered. Our board doesn't do any detection of servos, so sends signals based on pin regardless of what is plugged in.
Another demonstration is here (https://makecode.microbit.org/_e4UJXP23ER3j) using the MS jacdac extension. If I use the Add Simulators button, it will create three simulators and assign them like this:

Note that the simulators have a 0-180° range but alternate between servo1:0/45° and servo3:45/113° instead of servo1:90/135° and servo3:45/90°
Using the same code and plugging in our breakout board (which has 270° servos), it will now lay itself like this:

The same code now causes the servos to alternate between 0/90° and 90/180° instead of 67.5/135° and 135/202.5°
The above might be related to #1327? I've also found during testing that the starting ranges for our servos initially default to 0-180° before getting updated later.

Trying to understand. I made a simple example two jacdac buttons - the assignments stay the same when connected and disconnect: https://makecode.microbit.org/_hf6CaPE1Jf3r

try 3 buttons
Sent from Outlookhttp://aka.ms/weboutlook

From: Tom Ball @.>
Sent: Wednesday, October 18, 2023 9:16 AM
To: microsoft/jacdac @.>
Cc: Assign @.>; Subscribed @.>
Subject: Re: [microsoft/jacdac] Role manager (servo?) assignment behaviour is different when Makecode is/isn't connected (Issue #1335)
Trying to understand. I made a simple example two jacdac buttons - the assignments stay the same when connected and disconnect: https://makecode.microbit.org/_hf6CaPE1Jf3r
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/jacdac/issues/1335#issuecomment-1768881698 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA73QKJKND57QMYEO5CM2PDX776GJBFKMF2HI4TJMJ2XIZLTSSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVIZDCMBXG4YDMNJWGOSG4YLNMWUWQYLTL5WGCYTFNSWHG5LCNJSWG5C7OR4XAZNMJFZXG5LFINXW23LFNZ2KM5DPOBUWG44TQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKJSGY4TCMJQGMYTJAVEOR4XAZNFNFZXG5LFUV3GC3DVMWVDCOJUGU3TONJXGE2IFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIZDCMBXG4YDMNJWGOTXI4TJM5TWK4VGMNZGKYLUMU.
You are receiving this email because you were assigned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

There seems to be another issue addressed above:

Another demonstration is here (https://makecode.microbit.org/_e4UJXP23ER3j) using the MS jacdac extension. If I use the Add Simulators button, it will create three simulators and assign them like this:
The same code now causes the servos to alternate between 0/90° and 90/180° instead of 67.5/135° and 135/202.5°

The above might be related to https://github.com/microsoft/jacdac/issues/1327? I've also found during testing that the starting ranges for our servos initially default to 0-180° before getting updated later.

Three buttons seems to work as well: https://makecode.microbit.org/_DYD4RA6rpCK0

The assignment issue does seem to be unique to the servos. I haven't seen it so far with our reflected light/line follower board which also has 3 otherwise identical services on them.
Attached is a packet trace demonstrating the issue similar to #1293, where only one servo responds at first; only one packet is actually sent.
trace

Yes, I am looking now into program you gave above: https://makecode.microbit.org/_e4UJXP23ER3j

@ross-inksmith, you said:

There may be something in the physical init process that influences this; when the board is powered on any servo on the left pin (first one in firmware) moves to 0° while the others do not move. I can turn the servos easily so they're unpowered. Our board doesn't do any detection of servos, so sends signals based on pin regardless of what is plugged in.

Right. I forgot that the servos are connected via jacdac cables which PWM is being sent over.  Where is the code that manages initialization?  This must be special-purpose for your board, correct?

so the difference is that you have 3 servos on the same devices; rather than 3 individual devices with 1 servo service.

@ross-inksmith, you said:

There may be something in the physical init process that influences this; when the board is powered on any servo on the left pin (first one in firmware) moves to 0° while the others do not move. I can turn the servos easily so they're unpowered. Our board doesn't do any detection of servos, so sends signals based on pin regardless of what is plugged in.

Right. I forgot that the servos are connected via jacdac cables which PWM is being sent over. Where is the code that manages initialization? This must be special-purpose for your board, correct?

Not quite. Similar to the kittenbot device in #1293, we have one jacdac connection to a device with multiple servo services on it. Instead of having it as a separate board, it's on the same board as the edge connector/microbit.
If you were to swap the connector to a standard 3 pin connector, it would work identically

trace

looks like makecode wants to have 0-180 at start

@ross-inksmith, you said:

Not quite. Similar to the kittenbot device in https://github.com/microsoft/jacdac/issues/1293, we have one jacdac connection to a device with multiple servo services on it.

I understand. Where is the firmware for that device?

@pelikhan - so you think that the makecode defaults for the servo could be leading to the problem?

@ross-inksmith, you said:

Not quite. Similar to the kittenbot device in https://github.com/microsoft/jacdac/issues/1293, we have one jacdac connection to a device with multiple servo services on it.

I understand. Where is the firmware for that device?

https://github.com/Forward-Education/firmware/tree/main/BreakoutBoard270

Ok. in jacdac-c servo.c, init() is
SRV_DEF(servo, JD_SERVICE_CLASS_SERVO);
void servo_init(const servo_params_t *params) {
    SRV_ALLOC(servo);
    state->params = *params;
    state->params0 = params;
}

So nothing happens on init to set the servo to an initial position/state?

@ross-inksmith  - I see that servo_0 has a different power pin than the other two servos. Correct?
const servo_params_t servo_0 = {
    .pin = PA_6,
    .fixed = 0,
    .min_angle = 0 << 16,
    .min_pulse = 600,
    .max_angle = 270 << 16,
    .max_pulse = 2500,
    .power_pin = PB_7
};

const servo_params_t servo_1 = {
    .pin = PA_7,
    .fixed = 0,
    .min_angle = 0 << 16,
    .min_pulse = 600,
    .max_angle = 270 << 16,
    .max_pulse = 2500,
    .power_pin = PC_15
};

const servo_params_t servo_2 = {
    .pin = PA_4,
    .fixed = 0,
    .min_angle = 0 << 16,
    .min_pulse = 600,
    .max_angle = 270 << 16,
    .max_pulse = 2500,
    .power_pin = PC_15
    //NO_PIN
};

@brian-inksmith is double checking the schematics, but the pins are fed from the same rail. (I asked a similar question)

OK. So buttons generate events, so let me try with something that generates output instead.

OK. I think I have a repro with the dotMatrix module:
https://makecode.microbit.org/_a2vhjoLqxbEW

https://github.com/microsoft/pxt-jacdac/blob/master/servo-server/server.microbit.ts#L13
For the min/max issues, it's also defined here for the servos. It doesn't explain how the math in servo.run() comes up with 0/90 and 90/180 though

Oops spoke too soon... it's working when plugged in.

The issue is that the servo clients has partially received the ranges from the servo services; and then applies the computation for converting the speed into an angle. Since the current default in the client is -90, 90, you could end up with a combination of [-90,0] x [90, 180].
https://github.com/microsoft/pxt-jacdac/blob/d8afba90caba7f5f0c5c0306a3ee1849083de814/servo/client.ts#L119

and in restrospect, .... 0 || 90 -> 90 so that explains it.

https://github.com/microsoft/pxt-jacdac/pull/101

So the problem is initialization between service and client!

and in restrospect, .... 0 || 90 -> 90 so that explains it.

Oh that's funny. For the majority of development we were using -90/90

silly silly me.

Servo range fix deployed. Please test.

Thanks, Peli!

Servo range fix deployed. Please test.

Also works if I detach the board and add simulators instead :+1:

I don't think this solves the role manager issue. @ross-inksmith ?

While the angle now reports as accurate, still having issues getting multiple servos to respond. Attached is the video of the exact same code above running without makecode connected. Only servo1 responds. On the first click it goes to it's end range. On the second and subsequent clicks it moves in its normal range. servo3 does not move
https://github.com/microsoft/jacdac/assets/88154489/1475a350-2507-4c9b-9930-77cb273c3a00

Longer video now, behaviour with makecode attached is different. tl;dw: With makecode attached, servo3 will eventually start responding
https://github.com/microsoft/jacdac/assets/88154489/8f018c26-109f-41d7-8bb2-9d4c4d4a3b3a

OK. This also seems specific to servo.

In the past, I have seen this sort of behavior where the hardware works differently when the Jacdac device is connected through WebUSB to the dashboard....

@ross-inksmith you said:

When I opened the dashboard to record a second trace it worked as with makecode connected but only recorded 18 packets 🤔

Did the program work correctly or not when connected to the dashboard? I'm not sure how to interpret the above comment.

In the last trace you gave, all the servo messages are tagged with "(usb)":
9222.700   b75b1803dc445b97ac759af1133e00e800000000000000000391fc1200736572766f31ff   [ack:0x5bb7] to SB67/PIPE: port:464 cnt:0; sz=19; CMD 0xe800 {     _:<PHONE_NUMBER>0000000391fc1200736572766f31 | .............servo1 } (usb)

Yeah I realized that would be a bit hard to follow so I did it again
here's the trace.jd.txt
and here's a full video
https://github.com/microsoft/jacdac/assets/88154489/5beceef8-bd41-44c3-be64-8a5aa91a2cf6

@pelikhan - Is it possible to see the log messages that pxt-jacdac sends to the console? That might help more than the Jacdac trace.

You can turn on the "passive" mode in the jacdac-docs so that the browser does not emit any packets; and you should have the same behavior as without being connected.

 I see something similar here: https://github.com/microsoft/jacdac/issues/1336

@ross-inksmith - what chip is driving the servos? Is that an STM?

@tballmsft Yes, specifically it's STM32G030F6P6TR

Right, just figured that out:

MCU = STM32g030x6
include $(PLATFORM)/mk/stm32g0.mk

@ross-inksmith  - please try swapping the order of the updates to servo1 and servo3 in the program, if you see that servo3 is responding and servo1 is not, then we likely have some packet loss on the STM side.

You can also try putting a pause between the updates to the two servos.

Also try this and look in console (when connected over WebUSB)
let _ = modules.servo1.angle()
_ = modules.servo2.angle()
_ = modules.servo3.angle()

basic.forever(function () {
    console.log("servo 1 " + modules.servo1.isConnected())
    console.log("servo 2 " + modules.servo2.isConnected())
    console.log("servo 3 " + modules.servo3.isConnected())
    modules.servo1.run(50)
    modules.servo3.run(-50)
    basic.pause(1000)
    modules.servo1.run(0)
    modules.servo3.run(0)
    basic.pause(1000)
})

@ross-inksmith  - I got the servos and am having issues with power on the round board. The green light is on but none of the lights on servos are on. I'm powering the board via its USB port (not Lipo) and power the microbit separately via battery. Any ideas?

Running the following program (observations follow) on the micro:bit, plugged into the round board, with no servos plugged in:
input.onButtonPressed(Button.A, function () {
    modules.servo1.run(50)
    modules.servo3.run(-50)
    basic.pause(1000)
    modules.servo1.run(0)
    modules.servo3.run(0)
    basic.pause(1000)
})

modules.servo1.start()
modules.servo2.start()
modules.servo3.start()

input.onButtonPressed(Button.B, function () {
    console.log("servo 1 " + modules.servo1.isConnected())
    console.log("servo 2 " + modules.servo2.isConnected())
    console.log("servo 3 " + modules.servo3.isConnected())
})

When there is no power to the STM, I get
binding: 3 servers
servo 1 false
servo 2 false
servo 3 false

which is expected.
When I give power to the STM I get
binding: 3 servers
servo 1 true
servo 2 true
servo 3 true

This is expected, even without servos plugged in, because the STM is hard coded to advertised three servo services, per design, regardless of what is plugged in. So, it seems role management is working fine.

OK. All three servos are working with the following program (note the display between commands)
input.onButtonPressed(Button.A, function () {
    modules.servo1.run(50)
    basic.pause(100)
    modules.servo2.run(50)
    basic.pause(100)
    modules.servo3.run(50)
})

input.onButtonPressed(Button.B, function () {
    modules.servo1.run(0)
    basic.pause(100)
    modules.servo2.run(0)
    basic.pause(100)
    modules.servo3.run(0)
})

modules.servo1.start()
modules.servo2.start()
modules.servo3.start()

input.onButtonPressed(Button.AB, function () {
    console.log("servo 1 " + modules.servo1.isConnected())
    console.log("servo 2 " + modules.servo2.isConnected())
    console.log("servo 3 " + modules.servo3.isConnected())
})

So, as I expected, we are losing packets somewhere. Based on the trace files provided before, which showed all expected packets on the bus, my bet is that the STM is dropping packets. But we should analyze more. In the meantime, we can figure out how much of a delay to introduce between commands to different servos.

OK, now for bringing the delay between run commands down:

basic.pause(10)  WORKS!

Note that when micro:bit is connected via USB, first servo often doesn't start.  Seems like more packet loss. Works fine when micro:bit on batter.

Another thing to consider: if we want to send same command to all three servos, we can use a broadcast, which will use just a single packet.

@ross-inksmith - I got the servos and am having issues with power on the round board. The green light is on but none of the lights on servos are on. I'm powering the board via its USB port (not Lipo) and power the microbit separately via battery. Any ideas?
Wait a second, the green light is on, with the switch in the OFF position. When I switch it ON, the led turns red.
I am very confused. I think we need a call.

There are two LEDs by the port on the board. One is green to indicate a charge, the other is a low battery/low voltage light. When driving multiple power hungry devices (two servos and a LED ring, for example), or if the servos draw extra current to create more torque, or if some combination of those things happen when the battery isn't fully charged, that can also turn the red light on.
And that's right, the board only works when switched on regardless of whether or not it's charging - it only draws power from the battery or port; it won't charge through the microbit/edge connector.

So, as I expected, we are losing packets somewhere. Based on the trace files provided before, which showed all expected packets on the bus, my bet is that the STM is dropping packets. But we should analyze more. In the meantime, we can figure out how much of a delay to introduce between commands to different servos.

We were wondering if this was an issue in #1312, which is also STM

Try again; fix pushed.

It is working now - Peli made pxt-jacdac/servo last chatty - please update to latest pxt-jacdac

This was not a problem with the STM - pxt-jacdac was too chatty.

Initial tests seem good.  Continuing to test.

I'm unexpectedly out of office today and can't test with our devices today. Reading the diff looks cool though
Creating a new project and adding the jacdac extension includes v1.9.19, but using our extension loads a cached version (in this case, v1.9.13). Emptying the cache via dev tools doesn't get it either. I can only get it by through chrome://settings/content/all?search=data
Unfortunately, a lot of classrooms use chromebooks that don't have access to chrome settings or incognito mode. Is there another way? I don't see anything on https://makecode.com/extensions/pxt-json or in https://github.com/microsoft/pxt/blob/master/pxtlib/package.ts

how do you publish release of your extension? do you use mkc bump? The mkc cli bumps the cloud to flush its caches otherwise the makecode cloud has a 24h cache for extensions.

I do use mkc bump. I don't think the cloud cache is the issue, since it would use the current version of jacdac in incognito and the issue went away by clearing local data. I've created an issue with pxt https://github.com/microsoft/pxt/issues/9740

@ross-inksmith can you share again, it won't load

sorry, which?

I think it broke because I cleaned up the branch it was using. I've made this to the best of my memory https://makecode.microbit.org/_df5Udy6drWiE. It uses the version of our extension from two weeks ago but jacdac v1.9.20

In 1.9.23, the ?srvo=yy hint is now used when binding roles. So you'll want to add those to your role names as such:
https://github.com/microsoft/pxt-jacdac/blob/master/servo/test.microbit.ts#L4
This gives me a stable assignment with 1, 2 or 3 servos when the shield is connected. Let's how far we go with this. Eventually we could also add the product id hint; it's just that i might not have at hand when assigning roles.

This is excellent! Working as advertised for me so far

Let's see how far you get with testing with that fix.

If there are other problems, please file a separate issue for each problem.


Frontend hotpost creating !!!

Description

Hi, I am trying to create a hotspot from front end!!! Suppose a user wants to add a hotspot anywhere on the 360 images, he should be able to create or delete and link the image with another 360 images !!!
Steps to check or reproduce

Hello @Piniteinfo1!
It is not supported as an official feature at the moment, please check issue #289

Hotspot is now an official feature in the new major version (v4).

https://naver.github.io/egjs-view360/docs/hotspot


Add make install_* for all languages we support?

Weird question stemming from #4110
It looks like we have:

make install (C and C++)
make install_c (Just the C stuff, which I need for using gRPC with Python, Node, Ruby, and anything else C-based)
make install_cxx (Just the C++ stuff?)
make install_c_sharp (Just the C# stuff?)

What I don't have is...

make install_node
make install_ruby
make install_python
make install_php
make install_objectivec

Is that something worth having?

We've went the route of providing packages instead.


[AMORO-3145] Filter out info log for CodecPool in optimizer

Why are the changes needed?

Close #3145 .
Brief change log

Currently there will be many logs for (de)compressor from CodecPool, and seems there is no other meaningful info log from this class, so we change
the log level from CodecPool from info to warn to filter out these logs
This only affect the local optimizer, and user need to change the configuration if they use flink/spark optimzier.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Before the change

After the change

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

cc @czy006

@czy006 thanks for the review and merging!


vsock: add mdoc page

Summary of the PR
Add manual page in mdoc format for vhost-device-vsock command
Requirements
Before submitting your PR, please make sure you addressed the following
requirements:

[x] All commits in this PR have Signed-Off-By trailers (with
git commit -s), and the commit message has max 60 characters for the
summary and max 75 characters for each description line.
[ ] All added/changed functionality has a corresponding unit/integration
test.
[x] All added/changed public-facing functionality has entries in the "Upcoming
Release" section of CHANGELOG.md (if no such section exists, please create one).
[x] Any newly added unsafe code is properly documented.

I verified the syntax of the man page with mandoc -T lint.
rendered with mandoc -I os=General -Tutf8 ~/vhost-device-sound.1 | col -b
as plain text:
VHOST-DEVICE-VSOCK(1)	    General Commands Manual	 VHOST-DEVICE-VSOCK(1)

NAME
     vhost-device-vsock – A virtio-vsock device using the vhost-user protocol

SYNOPSIS
     vhost-device-vsock [OPTIONS] --socket SOCKET --uds-path UDS_PATH

DESCRIPTION
     The vhost-device-vsock utility launches a daemon listening to SOCKET for
     incoming connections from vhost-user front-ends.  Upon successful
     connection and protocol negotiation, it starts a vhost-user backend
     instance.	The functionality of a VIRTIO vsock device is provided using
     the specified unix socket, UDS_PATH, to which a host-side application
     connects to.

     --help | -h
	     Print help information.

     --version | -V
	     Print version information.

     --guest-cid GUEST_CID
	     Context identifier of the guest which uniquely identifies the
	     device for its lifetime [default: 3]

     --socket SOCKET
	     Unix socket to which a hypervisor connects to and sets up the
	     control path with the device

     --uds-path UDS_PATH
	     Unix socket to which a host-side application connects to

     --tx-buffer-size TX_BUFFER_SIZE
	     The size of the buffer used for the TX virtqueue [default: 65536]

     --queue-size QUEUE_SIZE
	     The size of the vring queue [default: 1024]

     --groups GROUPS
	     The list of group names to which the device belongs.  A group is
	     a set of devices that allow sibling communication between their
	     guests.  [default: default]

     --config CONFIG
	     Load from a given configuration file

     --vm VM
	     Device parameters corresponding to a VM in the form of comma
	     separated key=value pairs.	 Multiple instances of this option can
	     be provided to configure devices for multiple guests.  The
	     allowed keys are:
	      1. guest_cid
	      2. socket
	      3. uds_path
	      4. tx_buffer_size
	      5. queue_size
	      6. group

EXIT STATUS
     The vhost-device-vsock utility exits 0 on success, and >0 if an error
     occurs.

EXAMPLES
     Launch the backend on the host machine:

     host# vhost-device-vsock --socket=/tmp/vhost-user-vsock.sock --uds-path=/tmp/vhost-user-vsock.uds

     Launch the backend for multiple VMs:

     host# vhost-device-vsock \
       --vm guest-cid=3,socket=/tmp/vhost3.socket,uds-path=/tmp/vm3.vsock,tx-buffer-size=65536,queue-size=1024,groups=group1+group2 \
       --vm guest-cid=4,socket=/tmp/vhost4.socket,uds-path=/tmp/vm4.vsock,tx-buffer-size=65536,queue-size=1024,groups=group1+group2

     With QEMU, you can add a virtio device that uses the backend's socket
     with the following flags:

     -chardev socket,id=char0,reconnect=0,path=/tmp/vhost-user-vsock.sock \
     -device vhost-user-vsock-pci,chardev=char0"

STANDARDS
     -	 OASIS, Virtual I/O Device (VIRTIO),
	 https://docs.oasis-open.org/virtio/virtio/v1.2/virtio-v1.2.html, July
	 01, 2022, Version 1.2.
     -	 QEMU Project, Vhost-user Protocol,
	 https://qemu.readthedocs.io/en/v9.0.0/interop/vhost-user.html,
	 Undated, Unversioned.

AUTHORS
     Copyright 2023–2024
     Dorinda Bassey<EMAIL_ADDRESS>     Dorjoy Chowdhury<EMAIL_ADDRESS>     Erik Schilling<EMAIL_ADDRESS>     Jeongik Cha<EMAIL_ADDRESS>     Manos Pitsidianakis<EMAIL_ADDRESS>     Ramyak Mehra<EMAIL_ADDRESS>     Stefano Garzarella<EMAIL_ADDRESS>     Viresh Kumar<EMAIL_ADDRESS>
     Released under Apache-2.0 OR BSD-3-Clause.	 (See files LICENSE-APACHE,
     LICENSE-BSD-3-Clause for full copyright and warranty notices.)

   Links
     Main repository: https://github.com/rust-vmm/vhost-device
     on crates.io: https://crates.io/crates/vhost-device-vsock

General				 July 24, 2024			       General

Thanks for the PR!
I'm adding comments inline, but first can you please change the commit message to replace mandoc with mdoc? (mdoc is the markup language, mandoc is the command line utility)

Done

LGTM, I'd just squash the fixup patch with the first one if it is okay with you.

LGTM, I'd just squash the fixup patch with the first one if it is okay with you.

Done

@sandrobonazzola thank you! :)

you're welcome :-)


syslog octet_count not compliant with RFC

Describe the bug
Looking at the doc for syslog, frame_type section:
44 <6>Sep 10 00:00:00 localhost logger: hello!
The RFC-6587 defines the syslog frame as:
SYSLOG-FRAME = MSG-LEN SP SYSLOG-MSG
But in the example the length of the SYSLOG-MSG is 43:
>>> len("""<6>Sep 10 00:00:00 localhost logger: hello!""")
43

It looks like the space is being counted even when the RFC explicity says it should not:
MSG-LEN is the octet count of the SYSLOG-MSG in the SYSLOG-FRAME.

The implementation works consistently with the documentation.
Expected behavior
For the given example, the MSG-LEN should be 43 (space should be ignored).

First, please follow the template.
also, fluentd does just parse the input syslog. so it never creates 44 <6>Sep 10 00:00:00 localhost logger: hello!. plus, you don't provide the reproduction step. so we can't handle it.

Agreed. I tested 43 <6>Sep 10 00:00:00 localhost logger: hello!43 <6>Sep 10 00:00:00 localhost logger: hello! with in_syslog and it worked.
Could you show example log to reproduce the bug?
or documentation mistake?

@repeatedly
I found the bug using 1.9.3 (plugin was eating the last byte), but the issue seems to be solved in the code with 1.10.3.
I've opened https://github.com/fluent/fluentd-docs-gitbook/pull/174 to fix the documentation
@ganmacs Thanks for the feedback, I'll follow the template next time!


Drop support for QUIC 31

When Chrome stable drops support.

Chrome 52 (released 2016-07-20) switched to v32 by default. I propose we wait another week or so and then drop v31.


lint_mode for specific plugin

Hi,
I've read the docs but I couldn't find this options, that's why I'm asking:
is it possible to use different lint_mode for the different plugins?
This is my use case: When I open the files I'd like the comment annotations as "TODO" "TOFIX" to be highlighted, so in this case the correct lint_mode for SublimeLinter-annotations would be load/save or background. The problem is that when I am working on a file, say python (with SublimeLinter-pylint) I don't want to be distracted by other warnings or errors that are not relevant for the moment so I would chose a lint_mode manual while still having the todos annotation highlighted.
Is this possible?

This is a duplicate of #244. Currently global settings like lint_mode cannot be specified per linter.


Unirest issue

I don't know if i'm not doing it right but I followed the instructions to installing Unirest in the /inc/plugins/Unirest but idk if you have to only do the src folder which I've tried.
But it still says Unirest is required by Discord Right Sync.
Anyway i'm doing this wrong?

Same!

The Structure should look as follows:

@opt-natter Worked. Thank you.


Add scripts for automated social posting

For issue #434. README.md says a lot. This basically just curls the GraphQL api and generates tweets/events from that.

Not sure how to create an ad yet for testing. (Hints, anyone?)

Can you just insert items into the database manually, and associate them to the ad account?

I haven't looked through all of the code but my first impression is that I don't think we want to maintain a lot of bash code.
Don't get me wrong, I like bash, but not 299 lines of it, lol.
Imo, it's a good scripting language for "quick and dirty" solutions for one-time jobs or for one-liners using a clever combination of CLI tools thanks to the UNIX philosophy (do one thing and do it well) where other scripting languages like Python or NodeJS may be more verbose. But I think it's not the right choice for this task here:

It's hard to read: for example, -z stands for "check if empty" - I even had to look this up to make sure
It's error prone: forget some " and you may run into a hard to find bug since it only happens if there is whitespace in a variable or even worse: arbitrary code execution
I think not many devs have a lot of experience with bash
probably other reasons that I don't remember right now

Also, why split these into different files? If you really want to go down this path (without guarantees that we will merge this), you should define functions in these different files which you can source in a single bash file. Then you don't need to call one script from the other script.
Also, I am not sure if we can install command line tools in the environment in which SN is deployed.
I think all of this code should be placed in the worker.

Not sure how to create an ad yet for testing. (Hints, anyone?)

Can you just insert items into the database manually, and associate them to the ad account?

Yeah, I searched the code and figured out how to do it...just set the "Item"."userId" to 9 (the global ad user). Now the script also checks that to filter out ads. So the functionality is now complete.

I think all of this code should be placed in the worker.

Lol that was my original plan, but I thought this was supposed to be independent of the SN site. Perhaps being in the worker is independent enough...from the app portion at least? @huumn

If we do this in the worker, what do you think about adding twitter-api-v2 and blastr as the dependencies?

If we do this in the worker, what do you think about adding twitter-api-v2 and blastr as the dependencies?

I guess for completeness it's worth mentioning some of the benefits of the bash solution:

The twurl and noscl command-line tools are likely more stable as dependencies, since they are designed for bots, exactly for this type of use case, and they are end-user tools that seem to be widely used and relied upon.
The main maintenance surface would be around the GraphQL API. (I don't know how much the fields it depends on might change in the future, but maybe you have a feel for that. I wouldn't necessarily expect those fields to be changing much.)
The bash solution is completely stand-alone and isn't even required to run on the same server.
Minor maintenance (such as changing the scheduling or wording of the tweets) would arguably be easier in bash.

Just FWIW....not intending to dig heels in if the sentiment is strong the other way.

While this technically satisfies the issue, I'd strongly prefer these were written in JS like everything else.

If we do this in the worker, what do you think about adding twitter-api-v2 and blastr as the dependencies?

It need not be in the worker, but if it can be if that's easier. Ideally, we'd run this as its own microservice.
As for deps, we'd likely only need a twitter api one and some websocket lib that allows us to send events to wss://nostr.mutinywallet.com.
I'm going to move this to a draft pending conversion to javascript. @rleed if you're not interested in completing the conversion I can partially compensate you for the work here. You've logically modeled the solution.

I'm going to move this to a draft pending conversion to javascript. @rleed if you're not interested in completing the conversion I can partially compensate you for the work here. You've logically modeled the solution.

Interested!? More than happy to finish the job! (Honestly it would be nice to have partial compensation now, but I'd also be delighted to take it across the finish line too.)
Thanks for weighing in...

Yeah sorry for the late reply. Been conferencing for the last week.
I'm reviewing your other straightforward PRs now and I'll send along funds for them all at once.

Ideally, we'd run this as its own microservice.

I've added a container for it and ported the script logic already.

As for deps, we'd likely only need a twitter api one and some websocket lib that allows us to send events to wss://nostr.mutinywallet.com.

Sounds good. I'm working on that now.

Ideally, we'd run this as its own microservice.

I've added a new container for it and ported the main logic already.

As for deps, we'd likely only need a twitter api one and some websocket lib that allows us to send events to wss://nostr.mutinywallet.com.

Sounds good. I'm working on that now...

This is now fully functional!
That was fun...

I didn't notice till now that we already have a nostr dependency, which works beautifully.
The twitter dependency I added has zero additional dependencies, and it works great too, so I think it was a good choice.
The PgBoss scheduling simplified things a lot.
Everything is nicer.

In the end, I'm soo happy we did this in JS. Simply nicer. @ekzyis, you were right from the beginning ;)

Looks great at a glance!
I'm going to deploy some other stuff, but I'll send you the partial sum as discussed along with the other stuff once I've deployed the stuff I've already reviewed.


Add code of conduct link

Add code of conduct link to our readme.md as it's required for Microsoft owned projects.

:+1:

:+1:


Always merge the report into the store, in case there is data already…

… there
Fixes https://github.com/AndrewGable/ReactNativeChat/issues/41

🚀 Deployed to production by https://github.com/marcaaron in version: 1.4.36-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Bezier Cuves with Thickness

This only creates a Bezier Curve with 1px thick line, it should allow to create with an unspecified amount as the line plotLineWidth does. Could you please implement it, I've been trying to do that my self but was unsuccessfull.

Hi,
There are also plotXXWidth for lines, ellipses and all Beziers for at
least in javaScript on the scratchpad
https://zingl.github.io/canvas.html if you want to use:
https://zingl.github.io/bresenham.js
Kind reagrs, Alois
Am 28.09.2021 um 15:57 schrieb Rui Gonçalves:

This only creates a Bezier Curve with 1px thick line, it should allow
to create with an unspecified amount as the line plotLineWidth does.
Could you please implement it, I've been trying to do that my self but
was unsuccessfull.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zingl/Bresenham/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/APEAFVLE6BE4SHD662CVN3LUEHCV5ANCNFSM5E5PY77Q.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Refactor Layout & Views

For now the UI code is a bit of mess and difficult to maintain.
Refactor code as much as possible to avoid redundancy and have const declarations for styles

Please refer to review in:
https://github.com/andrewdavidmackenzie/pigg/pull/427/files
with things like:

making OpenURL generic message that can be used for multiple text/urls in a text (and have the URL inside it (OpenUrl("https://github..."))
reduction of use of booleans, use the enum and the variantes and contents of variants
Add some tests for parts of the logic (may require extracting it to functions to make easier to test)
Avoid repeated code
Avoid repeated use of literals (for stings, dimensions etc) by defining constants


LongParameterList: Customization for @Composable functions?

With JetpackCompose I start to hit LongParameterList much more often, since state is passed down the call stack. In addition to that @Composable functions tend to have a bunch of parameters with default values (see TextField() for example).
So I wonder if it makes sense to allow customization LongParameterList to handle @Composable differently.

Actually, I noticed there's ignoreDefaultParameters which may be able to help in a lot of those cases (assuming most parameters in @Composable functions actually have default values).

Actually, I noticed there's ignoreDefaultParameters which may be able to help in a lot of those cases

Ideally this. We tend to be as platform/framework agnostic as possible: https://github.com/detekt/detekt/discussions/3894

Yeah, let's close.


[Suggestion] Parameter to not transfer if IV is higher than current highest

Currently, we set a hardwritten IV requirement that needs to be met for a pokemon NOT to be transferred. This would mean that if you don't already have the pokemon, if the IV is too low, it wont be kept anyway..
Wouldn't it be more logical to look at the Pokemon you currently have, and then determine which has the highest IV and transfer the lower one(s)?

This would be great.

Where is the transfer code? I can maybe try writing some simple if comparisons to see if it'll work? Sorry, I'm so new at this.

@celinereine https://github.com/PokemonGoF/PokemonGo-Bot/blob/17db0f5bf6b8c4650f1e48fb65bce71e673d8a51/pokemongo_bot/cell_workers/pokemon_catch_worker.py#L133

@pol0nium Is this where the "initial transfer" logic is placed? It looks like it's for catching pokemon parameters. Sorry for being such an amateur lol

Do you think that line of code would be better if it were:
if cp < self.config.cp && pokemon_potential < self.config.pokemon_potential:
That way when catching pokemon, if the IV were 100 but it were less than the cp specified, the pokemon would still be kept?

This PR will change the release logic.

@celinereine initial transfer logic

exists in current dev


[3|Resource Page (Item) and Note Taking Feature] The Hamburger Menu

 🍰 Appetite 🍰

Property
Value

Points
15 points

Difficulty rating
★★★☆☆

Maximum Assignees
3 person

🤔 Problem Statement

Create a sidebar that can be opened when the user clicks the hamburger menu on the top left of the Resource Page.
The sidebar will have a blank background, populated with the list of topics fetched from the Payload CMS along with the user progress for each of the topics fetched from Supabase. The user progress for each topic will be the percentage between the number of resources that the user has read over the total number of resources in a topic.
The first item on the sidebar should help the user to go back to the topic detail page that the current resource belongs to.
If the user clicks on the 'x' button on the top left, the sidebar will close. If the user hover outside of the sidebar, the sidebar will also close.
🧪 Required Tests
Mainly screenshot tests, some integration tests for Payload CMS and Supabase.
Review the Code & Testing Guidelines for more info.
⚠ Careful about:
No major rabbit holes identified. But always be careful with scope creep!
🤖 Technologies focused on in this feature

React
Tailwind
Shadcn
Payload CMS
NextJS
Supabase/PostGresQL

@vo-d @hzz4343 @Iwaslazkis Can you assign this to me

@thejasveer I like your enthusiasm! This feature remains locked for now but once it opens up we can start assignments.

Could assign me as well? @al-Sajjadieh or @hzz4343

I want to work on this!!

i want to work on this

Hey @ViniOkamoto! Apologies for the mix up, I didn't see the Pull Request call! I spoke to Mandeep and Ash yesterday, and have since removed them from the issue.


[Add] Replit IDE

Site URL
https://replit.com/
Description of the above provided site
Replit is a powerful IDE for writing, running, and collaborating on code in various programming languages. It offers a web-based interface with features such as code editing, terminal access, project sharing, and real-time collaboration, making it convenient for learning, practicing, and building software applications.
This would be a perfect addition to the dev Tools section in the other category.
Category
Other
Sub Category
Dev Tools
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hi, @saikiranreddy201! :) Just to confirm, are you participating in GSSOC'23?


gccgo: bogus integer constant overflow

gccgo rejects to compile the following program:
package a
var a = string(0xE000000000000000)

go.go:2:16: error: integer constant overflow

The spec says:
A constant value x can be converted to type T in any of these cases:
...
x is an integer constant and T is a string type. The same rule as for non-constant x applies in this case.
...
Converting a signed or unsigned integer value to a string type yields a string containing the UTF-8 representation of the integer. Values outside the range of valid Unicode code points are converted to "\uFFFD".

gcc version 6.0.0 20150702 (experimental) (GCC)

@paranoiacblack

I'm confused by this since it doesn't seem that (my versions of) either compiler accept this. The spec says this is valid if x is an integer constant and T is a string type, but x is not a valid integer constant; it overflows. I'm not sure why gccgo should compile the above program.

The gc compiler also rejects this program:
foo.go:2: overflow in int -> string
I agree with Chris: I don't see why gccgo has to do anything here.

@paranoiacblack This is an academic exercise at best, but the spec doesn't say that a constant argument must fit into an int (or int64). It just says that it must be an integer value, and that values outside the range result in the value "\uFFFD".
go/types accepts this without errors.
I don't think it matters much, but it seems easier to simply produce this constant string (at compile time) than reporting an error.


Install issue on ubuntu related to bower post install task

I've installed strider with no issues on my Mac but when attempting to install it on ubuntu I'm getting the following issue during postinstall.  I'm using sudo for the install but its appears to be trying to write to  below.  Is there something I'm doing wrong or a fix for this?
==========

<EMAIL_ADDRESS>postinstall /usr/lib/node_modules/strider
bower install --allow-root && npm run build

bower                           EACCES EACCES: permission denied, mkdir '/home//.cache/bower/registry/bower.herokuapp.com/lookup'
Stack trace:
Error: EACCES: permission denied, mkdir '/home//.cache/bower/registry/bower.herokuapp.com/lookup'
at Error (native)
at Object.fs.mkdirSync (fs.js:793:18)
at Function.sync (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/node_modules/mkdirp/index.js:55:12)
at new Cache (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/lib/util/Cache.js:21:16)
at RegistryClient. (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/lib/lookup.js:163:35)
at Array.forEach (native)
at RegistryClient.initCache (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/lib/lookup.js:150:34)
at RegistryClient._initCache (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/Client.js:62:27)
at new RegistryClient (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-registry-client/Client.js:16:10)
at new PackageRepository (/usr/lib/node_modules/strider/node_modules/bower/lib/core/PackageRepository.js:17:28)
Console trace:
Trace
at StandardRenderer.error (/usr/lib/node_modules/strider/node_modules/bower/lib/renderers/StandardRenderer.js:82:17)
at Logger. (/usr/lib/node_modules/strider/node_modules/bower/bin/bower:110:22)
at emitOne (events.js:77:13)
at Logger.emit (events.js:166:7)
at Logger.emit (/usr/lib/node_modules/strider/node_modules/bower/node_modules/bower-logger/lib/Logger.js:29:39)
at /usr/lib/node_modules/strider/node_modules/bower/lib/commands/index.js:40:20
at _rejected (/usr/lib/node_modules/strider/node_modules/bower/node_modules/q/q.js:797:24)
at /usr/lib/node_modules/strider/node_modules/bower/node_modules/q/q.js:823:30
at Promise.when (/usr/lib/node_modules/strider/node_modules/bower/node_modules/q/q.js:1035:31)
at Promise.promise.promiseDispatch (/usr/lib/node_modules/strider/node_modules/bower/node_modules/q/q.js:741:41)
System info:
Bower version: 1.3.12
Node version: 1.6.2
OS: Linux 3.2.0-31-virtual x64
npm ERR! Linux 3.2.0-31-virtual
npm ERR! argv "/usr/bin/iojs" "/usr/bin/npm" "install" "-g" "strider"
npm ERR! node v1.6.2
npm ERR! npm  v2.7.1
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: bower install --allow-root && npm run build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'bower install --allow-root && npm run build'.
npm ERR! This is most likely a problem with the strider package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     bower install --allow-root && npm run build
npm ERR! You can get their info via:
npm ERR!     npm owner ls strider
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /usr/bin/npm-debug.log

Sounds like a bower issue. Is this in heroku?
FYI, there are many issues with npm and using sudo, especially on Ubunut.

It was on an AWS ubuntu 12.x box (not heroku). But yeah, it looks like it is related to bower from a thread I found investigating.  Bower does something with caching the user and then always tries to use that user's home.  I cleaned up the hidden files and re-installing io.js for a fresh setup and it installed properly.

@dionridley I just pushed a commit to master that works with io.js.
Also, I'm planning on not requiring the end user to do bower installs. Once I have some time :+1:

Only worked after I installed strider like a node.js app without -g flag.

@bmustata that should change in the next release.


fix(Transition): avoid applying transition hooks on comment vnode

close #11782

/ecosystem-ci run

is this fix already released? sorry if its a dumb question, i have no idea how to find it out myself

@Artem-Schander It has been released since v3.5.1


feat: Allow Laravel 10 in composer.json (#14)

1⃣ Is this something that is wanted/needed? Did you create an issue / discussion about it first?
Yes
Closes #14
2⃣ Does it contain multiple, unrelated changes? Please separate the PRs out.
No
3⃣ Does it include tests, if possible? (Not a deal-breaker, just a nice-to-have)
Yes
4⃣ Please include a thorough description of the improvement and reasons why it's useful.
Added support for Laravel 10
5⃣ Thanks for contributing! 🙌

I'm going to close this in favor of #18 because your tests are using the wrong version of testbench.


Remove "restart dev server" instruction from integrations

What kind of changes does this PR include?

New or updated content

Description
Remove "restart the dev server" across our integration guides.
We will now restart the dev server on all config file changes https://github.com/withastro/astro/pull/4578, including when running astro add. This means... no more user complaints (about that)!

Thanks for this @bholmesdev! Mind moving these changes to the relevant Astro PR? These files are generated from a script that crawls the integrations READMEs, so they should be changed there instead. I will be sure to review your docs changes in the Astro PR as soon as possible 🙌


Zoom and deselect region shortcut gone in 0.9.0.post5

I just upgraded from 0.8.2 to 0.9.0.post5 via pip. I noticed two oversights/bugs, which make 0.9.0 greatly inferior to 0.8.2:

The zoom button when labeling images is gone. It is of note here that even in 0.8.2, the zoom button was only present if I started labeling trough the numbered to-do list in the start-up screen that pops up after 'label-studio start ...'. However, as that screen is gone with the new version, I cannot find a way to zoom into images other than using my browser's in-built zoom, which is much worse than what I could use in 0.8.2. Labeling large/detailed images in 0.9.0 is borderline impossible for me.
When doing polygon segmentation, the ESC and backspace keys used to work as shortcuts for deselecting regions in 0.8.2. This no longer works in 0.9.0. I hope this is not intended behavior, as there are no other ways of deselecting regions currently AFAIK. The only way to do it is to either click somewhere in the image, thereby creating a useless new region which needs to be deleted, or by clicking onto the info button in the top-right corner, as clicking anywhere else outside the image will not deselect the current region.

Hi! Sad to hear about this problems. But I just checked and everything works fine.

What config do you use? For zoom buttons there is <Image zoomControl="true"/> parameter; also there is zoom="true" for zooming by ctrl+wheel. And they work in latest version as well.
There is always "Unselect" button in region's info panel (with u as a hotkey). Esc was finally introduced recently and it works also in the latest version.

I hope this would help somehow. And if not, could you please share your config and some screencast maybe?

Hi! Sad to hear about this problems. But I just checked and everything works fine.

What config do you use? For zoom buttons there is <Image zoomControl="true"/> parameter; also there is zoom="true" for zooming by ctrl+wheel. And they work in latest version as well.
There is always "Unselect" button in region's info panel (with u as a hotkey). Esc was finally introduced recently and it works also in the latest version.

I hope this would help somehow. And if not, could you please share your config and some screencast maybe?

@bensteku are you still having troubles?

Feel free to reopen if your problem hasn't gone.


fix prometheus cluster ip and support pod labels

Integration with kube-state-metrics and new relic requires that we label the kube-state-metric pod.

/assign
/ok-to-test

Please bump the chart version

@rjkernick thanks rebased

/lgtm

@mgoodness @rjkernick  could one of you approve the PR by chance.

/lgtm

@sstarcher what was the "fix prometheus cluster ip" portion of this PR motivated by? As described in this issue https://github.com/kubernetes/charts/issues/5128 it seems to have been a breaking change for existing installations. Could that be reverted?

@kujenga I was fairly certain I ran into the same issue described in #5128 and thought that the change I made resolved it.


Adding SquarePattern.java

Reference : https://github.com/Reynadi531/a-patterns/issues/6#issue-713321002
Adding solution for Square pattern in java

Sure. I'll mention the output as comments in the code. Hope that works. I'll update this PR accordingly.

@Reynadi531 I've updated the output in the file as comment. Let me know if you'd need any more changes.

Nice. I assume that you already test and check your code. Thanks for contributing


message-textarea-rounded-white file added

Here is the component I have built.
Here is a screenshot of that.

@SudiptaSaha123 Please do not Make a PR until the issue is assigned to you But for this one
Give padding and use textarea and do not use arbitrary values instead use default or closest tailwind classes

ok

I have updated the code with textarea. Please check

@SudiptaSaha123 Can you make it responsive too ?


cmd/cgo: const identifier is non-constant in Go code

What did you do?
package main

// #define CONST1 10
// const int CONST2 = sizeof(double);
import "C"

type (
	//Array [C.CONST1]byte
	Array [C.CONST2]byte
)

func main() {
	var a Array
	a[0] = 0
}

What did you expect to see?
go build terminating without error, which is the case when I use the first definition (commented here) of Array
What did you see instead?
./main.go:9: non-constant array bound *_Cvar_CONST2
System details
go version go1.8 linux/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/edgar/ownCloud/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build246141425=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
GOROOT/bin/go version: go version go1.8 linux/amd64
GOROOT/bin/go tool compile -V: compile version go1.8 X:framepointer
uname -sr: Linux 4.10.5-1-ARCH
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a
/usr/lib/libc.so.6: GNU C Library (GNU libc) stable release version 2.25, by Roland McGrath et al.

This is correct behaviour. C does not allow a const int as the size of an array or in switch statements.

Indeed, I'm currently working on C++ code with only a C binding.
For example, the following code will compile under g++ but not with gcc:
const int SIZE = sizeof(double);
typedef int Array[SIZE];

int main(int argc, char *argv[])
{
	Array array;
	array[0] = 0;
	return 0;
}

However, the following Go code will compile and run just fine :
package main

import "unsafe"

const SIZE = unsafe.Sizeof(float64(0))

type Array [SIZE]byte

func main() {
	var a Array
	a[0] = 0
}

Then, I just do not understand why the code I put in my first post will not compile. I can turn this bug report into a proposal if this is "working as intended" in Go.

I don't think @ianlancetaylor intends for cgo to support C++, but I'll let him decide.

It would be nice if cgo could treat C declarations if the form
const T x = y

as equivalent to Go statements of the form
const x C.T = y

for types C.T that are valid as Go constants.
That seems more-or-less independent of the C++ support for the same usage.

@bcmills totally got my point. C++ support for cgo would be nice but I think this is another debate.
However, fixing (if it's a bug) or implementing (if it's a proposal, as it's not completely clear yet) const T x = y (C) <=> const x C.T = y (Go) into cgo shouldn't be too difficult. I think one just has to interpret #define and const the same way. I would be interested to do it if you guys find this useful.

I don't think this is a good idea.  The corresponding C code
const int CONST2 = sizeof(double);
int a[CONST2];

does not compile.  Treating a C const int as a Go const would be an odd special case.  In C a const int is an immutable variable.  It's not a constant in the Go sense.  It is not the same as a C++ const int, which is much more similar to the Go meaning of const.
For the reason, it's also hard to implement.  The cgo tool tries to figure out what kind of name it is given by generating C code and looking at the errors it gets.  Specifically it will generate code like
const int CONST2 = sizeof(double);
#line 1 "not-declared"
void __cgo_f_1_1(void) { __typeof__(CONST2) *__cgo_undefined__; }
#line 1 "not-type"
void __cgo_f_1_2(void) { CONST2 *__cgo_undefined__; }
#line 1 "not-const"
void __cgo_f_1_3(void) { enum { __cgo__undefined__ = (CONST2)*1 }; }

An error in __cgo_f_1_1 means that CONST2 is not declared at all.  An error in __cgo_f_1_2 means that CONST2 is not a type.  An error in __cgo_f_1_3means thatCONST2is not an integer constant.  Compiling this code will give an error for__cgo_f_1_2and__cgo_f_1_3, so cgo will conclude that CONST2is not a type and is not a constant.  You want cgo to recognizeCONST2` as a constant, but in C it is not.  So we would need to special case it somehow.
It would be possible in principle to special case it.  The debug info for CONST2 will have DW_TAG_const_type attached to the underlying type, int.
Once we've detected that it is immutable, we would have to determine the value, since a Go constant can not refer to the C value.  cgo normally determines the value of a constant by generating code like
long long __cgodebug_data[] = {
	CONST2
};

and then examining the value of the variable.  But that again does not work in C (it does in C++), so again we would need to special case determining the value.
So it's special cases at every level.  It doesn't seem worth doing to me.  Sorry.

When you don't know how cgo works internally, it sounded quite simple to do. I was wrong. Thanks for your explanation!
I'm working on a corner case implying Go <=> C <=> C++ which leaded to this const mess. Fortunately this is not blocking (for me at least) nor affecting a lot of people.
Have a nice day.


Update dependencies

for

slf4j
httpclient
jackson-databind

0.12.0 was released with updated dependencies.


Can we disable InternetGateway creation when provision VPC?

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
I don't want to provision internetgateway when provision vpc.
Affected area/feature

Hi @crazy-canux - thank you for raising this issue with us! A couple questions before we get too deep here, as I was not able to reproduce this issue with a standard VPC. Are you able to provide a program which reproduces this issue? A minimal configuration like this:
// Create an AWS resource (S3 Bucket)
const vpc = new aws.ec2.Vpc("vpc", {
    cidrBlock: "<IP_ADDRESS>/16"
});

does not provision an IGW for this VPC as there are no subnets associated with the VPC.
Thank you!

Sure, as you  can see, NewVpc will create InternetGateway by default.
But I don't want to do that, how to disable this?
	// Create a new VPC, subnets, and associated infrastructure
	eksVpc, err := ec2.NewVpc(ctx, "eks-vpc", &ec2.VpcArgs{
		EnableDnsHostnames: pulumi.Bool(true),
		CidrBlock:          &vpcNetworkCidr,
	})
	if err != nil {
		return err
	}


v5?

Is there any interest in having a v5 implementation? I can't promise I would do it, but just curious

i've considered it.
pros:

completeness (though v2 seems fully deprecated)
providing a uniform interface
cons:
the browser requires a custom sha1 implementation (integrating a properly licensed implementation is a consideration)
the official uuid v5 library is pretty fast (not a reason)
more versions mean a heavier library

perhaps a server-only implementation is worth considering.  I'm happy for collaboration.


Dart2dart compiled isolate/spawn_uri* tests cannot find isolate file by uri.

The test uses Isolate.spawnUri to spawn a file with a relative URI.
We need a way to have the tests compile/copy the spawnee file as well, which doesn't appear to be happening. The tests fail with "Unable to open file: ....long url/span_uri_child_isolate.dart".
The test works for dart2js/drt, so something should be doable.

No more dart2dart?


Could Not use own images in demo.py throws No file found Error

I tried running demo.py with my own images .
So I created 2 new folder named "images" and "outputs".
I saved an image in the "images" folder and tried executing the code :
python demo.py -i images -o outputs --isDlib True
But it threw an error saying
File "C:\Users\DELL\Desktop\PRNet-master\utils\write.py", line 31, in write_obj_with_colors
    with open(obj_name, 'w') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'outputs\\images\\faceimage9.obj'

I even tried providing absolute path in the command like ,
 python demo.py -i C:/prnet/images -o C;/prnet/output --isDlib True
But yet nothing worked ..
Then I tried changing it in the error line with open(obj_name,w) to open("C;/prnet/images",w)
But then it displayed
PermissionError: [Errno 13] Permission denied: 'C:/prnet/outputs'

But the folder was by default given write permission .How could I solve this one ..

Do you find any solution??


Refactor API: ComposerRequirements and ComposerBuilder

Reorganize ComposerRequirements & GraphOptimiserParameters to be more intuitive and logical.
Main changes

Composer requirements now contain infrastructural (algorithm-independent, like stop condition, performance etc) and algorithm (evolutionary, in PipelineComposerRequirements) params.
GPGraphOptimiserParameters now contain only evolutionary-operator-related options (lists of operator types)
Drop multi_objective parameter from GraphOptimiserParameters and determine it automatically in ComposerBuilder
ComposerBuilder now contains methods to specify evolutionary operator types and genetic scheme, together with default options. Previously this functionality was duplicated in ApiComposer and GPGraphOptimiserParameters __post_init__ function.
Updated examples that used ComposerBuilder

So, all in all, I hope, it's now a bit more straightforward to define parameters in fedot. Mainly users should look for PipelineComposerRequirements & ComposerBuilder methods.

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

In the file cases/credit_scoring/credit_scoring_problem_multiobj.py:

Line 10:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused

In the file examples/advanced/pipeline_sensitivity.py:

Line 9:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused

In the file examples/advanced/sensitivity_analysis/pipelines_access.py:

Line 2:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused

In the file examples/advanced/time_series_forecasting/composing_pipelines.py:

Line 9:1: F403 'from examples.simple.time_series_forecasting.ts_pipelines import *' used; unable to detect undefined names
Line 14:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused
Line 19:1: F401 'fedot.core.repository.quality_metrics_repository.MetricsRepository' imported but unused
Line 169:32: F405 'ts_complex_ridge_pipeline' may be undefined, or defined from star imports: examples.simple.time_series_forecasting.ts_pipelines

In the file examples/advanced/time_series_forecasting/multi_ts_arctic_forecasting.py:

Line 8:1: F403 'from examples.simple.time_series_forecasting.ts_pipelines import *' used; unable to detect undefined names
Line 11:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused
Line 14:1: F401 'fedot.core.repository.quality_metrics_repository.MetricsRepository' imported but unused
Line 59:16: F405 'ts_complex_ridge_smoothing_pipeline' may be undefined, or defined from star imports: examples.simple.time_series_forecasting.ts_pipelines

In the file fedot/api/api_utils/api_composer.py:

Line 14:1: F401 'fedot.core.composer.gp_composer.specific_operators.boosting_mutation' imported but unused
Line 14:1: F401 'fedot.core.composer.gp_composer.specific_operators.parameter_change_mutation' imported but unused
Line 19:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused
Line 20:1: F401 'fedot.core.optimisers.gp_comp.operators.mutation.MutationTypesEnum' imported but unused
Line 190:26: F541 f-string is missing placeholders

In the file fedot/api/api_utils/metrics.py:

Line 5:1: F401 'fedot.core.composer.metrics.smape' imported but unused

In the file fedot/api/main.py:

Line 3:1: F401 'inspect.signature' imported but unused
Line 313:30: F541 f-string is missing placeholders

In the file fedot/core/composer/composer_builder.py:

Line 4:1: F401 'os.PathLike' imported but unused
Line 14:1: F401 'fedot.core.optimisers.composer_requirements.ComposerRequirements' imported but unused

In the file fedot/core/optimisers/composer_requirements.py:

Line 50:30: F541 f-string is missing placeholders

In the file fedot/core/optimisers/gp_comp/gp_operators.py:

Line 83:30: W503 line break before binary operator

In the file fedot/core/optimisers/gp_comp/gp_optimizer.py:

Line 4:1: F401 'typing.List' imported but unused
Line 23:1: F401 'fedot.core.pipelines.pipeline.Pipeline' imported but unused

In the file fedot/core/optimisers/gp_comp/operators/selection.py:

Line 138:27: E126 continuation line over-indented for hanging indent
Line 160:27: E126 continuation line over-indented for hanging indent

In the file fedot/core/optimisers/gp_comp/pipeline_composer_requirements.py:

Line 2:1: F401 'logging' imported but unused
Line 3:1: F401 'numbers' imported but unused

In the file fedot/core/optimisers/opt_node_factory.py:

Line 1:1: E902 TokenError: EOF in multi-line statement

In the file fedot/core/optimisers/optimizer.py:

Line 77:48: E226 missing whitespace around arithmetic operator

In the file fedot/core/optimisers/populational_optimizer.py:

Line 1:1: F401 'logging' imported but unused

In the file fedot/core/pipelines/pipeline_node_factory.py:

Line 8:1: F401 'fedot.core.utils.DEFAULT_PARAMS_STUB' imported but unused
Line 47:1: W391 blank line at end of file

In the file test/unit/api/test_main_api.py:

Line 90:5: F841 local variable 'task' is assigned to but never used
Line 196:13: W503 line break before binary operator
Line 197:13: W503 line break before binary operator
Line 283:5: F841 local variable 'prediction' is assigned to but never used
Line 284:5: F841 local variable 'prediction_proba' is assigned to but never used

In the file test/unit/composer/test_composer.py:

Line 12:1: F401 'fedot.core.composer.advisor.PipelineChangeAdvisor' imported but unused
Line 15:1: F401 'fedot.core.composer.gp_composer.gp_composer.GPComposer' imported but unused
Line 19:1: F401 'fedot.core.optimisers.gp_comp.gp_optimizer.GPGraphOptimizerParameters' imported but unused
Line 311:53: E226 missing whitespace around arithmetic operator
Line 312:54: E226 missing whitespace around arithmetic operator

In the file test/unit/optimizer/test_default_node_factory.py:

Line 11:5: F841 local variable 'advisor' is assigned to but never used


Package request: teddit

Project description : A free and open source alternative Reddit front-end focused on privacy. Inspired by the Nitter project.
Metadata
homepage URL: https://codeberg.org/teddit/teddit
source URL: https://codeberg.org/teddit/teddit
license: AGPL 3.0
platforms: Linux

Add a :+1: reaction to issues you find important.

@fabaff
@jojosch

According to their website is the project no longer actively maintained.

This issue was linked to the wrong PR.


How to call specific elements that aren't supported by default tokens?

I have this RSS feed I want to create an RSS feed for, but certain elements like <media description>, <media:thumbnail> and others aren't supported by the default tokens, and I cannot figure out how to call them in custom tokens.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Same issue here.

Same issue here.


Interpretive Exhibit

For use with the "Interpretive Exhibit" Places preset

In the conversion, I adjust the "content" on the exhibit board for legibility.

16
24
32


[CI] Update the apt package list before installing openjdk

related issue : no.6 in https://github.com/ucbrise/clipper/issues/656

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

Looks good. Lgtm


trivial: nixos: doc: efficient comparisons

Motivation for this change
Me eating up all of the precious hydra memory and much of its time with a7d75ab6489dc5834e8402db374b4d0f1e774d53 of #33898. See that PR for discussion.
Things done

[X] Trivial.
[X] Makes things much better.
[X] Fits CONTRIBUTING.md.

Ah, splitString – reminds me the line from the documentation :-)

NOTE: this function is not performant and should never be used.


fix(olHelpers): allow smooth layer reload when updating params of WMS layer

The commit introduces a workaround to not recreate a WMS layer each time a parameter is updated in the source object (e.g. using updateParams). This allows a smooth layer reloading of WMS layers when a layer parameter is updated (e.g. when displaying timeseries data).
Example:
source.updateParams({'TIME': newTime});
Without the fix the line above forces a recreation of the layer.

@ageblade @claustres @Pedrazl @nbiton Poking u again since you've been quite active on the project. What do you think about this change?
The point is that if at runtime you access a given layers' params property (within the source), i.e. for a time series layer (just as @auckenth mentions), then due to the $watch on the layer directive and this line, the entire layer object will be recreated with each change, which is rather inefficient, especially with a time series layer which constantly changes.

Dear Juristr, I don't know all the details of the code but it seems that what you are trying todo is to "skip" the default angular watcher on the layer params to handle a really specific case, although usually it is a good thing. In my humble opinion this is not the best option, I will suggest either to:

globally make the watcher on layer parameters optional by configuration, so that when requiring performance the user can manage this on his own (I also work on the other directive with Leaflet and there is something similar https://github.com/tombatossals/angular-leaflet-directive/blob/master/doc/markers-attribute.md#markers-watches)
handle the specific case of WMS layers to manage not recreating the whole layer when the dynamic attributes are modififed

@claustres Ya, it's kind of a workaround, which I was discussing with @auckenth (who proposed this PR and is actually a work mate of mine).
The leaflet example sound interesting. Adding a watch=false or similar property on the layer directive could indeed be a possibility. I'll look into this tomorrow. Thanks a lot for ur feedback :smiley:

You are welcome, my philosophy is "don't make the specific case drive the design, make the general case easy and the specific case harder, it is worth it because the specific case is not the usual one"

Absolutely agree :wink:

@auckenth Can you study the implementation mentioned by @claustres which they've used in the leaflet project (see link above). They are using a "watch-markers" property on the leaflet like
<leaflet markers="markers" watch-markers="false"></leaflet>

..which prevents auto-updating by Angular's digest cycle.
I think we could implement a similar mechanism like
<layer ... watch-properties="false"></layer>

Maybe we can find a more suitable name also :smile:

I'm late to the discussion, but @auckenth approach looks like the most comprehensive. A property auto-update-properties='false' seems very suitable.

@Pedrazl Yes. We're (me and @auckenth) currently also discussing option 2 mentioned by @claustres , like to adjust this part here s.t. for layers like WMTS layers which have an "updateParams()" function, that function is used rather than simply recreating the entire layer object.
@auckenth is currently working on that and should shortly update this PR here.

Before continuing the discussion we should coincide on the desired behavior of the synchronization between the properties-object and the layer object. I will make an example:
Suppose we have the following properties-object
{...,"source": {...,"params":{...},"url":"urlA"},"opacity":0.5}"
and an ol.layer object which is created based on these properties.
If we change the properties-object setting e.g. opacity to 0.2 and source.url to "urlB", the layer-object is updated or recreated based on the new properties.
In the other direction (in general) there is no synchonization. If I change the opacity or url directly on the layer-object (e.g. myLayer.setOpacity(0.7); myLayer.getSource().setUrl(urlC);) the properties-object remains unchanged. In my opinion this is fine.
The only property where this behavior is different is the params-object within ol.source.TileWMS or ol.source.ImageWMS, since it is the only property which is copied by reference. In my opinion it makes sense to copy also this property by value.
@claustres @Pedrazl @juristr What do you think?


Unable to add permissions to a workspace instance profile

There does not appear to be any way to add permissions to a workspace instance profile using the SDK.
We have a setup process which creates a service principal which is used by a Job as the 'run as' principal. When our jobs are created they fail to run because the job cluster uses an instance profile and the service principal does not have access to use the instance profile. We want our setup process to add the permission using the Databricks Python SDK but there doesn't appear to be a method for doing this

Do you see the API you're interested in at https://docs.databricks.com/api/workspace/permissions? If not, then there is no API for this today.

Hey @mgyucht. No I don't see an API for Instance Profiles in the list under  . Does this mean there is no way to amend the permissions for an instance profile via the Databricks API. This will be a problem for us as our clusters use instance profiles to be able to access AWS S3 buckets where data is stored. If we can't grant permission to use the instance profile to the service principal that our Job runs as then the job fails to run.

To manage permissions for instance profiles you need to use the SCIM APIs: https://docs.databricks.com/en/aws/iam/manage-instance-profiles.html#manage-access-to-instance-profiles-using-the-api. We don't have a wrapper for these operations at the moment.

Thanks @pietern using the SCIM APIs worked me. In this case I used the SDKs service principal patch method like this:
    workspace_client.service_principals.patch(         job_principal.id,         schemas=[db_iam.PatchSchema.URN_IETF_PARAMS_SCIM_API_MESSAGES_2_0_PATCH_OP],         operations=[db_iam.Patch(op=db_iam.PatchOp.ADD, path="roles", value=[{"value":instance_profile.instance_profile_arn}])]     )


⚠ Bofrost.es has degraded performance

In 6c72cb1, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 3989 ms

Resolved: Bofrost.es performance has improved in 4ff8404 after 24 minutes.


flye: 2.9.3 -> 2.9.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for flye is: De novo assembler for single molecule sequencing reads using repeat graphs
meta.homepage for flye is: https://github.com/fenderglass/Flye
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.9.4 with grep in /nix/store/l3r1zsf2ks0f5p7j307yd2gyhc34xk13-flye-2.9.4
found 2.9.4 in filename of file in /nix/store/l3r1zsf2ks0f5p7j307yd2gyhc34xk13-flye-2.9.4

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

flye

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/l3r1zsf2ks0f5p7j307yd2gyhc34xk13-flye-2.9.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A flye https://github.com/r-ryantm/nixpkgs/archive/8c67c695beff7eac231f7c100d7f238ccfc1d2c7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8c67c695beff7eac231f7c100d7f238ccfc1d2c7#flye

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/l3r1zsf2ks0f5p7j307yd2gyhc34xk13-flye-2.9.4
ls -la /nix/store/l3r1zsf2ks0f5p7j307yd2gyhc34xk13-flye-2.9.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

flye
flye.dist

Maintainer pings
cc @Assistant for testing.

Tested on x86_64-linux.


IRGen: fix alignment for tail allocated arrays with elements which have a large alignment

The alignment of tail allocated elements was not considered in the allocation call. This caused problems for alignments > 16 bytes.
rdar://problem/37470003
The other part of the fix is https://github.com/apple/swift/pull/14375

@swift-ci smoke test and merge

LGTM


qemu: use shared libslirp instead of vendored

Motivation for this change
So we don't need to patch the vendored libslirp.
https://github.com/NixOS/nixpkgs/pull/76065
https://github.com/NixOS/nixpkgs/pull/79050
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @risicle

Can you add the reasoning you hinted at in the PR description also to the commit that adds the feature to QEMU? It would be nice to be able to judge why this was done just from the commit logs without yet another indirection.

The reason would likely be

So we don't need to patch the vendored libslirp.

Not sure why you left that out.

I think use shared libslirp instead of vendored is accurate and sufficient as a commit message.

I think use shared libslirp instead of vendored is accurate and sufficient as a commit message.

But it doesn't contain the why we did it. Stating what has been done can ofte be extracted from the changes but not the reason for that change.
Let me propose the following:
qemu: use shared libslirp

In the past we had to patch the bundled libslurp multiple times (e.g. #76065 &
#79050) while we have & had a proper package for libslurp. With this change we
can apply patches for libslurp once in a straight forward fashion and those
will also apply to QEMU.

I'm a bit disappointed to see you close the PR and delete the branch over what looks like a really good commit message suggestion...

And I'm disappointed that a commit message that does explain the change is being bikeshedded.
Heaps of stuff gets merged with commit messages vastly worse than this.
If what I had isn't good enough I've got other things to do.

Okay, thanks.

Just as reference: I am not trying to pick on you but I am trying to make sure everything I handle follows a good style. We even have that documented in the CONTRIBUTING.md

WFM macos 10.14, LGT ... oh.

I was being serious when I said "I've got other things to do rather than argue" but I see that this is now being discussed on discourse so I will respond. I'm not going to open an account on discourse.

I am not trying to pick on you but I am trying to make sure everything I handle follows a good style.

If you want people to follow a style, find a way for it to be enforced consistently tree-wide. Otherwise it isn't anything except unsustainable pedantry.
We even have that documented in the CONTRIBUTING.md
As we don't even enforce format the commit messages in the following way from CONTRIBUTING I'm actually kind of annoyed by writing good commit messages being used as some sort of justification here.

During a review that I did today a contributor decided to close their PR

s/contributor/committer/

Yet again I did not mean to offend you.
You made me think about my approach. Maybe I am expecting too much? That is
why I wanted to state my view on it and invite everyone to state theirs.
Discourse is, even thought I would prefer a proper ML, the discussion
platform that is currently established in our community. Thus that seemed
the the reasonable place to bring this up.
Also I am thinking about contributors as super class of everyone that
contributes to the project , including committers. This includes you and
everyone that once had or still has commit access to the repo.

Can we pick this up, please? If we had merge this we'd not be affected by CVE-2020-29129.

I'll reopen if the request to change the commit message is withdrawn.

I'll not withdraw that request. It should clearly state the motivation for this change.

I'm losing the will to live here.


After upgrading to 3.2.21 getting error, 3.2.20 works good with totally same options

Describe the bug
Getting error in console, page is not loaded at all.
Cannot read properties of null (reading 'toString')
Environment

OS & Version: Linux
Vue version: 2.7
Component Version: 3.2.21

Thanks for the feedback, try version 3.2.22.

Works good, thanks bro :) i guess it somehow even started to work smoother than before... Great, thanks one more time ;)


How to add more permissions?

In README:

Only supports "public", "user" and "admin" permissions out of the box, but offers functionality for implementing more fine grained permissions, if so desired.

Okay, but in docs (and source) there is no possibility to implement other permissions besides these three without patching the source.

It's possible, will add an example to the README.

It should be similar to this: https://github.com/xyproto/permissions2/blob/master/README.md#setting-and-getting-properties-for-users

Yeah, placing an example in README will be great, thanks!

Thanks!


Can not edit existing dependencies - have to remove and add anew

Type (choose one):

Bug

NPE version: 5.5.64
OS version: Windows 10 - 1909
Installed from: Microsoft Store
In case of a BUG:

What is the current result?
Clicking on an existing dependency does not select it, so its properties can not be edited.

What is the expected result?
Clicking existing dependency should select it, and I should be able to edit dependency version.

Are there any workarounds?
no

Is there a version in which it did work?
haven't been working in a while

Is there a package on Nuget.org which shows the bug?
Any package

I can confirm this:

work around:


call on_error on WebSocketException instead of raising the exception

Currently, when we have a WebSocketException, there is no way to handle it as the raised exception is contained inside the runner thread. This PR will call the on_error callback instead to allow handling it.

@2pd ping for review. We cannot handle WebSocketExceptions without this

This is just what I wanted to do. But have you tested this code? It still in the loop after calling on_error, which means its still trying to read data from a closed connection.


Editor is not writable

Hi, there is a strange issue with my editor. Editor is not writable If I name my URL like '/banners/new', everything is working fine if I remove the 's' from banners, so everything is working with '/banner/new'.
Symfony 3.3.8
ckeditor-bundle: 6.0.1 (same issue with 5.x.x versions also)
ckeditor_e.mov.zip

Weird... Any error in the browser console? Have you tried to clear your browser cache?

Yes, it's so weird. No errors in the console. Tried to clear the caches, also tried with incognito mode, tried with another browser, no luck.

The issue is I'm not able to reproduce it locally, so it's hard for me to help you...


website

The web site of this doc, isn't updated..
just saying that i wasted 10-min since api was wrong

Hi @madhudskumar,
Can I get you to create a pull request to resolve what was wrong in the documentation?

The master repo docs are updated, only the website in gh-pages would need an update. 10-min is a good investment in a plugin that was already coded for you :)

BTW: I found a potential issue with the module name case in the main section of the bower.json. Since the main dist file name case is different than that in bower.json, task runners like gulp would not find the file in certain environments (Unix?).
I'm still not 100% sure on this, but I'll send my pull request with the fix if it happens to be true.

gh pages has now been updated


Add support for JMH benchmarks

Summary
This PR adds crude support for JMH benchmarks with a scala_benchmark_jmh target. To do this, it also allows compilation of Java sources in source JARs.
The meat of the logic to generate JMH benchmark code was cargo-culted from @tixxit's excellent SBT plug-in for JMH benchmarks:
https://github.com/tixxit/sbt-benchmark/blob/master/src/main/scala/net/tixxit/sbt/benchmark/BenchmarkPlugin.scala
Motivation

https://github.com/bazelbuild/rules_scala/issues/157
https://github.com/bazelbuild/rules_scala/issues/150

Testing
Added a very simple JMH benchmark under tests/jmh.
TODO

[x] Generate JARs without updating timestamps.
[x] (likely) want to split this PR into two, one per issue.

r? @johnynek

Can one of the admins verify this patch?

This is great!
Could we actually split into 2 PRs:

fixing the java + srcjar and any scalac cleanups? Also, can we add a test for this directly?
leveraging 1 adding the new jmh support?

Note stripe has signed the CLA, so if you make the PR from your stripe account you should be fine, or you can personally also sign the CLA.

I signed it!
(The Google CLA, that is)

I also signed the CLA personally, for this Github username (@jeremydhoon).

Want to rebase on master now?

Thanks for merging #158!
I still need to generate proper JARs (without updating timestamps) before this will be ready to go.

looks good. Will merge when green.


ERROR in ./src/app/app.jsx Module build failed: Error: Couldn't find preset "stage-1"

while running the code in examples/webpack-example at 0ae4d7f

Duplicate of https://github.com/callemall/material-ui/issues/2746?

What version of npm are you using?


Create area-of-rhombus.c

Why:
Closes #508
What's being changed:
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Hey @jspoh
Thanks for contributing to this project 😃
This PR will be reviewed and merged shortly

https://codinasion.web.app/programme/area-of-rhombus/


Update Pages “about”

Automatically generated by Netlify CMS

👷 Deploy Preview for playful-alpaca-ff74dc processing.

Name
Link

🔨 Latest commit
2c9a5f7067d9ad1006a52a82f6134b6c1647c7e0

🔍 Latest deploy log
https://app.netlify.com/sites/playful-alpaca-ff74dc/deploys/62506bdfeb015f0009ca27b8