Desktop Version

An interesting app, it would be nice to support desktop version via electron.

 ✨ Desktop app

I'd be interested in working on that, do you have any specs or further information on the feature ?

Hello @remyvanlerberghe,
Thanks a lot for willing to contribute! However, for such big milestone I would prefer to handle it myself.
But of course feel free to work on it and see which point you can reach then I may take over from your codebase if you did not finish yet. Also, I prefer to use a web stack, so Electron here must be used.

Would be great if the client can be kept independent of browser i.e. Just a webpage with option of Electron. Helps keep things lightweight on resource constrained devices.

I did want to point out an important concern for this feature, since Leon AI is a web stack application: To work effectively as a desktop app, Leon AI needs a scripting style protocol to interact with the user’s desktop, and this protocol needs a robust and dynamic permissioning mechanism so the user can quickly an accurately rant and revoke permission for the AI to control different parts of the user’s desktop in accordance with their wishes.

The AI should have the ability to be granted access to view the graphical contents of the screen, or any of its windows or virtual desktop screens. It should be able to be given permission to query, enumerate, navigate and interact with applications and application windows (and possibly an application’s underlying data store, such as being given the ability to search a user’s inbox without clumsily clicking through each email int the user’s desktop UI.)

This should probably be done with some cross-platform alternative to VBA Script or Apple “Automator” that can hopefully abstract away some of the platform specific UI paradigms.


push new locale to live

I've completed localization to gd-GB, could someone please throw the necessary switches so it's included in the next release? Cheers :)

Fixed with 580cb981b59e7cedbbc440c4d3eba565e2ed75ec


N18: Dimforge

For #455 :star:

:construction:

@ozkriff Fixed all my accidental changes :sweat_smile:


Artefact in heat network mekko

@antw do you see why there would be this artefact in this mekko?

do you see why there would be this artefact in this mekko?

I don't; never seen that before. It looks to be the same size as the coloured boxes in the legend. Perhaps there's a series without a label?
I'd need to be able to try the chart for myself to find out why it happens.

I'd need to be able to try the chart for myself to find out why it happens.

You can choose it from the chart-picker on BETA. It's number 174

TY! Apparently it represents "Central waste CHP Supply", but it is the exact same size as one of the legend boxes, which is suspicious.

Apparently it represents "Central waste CHP Supply", but it is the exact same size as one of the legend boxes, which is suspicious.

Also, "Central waste CHP Supply" does not occur in the legend!

33727e8a renamed the series energy_power_supercritical_waste_mix_in_heat_network_mekko to "Central waste CHP"; a name which was already used by energy_chp_supercritical_waste_mix_in_heat_network_mekko.
Apparently the Mekko chart doesn't like it if two series have the same name. 😐

It turns out that the Mekko chart doesn't like it if two series have the same name

Oops! 😊

@AlexanderWirtz can you resolve this doubling?

@ChaelKruipi made a misatke when I mentioned in  #2137 that the converter energy_power_supercritical_waste_mix was a CHP that should be renamed. Turns out that CHP already exists. Hence the doubling. Oops, silly me.
For some odd reason the power plant is also connected to the heat_network with zero heat efficiency. This is odd and it should not be connected to it. The series can then be removed altogether from the heat network mekko.

assigned back to @ChaelKruip

@ChaelKruip , has this been resolved?

@ChaelKruip , has this been resolved?

I think so yes. Closing.


Small typo fix in the title

Hi @victorp13, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@victorp13 Thanks for catching and fixing that rather embarrassing typo. We appreciate your help on improving the quality of the Azure docs.


Delete Dashboard

As a user, I want to be able to delete a dashboard, so that I can remove outdated or unused dashboards from my account.

@jessehall3 and I are taking this.

This issue was closed by the PR that was recently merged.


fix create pull request from base repo to forked by api

fix #20475

Don't we have this logic already? Seems odd to repeat this for the API

Don't we have this logic already? Seems odd to repeat this for the API

yes, which is used to handle reqeust from web ui, but it's not a easy job to reuse it ...
https://github.com/go-gitea/gitea/blob/4fc53a3f30f6c71325b01654019c28c334271109/routers/web/repo/compare.go#L340-L353

What is the state of this PR? Is the issue still present, and if so, is this a valid solution?


Cache align FFT core loop code

Description
This PR changes the core loop for the FFT to access the roots of unity in a cache aligned way, similar to what is implemented in libiop. Currently its set to minimize computation, which is actually pretty bad for performance given that its memory bottlenecked.
In libiop we saw that doing this was a huge speedup. So far, I've implemented this in this PR with an arbitrary set of parameters, and this is already a 10% speedup in the serial case. I anticipate it will perform better. (Code is not yet  benchmarked for the parallel case)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (main)
[ ] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[x] Wrote unit tests - n/a, covered by existing tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

Prior to the "seperate cache align levels" commit, I was seeing a 5% slowdown to parallel FFTs, until a size 2 << 21 fft, in which case it was a 7.5% speedup.
Maybe this suggests that we need a parameter for when to start cache aligning as well? (Also I think we should just brute force over all the parameters to set the final version. Do we have scripts for brute forcing over constants, w/ benchmarks?)

Prior to the "seperate cache align levels" commit, I was seeing a 5% slowdown to parallel FFTs, until a size 2 << 21 fft, in which case it was a 7.5% speedup.
Maybe this suggests that we need a parameter for when to start cache aligning as well? (Also I think we should just brute force over all the parameters to set the final version. Do we have scripts for brute forcing over constants, w/ benchmarks?)

We don't have scripts to brute force over the parameters. One way could be to just make an inner function that accepts the constants as parameters, and then run standard criterion benchmarks over the range of parameters?
(also it would be nice if this code was cache-oblivious, so we didn't have to worry about these things lol)

We don't have scripts to brute force over the parameters. One way could be to just make an inner function that accepts the constants as parameters, and then run standard criterion benchmarks over the range of parameters?
(also it would be nice if this code was cache-oblivious, so we didn't have to worry about these things lol)

Hrmm, another option could be a python script setup. (python regex the file to swap out the constants, run cargo bench, get the output and output a CSV of all the results at the end)
Agreed that making this cache oblivious would be ideal. In the serial case, it looks like that is fine, but its not looking like that so far for the parallel case =/

Hrmm, another option could be a python script setup. (python regex the file to swap out the constants, run cargo bench, get the output and output a CSV of all the results at the end)
Agreed that making this cache oblivious would be ideal. In the serial case, it looks like that is fine, but its not looking like that so far for the parallel case =/

Should I just convert this to something that is faster in the serial case over most sizes, and leave as a TODO investigating the parallel case? (I'll be very surprised if the parallel case doesn't show a similar speed improvement with the right parameterization)

Prior to the "seperate cache align levels" commit, I was seeing a 5% slowdown to parallel FFTs, until a size 2 << 21 fft, in which case it was a 7.5% speedup.

So is that ^ the state of things atm? If so, sure, let's just merge it for the serial case, and leave a TODO for the parallel case.

Yeah that is the state of things atm

Let's update this only for the serial case and then let's merge?

ping @ValarDragon?

Closing this in favor of #242. I will write up learnings from this code into an issue for later optimizations to the parallel case & IFFT


Ionic 2 + Electron

Documentation talks about support for Electron here at
http://ionicframework.com/docs/overview/#browser-support
However, I do not see any documentation or any boilerplate for Electron app using Ionic 2.
Hoping to get help from Ionic 2 team.

Agreed.  Would really, really appreciate information on Electron support and how to develop dual apps in Ionic2.  Support seemed very promising with their announcement of first class Electron support for Beta 7, but there's been basically no mention since.  Not exactly first class support...

Hello all! Sorry for the confusion here. While it is totally possible right now to build an Electron app with Ionic 2, we do not currently have a build process set up for it so it requires a little bit of setup on the developer's end. After we get Ionic 2 stable out we will be looking into providing more infrastructure around using Electron with Ionic 2.

Thanks so much for an answer, @jgw96 !  Understandable.  I currently have an Electron application that I'd like to port over to Ionic2, so any information would be fantastic.
Thanks again!

I have something working here, it may serve others or the ionic team to save time as well:
https://github.com/apollo-ng/governess/blob/master/governess-app/electron.js
https://github.com/apollo-ng/governess/commit/13f60f8156131492c498c892703016ba25aebf1f

@chron0 I tried building app from your repo. However, when I run it, app just shows white blank page and there are no errors thrown in console too. Not sure, what worked for you.
Could you let us know the steps to build/run your app? Also, Have you tried require('electron') in renderer process of the electron app?

Where exactly do you get a blank page? It works here and I was hoping an ionic2 app would be pretty much contained/constraint by its package.json. It lints/compiles without a problem here. As for electron, I do have a system wide instance of electron available (due to atom) - don't know if it makes a difference since electron should be bundled/used locally from package.json
From left to right:

Dev Server/Browser
Electron dev (needs ionic serve running)
Electron build

As stated in README.md:
Run in Electron wrapper
$ npm run electron

Electron Build
Linux
$ npm run electron-dist-linux-x64

I am able to get an Ionic2 app in Electron working, briefly outlined here:
https://forum.ionicframework.com/t/embed-ionic-2-app-in-electron-for-desktop-application/74123
However, getting IPC to work has been a nightmare.
If there is any further on IPC implementation - I would love to hear about it.

Hello all! I am going to close this issue now as i cannot reproduce this anymore. For an example of Ionic 2 working in electron check out this example i made of the conference app running in electron. The instructions on how to run it are in the readme

@jgw96 Thank you for providing an example. Appreciate it. However, I'm still not able to use electron/node modules in renderer (ionic app) code. I have followed the instructions  from http://ionicframework.com/docs/v2/resources/third-party-libs/, but no luck.
With the following code after installing the library and its type definition,
import {remote} from 'electron';
..
..
console.log(remote.process.versions.electron);

I see the following error in console
Uncaught TypeError: fs.existsSync is not a function

Hope you have a solution for this one too.. Awaiting your response..

@jgw96 did you get a chance to look into my previous comment?

@ssreekanth This looks like a similar issue, maybe try upgrading your node modules like they did here

@ssreekanth you found a solution?

I made a workaround with these lines and write a service for IPC in Angular / Ionic:
providers/ipc.ts
import { Injectable, EventEmitter } from '@angular/core';
function unimplemented(...args: any[]) {
    console.error(new Error("This function is not implemented"));
}
let ipcRenderer = {
    on: unimplemented,
    send: unimplemented,
};

eval(`try {ipcRenderer = require("electron").ipcRenderer;} catch(err) {console.warn(err);}`);

export interface IIpcEventEmitter {
    args: any[];
}

@Injectable()
export class IpcService {
    public ipc = ipcRenderer;

    observe(name: string): EventEmitter<IIpcEventEmitter> {
        const eventEmitter: EventEmitter<IIpcEventEmitter> = new EventEmitter();
        this.ipc.on(name, (...args) => {
            eventEmitter.emit({ args });
        });
        return eventEmitter;
    };

    send(name: string, ...args: any[]) {
        this.ipc.send.apply(this.ipc, [name, ...args]);
    }
}


Mention bug in StatefulSets and DaemonSets where pod count in status can be invalid

Problem:
When we apply the ResourceQuota(limit the number of pods) on the Namespace then the StatefulSet/DaemonSet which deploys in that namespace reports invalid status.
For example, if we will limit the no. of pods in a Namespace to 2. After that when we will deploy StatefulSet or DaemonSet in that Namespace, it will run only 2 pods but when we will the status of the StatefulSet or DaemonSet its shows only 1 pod.
Please refer to this issue in k/k for details: #112010
This problem is in before k8s version v1.25. In v1.25, the problem for StatefulSet is resolved(#109694) and For DaemonSet the pr is opened(#112127) in k8sv1.26 and it is in a review state.
While discussing to backport this issue in the previous version of k8s  like v1.23 and v1.24, As per this commentit came out like it is not a critical bug and we can only backport critical bug fixes.
What would you like to be added:
Can we add this as a limitation for StatefulSet and DaemonSet in k8s docs so that users will know about it like in which k8s version it will not work?
If yes, which is the best place to mention it in the docs?, as per the comment it should be somewhere in https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/
The reference docs are automatically generated from the code comments. where does it seem good to write this?
Why is this needed:
It is useful for the end users, this limitation will make it difficult for users to debug if they applied ResourceQuota to their namespace in previous versions (before v1.25 for both sts and ds. and In v1.25 for ds).

maybe
/kind feature

/sig docs
PTAL!

/retitle Mention now-fixed bug in StatefulSets and DaemonSets where pod count in status can be invalid

/priority awaiting-more-evidence
I'd like to see some :+1: reactions on the issue before accepting this work.

Actually, the DaemonSet bug isn't fixed.
/retitle Mention bug in StatefulSets and DaemonSets where pod count in status can be invalid

Maybe the release notes are the right place to mention the bug?

I raised this concern on the slack channel(sig-app), There is a discussion going on it here is the link for it:
https://kubernetes.slack.com/archives/C18NZM5K9/p1663157430112409

so I am closing this as this issue is backported.

/close


no response from nibeGW

Hello, thanks alot for this addon. im having a little issue, i can't get the homeassistant Nibe heatpump:https://rc.home-assistant.io/integrations/nibe_heatpump
To connect. it says my remote ip or read port is wrong, but im using all defaults.
Im using HA beta to get latest fixes.

But as you can see the ESP get the udp from HA it seems..

Ive had oddness (and heard others) with the default ports. Set it up on 10080, 10081, 10082 and try again.
I think there is some chromecast stuff on 9999

Wait. Doesnt look like your pump is connected and have modbus40 enabled.

the heatpump have modbus enabled, gan grab a pic. its a VVM310 and when i disconnect the esp the heatpump errors

and seems like even with difrent ports same issue.
Here is the part of esphome
external_components:
  - source: github://elupus/esphome-nibe

# Configure uart that will be used
uart:
  rx_pin: GPIO16
  tx_pin: GPIO17
  baud_rate: 9600

# Configure NibeGW
nibegw:
  dir_pin:
        number: GPIO3
        inverted: false
  udp:
    # The target address(s) to send data to. May be a multicast address.
    target:
      - ip: <IP_ADDRESS>
        port: 10080
    # List of source address to accept data from, may be empty for no filter
    source:
      - <IP_ADDRESS>

    # Optional port this device will listen to to receive read requests. Defaults to 9999
    read_port: 10081

    # Optional port this device will listen to to receive write request. Defaults to 10000
    write_port: 10082

  acknowledge:
    - MODBUS40
    - RMU40_S4

  # Constant replies to certain requests cabe made
  constants:
    - address: MODBUS40
      token: ACCESSORY
      data: [
            0x0A, # MODBUS version low
            0x00, # MODBUS version high
            0x01, # MODBUS address?
      ]

# Accessory version response
    - address: RMU40_S4
      token: ACCESSORY
      data: [
            0xEE, # RMU ?
            0x03, # RMU version low
            0x01, # RMU version high
      ]

    # Unknown response that nibepi uses
    - address: RMU40_S4
      token: RMU_DATA
      command: RMU_WRITE
      data: [
            0x63,
            0x00,
      ]

    # Constant fixed temperature to avoid pump going into alarm.
    - address: RMU40_S4
      token: RMU_WRITE
      data: [
            0x06, # Temperature
            0x14, # degrees low
            0x00, # degrees hight
      ]

# Some helper functions to restart ESPHome from HA
button:
- platform: restart
  name: Nibegw Restart
- platform: safe_mode
  name: Nibegw Safe Mode Boot```

Are you running in docker or some other virtualization system? If so you need to set up port forward.

Are you running in docker or some other virtualization system? If so you need to set up port forward.

im running HA in a proxmox. but all other esp have 0 issues, but that may be bc default ports?

sadly port forward did not fix it either.. can i enable some deep debug to see what the esp recives on the ip? and if it sends anything

Well, this is not standard esphome communication. It is nibegw communication.
You need to port forward the 9999/local listening port into your HA device if its not on a bridged network.
Yes, you can turn on debug with these entries for logger component in home assistant.
homeassistant.components.nibe_heatpump: debug
nibe: debug

The esphpme device can be increased too:
nivegw:
  debug: true

i tried to portforward no dice... ill try some more debugging.
Also is it exspected that the install of this will dissable a outside heatpump? mine have not been running when the esphome was connected, but taking it off and the heatpump stated preheating. it seems to be the same rs485 but difrent ports so not sure if theres any correlation

It should absolutely not affect any other pumps. That even more indicate something broken with the esp connection to the pump. For example th rs485 chip always in transmit mode.
What hw are you using?

Esp32 and a uart to rs485

The odd thing is the heat pump says no error

What type of rs485 chip is that?

Ps. I would have expected a debug line in the esp log, every time it sends data over udp. So once wifi is up, you should be getting logs every second.

Max485
Same type as I have:
https://www.amazon.com/ANMBEST-Transceiver-Arduino-Raspberry-Industrial-Control/dp/B088Q8TD4V
I apriciate all the help!
Regarding the debug, i tried adding it but i only get a recive 6 packets in the log, nothing else. but would make sense if the Modbus is fucked..

Also, you could look at the rs485 lines with you oscilloscope, there should be traffic there once connected.

That chip needs you to control the enable pins correctly. It has not auto mode. So verify that it is connected properly and or inverted properly.

I will check thanks, but would the heat pump not go in error if wrong flow control pin? As it shuld not get the ACK\NAK from the esp? Just trying to understand :)

I dont know. Maybe it hangs if bus is always busy/dominant.

So I have it connected to the right pin, but do you change the dit pin on send or recive? This is how mine expect
High to transmit low to recive. Mine is non inverted in the config.

Seems correct. I would look at the bus and verify that you have trafic after the esp is connected.

The A/B pins could potentially be swapped too. But I assumed you tested swapping those.

Yea i had to swap a/b to clear the error from the heat pump

Weird. Re verify the logs. It should be printing things as it sends it out on udp.

i poked a bit arround with the scope, have the DIR pin been tested before? to me it seems like the esp recives the first com fine, then puts the dir high as it shuld, but the dir pin do not get pulled low after the TX is done...

I know there are people using it. But, the way the esp pulls pins low is by high impedance pulldown i think. I think the other people have used an inverted pin.

Yea good point .. i have tried both inverted true and false, same end result .. may just get one with auto direction and be done with it. Do we get access to more than on the Nibe uplink? Using it currently and works great, tho no actual kw produced so can't calc a cop

More 8nternal atate + faster rate. But not much more that is very usefull to be honest.

GPIO3 is part of the debug uart. That might be why it behaves wrongly.

I think this is resolved now. Please recheck with the new release.


First database version

❗ This branch is based on the #25 registration-flows branch that is not currently merged
This is because the migrations introduced there were needed

In this branch the migrations create a database that has a model that looks like this

Will create a drawio file later on
The models are created as well in order to establish the relationships between them
For testing:

Connection between each table especially the many-to-many relationship (participants) and the relationship between the models User, Speaker, Presentation

Should this be merged after or before the jetstream teams rework? Seems like there are double commits.

Should this be merged after or before the jetstream teams rework? Seems like there are double commits.

If the Jetstream/Spatie permissions rework is merged, then it can be merged without any issues


Fix for to_matrix(row_vector) and to_matrix(vector)

Summary
Fixes #2669 by fixing to_matrix(row_vector) and to_matrix(vector), which were previously just forwarded. This bug surfaces if to_matrix() is used in a call to a UDF.
Tests
/
Side Effects
/
Release notes
Fixed a bug with to_matrix(row_vector) and to_matrix(vector).
Checklist

[x] Math issue #2669

[x] Copyright holder: Rok Češnovar
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[x] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
dependencies checks pass, (make test-math-dependencies)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[x] the new changes are tested

@SteveBronder any chance you could take a look at why this is failing in the sanitizer? I have exhausted my knowledge :)

I think is a jenkins issue rather than PR-related, since I've gotten the same error in the gradients draft PR

Ah, thanks! I think I found the cause. We switched from g++ to clang for the sanitize test. Will fix here.

@rok-cesnovar sorry missed this yes I'll look at this tmrw morning I think I see what's going on

This is now passing tests. I had to switch to the old testing agent (the Gelman Linux for the full unit test). Lets get this patch out and then proceed with addressing that without a time crunch.
For the testing aspect of this PR, I added the model that was mentioned in the issue to the stanc3 test models: https://github.com/stan-dev/stanc3/pull/1138
With this branch, the model compiles fine.
@SteveBronder mind giving this a quick look? Thanks!

Thanks Steve. Much appreciated! Added your suggestions.
@serban-nicusor-toptal Once this is merged we can start with the patch release.


How to get DNS validation working

Steps I'm taking
Using the latest wacs.exe version, I'm trying to get the DNS validation working with this command:

"c:\program files\letsencrypt\wacs.exe" --host *.zeta-uploader.com --validationmode dns-01 --validation dnsscript --dnsscript "C:\Scheduler\Ssl\Route53.ps1"

This simply brings up the interactive mode and a selection prompt, just as I would have called "wacs.exe" completely without any parameters.
I've also tried to specify to store as PEM files and get the same interactive mode:

"c:\program files\letsencrypt\wacs.exe" --host *.zeta-uploader.com --validationmode dns-01 --validation dnsscript --dnsscript "C:\Scheduler\Ssl\Route53.ps1" --store pemfiles --pemfilespath "C:\Websites\ApacheConfigs\Certificates"

Expectation
I would have thought that calling "wacs.exe" with the above parameters would automatically perform a DNS validation, without any user interaction.
At least I would have expected to get an error message about wrong/missing parameters or something like that.
My question
Can you tell me what I'm doing wrong or where my expectation is wrong?

Unattended creation of a new certificate is triggered by the --target parameter, which selects the target plugin. I think if you add --target manual to your command line, you will have better results.

Adding --target manual has helped.


VMware 5.5 snapshot with quiescing kill/hang VM with docker devicemapper

VMware ESXi 5.5U2
VMtools  <IP_ADDRESS>835 (build-2068191)
Centos 7.0 up2date (3.10.0-123.13.2.el7.x86_64)
Docker 1.3.2
Storage Driver: devicemapper
Hello,
When we try to do snapshot with quiescing of the VM, it always freeze the FS and the VM become irresponsive. It's no more possible to log into it or to do any writes to the FS.
It seems like the FS is freezed.
We think it's more a linux/CentOS/RH issue, but maybe you have some hints.
Thank you.
Krumli

@krumli This doesn't sound like it has anything to do with Docker. After having suspended and restored successfully VMs running Docker, and containers, I don't think there's any reason to think such a crash would be caused by Docker itself.
I really think this might be a problem with ESXi or with the CentOS/RHEL kernel. You probably want to make sure you open a bug for this.
I've marked this as a bug for RHEL since it's likely it's also affecting RHEL.
ping @vbatts

I'm going to close this issue as it's not a Docker bug.

@krumli Did you ever solve this issue? We are seeing the same. Any pointers would be helpful.

Nop, we used ext4 and overlay (kernel 4.0).
Regards
Le samedi 19 septembre 2015, vishramachandran<EMAIL_ADDRESS>a
écrit :

@krumli https://github.com/krumli Did you ever solve this issue? We are
seeing the same. Any pointers would be helpful.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/10264#issuecomment-141625034.

We're currently facing this issue with docker 1.12.3 under openSUSE LEAP 42.2 when VMware VDP creates the snapshot. Docker 1.9.1 didn't show this issue.


Pass env vars from spawn action info to extractor [phab:D1140]

Created by salguarnieri at 2016-11-08 19:45:22:
Bazel sets env vars to execute the primary action. For extra actions, it passes them in as part of the proto we read. This means that we should set them if we are going to run any external commands so they will be run in the same environment as if they were run during the primary action.

zarko commented inline (context lost during migration) at 2016-11-08 20:18:46:
Does Bazel guarantee that it will escape or quote strings to make this safe?

fromberger commented inline (context lost during migration) at 2016-11-08 20:23:40:
Have you tested this? Note that
FOO=bar cmd args

is not the same as
env FOO=bar cmd args

fromberger commented inline (context lost during migration) at 2016-11-08 20:29:38:
Though it occurs to me you don't (necessarily) care about expansions in the command arguments themselves. In which case that may be fine.

salguarnieri wrote at 2016-11-08 21:17:24:

clean up comments
update test
format

salguarnieri commented inline (context lost during migration) at 2016-11-08 21:17:43:
I've tested in some very simple scenarios. Both with and without env work with my test.

salguarnieri commented inline (context lost during migration) at 2016-11-08 21:17:43:
I think they are not escaped or quoted, but I'm checking now.

salguarnieri commented inline (context lost during migration) at 2016-11-08 21:19:09:
Actually, I know for sure they aren't quoted, I'm double checking to make sure they are not escaped.

fromberger commented inline (context lost during migration) at 2016-11-08 21:22:08:
In that case you might be better off without env, since that invokes yet another binary that has to be on the path. (I imagine it's very unlikely that bash is but env isn't, but you never know).

salguarnieri wrote at 2016-11-08 21:25:12:

drop env

fromberger wrote at 2016-11-08 21:27:15:
Looks good to me. I'll leave Luke to take the last round.

zarko wrote at 2016-11-08 22:04:11:
I'm still interested in the question about escaping.

salguarnieri wrote at 2016-11-08 22:09:34:
Me too. I'm trying to get an answer from the bazel people. I cannot see anything that would make me think it is stored in sanitized form, but I'd like to have someone confirm.

salguarnieri wrote at 2016-11-09 00:37:12:

add some sanity checking

zarko commented inline (context lost during migration) at 2016-11-09 00:42:33:
What happens to an env.value() with double-quotes in?

salguarnieri wrote at 2016-11-09 00:57:43:

another try at escaping correctly

salguarnieri commented inline (context lost during migration) at 2016-11-09 00:59:55:
You get to hack the build!
Addressed in the new patch.

zarko wrote at 2016-11-09 19:19:15:
+shahms, who knows more about shell escaping than I do.

salguarnieri wrote at 2016-11-09 19:29:38:
rebased

salguarnieri wrote at 2016-11-10 04:11:13:
I added comments and tests to bazel that state the environment variables we get are not escaped or quoted. It is possible (maybe even likely), that variables that need escaping will never be created by bazel.

shahms commented inline (context lost during migration) at 2016-11-11 17:08:35:
A bigger concern is actually values with single quotes in them, e.g. ''' is two strings: one containing a backslash, the other is unterminated.
The strategy undertaken by the Python standards library 'commands.mkarg' function is a decent one: if the value does not contain a single quote, wrap it in single quotes otherwise enclose in double quotes and escape each one of backslash, double-quote, dollar, back-tick.
https://hg.python.org/cpython/file/tip/Lib/commands.py#l81

shahms commented inline (context lost during migration) at 2016-11-11 17:08:35:
guarantees

salguarnieri wrote at 2016-11-11 19:35:53:

another try at escaping
format

salguarnieri wrote at 2016-11-11 19:41:24:
rebased

zarko commented inline (context lost during migration) at 2016-11-11 20:46:06:
nit: backslash

zarko commented inline (context lost during migration) at 2016-11-11 20:46:06:
Do you still need to do this?

shahms commented inline (context lost during migration) at 2016-11-11 20:50:46:
I think this might be more readable using raw strings:
R"(([\"$`]))", R"(\\1)"

shahms wrote at 2016-11-11 20:50:46:
minor nit on all the backslashes

shahms accepted this revision at 2016-11-11 21:19:28

salguarnieri closed via commit def56f3fedb323859f6358467142426615af9c8f at 2016-11-11 21:20:00


Invalid handling of escaped backslashes "\"

I am parsing some LaTeX text into a TOML file and I get an error decoding it:
toml.dump() fails to properly handle {"a": "\\biggr"}, I expected it to generate:
a="\\biggr"

But it instead generates:
a="\biggr"

Which is an invalid TOML file
edit: Somehow using that small example it isn't reproducible so here is the full code:
d={
    'Problem262': {
        'title': 'Mountain Range',
        'description': "The following equation represents the continuous topography of a\nmountainous region, giving the elevation h at any point (x,y):\n\n$h = \\biggr( 5000 - \\dfrac{x^2 + y^2 + xy }{200} + \\dfrac{25(x + y) }{2} \\biggr) ⋅ e^{- \\biggr\\rvert \\dfrac{x^2 + y^2 }{1000000} - \\dfrac{3(x + y) }{2000} + \\dfrac{7}{10} \\biggr\\rvert }$\n\nA mosquito intends to fly from A(200,200) to B(1400,1400), without leaving\nthe area given by 0\xa0≤\xa0x,\xa0y\xa0≤\xa01600.\n\nBecause of the intervening mountains, it first rises straight up to a\npoint A', having elevation f. Then, while remaining at the same elevation\nf, it flies around any obstacles until it arrives at a point B' directly\nabove B.\n\nFirst, determine f[min] which is the minimum constant elevation allowing\nsuch a trip from A to B, while remaining in the specified area.\nThen, find the length of the shortest path between A' and B', while flying\nat that constant elevation f[min].\n\nGive that length as your answer, rounded to three decimal places.\n\nNote: For convenience, the elevation function shown above is repeated\nbelow, in a form suitable for most programming languages:\n\n```php\nh=( 5000-0.005*(x*x+y*y+x*y)+12.5*(x+y) ) * exp( -abs(0.000001*(x*x+y*y)-0.0015*(x+y)+0.7) )\n```\n",
        'answer_hash': 'a5921e175a44d31e7f82f7f9a61a36af'
    }
}

The produced TOML file is this:
[Problem262]
title = "Mountain Range"
description = "The following equation represents the continuous topography of a\nmountainous region, giving the elevation h at any point (x,y):\n\n$h = \biggr( 5000 - \dfrac{x^2 + y^2 + xy }{200} + \dfrac{25(x + y) }{2} \biggr) ⋅ e^{- \biggr\rvert \dfrac{x^2 + y^2 }{1000000} - \dfrac{3(x + y) }{2000} + \dfrac{7}{10} \biggr\rvert }$\n\nA mosquito intends to fly from A(200,200) to B(1400,1400), without leaving\nthe area given by 0xa0≤xa0x,xa0yxa0≤xa01600.\n\nBecause of the intervening mountains, it first rises straight up to a\npoint A', having elevation f. Then, while remaining at the same elevation\nf, it flies around any obstacles until it arrives at a point B' directly\nabove B.\n\nFirst, determine f[min] which is the minimum constant elevation allowing\nsuch a trip from A to B, while remaining in the specified area.\nThen, find the length of the shortest path between A' and B', while flying\nat that constant elevation f[min].\n\nGive that length as your answer, rounded to three decimal places.\n\nNote: For convenience, the elevation function shown above is repeated\nbelow, in a form suitable for most programming languages:\n\n```php\nh=( 5000-0.005*(x*x+y*y+x*y)+12.5*(x+y) ) * exp( -abs(0.000001*(x*x+y*y)-0.0015*(x+y)+0.7) )\n```\n"
answer_hash = "a5921e175a44d31e7f82f7f9a61a36af"

And the \biggr \ is not escaped

@DemonInTheCloset
I believe this behavior is correct as the lib respects python concepts
python understands "\" as ""
to get what you expect use "\\biggr"

I totally missed that at the time, thanks.


Add support for nested buckets

BoltDB supports nested buckets, but it's not implemented in Storm.
As to "why do we need this?":
Many database applications have natural partitions, where it is typically one partition in use at a time.
With GitHub as an example: A user has many repositories, but looks mostly at a single repository at a time, with its:

Code (Git repo)
Issues
Pull requests
Settings
...

In the world of relational databases this is solved with where clauses and joins.
Translated to the BoltDB world we could:

Filter all your entities by some repositoryID, which gets messy, fast ... and how do we delete a repository?
Store all in one big object graph, which makes filtering easier, but doesn't scale.
Partition the application into buckets.

Storm currently stores everything below the root bucket with a bucket name derived from the struct name and package. This is perfectly fine for many applications.
Suggestion: New bucket tag that points to the parent bucket:
type Issue struct {
	ParentBucket      [][]string `storm:"container"`
}

This would work fine with Save operations.
But would not work with Find and One etc.

This could be solved by either

Adding a variadic (optional) parentBucket ...string to these methods:

func (s *DB)  Find(fieldName string, value interface{}, to interface{}, parentBucket ...string) error {
	//
}

Adding a new concept of a container/bucket and a way to switch between them, so only the method receiver changes:

func (c *Container)  Find(fieldName string, value interface{}, to interface{}) error {
	//
}

...?

Not sure what is best/simplest, but it should good enough as a foundation for discussion.
Some additional integration/helpers would be nice, but the above is a start.

Great idea @bep!
My only concern is about providing a simple API for that.
If i understand correctly, the idea is to be able to fetch an object with all of its related object in one go (like with a sql join) ?
Or to save / fetch an object to/from a nested bucket?
Either way this raises the question of how to handle relationships in Storm.

If i understand correctly, the idea is to be able to fetch an object with all of its related objects in one go (like with a sql join) ?

Or to save / fetch an object to/from a nested bucket?

My primary motivation is to keep unrelated objects separated, but you are right that this is about relationships: These entities belong to project A so we put them in bucket A.  The "simple API is a challenge".

The problem is that i don't see on the API side a benefit for the user, beside knowing that related objects are in nested buckets.
Can you provide fake code that would illustrate this?
I think we need to think of relationships as a whole, because keeping unrelated things separated means in a way grouping related things together.
If we save children objects in nested buckets, it must be for something really interesting for the user, for example:

To easily be able to declare relationships between objects, visually: i have a Repo, a Repo has Issues, Code ... (nesting objects together and using tags?)
To query an object and all or some of its related/sub objects.
To query a sub object directly
?

All the above points are just thoughts but i believe if we start to think of relationships that would be some interesting features

If we save children objects in nested buckets

I'm talking about a "bucket tree" that in the most common case is one level, not an object graph.
Repo (ID: 1)
-- Issues
  -- Comment
-- Code
Repo (ID: 2)
-- Issues
  -- Comment
-- Code

You may say that:

An issue an is related to a repo and find a clever way to flatten/unflatten the object graph (because storing it as one big blob isn't realistic).

The above problem is hard to solve. I would be happy if you came up with a way to do that, but this gets easier for the head if you say the relation is very strong: An issue is owned by the repository and there is next to none interaction between two repositories.

I will think about better examples. If I realistically wants something like the above in Storm as of today, I would have to use several databases. Which could work, I guess.

See #9
The test case is pretty lame and the implementation isn't done -- but I hope it gets my point through. This is my idea in its simplest form. It will fill my current requirements, but it does require "some code" outside of Storm to keep track of the buckets ...

That's exactly what i was about to propose, i like it.
I believe we are in the right direction so we can now focus on making this work.

Should we have some sort of absolute root (that would be storm.DB) and create nodes from it with the DB.From() method? Those nodes would also have a From method to be able to create other nodes.
The idea is to separate DB (the root) from the rest of the tree in case we add fields in the future that would only be useful in DB (for example Path), so the nodes will remain lightweight. If we do, what would be the name? Node, Bucket, ...?

Should we prevent subs to close the database?

Init should call createBucketIfNotExists too.

I think Bolt's own design on this is a good reference:

Eeach transaction have an unexported root Bucket that is delegated to for CreateBucket etc.
Since this is a BoltDB library and not a generic DB abstraction, I would call a bucket for ... bucket.
You could delegate to the root for all the Find, Save etc.... maybe, but it would probably be better to make it clear to the user that he/she works on a Bucket (even if it is the root; less work to maintain).
So it's is either DB.One  or DB.Root.One
I guess `DB.From("a").From("b") => /a/b
As to closing, I agree - but that will be solved if you create a Bucket (or Node) type.

I guess DB.From("a").From("b") => /a/b

To answer myself: No, that would be confusing, but we could add an Append func too, so:
DB.From("a").From("b") => b
DB.From("a").Append("b") => /a/b

DB.From will return a storm.Bucket so i think it feels more natural to have DB.From("a").From("b") => /a/b.
When you use createBucket from a bucket in BoltDB you create a nested bucket, it acts like a node

would be the name? Node, Bucket, ...?

Rethinking: Having to package-prefix ´storm.Bucketall the time would confuse, so I thinkNode` would be a better fit.
As yo From:
db := ...
n1 := db.From("a").From("b") => /a/b/
n2 := db.From("c").From("d") => /c/d/
n1_2 := n1.From("c") => /a/b/c
...

Yes, that is intuitive.

Node would be more relevant you are right, as Bucket would make the user believe that we have our own version of a bolt.Bucket, it would be confusing.

Node would be more relevant you are right,
Agree.


Error in proxy settings before starting the browser

The problem
Error in proxy settings before starting the browser
Details
To start the proxy, I use the following settings:
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.setTrustAllServers(true);
proxy.blacklistRequests("https?://www\.google\.com/.*", 400);
proxy.start(80);
If I want to use Selenide proxy:
Configuration.proxyEnabled = true;
Configuration.proxyPort = 80;
WebDriverRunner.getSelenideProxy().getProxy().blacklistRequests("https?://www\.google\.com/.*", 400);
open("https://www.google.com");
Process finished with exit code -1
java.lang.NullPointerException

Selenide Version:5.0.0
Chrome

@rtvbaa Proxy starts after driver starts, so in your case when you call WebDriverRunner.getSelenideProxy() your receise a java.lang.NullPointerException because there are no running proxy.
Just change order of your requests:

open("google.com");
WebDriverRunner.getSelenideProxy().getProxy().blacklistRequests("https?://www\.google\.com/.*", 400);
other logic

open("google.com"); runs a proxy and opens the site. All requests after it are meaningless.

I need to block all sites except the checked, but for an example it is better.

@rtvbaa Method WebDriverRunner.getSelenideProxy() returns null when called before method open().
You can open a blank browser window before setting blacklist:
open();
WebDriverRunner.getSelenideProxy().getProxy().blacklistRequests("https?://www\.google\.com/.*", 400);
open("https://www.google.com");


Error when recurrences is empty

Getting this error when there are no occurrences for a recurring meeting:
Invalid argument supplied for foreach() {"exception":"[object] (ErrorException(code: 0): Invalid argument supplied for foreach() at /home/vagrant/code/homestead/vendor/macsidigital/laravel-api-client/src/Support/ResultSet.php:122)
The problem occurs because $response->json() is empty:
protected function processResponse($response)
{
$this->addResponse($response);
$this->populate($response->json());
$this->processMeta($response->json());
$this->incrementQueries();
}
My code:
$meetings = Zoom::user()->find($email)->meetings;
foreach ($meetings as $meeting) {
if ($meeting->type == 8) {
$meet = $meeting->find($meeting->id);
foreach ($meet->occurrences as $occ) {
etc.

Hi @cheshirec7
Can you please reply with which version of zoom / the api-client you are using.
Thanks

Hi -
I keep up with the latest everything by running
php -d memory_limit=-1 which composer update
every day.
[image: require.jpg]
On Sat, Aug 1, 2020 at 9:36 AM Colin Hall<EMAIL_ADDRESS>wrote:

Hi @cheshirec7 https://github.com/cheshirec7
Can you please reply with which version of zoom / the api-client you are
using.
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MacsiDigital/laravel-api-client/issues/7#issuecomment-667556801,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXFZEZJC5NWW2G7SQU4AXDR6RAALANCNFSM4PRPIZ4Q
.

We have 3 different versions depending on which version of Laravel you use.
I think I have spotted the issue and patched it, can you try now and let me know if it is still an issue.

Ah, sorry, I didn't realize there were three versions. I know how annoying
it is when someone doesn't give all the needed info.
Got the latest and it works. Thanks!
On Sat, Aug 1, 2020 at 9:51 AM Colin Hall<EMAIL_ADDRESS>wrote:

We have 3 different versions depending on which version of Laravel you use.
I think I have spotted the issue and patched it, can you try now and let
me know if it is still an issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MacsiDigital/laravel-api-client/issues/7#issuecomment-667558723,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXFZE4CZSQRKTFDCFNG42TR6RB2LANCNFSM4PRPIZ4Q
.


feat: open --creds-setup to set up the OAuth consent screen

This PR is to introduce a helpful command to directly open the URL https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID] for setting up credentials.

[ ] npm run test succeeds.

It should work, but (1) on my local machines other tests failed for other reasons and (2) the open command does not seem to be tested at all? (test/command/open.ts did not seem to be transpiled into buld/test/command/open.js and I am confused.)

[x] npm run lint succeeds.
[x] Appropriate changes to README are included in PR.

PS: I did not open a separate issue because I felt the feature is straightforward enough to discuss in a PR.

I am no longer interested in maintaining this PR. One can manually type in the URL anyways.


Can't run dump.py. Waiting for USB device...

Hi
When i try using dump.py in terminal, it show that:
File "/Users/LinhMui/Downloads/frida-ios-dump-master/dump.py", line 58
print 'Waiting for USB device...'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Waiting for USB device...')?

Although i connect success with iproxy 2222 22 and using ssh root@localhost -p 2222

Please help
Thanks

You can switch to 3.x branch.

Thanks for quick reply. But i used Python 3.7 and using "Python3.7 ./dump.py" but it still show "Waiting for USB device". How to fix them? In my MAC cant install Frida with 2.7 pre install on Mac 10.12
Thanks

Same problem

@linhmui  update frida on mac and iphone device. Then pull lastest frida-ios-dump code.

@AloneMonkey Thanks. Lets me try

Do you update frida-ios-dump ?

yes, 3.x branch use python 3

I got the same issue .My frida version is 12.0.6.
You can try:

find "/opt/MonkeyDev/bin/dump.py" file and change "if dev.type == 'tether'" to "if dev.type == 'usb'"
find dump.py in frida-ios-dump-master and change "if dev.type == 'tether'" to "if dev.type == 'usb'"
input "./dump.py appname" in terminal, it output "Waiting for USB device..."
connect your iphone to your mac by usb, you can see message "Start the target app appname" and it satrt to dump.

Lastest code had fixed this problem.

@alonemonkey seem to be issue is python2 code not compatible with python 3. So please update code for python3. I used other folk frida dump was normal
Thanks

Changing USB cable worked for me.

changing to 3.x branch didn't work for me.
I had to restart my computer and respring my iphone for it to work lol. respringing my iphone probably would of been sufficient.


Change the default plugin name from napari-foobar to anything that doesn't start with napari

Since we no longer need the napari- prefix to find plugins, and it's not a very useful prefix to have when browsing for plugins, we should change the default plugin name to something else, to encourage new users to not have napari as the first word in their package name.

I dunno... while I agree that having everything start with napari- in the hub or the plugin browser seems repetitive, if the sole purpose of the thing is to be a napari plugin, than not having it in the name makes it far less digestable in the broader python ecosystem (this is why, for example, all pytest plugins start with pytest- and all flake8 plugins start with flake8- and all django plugins ... etc...)
I certainly think that some plugins shouldn't start with napari (if they have use outside of napari), but if the sole purpose is napari, I don't think it's bad.
If this is just about browsing, then I think we could have a checkbox that strips the napari- prefix in whatever browser is being used

If this is just about browsing, then I think we could have a checkbox that strips the napari- prefix in whatever browser is being used

I don't really think that's a good decision, as the package name is the package name, and we shouldn't be changing it. I take your point that if it's just a napari plugin maybe it should have napari in the name though.
I guess what we really want here is better adoption of the display_name, so maybe we should change the prompt for the display_name to provide more context? And maybe we can change the name from napari-foobar to, idk something more meaningful like napari-segmentation and the display name to Image Segmentation?

just as we convert the package name to an underscore for the top level module, we could add a display name option to the cookiecutter and give them a suggestion (stripping the napari- and using title case)?

huh, so when you're looking at a list of installed things, or dependencies, and you see flake8- or django-, you have no opinion on it?  For me, while there are certainly other ways to know something about a package (e.g. I could find their repository and look in their classifiers to see if they support a given thing), if the sole purpose of something is to be, say, a flake8 or django plugin, then that starts to become a bit more than just a little metadata, and i think elevating it into the naming makes sense.

Ok but you can't make me change the zarpaint or affinder names 😂
I agree that it's interesting when looking a pip lists. I suppose I don't look at them that often — I typically prefer to nuke an environment than to dig deep. 😂

Ok but you can't make me change the zarpaint or affinder names

wouldn't dare! :) I have nothing against names without the prefix ... (and if a package could be used without napari, then I think it probably shouldn't have the prefix).

I'll note that it's easy to find napari plugins with napari --plugin-info.

yes, but again, I think you're being a bit napari-centric here :)  (just as the original post when considering "how it looks in a napari search").  napari --plugin-info tells you something once you've got napari installed.  the package naming is a universal python ecosystem indicator.  that's the part I care about here.  If a python package exists for the sole purpose of use with another python package, i think prefixing it with the name of that other package is a reasonable thing to do.  As soon as that premise doesn't hold, then yes of course, name it whatever you want

@jni yeah I agree with @tlambert03 that, in general, in the big wide world of python packages, it'd be nice for our plugins to be prefixed with napari. I also don't think we should name mangle the actual package names for browsing (either in viewer or in the hub). For display and information conveying purposes, we have the display_name metadata and that's what I think we should leverage here.
Hence, my proposal is to change the default plugin_name in the cookiecutter prompt to napari-seg (kinda meaningful but not very informative and starts with napari) and the display_name prompt to Threshold Image Segmentation (very meaningful, informative, and doesn't start with napari).

The #142 change only display name, not plugin name itself

@Czaki but if you see the discussion above, it seems most folks don't want the plugin name to not start with napari-. I still disagree but I understand the arguments so 🤷. I'm ok with closing this as wontfix.

(But I'm also ok with reconsidering!)

Since this is still open, just want to add my thoughts as a new developer. This statement by @DragaDoncila:

my proposal is to change the default plugin_name in the cookiecutter prompt to napari-seg (kinda meaningful but not very informative and starts with napari) and the display_name prompt to Threshold Image Segmentation (very meaningful, informative, and doesn't start with napari).
is the implicit logic that prompted me when I was using the cookie cutter for the first time. I ended up using napari-x for plugin name but X-name for display_name. It made sense to me, and was consistent with how I also search for napari plugins to begin with and how I prefer to see their display names in napari's menus.

I'm happy with having the napari prefix still in the prompt for package name, and I like that we've changed the prompt for the display name. I think @TimMonko if I understand correctly, you agree with this logic also, so I'm going to close with as not planned. Folks please chime in or open a new issue if there's still changes desired 😊


Aion kernel error: BlockHeaderValidator

Aion kernel error:
18-03-28 19:35:32.448 ERROR SYNC [p2p-worker-4]: BlockHeaderValidator raised errors:
AionPOWRule				computed output<PHONE_NUMBER>9279242159522091270045692399178294137847297360779114871993166993586) violates boundary condition<PHONE_NUMBER>4953969906808336755444247319213596493347089677929132008712396361)
Aion solo mining pool:
2018-03-28 19:35:18 [Pool]	[aion] (Thread 1) getblocktemplate call failed for daemon instance 0 with error {"type":"request error","message":"connect ETIMEDOUT <IP_ADDRESS>:8545"}

the issue happens during the header format change. the current version should not have this issue. close issue.


feat(RadialGradient): RadialGradient

Description
RadialGradient.
Type of change
Please select the relevant option.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Codecov Report

Merging #166 (bdbc3b2) into main (2fc80b3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #166   +/-   ##
=======================================
  Coverage   90.77%   90.77%
=======================================
  Files         155      155
  Lines        7386     7386
  Branches     2031     2031
=======================================
  Hits         6705     6705
  Misses        560      560
  Partials      121      121

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2fc80b3...bdbc3b2. Read the comment docs.


APIv2: Can do at most one request for rootless

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
I can do only one request for rootless service, then the podman.service fails to start with Error: unable to create socket unix:/run/user/1000/podman/podman.sock: listen unix /run/user/1000/podman/podman.sock: bind: address already in use
Steps to reproduce the issue:

Freshly booted machine: (everything is as expected)

 $ systemctl --user status podman.socket
● podman.socket - Podman API Socket
   Loaded: loaded (/usr/lib/systemd/user/podman.socket; enabled; vendor preset: enabled)
   Active: active (listening) since Thu 2020-04-16 12:27:59 CEST; 3min 56s ago
     Docs: man:podman-api(1)
   Listen: /run/user/1000/podman/podman.sock (Stream)
   CGroup<EMAIL_ADDRESS>
Apr 16 12:27:59 z-hlmaschine systemd[1882]: Listening on Podman API Socket.

$ systemctl --user status podman.service
● podman.service - Podman API Service
   Loaded: loaded (/usr/lib/systemd/user/podman.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:podman-api(1)

Do some request for rootless: (succeeds, all well and good)

$ curl --unix-socket /run/user/1000/podman/podman.sock http://d/v1.24/libpod/containers/json?all=true
[{"Command":["mongod"],"Created":1581845550,"Exited":false,"ExitedAt":-62135596800,"ExitCode":0,"Id":"1779ea8b42af50809fcf8fff0f570a43b4bdc6b6383e4480090d45ad991a83e3","Image":"docker.io/library/mongo:latest","IsInfra":false,"Labels":null,"Mounts":["/data/configdb","/data/db"],"Names":["mongo"],"Namespaces":{},"Pid":0,"Pod":"5933b46614e93ba8d2fe58f96124dc28acd1236ee4da95c598a88c327f31296b","PodName":"","Ports":null,"Size":null,"StartedAt":-62135596800,"State":"configured"},{"Command":null,"Created":1581845549,"Exited":false,"ExitedAt":-62135596800,"ExitCode":0,"Id":"1de315c48f30e3bd9a02f012af3371a480e016e6f53634493ff54b1e3b7bdd95","Image":"k8s.gcr.io/pause:3.1","IsInfra":true,"Labels":null,"Mounts":[],"Names":["5933b46614e9-infra"],"Namespaces":{},"Pid":0,"Pod":"5933b46614e93ba8d2fe58f96124dc28acd1236ee4da95c598a88c327f31296b","PodName":"","Ports":[{"hostPort":80,"containerPort":5000,"protocol":"tcp","hostIP":""},{"hostPort":27017,"containerPort":27017,"protocol":"tcp","hostIP":""}],"Size":null,"StartedAt":-62135596800,"State":"configured"},{"Command":["app.py"],"Created":1581885985,"Exited":false,"ExitedAt":-62135596800,"ExitCode":0,"Id":"f28d51a51239c0c2cb3e687dda2dbf9cf08edebba45c4f36624d0c753983aaad","Image":"localhost/mmarusak/tnuro:latest","IsInfra":false,"Labels":{"maintainer":"Clement Verna \u003ccverna@fedoraproject.org\u003e"},"Mounts":[],"Names":["tnuro_app"],"Namespaces":{},"Pid":0,"Pod":"5933b46614e93ba8d2fe58f96124dc28acd1236ee4da95c598a88c327f31296b","PodName":"","Ports":null,"Size":null,"StartedAt":-62135596800,"State":"configured"}]

Do another request (Doing the same, but it fails now)

$ curl --unix-socket /run/user/1000/podman/podman.sock http://d/v1.24/libpod/containers/json?all=true
curl: (7) Couldn't connect to server

Check state of podman.socket and podman.status

$ systemctl --user status podman.socket
● podman.socket - Podman API Socket
   Loaded: loaded (/usr/lib/systemd/user/podman.socket; enabled; vendor preset: enabled)
   Active: failed (Result: trigger-limit-hit) since Thu 2020-04-16 12:34:24 CEST; 12s ago
     Docs: man:podman-api(1)
   Listen: /run/user/1000/podman/podman.sock (Stream)

Apr 16 12:27:59 z-hlmaschine systemd[1882]: Listening on Podman API Socket.
Apr 16 12:34:24 z-hlmaschine systemd[1882]: podman.socket: Trigger limit hit, refusing further activation.
Apr 16 12:34:24 z-hlmaschine systemd[1882]: podman.socket: Failed with result 'trigger-limit-hit'.

$ systemctl --user status podman.service
● podman.service - Podman API Service
   Loaded: loaded (/usr/lib/systemd/user/podman.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2020-04-16 12:34:24 CEST; 1min 12s ago
     Docs: man:podman-api(1)
  Process: 5209 ExecStart=/usr/bin/podman system service (code=exited, status=125)
 Main PID: 5209 (code=exited, status=125)
      CPU: 93ms

Apr 16 12:34:24 z-hlmaschine systemd[1882]: Starting Podman API Service...
Apr 16 12:34:24 z-hlmaschine podman[5209]: This function is EXPERIMENTAL.
Apr 16 12:34:24 z-hlmaschine podman[5209]: Error: unable to create socket unix:/run/user/1000/podman/podman.sock: listen unix /run/user/1000/podman/podman.sock: bind: address already in use
Apr 16 12:34:24 z-hlmaschine systemd[1882]: podman.service: Main process exited, code=exited, status=125/n/a
Apr 16 12:34:24 z-hlmaschine systemd[1882]: podman.service: Failed with result 'exit-code'.
Apr 16 12:34:24 z-hlmaschine systemd[1882]: Failed to start Podman API Service.

Note: Sometimes not even the first query succeeds and the error message from podman.service is slightly different:
Failed to shutdown libpod runtime: Error shutting down container storage: A layer is mounted: layer is in use by a containerError: unable to create socket unix:/run/user/1000/podman/podman.sock: listen unix /run/user/1000/podman/podman.sock: bind: address already in use
Output of podman version:
$ podman version
Version:            1.9.0
RemoteAPI Version:  1
Go Version:         go1.13.9
OS/Arch:            linux/amd64

Output of podman info --debug:
$ podman info --debug
debug:
  compiler: gc
  gitCommit: ""
  goVersion: go1.13.9
  podmanVersion: 1.9.0
host:
  arch: amd64
  buildahVersion: 1.14.8
  cgroupVersion: v2
  conmon:
    package: conmon-2.0.11-1.fc31.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.11, commit: 235027b49c7d27a65a2c51a7c1f5caff876f7ecd'
  cpus: 4
  distribution:
    distribution: fedora
    version: "31"
  eventLogger: journald
  hostname: z-hlmaschine
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 1935008
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 1935008
      size: 65536
  kernel: 5.5.7-200.fc31.x86_64
  memFree:<PHONE_NUMBER>0
  memTotal:<PHONE_NUMBER>2
  ociRuntime:
    name: crun
    package: crun-0.13-2.fc31.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 0.13
      commit: e79e4de4ac16da0ce48777afb72c6241de870525
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  os: linux
  rootless: true
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns-0.4.0-20.1.dev.gitbbd6f25.fc31.x86_64
    version: |-
      slirp4netns version 0.4.0-beta.3+dev
      commit: bbd6f25c70d5db2a1cd3bfb0416a8db99a75ed7e
  swapFree: 0
  swapTotal: 0
  uptime: 23m 8.07s
registries:
  search:
  - docker.io
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - registry.centos.org
  - quay.io
store:
  configFile: /home/mmarusak/.config/containers/storage.conf
  containerStore:
    number: 3
    paused: 0
    running: 0
    stopped: 3
  graphDriverName: overlay
  graphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-0.7.5-2.fc31.x86_64
      Version: |-
        fusermount3 version: 3.6.2
        fuse-overlayfs: version 0.7.5
        FUSE library version 3.6.2
        using FUSE kernel interface version 7.29
  graphRoot: /home/mmarusak/.local/share/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  imageStore:
    number: 27
  runRoot: /run/user/1000
  volumePath: /home/mmarusak/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
podman-1.9.0-1.fc31.x86_64

No timeout is defined by default in podman.service systemd unit file, so the service is up for only 5 seconds.
$ podman system service --help
Run API service

Description:
  Run an API service

Enable a listening service for API access to Podman commands.

Usage:
  podman system service [flags] [URI]

Flags:
  -t, --timeout int   Time until the service session expires in seconds.  Use 0 to disable the timeout (default 5)
      --varlink       Use legacy varlink service instead of REST

You have to create your own service for your user :
$ cat ~/.config/systemd/user/podman.service
[Unit]
Description=Podman API Service
Requires=podman.socket
After=podman.socket
Documentation=man:podman-api(1)
StartLimitIntervalSec=0

[Service]
#Type=oneshot
Environment=REGISTRIES_CONFIG_PATH=/etc/containers/registries.conf
ExecStart=/usr/bin/podman system service --timeout 0
TimeoutStopSec=30
KillMode=process

[Install]
WantedBy=multi-user.target
Also=podman.socket

Then reload and start the service
$ systemctl --user daemon-reload
$ systemctl --user start podman.service

No timeout is defined by default in podman.service systemd unit file, so the service is up for only 5 seconds.

How is that related? It is socket activated, so it should not be a problem.
And the same timeout is in the root service which works just fine.
$ cat /usr/lib/systemd/system/podman.service | grep ExecStart
ExecStart=/usr/bin/podman system service

@jwhonce wanna check that this is reproducible and indeed a bug as I am blocking cockpit-podman migrating from varlink to rest API on this.

@marusak The issue is a bug.  We exec podman when setting up for rootless.  That is currently orphaning us from systemd's socket activation protocol.  1.9 allows you one command while 2.0 currently allows none.  I'll research getting a fix for you.
/cc @giuseppe

Any update on this? We would like to get cockpit-podman with REST API into rhel-8.3, but we are slowly running out of time until we can actually make it.

@marusak can you try the latest version from git master?  I've used your reproducer and it seems to work fine here.  I can run curl multiple times and it always returns success.

Indeed, the current master does not have this problem anymore. Thanks!


New notes cannot be automatically saved to the previously set folder

New notes cannot be automatically saved to the previously set folder

Can you elaborate what you mean by previously set folder?

Last opened folder
Default Location for new notes in File settings
Something else

I mean Obsidian supports specifying the storage location when create a new note.

Can you elaborate what you mean by previously set folder?

Last opened folder
Default Location for new notes in File settings
Something else

I think he means the second option. Because i have the same issue.
Elaborating further; When you go into obsidian and set the configuration under
"Files & Links" > "Folder to create new notes in"
To a specific folder specific, the "New Note" Button from Make.md does not respect this rule.

Resolved since 0.5


[charts/karavi-observability] Feature cert gen init

Is this a new chart?
No
What this PR does / why we need it:
Adds cert-manager as a dependency on the karavi-observability chart and creates cert-manager resources to enable ssl cert management for the karavi-observability services.
If no certificates/keys are provided in the values.yaml, cert-manager will automatically use self-signed certs.
Which issue(s) is this PR associated with:

https://github.com/dell/karavi-observability/issues/1

Special notes for your reviewer:
Documentation related to this PR will be added to the dell/karavi-observability repo
Checklist:
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Chart Version bumped
[x] Variables are documented in the chart README.md
[x] Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

Can you list the tests that were run as part of this change, such as if automated e2e tests were run after deploying with these helm chart changes. Also, was this validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus to verify that the dashboards were displaying proper metrics and topology data?

Can you list the tests that were run as part of this change, such as if automated e2e tests were run after deploying with these helm chart changes. Also, was this validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus to verify that the dashboards were displaying proper metrics and topology data?

Can you list the tests that were run as part of this change, such as if automated e2e tests were run after deploying with these helm chart changes. Also, was this validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus to verify that the dashboards were displaying proper metrics and topology data?

This was validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus both with a standard install and using the offline installation method. I manually observed the metrics data showing on the dashboards using cert-csi to generate metrics. For the offline installation I did have to prevent the script from pulling the pre-release images so that I could use the 0.2.0 images of the Karavi Observability components.

Can you list the tests that were run as part of this change, such as if automated e2e tests were run after deploying with these helm chart changes. Also, was this validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus to verify that the dashboards were displaying proper metrics and topology data?

This was validated with a full deployment of Karavi Observability, OTEL, Grafana, and Prometheus both with a standard install and using the offline installation method. I manually observed the metrics data showing on the dashboards using cert-csi to generate metrics. For the offline installation I did have to prevent the script from pulling the pre-release images so that I could use the 0.2.0 images of the Karavi Observability components.

Are you going to do documentation update in another PR. We might have to document that we can deploy Karavi Observability without cert provided too.

Are you going to do documentation update in another PR. We might have to document that we can deploy Karavi Observability without cert provided too.

Are you going to do documentation update in another PR. We might have to document that we can deploy Karavi Observability without cert provided too.

I have updated documentation in this karavi-observability PR https://github.com/dell/karavi-observability/pull/19

Are you going to do documentation update in another PR. We might have to document that we can deploy Karavi Observability without cert provided too.

I have updated documentation in this karavi-observability PR https://github.com/dell/karavi-observability/pull/19


iOS Build Fail Telerik Appbuilder

Using the cordova plugin within Telerik App Builder's Windows IDE. Android deploys and works correctly, however iOS fails to build with the following error log:
[2015-02-17 09:34:33.531] Log (Info,None): Project "XXXX.tmp.proj" (default targets):
iOS Build Tooling revision 2<IP_ADDRESS>
Link: ld: framework not found Metal for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Link: ld: framework not found Metal for architecture armv7s

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Link: ld: framework not found Metal for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Done building project "XXXX.tmp.proj" -- FAILED.
[2015-02-17 09:39:13.762] Log (Info,None): Project "XXXX.tmp.proj" (default targets):
iOS Build Tooling revision 2<IP_ADDRESS>
Link: ld: framework not found Metal for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Link: ld: framework not found Metal for architecture armv7s

clang: error: linker command failed with exit code 1 (use -v to see invocation)
Link: ld: framework not found Metal for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

We don't use Metal framework in library, matbe it solution for you problem?
https://www.appsee.com/blog/dev/xcode-new-link-frameworks-automatically-fix-framework-not-found-metal-for-architecture-armv7
More information is needed:

XCode version.
Cordova version.
List of installed plugins (cordova plugin ls)


Update qhimm.xml

Small update preparing for new additions to the mod

i replaced the file on the drive, the url is still the same

@Mewsin151 version numbers can't have more than one '.' (dots)   please reup with a different version number

Fixed and matched


Implement refresh token support for Google API access

Related to #48
Implements automatic refresh token handling for Google authentication to maintain access to the Google People API without requiring a logout and login.

Authentication Updates: Modifies src/OpenAIDemo.Web/Startup/ServiceExtensions.cs to request a refresh token during Google authentication and stores the refresh token in the user's database record if available.
Google API Client Enhancements: Updates src/OpenAIDemo.Web/Library/GoogleApiClient.cs with a method to refresh the access token using the stored refresh token and adjusts existing methods to utilize the refreshed token if the current token is expired.
Configuration Adjustments: Adds a property to src/OpenAIDemo.Web/Startup/Config/GoogleOptions.cs for storing the Google OAuth refresh token endpoint URL.
Database Schema Extension: Introduces a new property in src/OpenAIDemo.Web/Entities/User.cs to store the refresh token for each user.

For more details, open the Copilot Workspace session.

I’m going to try a different approach


Include original reference to 'gender' in COC

To be extra explicit for the following reason:
'Gender' can be defined as the way society perceives your gender to be (often in a binary format). Whereas 'gender identity' may be referred to as your own sense of self/identity. As they can certainly both form the basis of harassment, I felt I should correct my mistake and put 'gender' back in much like the Contributor Covenant does.
Happy to discuss, and apologies for my original mistake.

r? @steveklabnik

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Let's discuss before making changes to the COC. cc @rust-lang/core

Thanks for the contribution! We'll plan to talk about this change, and CoC changes in general, at the next core team meeting on Wednesday. See my other comment for a bit more detail.

I just opened a PR which synchronizes our list of personal characteristics with the one found in the contributor's convenant. This includes the change proposed here, along with a few other things. Therefore, I'm going to close this PR in favor of https://github.com/rust-lang/rust-www/pull/288. Thanks @Charlotteis.


Issue serializing tx for offline signing

I need to sign a transaction offline. When I use the tx.ToHex() and Transaction.Parse(), I think some coin data is getting lost:
// .... do all build steps here online except adding secret key

Transaction tx = bldr.BuildTransaction(false); // build tx, don't sign
WriteTextFile(tx.ToHex()); // serialize

// ..... go offline (separate machine)

bldr = new TransactionBuilder();
bldr.ContinueToBuild(Transaction.Parse(ReadTextFile()));  // deserialize
bldr.AddKeys(new BitcoinSecret(".... MySecretKey ....")); // add private key
tx = bldr.BuildTransaction(true); //build and sign - Why is tx scriptSig empty?

// ..... serialize tx again for broadcast online .....

If I sign the Tx before ToHex(), the scriptSig field is populated, but signing after ToHex\Parse doesn't work. My current workaround is to serialize the coins then re-add them offline, but that step should be unnecessary. Is there another step I need to do before calling ToHex ?
Also - Is there a way to serialize\deserialize transactions using JSON format? Tx.ToString() shows JSON, but I don't see any way to read it.

The coins are not serialized inside the transaction. Your workaround is the correct approach. (There are JsonConverter in the NBitcoin project to make it easy to serialize the Coins in JSON)
You should use tx.ToHex() and new Transaction(string hex) to roundtrip transactions. JSON representation are only useful for debugging purpose.


Upgrade gems: rake, patch-fuzzy versions

Edit: remove the seed_dump update since it looks like it might be breaking tests.

Looks like you're already pretty up-to-date, but would you be up for automatically creating dependency update PRs in the future? I built Dependabot to do that at my last company - it puts in a PR every time there's a new version of one of your dependencies. Could be a time-saver, and we made it free for open source. Worth checking out? There's an example PR here.

@greysteil I actually have no idea who you are! Or if we should be using your service, or if this is an automatic message?
We're currently using Gemnasium and I just haven't set it up to automatically update (they have a new beta feature to do that).

Haha, not an automated message - I've just been looking through GitHub PRs at the way people handle dependency updates to figure out the best way.
Gemnasium's pretty good - we used it at GoCardless when I was there, but never got on with the automated updates (has been in beta for years...). Built Dependabot to fix the shortcomings (we wanted one PR per dependency, for them to auto-rebase, and not to come from someone's laptop - not sure if Gemnasium have changed all that stuff now). Give it a go if you fancy, but I won't be offended if not!

Other than Gemnasium, we are still pretty manual about dependency updates, comes of being a side project maintained by two people in their spare time :D Thank you for the link, we will take a look!

It's how lots of the best things start 🙂


AdagioAnalyticsAdapter: remove auctionId override

Type of change

[ ] Bugfix

[ ] Feature

[ ] New bidder adapter

[x] Updated bidder adapter

[ ] Code style update (formatting, local variables)

[ ] Refactoring (no functional changes, no api changes)

[ ] Build related changes

[ ] CI related changes

[ ] Does this change affect user-facing APIs or examples documented on http://prebid.org?

[ ] Other

Description of change

To ensure compatibility with our backend while staying compliant with the behavior introduced in https://github.com/prebid/Prebid.js/issues/9781 we for some time generated our own specific auction id.
We will now rely on source.tid, thus requiring publishers to set enableTIDs to true.
The analyticsAdapter won't start if this option is not set to true

Other information

Related to https://github.com/onfocusio/Prebid.js/pull/44

Merged in https://github.com/onfocusio/Prebid.js/pull/49


Configurable metric formatting for RichProgressBar

What does this PR do?

Fixes #18367
This PR makes the string formatting of metric values configurable.
This allows for tracking losses in non-standard scenarios (e.g losses in the range 1e-7).

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

Reviewer checklist

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Thanks for the contribution 🚀
Would it be possible to provide a test as well?

Of course, I added two tests at https://github.com/Lightning-AI/lightning/pull/18483


[FormRecognizer] Cleaning up clients and tests

API change check
API changes are not detected in this pull request.


Change "Mundschutz" to "Mund-Nasen-Bedeckung"

This pull-request changes the translation for "Mundschutz" to "Mund-Nasen-Bedeckung" this is because "Mundschutz" is confusing many people and they wear it only on their mouth instead of the mount and nose. It is also the term used from RKI:
https://www.rki.de/SharedDocs/FAQ/NCOV2019/FAQ_Mund_Nasen_Schutz.html

Thanks for your suggestion. Please have a look at #440 as we cannot influence the texts within the app.


Websockets documentation examples ignore path

All the examples of how a websockets server is supposed to behave show the callback taking the requested path as a parameter... and then completely ignoring it. For instance:
https://websockets.readthedocs.io/en/stable/intro/tutorial2.html
Can you update the documentation to show what a server is supposed to do when it receives a request that has an invalid path?

If you don't recognize the path, just close the connection:
The intended pattern for this in the latest version of websockets would be:
async def handler(websocket):
    if websocket.path != "/":
        return

I removed the path parameter precisely because many websocket servers:

either serve a single endpoint, so they don't care (similar to how you can tack arbitrary query params on HTTP requests and most HTTP servers will be fine with that)
or decide which endpoint to serve based on the first message sent on the connection rather than the path

To me, path is more of a side effect of the decision to design the WebSocket handshake for compatibility with HTTP/1.1
than something useful.


Compile executables for major platforms using github actions

WIP: executable name specify use of operating system and architecture.

Ok I dont know if this is ready tho. I feel like the commits are not in order or something. Besides that I think Im ready for this PR.

@ziloka  The generated files don't seem to work.
$ ./proxybroker-Linux-x86_64 --help
Traceback (most recent call last):
  File "py2exe_entrypoint.py", line 1, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "proxybroker/__init__.py", line 31, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "proxybroker/api.py", line 9, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "proxybroker/checker.py", line 16, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "proxybroker/judge.py", line 5, in <module>
ModuleNotFoundError: No module named 'aiohttp'
[122468] Failed to execute script 'py2exe_entrypoint' due to unhandled exception!

Maybe need to specify the module lookup path with -p or use --hidden-import with pyinstaller?

Sorry, I just made a fix, it would be great if you would merge this

@ziloka thanks!

This PR is ready fyi, i should've used the draft button.

Hi @ziloka there's a conflict file change. Might need to sync/merge/rebase from master branch.
BTW, is .devcontainer/ necessary here?

.dev container isn't necessary. it is for using a docker container as a development environment

@ziloka haha I know. Sorry what I really mean is, can you remove the .devcontainer/ to avoid conflicts? :rofl:

Sorry for the long delay, I made a commit to remove devcontainer configuration files but it seems like you need to do something on your end (those with write access) to resolve the conflict.. ?

@ziloka so nice to see you back!
I've removed existing .devcontainer/, can merge when all tests pass. :+1:

@ziloka so nice to see you back!
I've removed existing .devcontainer/, can merge when all tests pass. :+1:

alright


Improve Popup animation

Caps the Y travel distance
Makes the length determine the lifetime

popup-anim.webm
The values might need some tweaking based on other user experience. I spent ~20 minutes with it and it seems fine to me.
Resolves #11629

length seems fine to me, others might find it kind of short. looks a lot better than the previous behavior


Forced Combination error

Error being thrown in the latest version when forced  combination is not empty, using the sample layers
Setting up the folling forced combinations for floral:  MetallicShades Golden Sakura
Force picking MetallicShades/n
(node:92974) UnhandledPromiseRejectionWarning: ReferenceError: element is not defined
    at pickRandomElement (/Users/lk-user/Documents/hashlips_art_engine/4/art-engine/src/main.js:466:53)
    at /Users/lk-user/Documents/hashlips_art_engine/4/art-engine/src/main.js:641:5
    at Array.forEach (<anonymous>)
    at createDna (/Users/lk-user/Documents/hashlips_art_engine/4/art-engine/src/main.js:639:11)
    at startCreating (/Users/lk-user/Documents/hashlips_art_engine/4/art-engine/src/main.js:807:20)
    at /Users/lk-user/Documents/hashlips_art_engine/4/art-engine/index.js:13:3
    at Object.<anonymous> (/Users/lk-user/Documents/hashlips_art_engine/4/art-engine/index.js:14:3)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)

Hi bro, i got the same error, so on main.js at line 466 i changed the ${element.zindex} for ${forcedPick.zindex} and worked for me


Launcher shell should execute simple commands as "> ssh ..." in cmd or powershell, currently nothing happens

Summary of the new feature/enhancement

Proposed technical implementation details (optional)

Closing as duplicate of #3405


Support inferring stencil index as constant in simple unary expressions

A common pattern in stencil indices is using A[-c] where c is a constant. This PR infers -c as constant as well, allowing more optimization and inference of neighborhood. This only works in parallel=True mode.

Codecov Report

Merging #3199 into master will decrease coverage by <.01%.
The diff coverage is 80.43%.

@@            Coverage Diff             @@
##           master    #3199      +/-   ##
==========================================
- Coverage   81.08%   81.08%   -0.01%
==========================================
  Files         384      384
  Lines       75191    75236      +45
  Branches     8441     8447       +6
==========================================
+ Hits        60969    61002      +33
- Misses      12931    12940       +9
- Partials     1291     1294       +3

Added the test for the error raised in regular and njit paths.

There is a Python 2.7 failure now showing up as a result of circular imports involving ir_utils.  It looks like we have ir_utils->postproc->transforms->ir_utils.  Python 3.5 and later can resolve circular imports in some cases, but Python 2.7 cannot.
The full traceback is here:
https://travis-ci.org/numba/numba/jobs/416937344#L6860-L6887

Looks like a recent PR merge has introduced this circular import dependency (I couldn't reproduce initially). I merged master and fixed it.

Thanks for the fixes @ehsantn, just pushing this through the build farm again.

The build farm "passed", with the caveat that on windows 64 the test_concurrent_jit_cache test failed. The fail probably isn't related to this PR.

Thanks for the fixes. Merging.


[Functional] Can't remove/delete a wallet

Should be usefull to remove a wallet on wallet screen details :

There is actually a delete function here, but this page doesn't have a good description so you can't find it

Ok forthat. Then, I should be usefull you add delete button as asked 👍

Information button in right upper corner is a good idea. May be it should be in blue ?


Ignore SSL Warning for RabbitMQ Checks if explicitly requested to do so

What does this PR do?
If you have ssl_validation turned off for RabbitMQ checks, and additionally have many (MANY) queues, your logs are consumed with SSL validation errors (100's of warnings/min)

Oct 25 14:06:00 ip-xxx-xxx-xxx-xxx agent[1252]: /opt/datadog-agent/embedded/lib/python2.7/site-packages/urllib3/connectionpool.py:857: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

Motivation
To cut down on log volume. Additionally, I stole the entire core concept from this PR: https://github.com/DataDog/integrations-core/pull/1574
Review checklist

[x] PR has a meaningful title or PR has the no-changelog label attached
[ ] Feature or bugfix has tests
[x] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo

Additional Notes
I didn't write tests, because testing the warnings module seemed...excessive. I can inject and mock if needed, but it doesn't seem like the right thing to do.

also this is broken, fixing right now. first stab did not work.

Any chance I can get a review on this?

Codecov Report

Merging #2472 into master will increase coverage by 6.14%.
The diff coverage is 85%.

@@            Coverage Diff             @@
##           master    #2472      +/-   ##
==========================================
+ Coverage   84.16%   90.31%   +6.14%
==========================================
  Files         575        8     -567
  Lines       34061      516   -33545
  Branches     4144       79    -4065
==========================================
- Hits        28667      466   -28201
+ Misses       4146       37    -4109
+ Partials     1248       13    -1235


Added clearColor game config property. Closes #6

Added requested feature in issue #6 to change the default clear color.
Should be backwards compatible since it uses Color.GREY by default.

Should all mentions to "Color.GREY" be changed to "Color.Gray"?

Hi @graphnode thank you very much for taking the time to add this! As mentioned in #6, would you mind changing clearColor to defaultDotColor? I think it's a bit more descriptive, and it means users of the engine don't need to know about how the engine clears the screen on each frame.

Should all mentions to "Color.GREY" be changed to "Color.Gray"?

Yes, it should be Gray but it's capitalized because that is how the color names are.

Ok, renamed the property and fixed the comment.


options are ignored by policy requires method

README.markdown has one example where :version option is provided to policy requires method:
requires :rails, :version => '2.1.0'
But when I look at source http://github.com/crafterm/sprinkle/blob/master/lib/sprinkle/policy.rb#L66-68 I see that these options are ignored (initially I thought that :version will override default version specified in package definition). So either README example should be fixed and options should be removed or options should be somehow implemented in this method.

+1

yep, +1

I had a short look at this:

the block of the package is evaluated at definition time. At that time the options of the policy are not known -> Problem
evaluating the block at call time (policy) is also a problem as some things like "version", "requires" has to be known beforehand to build the dependency tree.

Actually I don't see a way to go without breaking the DSL. But one very simple question:
why is "provides" used as an option of the package and "version" and "requires" as methods of the DSL?
Two possible solutions:

moving everything that is needed to build the dependency tree outside of the block and the installing and verification into the block would make lazy eval with options from the policy possible.
Or have two blocks inside the package definition: one for meta stuff (describing the package) and one for using the package:

package :mystuff do
tree do
requires xxx,xxx,xxx
provides yyy
version 123
end
build do |options|
runner ...
verify ....
end
end
end
I could implement one of the possibilities. What's your opinion?

Would definitely allow for more flexibility from the end-user perspective. Eventually when you have a large amount of packages in your repository you don't have to manually update the version number / patch levels (in the package source) every time.

@pschrammel I like this DSL:
package :mystuff do
  tree do
    requires xxx,xxx,xxx
    provides yyy
    version 123
  end

  build do |options|
    runner ...
    verify ....
  end
end

Where options would be a Hash. This would allow for a lot more flexibility. Though, isn't it possible to move the version in to the build block? It would be nice not to have to dive in to the package itself to change the required version. I don't think version is required to build the dependency list, or is it?
A front-end DSL like this would be nice:
requires :admin_users do |options|
  options[:version]    = "1.9.3"
  options[:patchlevel] = "p0"
  options[:users]      = ["wibble", "bill"]
end

Which would be the equivalent of what @raldred stated:
requires :admin_users, {:users => ['wibble','bill']}

It's more verbose, but more consistent with the block-style API. Or additionally, the option to use either/or. Think something like this would be possible?

@pschrammel I like this DSL:
package :mystuff do
  tree do
    requires xxx,xxx,xxx
    provides yyy
    version 123
  end

  build do |options|
    runner ...
    verify ....
  end
end

Where options would be a Hash. This would allow for a lot more flexibility. Though, isn't it possible to move the version in to the build block? It would be nice not to have to dive in to the package itself to change the required version. I don't think version is required to build the dependency list, or is it?
A front-end DSL like this would be nice:
requires :admin_users do |options|
  options[:version]    = "1.9.3"
  options[:patchlevel] = "p0"
  options[:users]      = ["wibble", "bill"]
end

Which would be the equivalent of what @raldred stated:
requires :admin_users, {:users => ['wibble','bill']}

It's more verbose, but more consistent with the block-style API. Or additionally, the option to use either/or. Think something like this would be possible?

Running in to all sorts of annoying issues with the DSL unfortunately. Tried to temporary get around the whole options thing by just prompting the user for information, like this:
package :ufw do
  ports            = ask "Which ports would you like to allow?", force: true, split: " "
  current_ssh_port = ask "What is your current SSH port?",       force: true
  new_ssh_port     = ask "What should the new SSH port be?",     default: "22"
  # etc etc
end

But since the package() method is apparently called when it's being defined then it will always prompt you even if you're not even using the module. So it's not really possible to do anything flexible at this time (as far as I know). You would have to copy/paste/edit packages like procedural code, instead of using them in a method-like fashion.
Are there any plans to modify the packages module in order to allow policy requires() with options?

Running in to all sorts of annoying issues with the DSL unfortunately. Tried to temporary get around the whole options thing by just prompting the user for information, like this:
package :ufw do
  ports            = ask "Which ports would you like to allow?", force: true, split: " "
  current_ssh_port = ask "What is your current SSH port?",       force: true
  new_ssh_port     = ask "What should the new SSH port be?",     default: "22"
  # etc etc
end

But since the package() method is apparently called when it's being defined then it will always prompt you even if you're not even using the module. So it's not really possible to do anything flexible at this time (as far as I know). You would have to copy/paste/edit packages like procedural code, instead of using them in a method-like fashion.
Are there any plans to modify the packages module in order to allow policy requires() with options?


Convert unit tests under "persistence" dir to Kotlin

Towards #532

Things done:

Convert the class to kotlin and apply refactors as needed
Remove @JvmStatic and @Throws annotation from the classes which are no longer accessed by Java code

@gino-m @JSunde  PTAL?

Codecov Report

Merging #1233 (7bb289d) into master (11270e3) will decrease coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1233      +/-   ##
============================================
- Coverage     28.73%   28.64%   -0.10%
+ Complexity      775      772       -3
============================================
  Files           297      297
  Lines          7375     7374       -1
  Branches        351      351
============================================
- Hits           2119     2112       -7
- Misses         5157     5163       +6
  Partials         99       99

Impacted Files
Coverage Δ

...m/google/android/ground/model/TestModelBuilders.kt
36.36% <0.00%> (-54.55%)
:arrow_down:

...google/android/ground/model/task/MultipleChoice.kt
27.27% <0.00%> (-9.10%)
:arrow_down:

...ersistence/remote/firestore/schema/LoiConverter.kt
17.24% <0.00%> (ø)

...nce/remote/firestore/schema/SubmissionConverter.kt
70.00% <0.00%> (ø)

...remote/firestore/schema/TermsOfServiceConverter.kt
100.00% <0.00%> (ø)

...ence/local/room/converter/ResponseJsonConverter.kt
40.90% <0.00%> (+0.90%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Landing page

Hey this is a major WIP (not only did the computer not save my work but my internet at home went down which made it difficult to work/problem solve)

Good work on adding info to the homepage

Currently reading through to work on resolving the  conflict

Everything was good, you were just missing a  tag. Nice work.