spurious crashes in moov sbx environment

Over the weekend watchman crashed and got into a loop of being unavailable from Kubernetes's failed health checks.
Logs:
$ kubectl logs -n apps watchman-798b4b7dd7-hbxwd -c watchman
ts=2019-12-15T21:22:08.95746364Z caller=main.go:56 startup="Starting watchman server version v0.13.0-rc5"
ts=2019-12-15T21:22:08.957600559Z caller=database.go:18 database="looking for mysql database provider"
ts=2019-12-15T21:22:08.99747607Z caller=download.go:153 download="Starting refresh of data"
ts=2019-12-15T21:22:08.99940274Z caller=main.go:123 admin="listening on [::]:9090"
ts=2019-12-15T21:22:48.617066911Z caller=download.go:205 download="Finished refresh of data"
ts=2019-12-15T21:22:48.795282067Z caller=main.go:150 main="data refreshed 178.180365ms ago" SDNs=8076 AltNames=10559 Addresses=12662 SSI=289 DPL=576 BISEntities=1268
ts=2019-12-15T21:22:48.795388321Z caller=main.go:230 main="Setting data refresh interval to 12h0m0s (default)"
ts=2019-12-15T21:22:48.812958924Z caller=main.go:204 exit=terminated
ts=2019-12-15T21:22:48.813957644Z caller=main.go:194 startup="binding to :8080 for HTTP server"
ts=2019-12-15T21:22:48.814387141Z caller=main.go:196 exit="http: Server closed"

kubectl describe pod
$ kubectl describe pods -n apps watchman-798b4b7dd7-hbxwd
Name:               watchman-798b4b7dd7-hbxwd
Namespace:          apps
Priority:           10
PriorityClassName:  normal-priority
Node:               gke-sbx-sbx-permanent-nodes-236c1737-wvds/<IP_ADDRESS>
Start Time:         Sat, 14 Dec 2019 20:23:05 -0800
Labels:             app=watchman
                    pod-template-hash=798b4b7dd7
Annotations:        <none>
Status:             Running
IP:                 <IP_ADDRESS>
Controlled By:      ReplicaSet/watchman-798b4b7dd7
Containers:
  mysql:
    Container ID:   docker://9673ec47e7f109566a32a7d6b28e36cff3008ae025de22a3b45ad84a100a49d2
    Image:          mysql:8.0
    Image ID:       docker-pullable://mysql@sha256:c93ba1bafd65888947f5cd8bd45deb7b996885ec2a16c574c530c389335e9169
    Port:           3306/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Sat, 14 Dec 2019 20:23:25 -0800
    Ready:          True
    Restart Count:  0
    Environment:
      MYSQL_DATABASE:              watchman
      MYSQL_USER:                  watchman
      MYSQL_RANDOM_ROOT_PASSWORD:  yes
      MYSQL_PASSWORD:              <set to the key 'password' in secret 'watchman-mysql-password'>  Optional: false
    Mounts:
      /var/lib/mysql from watchman-mysql-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-xp9n8 (ro)
  watchman:
    Container ID:  docker://819114a1280b05e39f95f8c3b0c5010f7be482362d20ea3d31de9460ce06c974
    Image:         moov/watchman:v0.13.0-rc5
    Image ID:      docker-pullable://moov/watchman@sha256:6d89bf3583a0abeb8d6451fe28e672814f5365d0ca2c79cd9b7b84ef0e9f50ac
    Ports:         8080/TCP, 9090/TCP
    Host Ports:    0/TCP, 0/TCP
    Args:
      -http.addr=:8080
      -admin.addr=:9090
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Sun, 15 Dec 2019 13:22:08 -0800
      Finished:     Sun, 15 Dec 2019 13:22:48 -0800
    Ready:          False
    Restart Count:  314
    Limits:
      cpu:     200m
      memory:  250Mi
    Requests:
      cpu:      25m
      memory:   100Mi
    Liveness:   http-get http://:8080/ping delay=5s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:8080/ping delay=5s timeout=1s period=10s #success=1 #failure=3
    Environment:
      LOG_FORMAT:        plain
      TRADEGOV_API_KEY:  <set to the key 'tradegov' in secret 'watchman-api-keys'>  Optional: false
      DATABASE_TYPE:     mysql
      MYSQL_ADDRESS:     tcp(localhost:3306)
      MYSQL_DATABASE:    watchman
      MYSQL_USER:        watchman
      MYSQL_PASSWORD:    <set to the key 'password' in secret 'watchman-mysql-password'>  Optional: false
    Mounts:
      /opt/moov/watchman/ from watchman-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-xp9n8 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  watchman-data:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  watchman-data
    ReadOnly:   false
  watchman-mysql-data:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  watchman-mysql-data
    ReadOnly:   false
  default-token-xp9n8:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-xp9n8
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                  From                                                Message
  ----     ------     ----                 ----                                                -------
  Warning  Unhealthy  18m (x922 over 17h)  kubelet, gke-sbx-sbx-permanent-nodes-236c1737-wvds  Liveness probe failed: Get http://<IP_ADDRESS>:8080/ping: dial tcp <IP_ADDRESS>:8080: connect: connection refused
  Warning  BackOff    3m (x3777 over 17h)  kubelet, gke-sbx-sbx-permanent-nodes-236c1737-wvds  Back-off restarting failed container

The container got SIGTERM from kubernetes and I’ve noticed it can take a bit to restart as it’ll redownload. Over the weekend there was a cycle of watchman being unavailable because of slow startups (downloads) and k8s backoff. I've bumped up timeouts and memory/cpu for the container.


commentBefore property has no effect

test.js:
const YAML = require('yaml');

const input =
"version: 1\n\
task_definition:\n\
  services:\n\
    some_service:\n\
      secrets:\n\
        - name: SOME_NAME\n\
          value_from: SOMEWHERE\n";

const parsed = YAML.parse(input);
const generatedSecretBindings = YAML.createNode([
    {
        name: "ANOTHER_NAME",
        value_from: "ANOTHER_SOURCE"
    }
])
generatedSecretBindings.commentBefore =
    "Don't edit these secret bindings directly. They are generated.";
parsed.task_definition.services.some_service.secrets = generatedSecretBindings;
console.log(YAML.stringify(parsed));

Actual output:
version: 1
task_definition:
  services:
    some_service:
      secrets:
        - name: ANOTHER_NAME
          value_from: ANOTHER_SOURCE

Expected output (more or less):
version: 1
task_definition:
  services:
    some_service:
      # Don't edit these secret bindings directly. They are generated.
      secrets:
        - name: ANOTHER_NAME
          value_from: ANOTHER_SOURCE

Additional information:
node --version: v12.11.1
    "yaml": {
      "version": "1.7.1",
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.1.tgz",
      "integrity": "sha512-sR0mJ2C3LVBgMST+0zrrrsKSijbw64bfHmTt4nEXLZTZFyIAuUVARqA/LO5kaZav2OVQMaZ+5WRrZv7QjxG3uQ==",
      "requires": {
        "@babel/runtime": "^7.5.5"
      }
    }

That usage pattern should work, but it clearly doesn't.
What's happening here is that YAML.stringify() is first creating a YAML document from its input, and then stringifying that. During the stringification, the parsed object is recursively worked into a tree of YAML nodes, and that process does not (currently) provide special handling for YAML nodes that already exist in the tree. But it probably should. I'll need to test a few things and work out the cleanest way of making that happen.
As is, here's how you could do what you're trying to do with the current API, with fewer layers of conversion taking place internally:
const doc = YAML.parseDocument(input)
const secrets = doc.getIn(['task_definition', 'services', 'some_service', 'secrets'])
secrets.commentBefore = " Don't edit these secret bindings directly. They are generated."
secrets.set(0, { name: 'ANOTHER_NAME', value_from: 'ANOTHER_SOURCE' })
String(doc)

version: 1
task_definition:
  services:
    some_service:
      secrets:
        # Don't edit these secret bindings directly. They are generated.
        - name: ANOTHER_NAME
          value_from: ANOTHER_SOURCE

Actually I want to completely replace the secrets node, so perhaps I could just createNode from an array and then:
const someService = doc.getIn(['task_definition','services','some_service']);
someService.set('secrets',secrets);

Will that work?
Anyways, the lack of special handling for YAML nodes already in the tree is precisely what I suspected.

Actually if there is no special handling for YAML nodes, then why doesn't output look like this:
version: 1
task_definition:
  services:
    some_service:
      secrets:
        items:
          - key: name
            value: ANOTHER_NAME
          - key: value_from
            value: ANOTHER_SOURCE
        commentBefore: "Don't edit these secret bindings directly. They are generated."

?

Yeah, that should work. There's also this API (these are documented here):
doc.setIn(['task_definition','services','some_service','secrets'], secrets);

The fix for your original issue looks like it'll be a one-liner. The reason why you're not seeing a commentBefore node in the output is that when stringifying unknown objects we first look for a toJSON() method and call that if it's available. For YAML nodes, that's currently transforming them back into plain JS objects before they're re-parsed into nodes.

Fixed in 1.7.2.


Fix component instance API GET reference

Looks good to me. One thing we should be careful of:
We should double check with our customer with how their temporary fix addresses the issue. It's possible he implemented it in one of two ways:

Option A: return ComponentInstance(returned_instances[0]) in component_instance.py the same way you did it in this PR.
Option B:  Change ComponentInstances.get().data[0]["id"] as described in their slack message everywhere this method is used.

If the customer did it with Option A, then all they'll need to do in the future is pull the latest version. If they did it the with Option B then we'll need to make sure they undo the change before updating the the new version. Let's just make sure to communicate this clearly.

That's a good catch, I'll make sure to communicate that. Also, since this branch is public, it can easily be pulled and tested prior to merging, which I will recommend.


Files missing from download

I have downloaded pGlyco3.0_build20210615. When looking at the user manual for gLabel you need a few files. The ones I can not fine in anything I downloaded or other files on here are for the MGF section and the pGlycoRes section. I have searched my computer and all the files that can with the zip file and they are not there. Where can I find these files

Please check user guide (https://github.com/pFindStudio/pGlyco3/blob/main/pGlyco3-User-Guide.pdf)
MGF is the MS file you searched
pGlycoRes is the result file you got after pGlyco3 search

I realize now the MGF file. I was confused on that because I used a mzML file in the first part. When I run the first part of the program I get a .cfg file, but the pGlycoRes wants a .txt file. Do I just need to convert the file?


inverted image (how do I fix), "stuck" framerate

Hi Lee, first time commenting here. I have the Arducam MT9V034_VGA & USB sheild. Please help! Somewhere in the 2 days that I have had this the image became inverted. I don't know how to reset the sensor. Also the FPS never changes: I can set register 11 to 3 or 0x20 or 0x40 and its always reading back a framerate of 37 - advertised of course at 60.

Lee.
Hi, did you ever get the change in resolution working (above)

Have been working on other aspects of the project. I tried your registry setting above REG = 0x0D, 0x320, it works, but I have to do it every time I boot up the camera.

is there a way to make it permanent?
what registry read/write vals to change resolution to 320 x 240 for example.

If you are using windows, you can write the regsiter settings into the MT9V034.cfg file permanently.
To change to 320x240, modify the following registers:
REG = 0x03, 240
REG = 0x04, 320

Its MT9V022, linux thx is the same?On May 9, 2018 9:48 AM, Lee<EMAIL_ADDRESS>wrote:If you are using windows, you can write the regsiter settings into the MT9V034.cfg file permanently.
To change to 320x240, modify the following registers:
REG = 0x03, 240
REG = 0x04, 320
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

For linux, you have to set the regsiter in the code like this:
ArduCam_writeSensorReg( useHandle, 0x03,  0x01E0 );
ArduCam_writeSensorReg( useHandle, 0x04,  0x02F0 );
MT9V022 is almost the same as MT9V034.

Im trying the linux samples and am getting library errors...do you know what the problem might be?
...
make all
Building target: MT9V022
Invoking: GCC C++ Linker
g++ -L/home/primeuser/Documents/Marble/MT9V022/src -o "MT9V022"  ./src/MT9V022_demo.o   -lArduCamLib.so -lusb-1.0.so
/usr/bin/x86_64-linux-gnu-ld: cannot find -lArduCamLib.so
/usr/bin/x86_64-linux-gnu-ld: cannot find -lusb-1.0.so
collect2: error: ld returned 1 exit status
makefile:45: recipe for target 'MT9V022' failed
make: *** [MT9V022] Error 1

You also need the following library files for compiling your code.
https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Linux_x86/Cpp/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo/libArduCamLib.a
https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Linux_x86/Cpp/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo/libusb-1.0.a

Ok. Do they go in the usr/local/lib or just the /lib

I just want a working copy.
./Test ./Test: error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
So recompiled with opencv linking to latest version:
g++ MT9V034_demo.cpp -o Test pkg-config --cflags --libs opencv -lArduCamLib -lpthread -lusb-1.0 -L. -I. -std=gnu++11
I've added .a to my latest files. When I recompile to link to present opencv version I get error:
/usr/bin/x86_64-linux-gnu-ld:/usr/local/lib/libArduCamLib.so: file format not recognized; treating as linker script /usr/bin/x86_64-linux-gnu-ld:/usr/local/lib/libArduCamLib.so:0: syntax error collect2: error: ld returned 1 exit status
If I could just get this running won't have t bother you guys : )

Ok, so I updated the libraries and recompiled from within the demo code and it compiled successfully, no linker errors. Now, the window opens but shows an image very rarely; it sas "cam_data_len" error or something like that. I've tried redompiling, etc., same message.

Sorry late

Here is another error I picked up: failed to load canberra-gtk-module

compiler statement:
g++ MT9V022_demo.cpp -o Test pkg-config --cflags --libs opencv -lArduCamLib -lusb-1.0 -lpthread -L. -I. -std=gnu++11
from within MT9V022 demo folder
Demo folder:
ArduCamLib.h	    libArduCamLib.so.1.0    libusb-1.0.so.0	 Test
libArduCamLib.a     libArduCamLib.so.1.0.0  libusb-1.0.so.0.1.0  Test-0
libArduCamLib.so    libusb-1.0.a	    libusb.h		 Test-1
libArduCamLib.so.1  libusb-1.0.so	    MT9V022_demo.cpp

I'm not exactly sure what you mean. Can you plz clarify?
FYI the 022 and 034 both work excellently in Windows USB Demo. As you have pointed out it isnt yet ready for opencv.
The Linux based will play a few frames above error until crash on the Virtual Machine. I've tried different USB configs...my keyboard and mouse are USB. We need to make this app work. Does the USB driver need an update?

Please don't use Virtual machine, the performance of USB is very low in VM.

What would you suggest - a dual boot OS?

Yes, you need to install dual boot OS for both Winodws and Ubuntu Linux

I've got (2) machines. Can I dedicate 1 to each OS?

It will be even better, you can swap the camera if you come across any issue to do some comparison.

Hi Mr.Lee, have 2 separate systems now 1 ubuntu and 1 windows. The opencv installation went well in linux/ubuntu. The program re-compiles fine to link to more modern opencv version with no linker errors.
So why does it start the program without following through:
ArduCAM_Linux_SDK_Opencv_MT9V022_Demo# sudo ./Test Device found = 1  ArduCam_open successful create capture thread successfully create display thread successfully
That's all that happens.
No Window/image generation...

By the way this is my compiler line from command prompt:

g++ MT9V034_demo.cpp -o Test pkg-config --cflags --libs opencv -lArduCamLib -lpthread -lusb-1.0 -L. -I. -std=gnu++11

Keep trying and get this:
sudo ./Test
Device found = 1
ArduCam_open successful
create capture thread successfully
create display thread successfully
Nothing else

please leave your email address, I will send you a new code to try it out.

<EMAIL_ADDRESS>Jun 8, 2018 10:05 PM, Lee<EMAIL_ADDRESS>wrote:please leave your email address, I will send you a new code to try it out.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

<EMAIL_ADDRESS>

root@primeuser-MS-7760:~/Desktop/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo# sudo ./Test

Device found = 1
shipAddr 0x46 value is: 5
Sensor 0x03 value is: 1e0
Sensor 0x04 value is: 2f0
Sensor 0x0B value is: 200
ArduCam_open successful
create capture thread successfully
create display thread successfully
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
USB_CAMERA_DATA_LEN_ERROR
...inifinty

It seems that your received data is not correct size or encounter the dropping frame issue.
I run the same code without any issue. Can you show me your hardware setup?

I've attached the hardware setup report. Basically Ubuntu 18 on 250GB SSD drive, NVidia 770 card, some external USB hard drives, USB mouse and keyboard. Its all in the report, I hope its not too much information.
hardinfo_report.txt

You'd better not to connect both the camera and USB hard drivers in the same USB root hub, they will race the bandwidth. Can you send me a photo of your camera board? I have to determine the part number.

Can disassemble if u need

Thanks for your photos.
It is really strage if it is working under Windows with the same hardware setup, but stop working under linux.

NP.
Actually the Windows installation is now installed all by itself on a separate dedicated machine(#1). The second original machine (#2) is reinstalled with dedicated Ubuntu, erasing the VMWare. However it seems clear that the USB problem in (#2) is persisting from VMWare in the dedicated Ubuntu installation.
Tell me what you want to do. The next logical step to me would be to convert the Windows machine to dual-boot with Ubuntu and drop the current USB situation on the Ubuntu all together. It will be a pain, but I've got to get this camera going. Do you have a better idea?

Also have you been able to get these cams to work with Linux?

As you can see from my previous message, I send you the screen shot for my result.
can you install the dual-boot OS on the same machine?

Hi
Which machine do you want me to add dual boot? My windows machine or my ubuntu machine. I assume you are talking about dual boot by adding ubuntu to my windows.

Hi Lee how do you want me to configure the boot change? I assume its adding the Linux Ubuntu to the windows machine.

Hi Lee, should I go ahead and add dual boot system to my windows?

We will release a new USB2.0 camera with onboard frame buffer, so the dropping frame issue will be fixed with that one.

OK, when do you expect it to be released for purchase? OpenCV ready? Also, what I really like about the the 034 and the 022 is the global shutter. It is essential. Are you all going to keep that?

Actually we are ready to ship the new USB2.0 camera with onboard frame buffer. It will support more cameras including the MT9V022/034, AR0134 global shutter cameras.

Great hit me with the link
Do you recommend still to do dual or try on mu Ubuntu first w/new cam

The listing isn't udpate yet: http://www.uctronics.com/arducam-usb-camera-shield.html but we will ship the new ones.

Ok, need some assurances when I receive it is that it is the newest
module incorporating the frame buffer changes. People I work for.
Gray Family
<EMAIL_ADDRESS>On Sat, May 19, 2018, at 9:35 AM, Lee wrote:

You also need the following library files for compiling your code.
https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Linux_x86/Cpp/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo/libArduCamLib.a> https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Linux_x86/Cpp/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo/libusb-1.0.a>

— You are receiving this because you authored the thread. Reply to
this email directly, view it on GitHub[1], or mute the thread[2].

Links:

https://github.com/ArduCAM/Arduino/issues/292#issuecomment-390405367
https://github.com/notifications/unsubscribe-auth/AeKzB21abVB6VHlV3FjkvwjR7vQ7nlrnks5t0B-jgaJpZM4RtRCd

BTW< between 022, 034 and 134 which is the  best? I need global shutter...fast fr

Please leave us a note after your order. MT9V022 we have is 0.36MP mono, MT9V034 is color at 60fps, and AR0134 is 1.2MP at 45fps.

MT9V034 is color
??mine was monochrome

Now we only have color MT9V034, and mono MT9V022. The MT9V022 is almost the same as MT9V034

ArduCAM USB3.0 Camera Shield
...this is new...I should still get the 2.0 with frame buffer though right

USB3.0 doesn't have onboard frame buffer, not suitable for embedded system like Raspberry pi.

Sorry to ask so many questions  : )
My platform is both PC and Linux separate, not rasperry PI.
--
Gray Family
<EMAIL_ADDRESS>On Thu, Jun 21, 2018, at 10:43 AM, Lee wrote:

USB3.0 doesn't have onboard frame buffer, not suitable for embedded
system like Raspberry pi.> — You are receiving this because you commented. Reply to this email
directly, view it on GitHub[1], or mute the thread[2].

Links:

https://github.com/ArduCAM/Arduino/issues/292#issuecomment-399128592
https://github.com/notifications/unsubscribe-auth/AeKzB9Wd6_PMqVaG2iCA0-rhATjShZhxks5t-7EXgaJpZM4RtRCd

USB3 now only supports Windows, we are working on linux SDK now.

Hi, I've placed an order based on our conversation. Ive sent a note to sales at utronics requesting to be sure to fill USB 2.0 with framebuffer. Can you please oversee that order and make sure its shipped correctly?

Thank you. We don't have old version at all. You won't miss it.

Hi,
I got the new camera in the mail today. Please refer me to the procedure in linux:
-compile line & files
-driver!! : ) do I need one in Ubuntu
Thx!

The driver is compatible with old ones in this github: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/tree/master/Linux_x86

ok. Embarrassed to ask: how do I install a driver in linux/ubuntu? I did fine with windows install and deativating driver signature requiremen, no prob.
How to install driver in linux. Its a new linux dedicated system.

Please read this: https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/blob/master/Linux_x86/Cpp/README.md

please leave your email address, I will send you a new code to try it out.
Plz resend this for the MT9V022, can't locate it.

my email<EMAIL_ADDRESS>MT9V022 example is ： https://github.com/ArduCAM/ArduCAM_USB_Camera_Shield/tree/master/Linux_x86/Cpp/ArduCAM_Linux_SDK_OpenCV_MT9V022_Demo


Rename license.txt to LICENSE and update it's contents

license.txt seems a bit off. I've renamed it to LICENSE. Also, updated the contents of the MIT License from here.

Thanks for the change, @mesaugat, but is there any reason behind the change? It's better to not make changes to these files without a good reason.

@JoshuaKGoldberg There's no such reason but if you view the file, GitHub will show a preview of the license on the header. Also, most repositories use the uppercase LICENSE term. Just wanted to be consistent.


DictField is not serialized

In a model like the following
class Value(Document):
serial_number = StringField()
time = DateTimeField(default=datetime.datetime.now)
v1 = DictField()
v2 = DictField()
"v1" and "v1" are not serialized along with the other infos specified in the the Meta class. They are simply empty.
Found a workaround yet but it would be nice to get it provided by the DocumentSerializer class itself.

My fault. I forgot to include it in the queryset only fields. All works as expected.
Sorry.


Fix undefineds in text search results

This PR fixes #141519
When sourceLine is the empty string, .split() returns an empty array so .split()[0] is undefined. I tested this change manually using the example in the issue, but please let me know if there's a test suite I should be adding this to. Thanks!

Thanks!


EX 17.30

There is a bit of a subtlety with this question which I'm not quite sure how to rectify. The question asks:
"Revise your function again this time to take a minimum and maximum value for the numbers that the function should return."
The idea I had, and so did you, was to use static member for the random number generators as the book suggests to do. However static members only get initialised once! So we the code:
#include <iostream>
#include <random>

using namespace std;

unsigned randomUns(unsigned minV, unsigned maxV, default_random_engine::result_type seed = 0){

    static default_random_engine e(seed);
    static uniform_int_distribution<unsigned> u(minV, maxV);

    return u(e);

}

int main(){

    for(int i = 0; i < 10; ++i)
        cout << randomUns(2,3) << " ";

    cout << endl;

    for(int i = 0; i < 10; ++i)
        cout << randomUns(5,6) << " ";
}

Outputs
2 2 3 2 3 2 2 3 3 3
2 3 3 2 2 3 3 2 2 2

Despite the second loop asking for inbetween the range (5,6) inclusive. This is since the uniform_int_distribution member only gets initialised once and so always has a minimum and maximum from its first call, i.e. 2.3.
For the moment I personally don't know what should be done to fix this though.

This is my solution:
#include <iostream>
#include <random>
#include <map>
#include <utility>
#include <ctime>

using namespace std;

unsigned randomUns(unsigned minV, unsigned maxV, default_random_engine::result_type seed = 0){

    static map<default_random_engine::result_type, default_random_engine> generators;
    static map<pair<unsigned, unsigned>, uniform_int_distribution<unsigned>> distributions;

    pair<unsigned, unsigned> range(minV, maxV);

    if(generators.find(seed) == generators.end())
        generators.insert({seed, default_random_engine(seed)});

    if(distributions.find(range) == distributions.end())
       distributions.insert({range, uniform_int_distribution<unsigned>(range.first, range.second)});

    return distributions[range](generators[seed]);

}

int main(){

    for(unsigned i = 0; i < 10; ++i)
        cout << randomUns(2,3, time(0)) << " ";

    cout << endl;

    for(unsigned i = 0; i < 10; ++i)
        cout << randomUns(2,3, time(0)) << " ";

}


Raspberry pi animation renderer

I am trying to make a marquee animation to my avalonia app and I need to run it in raspberry pi. In windows works perfectly, but in raspberry pi it's not smooth.
I added this code: https://github.com/AvaloniaUI/Avalonia/issues/2945#issuecomment-534892298 on program.cs to improve the renderization of the app but have almost the same behavior.
I created a repository to tests: https://github.com/DanielCostaDC/TestFooterNews

Please let us know the actual hardware version and what OS you are running. Are you sure hardware acceleration is actually working.

Please let us know the actual hardware version and what OS you are running. Are you sure hardware acceleration is actually working.

Hardware version: Pi Model 4B v1.1
OS: Raspbian Buster
I did not changed anything on the hardware yet. What do you suggest?

Hardware version: Pi Model 4B v1.1
OS: Raspbian Buster
I did not changed anything on the hardware yet. What do you suggest?

glxinfo

glxinfo

I verified the things I done in the machine to accelerate the raspbian. I done it all again and the avalonia app behavior is still the same.
The steps I folowed:

sudo apt-get update
sudo apt-get mesa-utils
sudo raspi-config -> advanced options -> GL Driver -> Fake KMS
reboot
sudo apt-get libx11-dev
sudo apt-get libgles2-mesa-dev
sudo apt-get xorg-dev

Please, show your glxinfo output.

Your screenshot doesn't provide any useful info since glxinfo output won't fit into one screen.

Your screenshot doesn't provide any useful info since glxinfo output won't fit into one screen.

After you seing this screenshot, what can you suggest me to do?

make sure that you've updated to 0.10.0
check if OpenGL is actually enabled in your app by checking AvaloniaLocator.Current.GetService<IPlatformOpenGlInterface>() != null

I verified and it's updated and "AvaloniaLocator.Current.GetService() != null" is true.
I tapped "glxgears" and it works perfectly.

So it's probably not a rendering issue but a general performance issue. Are you using RenderTransform or animating layout-related properties? A small repro code could help to diagnose the issue.

I made this project just to teste this issue: https://github.com/DanielCostaDC/TestFooterNews

The issue might somehow be related to the fact that you are trying to draw 6878 characters as a single block of animated text.

Could be that the resource cache is exhausted by the font atlas and every draw is regenerating the atlas.

@Gillibald the code in question is mostly plain ASCII except for a few characters.
I suspect that draw calls are checked for clipping way too late, so splitting the text block into multiple ones in a StackPanel might help.

@Gillibald the code in question is mostly plain ASCII except for a few characters.
I suspect that draw calls are checked for clipping way too late, so splitting the text block into multiple ones in a StackPanel might help.

I tried with one word and works equal.

@Gillibald the code in question is mostly plain ASCII except for a few characters.
I suspect that draw calls are checked for clipping way too late, so splitting the text block into multiple ones in a StackPanel might help.

I tried with just one word and works equal.

Seem to be having the same issue as well. Though, even basic transitions like increasing the Width or Opacity property of a Rectangle, if it's larger than about 64x64 starts to have noticeable lag.
The interesting thing is that GIFs rendered via AvaloniaUI/Avalonia.GIF seem to work perfectly fine and are very fluid, but these animations (on larger objects) appear to stutter or skip frames.
Example View: https://gist.github.com/Crashdoom/abcb5bf993d9af5aad2bc6602589f690
.NET Framework Target: 5.0
Avalonia Version: 0.10.7
Hardware Version: Raspberry Pi 4 B (4GB RAM)
OS: Raspbian GNU/Linux 10 (buster)
CPU Speed: 2.0GHz
GPU Speed: 600Mhz
GPU RAM: 512MB
We've also tried:

Enabling Fake and Full KMS - No appreciable difference
Testing with glxgears - Solid 60 FPS (+/- <0.3-0.5 FPS)
Upclocking the GPU Speed - GIF animations appear more fluid, but no difference to animations
Upclocking the CPU Speed - No appreciable difference


Uri Error when trying to launch Desktop Session

Hello,
Could someone show me what imports I should have for launching using Uri?
I apologize if this is a duplicate, but I am unable to find a thread with someone having the same issue.
I am trying to start up a Desktop Session like provided in the documentation, however, I am unable to do so (due to the Uri error).
Documentation Example:

My code from Eclipse:

My current imports:

Thank you,
MP

Documentation is JS.
I was coding in Java8.
Fun.


Instant upload preview not working

Bug Description
Neither the drop into media library or the drop into canvas seem to show a preview in my testing. This was working and has since broken.
Expected Behaviour
When an video file is dropped into the editor, a preview of it should be shown in an element.
When an video file is dropped into the media library a progress bar should be shown.
Steps to Reproduce
See videos
Screenshots
https://youtu.be/RfQxvsqSWok
https://youtu.be/yNSzCDhjr2k
Acceptance Criteria
QA Instructions

Not able to replicate on staging. Possibly because my test file was much smaller or your local is much slower?

@spacedmonkey Can you provide OS/browser info?

Can no replicate.


Parser for New Doc-Comment Syntax

A parser needs to be implemented for the markup syntax in Luna documentation comments.
# A brief summary of what my function does.
#
# Some more detail on what the function does. This can span multiple lines, and
# these will be automatically concatenated as long as I don't leave a
#
# blank line.
#
# Block Heading
#   This is a block, and here I can talk about whatever is important to the
#   block. In here I have a numbered list:
#     - First Number
#     - Second Number
#
#   But within the same block I can also have a bulleted list:
#     * First bullet
#     * Second Bullet
#       * Bulleted sub-list, but you can mix numbers and bullets.
#
# Sometimes I might want to embed a code block in my documentation as a usage
# example. I can do this as `frobnicate foo bar`, but for bigger blocks I can:
#
#   > import Math
#   > frobnicate "a" (Math.sqrt b)
#
# `a`: Here I'm making an item reference to the first function argument.
# `b`: Here I describe the second.
#
# `return`: Here I can talk about the return value of the function.
#
# You can find more information about doc comments in Luna by following this
# [link -> https://luna-lang.gitbooks.io/docs/].

def frobnicate :: a -> Int -> Text
def frobnicate a b:
    ...

[ ] Should parse TODO, FIXME, and BUG as special keywords.
[ ] Formalise the comment spec.
[ ] Should obey the above grammar.
[ ] Documentation comments are associated with the line above which they are located.

I'm starting to change my mind about not using Markdown. Many languages including Idris and Rust seem to be standardising on markdown with extensions for their documentation comments.

I don't see any advantages here. We can have the same doctests functionality here. Moreover, we would like to transpile to MarkDown to display the docs somewhere, so I'd rather look at docs commentso nly from perspective how they integrate with Luna and how they look like. Markdown has too many downsides for me, including tons of ways of declaring the same, lack of structural view (planned doc comments have nested structures indicated by indentaion) and some features we just dont watn to have, like tables. Moreover, we would need to extend it with our things, so again, we would need to transpile it to "standard" markdown to use its tooling.


Interaction of qID and e query parameters

Setting query parameters qID and e at once produces weird results:
http://live.ailao.eu/?e=http://qa.ailao.eu:4000/#mainPage?qID=735285409
This doesn't work, it should be
http://live.ailao.eu/?e=http://qa.ailao.eu:4000/&qID=735285409#mainPage
Does jQuery perhaps offer some functions that let us easily manage the URL instead of manually manipulating strings?

Seems fixed now, thanks!


First line is invisible in horizontal splits.

Commit hash: 2c219ba.
OS: Manjaro.
Terminal: XTerm.
Hi.
When I open a horizontal split, the first line of the bottom split is invisible.

@luis-lavaire  your commit hash is not from a official release?! Can you update to the newest version and check if this issue still persist?

Version: 1.4.2-dev.77
Commit hash: 3a8898d
I just downloaded the nightly build. This is what I got:

Perhaps it'd be a better idea to insert a new line instead of overlapping it with dashes. Because it's the dashes which cover the line.
This happens for every horizontal split that's not the first from left-to-right:


The page contains a control add-in that is not permitted. Contact your system administrator Error in BC Insider build 24

Microsoft.Dynamics.Nav.Client.BusinessChart;PublicKeyToken=31bf3856ad364e35, The page contains a control add-in that is not permitted. Contact your system administrator.
Version: BC 24 Insider 24.0.16336.0
Following error message at Role Center page under insights area.
We have used the Business chart dll in the below image. But these are not having any issues with the BC 23 version
On cloud issue.

Please let us know, how can we fix this, or if is it going to be fixed in the next minor of the insider build.

Had the same issue:
This will work:

Yes, It worked.
Thanks,


[Feature request] Have models and demo on Hugging Face

feature
It would be nice to have the checkpoints directly as Hugging Face model repositories, and have the gradio demo hosted on Hugging Face Spaces.

Yes exactly!


Why do you skip normalization on first block of Generator on wgan.py?

I been seeing this skipping happening elsewhere in other's code.
https://github.com/eriklindernoren/PyTorch-GAN/blob/master/implementations/wgan/wgan.py#L51
Is there a reason you toggle BatchNorm off here?

The first layer of the generator and the output layer of the discriminator/critic should not have BN. Cant remember the source

got it, thanks!


UTXO serialization

blocks_iterator uses a truncated representation of the utxo set, saving a lot of memory, but if we want to serialize the UTXO set with this structure is impossible.
The best approach is probably to have a UTXO Map in the end, at the cost of duplicating information and using more RAM it doesn't change too much the library. The alternative is to optionally use a non truncated representation of the utxo map, with callbacks to operate on it

Some kind of K : SomeTxIdKeyTruncationTraitOrWhatever and simply const generics in the future when the MSRV allows? In some applications faster might be way better, and the user can usually just look up later the full txids via other means if required, so not having any option to choose here is not ideal.

Just to be clear, my proposal wasn't to remove the current space-saving truncated UTXO map but to have a flag to store full UTXO only in case the library user needs UTXO serialization...

keys are not removed anymore in db mode, so that db can be used to build the utxo-set https://github.com/RCasatta/blocks_iterator/commit/86da242ba8ac34c079e6002ae6ad6f59b70b9012


bundle: Add CRDs for EncryptionKeyRotation

This PR adds the EncryptionKeyRotation CRDs to
the bundle's CSV.

Please update the PR description and commit about the command you ran to generate it

The PR modifies the template used for bundle CSV and does not include any generated files.


Add upstream socks mode

Add socks mode of upstream
Used:[username:password@]host[:port]
upstream socks mode and other proxy mode can be used simultaneously
eg:
mitmproxy --socks -US xxxx
mitmproxy -U http://xxxx -US xxxx
mitmproxy -US xxxx
they are all ok

This PR adds lots of uncovered code - would you mind adding more tests?
So far only the CLI parsing is tested, but the actual main code not.

Thanks for the PR!
This is a great contribution, but there is way too much duplication in the code. We need to think about ways how we can reduce the size of this PR.

Why the auto test all failed?

@mhils

Thanks for the great PR in #1030. We now need to discuss how we can intergrate SOCKS client functionality into mitmproxy. To be upfront honest, I don't think that we should subclass socket.socket,  tcp.TCPClient and ServerConnection for this feature. For example, code that currently uses TCPClient will not expect tcp_client.connect to raise a SocksError. Put simply, I think we touch too many of the core classes here to make this work.
I would prefer to see this functionality implemented in a self-contained fashion as a protocol layer, e.g. as we do for the --socks mode (see here). You can find some documentation of the concept here: http://docs.mitmproxy.org/en/stable/dev/protocols.html
In other words, we'd create a SocksClientLayer in mitmproxy.protocol that mainly does two things:

Hook set_server(): Store the target destination and call the parent layer with the SOCKS proxy IP.
Hook connect(): Instruct the parent layer to connect(), then do a SOCKS handshake over the connection.

If that makes sense to you, I'd love to see a PR with a  first implementation of this concept without tests and with a hardcoded proxy server. We can then iterate on this and fill the remaining gaps if the core is in place. If not, just hit me up on Slack or comment here and I'm happy to clarify things :smiley:
Thanks!


Upgrade bazelbuild rules_go to latest release: 0.13.0

There have been some new features and significant improvements since release 0.11.0 that should be picked up.

@zanes2016 thank you. Please check CI and DCO.

Thanks @mattklein123 , see the pending PR https://github.com/lyft/protoc-gen-validate/pull/86 for the dependency fix.

Once https://github.com/lyft/protoc-gen-validate/pull/87 is merged, then the CI should pass

Any idea what needs to be done about this failure?
stderr
...
2018/07/31 18:19:30 protoc-gen-go: error:[gatherer][file:envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.proto]proto package names should not be mixed in the same directory (envoy.config.filter.fault.v2, envoy.config.filter.network.mongo_proxy.v2)
--validate_out: protoc-gen-validate: Plugin failed with status code 1.
...

File
$ ls api/envoy/config/filter/network/mongo_proxy/v2/
BUILD			mongo_proxy.proto
$
$ cat api/envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.proto
syntax = "proto3";

package envoy.config.filter.network.mongo_proxy.v2;
option go_package = "v2";

import "envoy/config/filter/fault/v2/fault.proto";

import "validate/validate.proto";

// [#protodoc-title: Mongo proxy]
// MongoDB :ref:`configuration overview <config_network_filters_mongo_proxy>`.

message MongoProxy {
  // The human readable prefix to use when emitting :ref:`statistics
  // <config_network_filters_mongo_proxy_stats>`.
  string stat_prefix = 1 [(validate.rules).string.min_bytes = 1];

  // The optional path to use for writing Mongo access logs. If not access log
  // path is specified no access logs will be written. Note that access log is
  // also gated :ref:`runtime <config_network_filters_mongo_proxy_runtime>`.
  string access_log = 2;

  // Inject a fixed delay before proxying a Mongo operation. Delays are
  // applied to the following MongoDB operations: Query, Insert, GetMore,
  // and KillCursors. Once an active delay is in progress, all incoming
  // data up until the timer event fires will be a part of the delay.
  envoy.config.filter.fault.v2.FaultDelay delay = 3;
}

https://github.com/lyft/protoc-gen-validate/pull/87 has merged and I thought I'd try this PR.  With my local compilation I get the following errors:
ERROR: ~/.cache/bazel/_bazel_username/3002a12f12a06255067bdca8d32b0440/external/envoy_api/envoy/service/discovery/v2/BUILD:5:1: ProtoCompile external/envoy_api/envoy/service/discovery/v2/ads.pb.validate.h failed (Exit 1)
2018/07/31 14:24:40 protoc-gen-go: error:[gatherer][file:envoy/service/discovery/v2/ads.proto]proto package names should not be mixed in the same directory (envoy.api.v2, envoy.service.discovery.v2)
--validate_out: protoc-gen-validate: Plugin failed with status code 1.
These are different errors than those that @zanes2016 posted above I suspect as I'm compiling out a lot of the extensions including Mongo.

@moderation It looks like you're seeing the same type of error: proto package names should not be mixed in the same directory (see my updated comment).
I suspect that the Bazel rule dependencies from load("//bazel:api_build_system.bzl", "api_proto_library_internal") do not play nice with the protoc-gen-validate from https://github.com/lyft/protoc-gen-validate.git.
@mattklein123 Do you have any ideas?

@zanes2016 I have no idea. @jmillikin-stripe @htuch might know.

Where is that error "proto package names should not be mixed in the same directory" coming from? There is no such rule in protobuf, and it's very common for a single proto/ directory to contain protos from many packages. Is this something PGV is enforcing? Can it be told to not enforce that strange invariant?

The "proto package names should not be mixed in the same directory" error is coming from protoc-gen-star, which PVG builds on: https://github.com/lyft/protoc-gen-star/blob/f3b83fca61817e55058744eb1a3c8e2e95a0dada/gatherer.go#L114

If I test this on ppc64le, I get ERROR: error loading package '': Extension file not found. Unable to load file '@com_lyft_protoc_gen_validate//bazel:go_proto_library.bzl': file doesn't exist or isn't a file
I see that https://github.com/lyft/protoc-gen-validate/pull/87 is merged. Does something need to be bumped here?

@clnperez If you include this commit - https://github.com/envoyproxy/envoy/pull/3949/commits/2431edad1e5cc7e1e19807cb9b3d84e5a66f3e18 that should unblock you. However you will likely hit the errors that are commented on above.

@moderation -- Indeed! I thought I had all those commits, but that link got me to the same place you're at. Thanks!

@jmillikin-stripe How do you recommend we proceed?
Should a PR be created to add an optional flag/config to PGV that skips the above check? Do you know where PGV is actually imported/triggered?

Should a PR be created to add an optional flag/config to PGV that skips the above check? Do you know where PGV is actually imported/triggered?

I don't think PGV should be doing that check at all. Why does the validation code need to care about file layout?
Not very familiar with Envoy's custom protobuf setup, but as I understand it the validation stuff is plumbed into envoy_build_system.bzl. Probably someone from Lyft (@mattklein123 ?) would have more context on their protobuf validator plugin.

I don't know anything about this. I would open an issue in PGV and discuss. @rodaine can help you.

So for context, protoc-gen-validate (PGV) is written on the protoc-gen-star (PG*) framework that currently leans heavily on protoc-gen-go (PGG). This check stems from existing logic in PGG that does not allow inconsistent package names between the files being run as PGG is much stricter about directory structure (as is Go, see this issue on the subject).
All that said, there's work happening to remove the PGG dependency altogether from the PG* core, so this issue will be resolved at that time. You  should expect PGV updated within the week.

https://github.com/lyft/protoc-gen-validate/pull/92 has merged on PGV. Updating the sha and using the changes to WORKSPACE outlined at https://github.com/envoyproxy/envoy/pull/3949/files doesn't work.
        File "~/.cache/bazel/_bazel_moderation/3002a12f12a06255067bdca8d32b0440/external/envoy_api/bazel/api_build_system.bzl", line 85, in api_proto_library_internal
                api_proto_library(visibility = visibility, **kwargs)
        File "~/.cache/bazel/_bazel_moderation/3002a12f12a06255067bdca8d32b0440/external/envoy_api/bazel/api_build_system.bzl", line 123, in api_proto_library
                pgv_cc_proto_library(name = _Suffix(name, _CC_SUFFIX), <4 more arguments>)
        File "~/.cache/bazel/_bazel_moderation/3002a12f12a06255067bdca8d32b0440/external/com_lyft_protoc_gen_validate/bazel/pgv_proto_library.bzl", line 40, in pgv_cc_proto_library
                native.cc_library(name = name, hdrs = [((":" + name)...")], <4 more arguments>)
duplicate keyword 'srcs' in call to native.cc_library

I suspect further changes are required in WORKSPACE but I haven't worked that out yet. cc @rodaine

@moderation The PGV proto generation rule signatures have changed, which is causing the duplicate 'srcs' keyword error. You'll need to update the rule here to point the pgv_cc_proto_library call at proto_library targets like the one created a few lines above: https://github.com/envoyproxy/envoy/blob/0cf947f44247e83dad4274a39067e738a17b2994/api/bazel/api_build_system.bzl#L125
Try changing srcs = srcs to deps = [name] and 'deps = ...tocc_deps=...`.

Can this be revisited?

@clnperez now that my dependency PR is in I'd like to look at this this week. I believe the critical blocker in PGV has been resolved so this in theory this should be possible.

@moderation Did you get a chance to take a look at this?

@zanes2016 I have not had a chance to look at this. Traveling for work all this week so will be tough. May be possible to do some testing later today.

I tried to update to the latest commit sha for PGV and tried my previously working diff at https://github.com/envoyproxy/envoy/pull/3786#issuecomment-415127113 however there have been enough changes that these modifications now longer work. I'll ping @akonradi in Slack.
https://github.com/envoyproxy/envoy/pull/3786 is not merged either but not sure if this is required /cc @sesmith177

#3786 shouldn't be required. I suspect https://github.com/lyft/protoc-gen-validate/issues/89 is likely to still be an issue since it doesn't look like PGV has been updated with the latest protoc-gen-star yet

Chiming in here: the diff below fixes the invocation of pgv_cc_proto_library which recently changed to take proto_library targets instead of .proto files. This results in a new issue, though, which is that the generated Go code for protos (not validation code, pure protobuf code) is invalid.
diff --git a/api/bazel/api_build_system.bzl b/api/bazel/api_build_system.bzl
index 497d82c5c..45776ea89 100644
--- a/api/bazel/api_build_system.bzl
+++ b/api/bazel/api_build_system.bzl
@@ -116,15 +116,10 @@ def api_proto_library(name, visibility = ["//visibility:private"], srcs = [], de
         visibility = visibility,
     )

-    # Under the hood, this is just an extension of the Protobuf library's
-    # bespoke cc_proto_library. It doesn't consume proto_library as a proto
-    # provider. Hopefully one day we can move to a model where this target and
-    # the proto_library above are aligned.
     pgv_cc_proto_library(
         name = _Suffix(name, _CC_SUFFIX),
-        srcs = srcs,
-        deps = [_LibrarySuffix(d, _CC_SUFFIX) for d in deps],
-        external_deps = [
+        deps = [name],
+        cc_deps = [_LibrarySuffix(d, _CC_SUFFIX) for d in deps] + [
             "@com_google_protobuf//:cc_wkt_protos",
             "@googleapis//:http_api_protos",
             "@googleapis//:rpc_status_protos",
diff --git a/api/bazel/repositories.bzl b/api/bazel/repositories.bzl
index 9ce66300a..adeedadee 100644
--- a/api/bazel/repositories.bzl
+++ b/api/bazel/repositories.bzl
@@ -3,7 +3,7 @@ GOGOPROTO_SHA = "1adfc126b41513cc696b209667c8656ea7aac67c"  # v1.0.0
 PROMETHEUS_SHA = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"  # Nov 17, 2017
 OPENCENSUS_SHA = "ab82e5fdec8267dc2a726544b10af97675970847"  # May 23, 2018

-PGV_GIT_SHA = "e60e7f91da46a87d9067679064571c6954343c3c"  # July 31, 2018
+PGV_GIT_SHA = "64fcb82c878efbfe3240e4f164490eefaf6b3c4b"  # Sept 11, 2018

 load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

@@ -33,7 +33,10 @@ filegroup(
 proto_library(
     name = "api_httpbody_protos_proto",
     srcs = [":api_httpbody_protos_src"],
-    deps = ["@com_google_protobuf//:descriptor_proto"],
+    deps = [
+       "@com_google_protobuf//:any_proto",
+       "@com_google_protobuf//:descriptor_proto",
+    ],
     visibility = ["//visibility:public"],
 )

#3786 shouldn't be required. I suspect lyft/protoc-gen-validate#89 is likely to still be an issue since it doesn't look like PGV has been updated with the latest protoc-gen-star yet

Working on this currently; I have it building with just the Go toolchain and trying to get the BUILD files appropriately updated. Right now, I'm blocked with gazelle generating erroneous targets, and I've been unsuccessful with a fix for them. Once I get a free second this week, I'll push the code up to hopefully get help triaging what I'm doing wrong.

@rodaine Happy to help with BUILD files. I haven't used gazelle but it sounds like it was designed for code that follows the Go package directory layout, which PVG doesn't.

Is there anyone else who could take a crack at this? It's currently the only thing left before we can have simple builds for envoy on other architectures. I hate to ask other people for things in an OSS community, but, this one's just out of my wheel house. :)

@clnperez this is already complete. In master this commit is circa 0.15 - https://github.com/envoyproxy/envoy/blob/master/bazel/repository_locations.bzl#L169-L174. I'm actually running rules_go 0.16 without issue. This fixed compilation for arm64. Not sure about
     io_bazel_rules_go = dict(
-        sha256 = "d1ad521fbd0997df53161e29df0964468157fc9c6ee16265db37cc6daaf334ef",
-        strip_prefix = "rules_go-3d966375ff7971d43b863f785f495c7dcd6923da",
-        # 2018-10-02
-        urls = ["https://github.com/bazelbuild/rules_go/archive/3d966375ff7971d43b863f785f495c7dcd6923da.tar.gz"],
+        sha256 = "d0e51353639cd6ea43e614d80c29d3f7f318e88dbbc28c4d8c07b129b46e20c0",
+        strip_prefix = "rules_go-0.16.0",
+        urls = ["https://github.com/bazelbuild/rules_go/archive/0.16.0.tar.gz"],
     ),

I've sent a PR to take the short hop from the current 0.15-ish version to 0.16: https://github.com/envoyproxy/envoy/pull/4836

oh hey! i had no idea. i was watching this pr. thanks @moderation and @jmillikin-stripe


CPP/error/asciiValue.cpp

rectify the error in the code.
NOTE:- Screenshot of the code and output is required.

Hello assign this to me


FirebaseRemoteConfig.activateFetched(); is deprecated

the 'activateFetched()' method is deprecated; what should I use now?

try FIRRemoteConfig.remoteConfig().activateFetched()

See https://firebase.google.com/docs/reference/android/com/google/firebase/remoteconfig/FirebaseRemoteConfig.html#activateFetched():

public boolean activateFetched ()
This method is deprecated.
Use activate() instead.
Activates the most recently fetched configs, so that the fetched key value pairs take effect.

It worked for me

fetched first time, if call activate(), the value is null . What's wrong?
Here is my code:
 firebaseRemoteConfig.fetch(0L)
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {

                        if (task.isSuccessful()) {
                         //   firebaseRemoteConfig.activateFetched();
                          firebaseRemoteConfig.activate();
                            //parse config
                            String json = firebaseRemoteConfig.getString(Constants.REMOTE_CONFING_KEY);
                   }
           }
}

@LazyBonesLZ, I tried 0L as an interval, but ended with 3600L. If I don't mind, in case of 0L onComplete won't be called sometmes,


feat(#6): Add more informative description for DeMu project

Update README: Add more informative description for DeMu project.
Closes: #6

@yegor256 Can you have a look, please?


Made shell work with things that use more than one line for output.

Some commands you might execute generate more than one line's worth of a response. such as "vows --spec"

What does your Guardfile look like and what are you trying to accomplish with it?

guard :shell do
watch(/(..js)/) {|m| jshint #{m[0]} }
watch(/./) { vows --spec }
end

Just wanting to auto-lint my javascript and run the tests associated with them.

I see now.

Am I doing it wrong?

No it's fine. I'd personally never used multiple watch statements, but obviously it can be useful. I've just pushed a new version to RubyGems with the changes.

Cool :)


Added readonly magic

By adding the Readonly mapped type and readonly parameter property everywhere, we have compile time safety checks. This is way better than using runtime safety measures such as ngrx-store-freeze or using deepFreeze in our tests.
It's part of an immutability strategy to detect errors soon.

should be tested really extensively

Try it out here: http://winecellar-updated.surge.sh/
Let me know if it's okay.


New version: Alex313031.Mercury version 121.0.2

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

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping @Exorcism0666, I'll get a notification.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

Automatic Validation ended with:

2024-01-18T05:30:58.0991258Z ##[error] One or more errors occurred. (Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended. Manifest Error: Duplicate installer entry found. Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended. ) Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended. Manifest Error: Duplicate installer entry found. Manifest Warning: Silent and SilentWithProgress switches are not specified for InstallerType exe. Please make sure the installer can run unattended.

(Automated response - build 602.)

Hi @Exorcism0666,
Is there an installer switch? From the error, it appears that one is required in the manifest.

Hi @Exorcism0666,
This manifest removes Apps and Features entries that are present in previous PR versions. Should these entries also be added to this version?
(Automated response - build 586.)


[REQUEST]content lenght in keycheck

Hi Ruri
could you please add conent-lenght to keycheck its really usefull sometimes we need to use it on complex configs

It's just a normal header so <HEADERS(Content-Length)> will give you what you need.

Hello, how to get (in the "Parse" section) :
--> the content length of POST DATA send by openbullet in request
please thanks you


Use current git repository as the default for github-pages plugin

Right now, it's necessary to specify the repoUri explicitly. In most cases, however, the git repository for GitHub Pages is the same as the repository for the project. Therefore, it would be very convenient if the repoUri was set to the git property remote.origin.url by default.
Since there's currently no default, this change shouldn't break any existing users.
The behavior I'm describing is how the gh-pages npm package, commonly used in Gulp builds. (See https://www.npmjs.com/package/gh-pages#optionsrepo).
In the meantime, I found a workaround using JGit directly. But it's not very elegant.
repoUri = new org.eclipse.jgit.lib.RepositoryBuilder()
      .readEnvironment().findGitDir(file('.')).build()
      .getConfig().getString('remote', 'origin', 'url')

:+1:


gsutil mb error

gsutil mb $RL_TEACHER_GCS_BUCKET
No command was given.
Choose one of -b, -d, -e, or -r to do something.
Try `/usr/bin/gsutil --help' for more information.

https://cloud.google.com/sdk/docs/#deb  follow install.

👍


Add button/link "Show on map"

Add a link to the table that zoom into the marker of the event and open the info window.

Done.


linuxPackages.nvidia_x11: 440.59 -> 440.64

Motivation for this change
Unbreaks nvidia with kernel 5.6.x
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
[ ] 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. @baracoder

There is a similar PR https://github.com/NixOS/nixpkgs/pull/81454

Unbreaks nvidia with kernel 5.6.x

As far as I can tell 440.64 only unbreaks with kernel 5.6-rc1, and not the actual release. Patches still seem necessary?

@arcnmx @eadwu Should be fixed :)

@GrahamcOfBorg eval


[Build] Some eslint fixes

The first of a few PRs to come, fixing eslint issues

We can close this one right?

Closed :-)


Get links for contribution channels

@caseyyee can you give me a list of links for the contribution channels (Twitter, Slack, IRC...)?

see the last two pages of https://docs.google.com/document/d/1Y0zSqiObKei4F1J3BWFIyAG7r5gHazQe3bWbrIuL5W0/edit


Only support the Kafka storage in Collector

Which problem is this PR solving?

Solves https://github.com/jaegertracing/jaeger/issues/1190

Short description of the changes

Add an unsupported list to the storage factory
Make Kafka as unsupported in Ingester, Query, all-in-one (because Ingester is not started anyway)

The design of this fix doesn't sit well with me. Right now the details of the storage are fully abstracted from the binaries, but here we're introducing some very specific & peculiar dependency that they have to declare Kafka as unsuitable storage.
The reason Kafka doesn't work for all-in-one is because it does not implement the SpanReader. The reason it does not work for ingester is because the flags are clashing (aside from the flags issue, however, there's no strong reason why ingester wouldn't do Kafka->Kafka, e.g. as a form of replicating data to another topic). If we somehow solved the clash of flags issue, then I assume all-in-one would've exited with a better error message like "reader not implemented", and we wouldn't need to do any changes. Alternatively, if we did want to handle it more explicitly, then the storage factory could expose metadata methods like CanRead(), CanWrite(), and all-in-one would check both and fail for Kafka storage whose factory would return false from CanRead().

@yurishkuro I was waiting for a confirmation on the latest suggestion (renaming the flags to avoid the exception and to allow the use of multiples brokers/topics).
I might have missed the 👍 on it, but yes I plan to fix this PR.

cool.
I think GitHub doesn't notify of reactions via +1 button, I'll make sure to comment explicitly in the future.

@yurishkuro the change is mostly done in another branch but I see that we do not pass the logger to InitFromViper (https://github.com/jaegertracing/jaeger/blob/master/plugin/storage/kafka/options.go#L75-L81).
I see 2 options to log the current flag as deprecated:

I change that method in the Configurable interface to provide a logger and use logger.warn

Similar to this: https://github.com/jaegertracing/jaeger/blob/3f77534ea6c9cac637203d378588164c0e264790/cmd/agent/app/reporter/tchannel/flags.go#L70-L74

I use fmt.Printf

Similar to this: https://github.com/jaegertracing/jaeger/blob/3f77534ea6c9cac637203d378588164c0e264790/plugin/storage/factory_config.go#L88-L93

I would go with option 2, much fewer changes this way

https://github.com/jaegertracing/jaeger/pull/1360 is merged, closing this one


fix(webgl): update check for WEBGL_draw_buffers

Added check for the number of FBO render targets before actually getting the extension.
For most mobile browsers, WEBGL_draw_buffers is not supported, but FBOs with single render target are still usable.

Thanks @stwind - that's a good point and also something I've already added to the upcoming multi-pass shader abstraction. Currently I'm still prototyping this as part of the (still unreleased) webgl-shadertoy package (see here), but will migrate this to the main webgl package and most likely use as more general replacement for the current GPGPU wrapper there...


[jthread] Initial port

https://github.com/josuttis/jthread

Yes, this is a header only library.
I don't understand what you mean about the unofficial website. jthread is an upcoming feature from the new C++20 standard not currently available in Visual Studio which is why I made this port. It was proposed by Nicolai Josuttis and that's why I'm using his repo.
From : https://medium.com/@vgasparyan1995/a-new-thread-in-c-20-jthread-ebd121ae8906

Even though it comes with C++20, std::jthread doesn’t use any of the new language features, so it’s practically available even now. Here is an implementation  of it by Nicolai Josuttis, the person who proposed it. Two header files from this repository are all you need to fully access this new feature: “jthread.hpp” and “stop_token.hpp” in “sources/”.

@RT222 Thanks for your detailed information.
Sorry, I mistook this port as JThread https://github.com/j0r1/JThread. I thought they were the same library before.
You can ignore my last comment about official website. The URL you provided seems fine.

Given that there are two libraries named jthread, this name is probably too generic; could you rename this josuttis-jthread?

Isn't jthread for this one, and j0r1-jthread for the other one that you mentioned better? As the former is the implementation of the upcoming C++ 20 feature of the same name, I think it is appropriate to simply name it jthread.

Since this library is no more "official" than any other jthread library, it's totally reasonable for anyone to release a jthread library and call it jthread. Since that is the case, it makes more sense to me to namespace it with the author's name.

I made the change you asked, but I still disagree with the "no more official" part, given that we are talking about the reference implementation of a standard C++ feature on a C++ package manager.

@RT222 I get your opinion; thanks for listening anyways :heart:


dalfox

line number 1030 in reconftw.sh
it is [ -s "gf/xss.txt" ] && cat gf/xss.txt | qsreplace FUZZ | Gxss -c 100 -p Xss | anew -q .tmp/xss_reflected.txt
it should be like this
[ -s "gf/xss.txt" ] && cat gf/xss.txt | qsreplace FUZZ | Gxss -c 100 -p Xss | qsreplace FUZZ | anew -q .tmp/xss_reflected.txt

Hi!
Thanks for the suggestion, but that change doesn't matter, with Gxss we are only checking reflections, the urls which contains reflected params will be passed to dalfox, so it doesn't matter the param value, anyway I will change the value "Xss" to other less "offensive" like test_reflection or something like that

My point is not about param value..
My point is the set of urls given to dalfox will be more
example.com?x=fuzz&y=2
example.com?x=1&y=fuzz
Gxss gives this two urls...but basically these 2 urls are same...so we can we qsreplace and make it 1 url like example.com?x=fuzz&y=fuzz

Oh! Sorry I didn't get you! Good point then I will fix and push asap!

ok sure thanks

ca35ee7a734456c4d83d4eb7454ec7f9ff408258


Query the image to find what volume is exposed

We can query the entire manifest of the container image to find out if user has provided any volume mount info while building the image, if so we can create a PVC by default in there, with some default size of some MiBs, like we did in kompose.
For querying the image information we can use libraries that skopeo uses.

related to #326  and the same comment here: This applies to kedge init


Kata Containers 1.2.2

rootfs-fedora: bump Fedora release to 28
rootfs: Fail on non existing agent version.

89bca97 rootfs: dockerfile: Fix fedora 28 build.
5a1d946 rootfs: Fail on non existing agent version.
1ac9c07 rootfs-fedora: bump Fedora release to 28

lgtm

A quick one to review y'all... ! ;)


Make Organization Settings less overwhelming for a "Normal User"

Currently, for a non-admin "normal" user, we show the entire organization settings panel as is which means the few options that are legitimately available for the user to change such as "User Groups" and "Custom Emoji" are difficult to distinguish from the rest.
Ideally, we would be able to somehow either filter the options displayed in Organization Settings to a normal user or highlight them in some way on the tab menu.
Refer to related discussion

A simple change might be to add some kind of icon (lock?) to the right of the labels on the tabs where the user can't edit anything.

Yeah, that seems worth trying.

I’m not sure how necessary read access is to organisation settings for a normal user. I think whichever solution we go with, it’s important that each tab that is not editable gets a class added to it, so maintainers that want to hide those tabs can do that pretty easily.
In my head my ideal scenario would be one overall setting, kind of like an opaque mode for the app where all these extra bits are hidden from normal users to make the chat experience immeasurably simpler.

I think adding a lock icon on tabs may also mislead users. For example in User Groups tab there are fields which we can modify like Add a new user group and some fields that we can't modify. When the user will look at the lock of the tab he might end up believing that the he can't modify anything and may miss some settings.

I would like to work on this issue if no one is working on it already.
@zulipbot claim


Judge Tests

This is a big one.

I refactored the judge code out of the flask code into a separate file to make it more testable.
I wrote unit tests for getting different execution results on a Java submission

Still TODO(for another pull request):

support for both python2 and python3 submissions (based on first-line comment)
test the messages the judge submissions emit
test to make sure that new languages have tests verifying that they work before we start using them.

Cool, so I have a couple overall comments on the commit. I know it hasn't been explicitly stated anywhere, but since this pull is fairly large, we need to start enforcing some rules. I want to follow Google's Style Guide for Python and Google's Style Guide for JavaScript.
Because of this, there are a few changes that I would like you to make.

Doc strings should use double quotes instead of single quotes.

The string literals in the code seemingly randomly alternate between single quotes and double quotes. Personally, I prefer single quotes, as they are kind of a middle ground between JavaScript and Python's style guides, as single quotes are preferred in JavaScript.

Also, I don't know what happened with your commits (some of them seem to be duplicated?), but you might consider squashing these commits into a few smaller ones that would make more sense when we look back at the commit history. If you can't that's fine, but in the future, making such small commits is really unnecessary.

Strings are changed.  The differences in my files was places in the refactoring where I copied lines out from other files and was too tired and lazy busy to go back and notice while I was getting this cleaned up, and the linter on my personal computer didn't call me out on it this weekend.
On the subject of style guides, an excellent tool is the pep8 linter for Python.  You can install it with pip.  It's not as strict as Google's style guide (however, it doesn't enforce 2-space tabs or apparently file-level uniformity in quotes)
I'm not entirely sure how some of the commits got duplicated either (it happened while migrating from my work computer to my personal computer and changing the email address on my personal computer's git globals).  I didn't know git supported squashing commits together; I'll look into that.


请问生成时出现Something went wrong All connection attempts failed该怎么解决

Hi. How did you get this error? For example, input, command, setting, etc.


Generic type for an incomplete builder?

Appreciate this might be quite difficult to do:
If you want to pass around a builder you have to specify the state of the builder:
#[bon::builder]
pub struct T {
    a: usize,
    b: usize
}

fn a() -> TBuilder<(bon::private::Set<usize>, bon::private::Set<usize>)> {
    T::builder()
        .a(1)
        .b(2)
}

let var = a1();
var.build();

let var = a2().b(2);
var.build();

For complete structs it would make sense to type alias completeness to
type TBuilderValid = (bon::private::Set<usize>, bon::private::Set<usize>);

However what would be really useful would be some generic way of passing incomplete builders around.
A note for the community from the maintainers
Please vote on this issue by adding a 👍 reaction to help the maintainers with prioritizing it. You may add a comment describing your real use case related to this issue for us to better understand the problem domain.

However what would be really useful would be some generic way of passing incomplete builders around.

Indeed. right now the builder-type signature is unstable. You can see that it references types from a #[doc(hidden}] internal module bon::private.
Unfortunately, I don't see any good syntax to expose the type states of the builder. As you can see today the builder's __State generic parameter expects a tuple that mentions the states of every member in order. This means the signature is positional. There is no clear association of tuple items with the member names that they correspond to syntactically.
Also, when specifying the type state for the builder one needs to always specify states for all members. This is very-very inconvenient.
Another way to do this could be passing a dyn trait with the syntax TBuilder>dyn BuilderState<Field1 = Set, Field2 = Unset, Field3 = Unset, Field4 = Optional>>, but it requires you to specify values for all associated trait types.
I could think of something if default associated types in traits are stable https://github.com/rust-lang/rust/issues/29661.

For complete structs it would make sense to type alias completeness to

I'm not sure if this is could be useful. One use case that I can think of is to prepare the parameters for a function without actually calling it and then storing the these parameters in the "complete" builder somewhere to lazily invoke the .call() method somewhere later. Is this your thinking as well?
If so, as a compromise solution bon's codegen may be extended to give a type alias for such a "complete" builder. Note that the builder captures all the lifetimes and generic type/const parameters from the function and impl block (if is is under an impl block). These generic params need to be part of the "complete" builder type alias. This is already the case today for the "initial" builder state today though. That type name is kinda public, although not advertised in the docs.

Some more thoughts on this issue:
There isn't just one terminal state for the builder where you can call the finishing functions (call() or build()).
For example:
#[builder]
struct Foo {
    a: Option<String>,
    b: Option<String>,
}

// `FooBuilder<(Optional<Option<String>>, Optional<String>)>`
Foo::builder().build();

// `FooBuilder<(Set<Option<String>>, Optional<String>)>`
Foo::builder().a("a").build();

// `FooBuilder<(Optional<String>, Set<Option<String>>)>`
Foo::builder().b("b").build();

// `FooBuilder<(Set<Option<String>>, Set<Option<String>>)>`
Foo::builder().a("a").b("b").build();

In the generated code the terminal states a covered by the #[doc(hidden)] trait IntoSet which expresses the possibility of converting Optional<Option<T> into Set<Option<T>.
Here is how the generated impl block for the build() method looks like in this case:

    impl<__State: __FooBuilderState> FooBuilder<__State>
    where
        __State::A: bon::private::IntoSet<Option<String>>,
        __State::B: bon::private::IntoSet<Option<String>>,
    {
        #[doc = r" Finishes building and performs the requested action."]
        fn build(self) -> Foo {
            Foo {
                a: ::bon::private::IntoSet::into_set(self.__private_impl.a).into_inner(),
                b: ::bon::private::IntoSet::into_set(self.__private_impl.b).into_inner(),
            }
        }
    }

This means there is no single "complete" builder type state. So it's not possible to express it with just a single type alias. It'll probably need to be a trait:
trait TBuilderComplete {
     fn build(self) -> T;
}

And that impl block higher can be turned into this trait impl instead. Then we can make the trait name exposed from the generated code.

I've implemented a way to denote the incomplete builder type (with some members set).
See #145 for details. It should close this issue


@continuum-boot 'on' and @continuum-restore 'on' work separately but not together

I have the following tmux config
https://gist.github.com/arithran/a4ba6f4f70ac71d3e37db1fbb12954a5#file-tmux-conf
and the following systemd service
https://gist.github.com/arithran/a4ba6f4f70ac71d3e37db1fbb12954a5#file-tmux-service
When i comment out set -g @continuum-boot 'on' the  @continuum-restore 'on'  works and vice versa. I can't seem to get both working at the same time. I am running Fedora 24 stable.
Currently, I have opted to keep set -g @continuum-boot 'on' and restore my sessions when I am inside tmux using the keyboard binding. But it would be nice if everything just happens on boot.
Here is the failed output of systemd when both settings are turned on

● tmux.service - tmux default session (detached)
   Loaded: loaded (/home/ari/.config/systemd/user/tmux.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2017-06-21 17:23:28 PDT; 15s ago
     Docs: man:tmux(1)
  Process: 2431 ExecStop=/home/ari/.tmux/plugins/tmux-resurrect/scripts/save.sh (code=exited, status=1/FAILURE)
  Process: 1883 ExecStart=/usr/bin/tmux new -d -s Master (code=exited, status=0/SUCCESS)

Jun 21 17:23:28 glados save.sh[2431]: no server running on /tmp/tmux-1000/default
Jun 21 17:23:28 glados save.sh[2431]: rm: missing operand
Jun 21 17:23:28 glados save.sh[2431]: Try 'rm --help' for more information.
Jun 21 17:23:28 glados save.sh[2431]: no server running on /tmp/tmux-1000/default
Jun 21 17:23:28 glados save.sh[2431]: no server running on /tmp/tmux-1000/default
Jun 21 17:23:28 glados save.sh[2431]: no server running on /tmp/tmux-1000/default
Jun 21 17:23:28 glados save.sh[2431]: no server running on /tmp/tmux-1000/default
Jun 21 17:23:28 glados systemd[1873]: tmux.service: Control process exited, code=exited status=1
Jun 21 17:23:28 glados systemd[1873]: tmux.service: Unit entered failed state.
Jun 21 17:23:28 glados systemd[1873]: tmux.service: Failed with result 'exit-code'.

Any help would be appreciated.
Thanks

I've got more info on this issue and I've come to the conclusion that it doesn't have anything to do with the systemd process. Let me simplify the issue further
I save my session using bind C-s and it creates a session file fine.
I've got the following config that will restore my session on load.
# Tmux Resurrect Settings
set -g @resurrect-strategy-vim 'session' # Fom vim
set -g @resurrect-strategy-nvim 'session' # For neovim
set -g @resurrect-processes 'grunt "grunt watch" "compass watch"' # Additionally restore grunt and compass

# Tmux Continuum Settings
set -g @continuum-restore 'on' # Automatically Restore and saved Tmux Sessions

When I type the following command on the terminal, it wouldn't restore my session.
tmux new -d

This sounds like it might be related to has-session behavior in tmux 2.5 since this plugin depends on tmux-resurrect which does call has-session in restore.sh.

+1


scrollback module bug - racyness

You can end up in a race between viewing and adding an item to scrollback.
Ultimately, this can't be resolved correctly-for-all-cases IMO without adding a sequence number to all message/command events, and using that sequence number as a way to request scrollback prior to it.
An example of triggering this bug:
<ek> !quo "/this doesnt exist anywhere above/"
<bot> Cannot find line matching regex /this doesnt exist anywhere above/
<bot> https://twitter.com/xxxxxxx/xxxxx

The calls that are racing are scrollback.getFormattedScrollbackLinesFromRanges and scrollback.chansay. Racing isn't totally the correct word because it's actually deterministic (thanks event loops!) but it gets the point across well.
The first call to get scrollback works correctly, but issues a new message to the channel. This new message is added to scrollback prior to the second get scrollback call.
There might be other ways to fix this than sequence numbers (e.g. improving the way a command can hit multiple modules and gather output prior to acting in a way which hits scrollback), but I think a sequence number is the cleanest and best solution.

@LinuxMercedes we fixed this, right?

12:02:33      `lm` | !quo /dongles/
12:02:33          ^ | Cannot find line matching regex /dongles/; only have 999 lines of context
12:02:33          ^ | https://twitter.com/QuothTheDong/status/774654305898901504

Nope :disappointed:


Cannot remove upload image in Gallery

Current remove handler in imageUpload only removes the image from firebase storage, it doesn't remove the image from our database.

Could this be related to #167? Have you been deleting lots of images? 😂

Could this be related to #167? Have you been deleting lots of images? 😂

lol, I guess they are not related, I didn't delete any image, it's just something I suddenly realized that I missed when looking at the code I wrote before.
#167 is really weird... I am very confused even after checking the code...

Could this be related to #167? Have you been deleting lots of images? 😂

lol, I guess they are not related, I didn't delete any image, this bug is just something I suddenly realized that I missed when looking at the code I wrote before.
#167 is really weird... I am very confused even after checking the code...

Okay! Me too - I double-checked the Firebase Storage security rules and they're legit


[W4.4b][W09-A1]Yap Ni

Hello, you've made a pull request to the wrong repository, please close this pull request and submit a new one to nus-cs2103-AY1718S2/addressbook-level2 repository.


Firefox doesn't add the 'lazyloading' class

Hi, I am using the Lazysizes in my last projects and is awesome!
But I am use a blur effect for a soft transition in the images.
.lazyload
.lazyloading
  filter: blur(50px)
  transition filter .4s, -webkit-filter .4s

.lazyloaded
  filter blur(0)

The problem is because the Firefox doesn't add the .lazyloading during the transition and the blur effect doesn't work.
Can you help me?

@LFeh
Thx for the issue, I actually always add the lazyloading class and remove it as soon as the img is fires the load event. At this time the image gets the lazyloaded class.
Maybe your issue is fixed if you do this:
.lazyload
.lazyloading
.lazyloaded
  filter: blur(50px)
  transition filter .4s, -webkit-filter .4s

.lazyloaded
  filter blur(0)

Or better:
.my-image
  filter: blur(50px)
  transition filter .4s, -webkit-filter .4s

.my-image.lazyloaded
  filter blur(0)

Hey @aFarkas, thanks for your reply.
But, the problem is curious now.
I used the second technique (add the double class). When I added the class .lazyloaded in devtools for test it works, but doesn't work when I added in the project.
You can test here: http://www.filtro.is/
Do you know what the problem?

You were right. In FF the lazyloaded class was added to early (which is a FF bug in my eyes, need to clarify).
I have fixed this. Unfortunately the effect isn't that good in FF. Sometimes it seems, that FF isn't rendering the loaded image right and then does the blur from black. (Which is another FF bug, but something I can't fix).
You can try the newest version in master.
If you want to go down this rabbit hole you can try to fix this your own, by doing something like this:
document.addEventListener('load', function(e){
    if(e.target.contains('lazyloading') && e.target.contains('lazyblur'){
        setTimeout(function(){
            e.target.classList.add('lazyunblur');
        }, isFF ? 150 : 0);
    }
}, true);

Perfect @aFarkas, it work very good!
document.addEventListener('load', function(e) {
    if(e.target.contains('lazyloading') && e.target.contains('lazyblur')) {
        setTimeout(function(){
            e.target.classList.add('lazyunblur');
        }, isFF ? 150 : 0);
    }
}, true);

I added an ) in if (jsLint warning me) and it fixed 100% right now!

This still seems to be an issue in Firefox. What I did was to use a @supports hack:
@supports (-moz-appearance: meterbar) {
    .lazyloading.lazyblur {
        transition-delay: 50ms;
    }
}


Different settings for different URL's

Would it be possible to have different configs for different auth methods?
for example, for a web login I would like to enable IP blocking
for mobile I don't and so
What do you think? If you are OK with it I would be happy to implement it.

Currently, it isn't possible.
How would you tell the difference between web and mobile logins? Do you mean mobile browser or mobile via a native mobile app?

Currently, it isn't possible.
How would you tell the difference between web and mobile logins? Do you mean mobile browser or mobile via a native mobile app?

Mainly different endpoints

I see. So, depending on the endpoint, they would have a different configuration. How do you propose that we make the settings configurable based on the endpoint?

@kencochrane
I think it might be something like this
DEFNDER_CONFIG = {
	"default": {
	    "DEFENDER_DISABLE_IP": env.bool("DJANGO_DEFEBDER_DISABLE_IP", True),
	},
    "special_endpoint": {
	    "DEFENDER_DISABLE_IP": env.bool("DJANGO_SPECIAL_ENDPOINT_DEFEBDER_DISABLE_IP", True),
	},
}

default is the old to be backward compatible/global config
and we can add others as states, and we can add them as prefixes in cache keys

@kencochrane
I think it might be something like this
DEFNDER_CONFIG = {
	"default": {
	    "DEFENDER_DISABLE_IP": env.bool("DJANGO_DEFEBDER_DISABLE_IP", True),
	},
    "special_endpoint": {
	    "DEFENDER_DISABLE_IP": env.bool("DJANGO_SPECIAL_ENDPOINT_DEFEBDER_DISABLE_IP", True),
	},
}

default is the old to be backward compatible/global config
and we can add others as stated, and we can add them as prefixes in cache keys
in code, we would do,
settings.DEFENDER_CONFIG.get('speical_config_name', settings.DEFENDER_CONIG['default'])

the speical_config_name would be an optioanl parameter that is used in utils
Added to models maybe?

Ok, that seems like a big change because we would have to move all settings from the top level to a new DEFENDER_CONFIG setting and support both going forward, and deprecate the old way.
Before we do something this dramatic, is this a feature other people think is useful for them?

@kencochrane I don't know, so let's keep the issue open if anyone thought it's useful, he would react to the messages : )


Feature request: possibility to configure the root tsconfig.json

Hey,
thanks for the project. We use it for our Vite Nx integration. Right now we, unfortunately, have a problem already mentioned here: https://github.com/aleclarson/vite-tsconfig-paths/issues/47
Could you make the root tsconfig.json filename be configurable? In an Nx monorepo the root tsconfig is by default 'tsconfig.base.json' and renaming it would break compatibility.
Great thanks and best regards

Can you fork this repo and create a branch where the ./demo folder is setup to be an Nx monorepo? It would help a ton in supporting this use case :)

Btw, have you tried using the root option? As long as you have tsconfig.json files in your various packages, they should be found if you set the root to a common parent directory.

I ran into this as well and have posted how I managed resolved it based on the notes in this thread and elsewhere in the following issue: https://github.com/aleclarson/vite-tsconfig-paths/issues/12#issuecomment-1081160667


Fix Multipart not to raise an exception when ending boundary only

Motivation:
A Multipart can be terminated with the ending boundary without a body part. For example, the following request is totally valid:
POST /test.html HTTP/1.1
Host: example.org
Content-Type: multipart/form-data;boundary="boundary"

--boundary--

We must not raise an exception in that case.
Modifications:

Do not raise an exception when Multipart has the ending boundary only.
Propagate an exception in MultipartDecoder to the subscriber correctly.
Change to return false from StreamMessage.isEmpty() when the StreamMessage is created from a empty Multipart

Because it produces the ending boundary.

Result:

You no longer see a 500 response when an empty multipart request is sent.

@minwoox Thank You for working on this :)

Thanks, reviewers. 😉


Scope updateable fields for update request service method

The update service method and resource right now allow any field to be updated which is problematic given that some fields should only be updated via actions e.g. status

Not a concern in the end, but adding tests for update makes it clear.


ignored_threshold in stats_utils is incorrect due to (probably) dtype issue?

UPDATE: another weird example!

I guess it would be solved if we use double, which work for cpu() and cuda() as well
if (dt_scores[i].double() < thresh.double())


Video on secondary monitor lags with fix

When I play any sort of video on my second monitor (or even the primary with the game in windowed mode) the video lags. This only happens with the fix as when I remove it, the video plays fine. Once I add the fix in, twitch streams, discord streams, netflix, youtube, all of it starts lagging incredibly bad. Audio is fine, its' only the video.
Does not happen in windowed mode, only seems to happen in Fullscreen or Borderless
Win 11, 24H2
RTX 4090 (so I don't think it's a resource issue)
EDIT: Even when disabling the ultrawide features by setting all the flags to "false" the fix still causes lag in videos.

Oh I actually have the same problem aswell.
I thought it was just the game, did not try without fix but I have the same GPU and Windows Version.
Would definitely be cool if there was a solution for this.

Mine are limited via NCP
not ingame though
maybe Ill try that later


CLOUD-53144  use media type for application/json

@biharitomi

Jenkins build failed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2151/


None requirements answers

Don't drop None values when stripping whitespace
Changes utils function to only remove empty strings from lists (no longer removes None values :exclamation:). None can be either a valid or invalid value depending on the field, so the validation logic should be encoded in the field schema. If None is valid, the schema should define it as one of the possible item values, otherwise a validation error should be returned.
Add None values to brief response requirements tests
Makes type validator return answer_required error message code for boolean types. :exclamation:
For requirements questions None value means that the quesiton wasn't answered, which should trigger a validation error similar to wrong number of answers.
This will replace a generic "there was a problem with the answer" message with "question requires an answer" for other boolean fields if a value triggers a type validator error, but I don't think this happens on requests made by frontend apps right now.
Checks that None values cause an error response when creating brief responses.

Looks good to me, but I think it's worth getting a second pair of :eyes:

:+1:


After enabling the ENABLE_NATIVE_SIDECARS variable initContainers prevent pod from starting

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
After upgrading the k8s version to v1.29 and enabling the ENABLE_NATIVE_SIDECARS variable all the application stoped working after applying a new deployment I can see this error in the events
Error creating: Pod "my-server-xxxxxxxx-xxxxx" is invalid: [spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]
can't seem to find out what caused this issue, maybe I am missing something in the documentation
Version
istioctl version
client version: 1.20.1
control plane version: 1.20.1
data plane version: 1.20.1 (16 proxies)

kubectl version
Client Version: v1.29.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.0-eks-c417bb3

helm version
v3.13.3+gc8b9489

Additional Information
None

I wonder if you turn off rewriteAppHTTPProbe whether it will work ? (Just as an experiment that clearly isn’t a good real solution ) That the injector is getting confused?

I wonder if you turn off rewriteAppHTTPProbe whether it will work ? (Just as an experiment that clearly isn’t a good real solution ) That the injector is getting confused?

Will try, the problem is that it isn't consistent, for 20 deployments almost the same minor differences as labels, name and image being pulled only 25% of them stoped working.

After a couple of hours I figured out the solution, because the validation for the service account used in the gatekeeper failed inside the istio proxy the pod didn't came up.

After a couple of hours I figured out the solution, because the validation for the service account used in the gatekeeper failed inside the istio proxy the pod didn't came up.

boy i was wrong.
it is something related to istio and service account.
apiVersion: v1
kind: ServiceAccount
metadata:
 annotations:
   eks.amazonaws.com/role-arn: arn:aws:iam::XXXXXXXXXXXX:role/eks-XXXX-XXXX-irsa
 name: sleep

---
apiVersion: v1
kind: Service
metadata:
 name: sleep
 labels:
   app: sleep
   service: sleep
   project: sleep
   env: dev
spec:
 ports:
   - port: 80
     name: http
 selector:
   app: sleep
---
apiVersion: apps/v1
kind: Deployment
metadata:
 name: sleep
 labels:
   app: sleep
   project: sleep
   env: dev
spec:
 replicas: 1
 selector:
   matchLabels:
     app: sleep
 template:
   metadata:
     labels:
       app: sleep
       project: sleep
       env: dev
   spec:
     terminationGracePeriodSeconds: 0
     serviceAccountName: sleep
     containers:
       - name: sleep
         image: curlimages/curl
         command: ["/bin/sleep", "infinity"]
         imagePullPolicy: IfNotPresent
         volumeMounts:
           - mountPath: /etc/sleep/tls
             name: secret-volume
         resources:
           requests:
             memory: 200Mi
             cpu: 100m
           limits:
             memory: 300Mi
             cpu: 200m
     volumes:
       - name: secret-volume
         secret:
           secretName: sleep-secret
           optional: true

lets take this as an example:

when applying this without istio injection everything works perfect.

when applying this with istio injection I see this message in the event log

Message:             Error creating: Pod "sleep-f4d49bc47-s9jkn" is invalid: [spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]

when applying this with istio injection changing the service account and removing the annotation it works fine

apiVersion: v1
kind: ServiceAccount
metadata:
  name: sleep

when applying this with istio injection and removing the service account from the deployment it works as well

After disabling the new native sidecar feature everything seems to work perfectly again

Its very likely due to other webhooks in your cluster breaking things. See https://github.com/istio/istio/issues/49054#issuecomment-1921548373, probably the AWS identity one if its related to SAs?

Having same problem in AKS, doesnt work with Jobs with Istio Enabled and ENABLE_NATIVE_SIDECARS variable enabled. This seems like a pretty major critical bug, i cant run Istio on K8s Jobs.

Its very likely due to other webhooks in your cluster breaking things. See #49054 (comment), probably the AWS identity one if its related to SAs?

You are very much correct, aws released a new version for thier identity webhook which solved the problem.

Having same problem in AKS, doesnt work with Jobs with Istio Enabled and ENABLE_NATIVE_SIDECARS variable enabled. This seems like a pretty major critical bug, i cant run Istio on K8s Jobs.

I'd suggest you verify that the version k8s installed on your machine is v1.29.
i don't think these two issues are related.

1.29 isnt available in AKS. and this is validated as working on 1.28 and i am on 1.28

i upgraded to 1.29 and enabled the flag and it still has the same issue  [spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]

I have got to the conclusion that if i have Azure Workload Identity enabled on the pod, using the label: azure.workload.identity/use: "true" then it fails with the above error, if i remove this label, then it immediately works. But i need to use both Istio and Azure Workload Identity at the same time

i upgraded to 1.29 and enabled the flag and it still has the same issue [spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]

Me too facing same issue. Any luck?

I am using AKS 1.30.2 with istio with native sidecars and workload identities. The problem is still there, I cannot have my application working, I get the following error
Pod "" is invalid:
[spec.initContainers[1].lifecycle: Forbidden: may not be set for init
containers without restartPolicy=Always,
spec.initContainers[1].readinessProbe: Forbidden: may not be set for
init containers without restartPolicy=Always,
spec.initContainers[1].startupProbe: Forbidden: may not be set for init
containers without restartPolicy=Always]

I had a similar issue, turns out I was using an old version of the datadog helm, updating to the latest version solved my issue, just leaving this in case it helps anybody.


Add a QR Code Generator

I am attaching the screenshot below.

Please assign me under JWOC 2024.

please Assign it to me