Clink extension for Windows' standard command line not fully supported

VSCode Version: 1.2.0
OS Version: Windows 7 64-bit with Polish language pack

Steps to Reproduce:

Install Clink.
Toggle integrated terminal in VSCode.
With "clink set option_name value" command, change esc_clears_line to 1 and use_altgr_substitute to 0.
Try to use Clink shortcut that require combination of alt + ctrl + anything, where anything is a key, that combined with altgr will make a special character on your system. Instead of Clink function, in VSCode integrated terminal you'll see that special character. For me, that's for example ć character, instead of copy whole line function.
Try to use alt + h shortcut to show help of Clink. Instead, help menu of VSCode will expand.
Try to clear a line with the escape key. Line will be cleared, but terminal will hide.

Clink is very good expansion for Windows' standard cmd, while integrated terminal is very good expansion for VSCode - so I'm really disappointed they aren't fully compatible with each other. Hope you will do something about that.

I found another two issues, which possibly could be present on standard command prompt too:

When I'm trying to use combination of ctrl + left/right arrow to jump throught a whole word, instead it prints "5D" and "5C", respectively.
Scrolling terminal with up and down arrows with scroll lock turned on doesn't work.

@Toreno96 I played with Clink a little yesterday and filed an issue of my own https://github.com/Microsoft/vscode/issues/7630
It seems very broken to me currently, I would just avoid using it in vscode right now. I have a feeling it may be on the Clink end as well because most other shells (powershell, cmd, bash, zsh) don't demonstrate the issues that Clink does.

Related https://github.com/Microsoft/vscode/issues/7345

Closing off, a lot has changed since now including the upgrade to winpty which improved Windows support a lot.


[stable/prometheus] Feature for supplying Alertmanager multiple ConfigMap volumeMounts

Which chart: stable/prometheus
It would be nice if the template for Alertmanager had extraConfigmapMounts; we supply our templates via config maps.  Looking at the template for the Prometheus server, it may be a good idea to add the following to the Alertmanager template:

extraHostPathMounts
extraConfigmapMounts
extraSecretMounts

I have the same issue: I want alertmanager to mount a configmap which holds a alertmanager-template.
Unfortunately there were no reactons on maguro.


installer: ignore errors in color setup, for FreeBSD portability

This is a hack to keep the installer working on systems without tput/terminfo, including FreeBSD (at least in the default installation for 10.2).
Partially fixes #4404.
Follows up on #3664.

What about the upgrade? #4382 might be due to set -e as well in the upgrade.sh script.

upgrade.sh doesn't do a set -e. Wouldn't have affected it.

Let's revisit the installer soon. I feel that recent changes have been a workaround on top of the other and maybe it's time to go full zsh. Thanks!


import MOP directly into RXNO

At the moment MOP is not directly imported into RXNO but only classes of it are imported.
This can lead to inconsitencies, e.g:

cycloaddition is for example subsumed under cyclisation in RXNO but not so in MOP.
there is a conflict between the classes polymerisation (MOP:0000629) & polymerisation reaction (RXNO:0000246) (or their respective subclasses), since both classes express the same chemical reaction type/mechanism but are subsumed under different parent classes ('molecular process' resp. 'carbon-carbon coupling reaction)

In order to maintain MOP and RXNO better, I therefore propose to import MOP directly into RXNO and resolve any conflicting issues.

This would make a lot of sense.
Is there anything I need to do on my part?

I have not started yet. But I think it would make sense to go over the axiomatization design decisions first, as these are a bit entangled with this.

What needs to be done now, is to reconcile the MOP classes defined in RXNO with the one on MOP.
I will try my best to do so but will therefore update the TSV and add columns with comments for you to check/sign off @colinbatchelor, ok?

switching from the VM to my Windows environment for that and also from TSV to Excel for better readability, upload of the .xlsx will follow

FYI, @colinbatchelor, idk if you know, but when checking these in Protege, it's best to load MOP & RXNO in the sam e workspace, so that you can just switch between the two while keeping the selected class. I go for using str+f to search the respective term and then switch back and forth to see the differences in the annotations/axioms.

FYI, @colinbatchelor, idk if you know, but when checking these in Protege, it's best to load MOP & RXNO in the sam e workspace, so that you can just switch between the two while keeping the selected class. I go for using str+f to search the respective term and then switch back and forth to see the differences in the annotations/axioms.

@colinbatchelor MOP:0000584, MOP:0000585, MOP:0000586, MOP:0000587 and MOP:0000588 are subsumed only under 'alkene oxidative cleavage' (RXNO:0000344) in RXNO but in MOP under 'alkene oxidation' (MOP:0000581) and 'oxidative cleavage' (MOP:0000707) although there also exists the class  'alkene oxidative cleavage' (MOP:0000708).
So first problem, MOP:0000708 and RXNO:0000344 seem to be the same, thus where should this class be declared MOP or RXNO?
Second, to avoid asserted multiple inheritance , it would be better to stick to the pattern of using chemical groups for the differentiation of the subclasses, thus asserting MOP:0000584, MOP:0000585, MOP:0000586, MOP:0000587 and MOP:0000588 to be children of 'alkene oxidative cleavage' and defining 'oxidative cleavage' (MOP:0000707) in a way that allows us to infer that 'alkene oxidative cleavage' is also an 'oxidative cleavage'. My chemistry knowledge is to limited to propose such a definition unfortunately.

From a non-chemist perspectiv, I don't understand why 'oxidative cleavage' is acually needed as a subclass of oxidation in MOP, when the various oxidations are defined according to their involved reactants (e.g. alkene). I can see that it is certainly helpful for grouping purposes. But its current definition "A bond-breaking process where the oxidation states of the reactive centres increase." seems to be too generic to be actually useful for a such grouping as one would have to define "oxidation state" and "reactive centre" for that. Wouldn't it thus be easier to just drop 'oxidative cleavage'?

OK, after trying to understand more what oxidative cleavage is, I see why it is needed. However, what remains to be done, if we want to avoid asserted multiple inheritance, is a better definition (textual and logical) of "oxidative cleavage".

My pattern proposal to infer subclasses of 'oxidative cleavage' like  'alkene oxidative cleavage' is to define the former with the equivalenceTo axiom: oxidation and ('has occurrent part' some 'breaking of covalent bond').
This way we'd only have to add the sublcassOf axiom 'has occurrent part' some 'breaking of covalent bond' to each oxidation subclass that is also an 'oxidative cleavage'. Using ELK or Pallet this multi-inheritance can then be inferred (see screen shot)

Now, I wonder if using 'breaking of covalent bond with group' would be more precise instead of 'breaking of covalent bond', as I interpret the "substrate" mentioned in the definition of the former as the "reactive centre" used in the definition of 'oxidative cleavage' .

I think this is on the right lines, most classification use cases can be satisfied with simple logical definitions like this.
I would need to know more about the modeling to know whether the proposed logical definition is too permissive. Can you have a single instance of an oxidation process that encompasses different mechanisms.
There is a bad smell here is that the text def differs from the proposed logical definition:

A bond-breaking process where the oxidation states of the reactive centres increase

But maybe this is just a matter of the genus and differentia being inverted in order, which doesn't affect the meaning? Still it's good if these are aligned. I really recommend MOP adopt a more standard genus-differentia form where the genus is a term in the ontology. Because the text def makes it seem like the superclass should be 'breaking of covalent bond;
Looking at the structure of this part of the hierarchy you may get more mileage from axiomatizing the   terms. There are more of these, more asserted MI, and due to their triviality are less likely to lead to divergence between intended OWL and stated OWL.  (I am just looking at MOP here)

Thank you a lot @cmungall for this feedback!

I would need to know more about the modeling to know whether the proposed logical definition is too permissive. Can you have a single instance of an oxidation process that encompasses different mechanisms.

I'm afraid, I don't really understand what you mean with the second sentence. As far as I understand it, there are oxidations which can result in a cleavage of the substrate, e.g. the double bond of an alkene is cleaved, and those are special types of 'oxidative cleavage'. If there are oxidations which entail a different mechanism than cleavage, I would assume that we'd have to define new classes for these, e.g. 'oxidative [other mechanism]', not?

There is a bad smell here is that the text def differs from the proposed logical definition:

Totally agree. Having spoken to my chemist colleagues and wrt the fact that 'oxidative cleavage' is being asserted as a subclass of 'oxidation' in MOP, the inverted order of the genus and differentia doesn't change the meaning and thus the textual definition would also have to be changed to something along the lines of: "An oxidation that also entails the breaking of a covalent bond of the oxadized substrate." But let's wait what @colinbatchelor, or some other chemists reading this, will say to this.

Looking at the structure of this part of the hierarchy you may get more mileage from axiomatizing the terms. There are more of these, more asserted MI, and due to their triviality are less likely to lead to divergence between intended OWL and stated OWL. (I am just looking at MOP here)

If you refer to 'primary alkene oxidation to carboxylic acid and carbon dioxide', 'quaternary alkene oxidation to ketones'
'secondary terminal alkene oxidation to ketone and carbon dioxide', 'secondary, non-terminal alkene oxidation to aldehydes' and
'tertiary alkene oxidation to carboxylic acid and ketone', I can say that they are subsumed only under 'alkene oxidative cleavage' in RXNO. This is part of the problem I try to solve in this issue, that MOP terms are declared in RXNO and MOP and unfortunately sometimes in different ways. Assuming that the subsumtion in RXNO is more correct, I propose to subsume them like this also in MOP. But then we are left with the fact that in MOP they are also subsumed under 'oxidative cleavage', hence my axiomatization proposal.
current 'oxidation' branch in MOP

vs
current 'oxidation' branch in RXNO

What leaves me puzzeled however is that ELK or Pallet in Protégé won't infer that the subclasses of 'alkene oxidative cleavage' are also subclasses of 'oxidative cleavage'. So the inferred MI stops at the level of 'alkene oxidative cleavage'. Why is that and would it thus be better to drop the proposed eqivalentTo axiom on 'oxidative cleavage' and just define 'alkene oxidative cleavage' as the union of 'alkene oxidation' and 'oxidative cleavage'?

@batchelorc I'm done with the reconciliation in the Excel file. So I'm waiting for your feedback to my comments in there. But I will already start to purge the ones from RXNO that are identical in both tomorrow and push this rxno.owl to our NFDI4Chem issue branch.

As the owl files in the root folder are the release artefact, I need to create editor files in which the direct import and the reconciliation is done and from which the improved release artefact will be generated. This is also needed as a prerequisite to switch to an ODK workflow (#40).


Add the possibility to force the use of openDNS DNS servers dynamicaly ( revert to DHCP dns when disabled )

It is almost impossible to change local DNS settings on the phone.
One thing that can be done is to create a local VPN server that forward all packet without touching them.
As the local VPN server can have some DNS servers defined it can be a complicated but very effective solution to force using some DNS servers such as OpenDNS ones in our case.
Some interesting project to look at :

https://github.com/M66B/NetGuard/blob/master/app/src/main/java/eu/faircode/netguard/ServiceSinkhole.java
https://github.com/antest1/KcaSniffer/blob/master/app/src/main/java/com/antest1/kcasniffer/KcaVpnService.java
https://github.com/VPNht/android/blob/master/app/src/main/java/ht/vpn/android/network/VPNService.java
https://github.com/mozsoy/MyVpnService/blob/master/app/src/main/java/com/metehan/myvpnservice/MyVpnService.java
https://github.com/AoEiuV020/VpnProxy
https://github.com/madeye/BaoLianDeng
https://github.com/hexene/LocalVPN
https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn/ToyVpnService.java

Done in  da1b06a


Improve gamut mapping

This has changed a little bit. Initially, we wanted to correct an issue where when using oklch-chroma, we return oklch(1 0 none) or oklch(0 0 none) if lightness is extreme on either the light or dark side. This is per the CSS spec (returning white or black that is, not necessarily the way we do it). The problem is that conversion back from oklch(1 0 none) is sometimes slightly out of gamut for sRGB, and HSL can't handle that at all and will give a non-achromatic result. Returning sRGB white or black is far more reliable.
While doing this we noticed that we force HDR spaces to shortcut returning white or black when lightness was extreme for an SDR range. This is incorrect, so we now declare a space's dynamic range and can make judgments based this. As far as GMA is concerned, this means not applying SDR shortcuts on an HDR space.
Additionally, we've decided that GMA/clipping should not return an undefined channel as zero. Instead, an undefined channel is neither in gamut nor out of gamut, it isn't defined. This will prevent us from wiping out undefined channels when interpolating and a fit is required.

@gir-bot lgtm


Add attribute((const)) to grid related functions declarations

Make declarations consistent with devicelibs' ockl.h
Without the attribute these functions don't have "readnone" LLVM IR attribute. And so some optimizations fails, e.g. Loop Invariant Code Motion doesn't hoist these calls out of a loop.

I suspect __attribute__((const)) can be used with these functions.
My understanding is that this attribute assumes the return value depends only on argument, i.e. compiler can assume foo(0) always return the same value. However, obviously the local id will return different value for different work item. I am not sure how this plays out in a divergent control flow.
My concern is that whether divergence analysis will be confused by this attribute. For example, if (local_id(0)==0) will be treated as a convergent control flow due to this attribute.

LGTM.  I'm not aware of this attribute implying anything about convergence.

My understanding is that this attribute assumes the return value depends only on argument, i.e. compiler can assume foo(0) always return the same value....

Actually they say "return value is not affected by changes to the observable state of the program" that is true for these functions. Perhaps it's more clear if we think that a program runs once on all workitems and operates with vectors.
Other meaning is that these return values are not changed during whole program run time, for all workitems and don't depend on the state of a program.

My concern is that whether divergence analysis will be confused by this attribute. For example, if (local_id(0)==0) will be treated as a convergent control flow due to this attribute.

I mean that if (local_id(0)==0) can be transformed to
tmp = local_id(0)
<some code changing state of program>
if (tmp)

A compiler cannot do this without the attribute. In our case it's more complicated: we have declaration in hip header without the attribute and device library (check link in PL' description) that has the attribute.
So some passes that performed before linking with devicelib are not allowed to make these transforms, but latter passes are.

My understanding is that this attribute assumes the return value depends only on argument, i.e. compiler can assume foo(0) always return the same value....

Actually they say "return value is not affected by changes to the observable state of the program" that is true for these functions. Perhaps it's more clear if we think that a program runs once on all workitems and operates with vectors.
Other meaning is that these return values are not changed during whole program run time, for all workitems and don't depend on the state of a program.

My concern is that whether divergence analysis will be confused by this attribute. For example, if (local_id(0)==0) will be treated as a convergent control flow due to this attribute.

I mean that if (local_id(0)==0) can be transformed to
tmp = local_id(0)
<some code changing state of program>
if (tmp)

A compiler cannot do this without the attribute. In our case it's more complicated: we have declaration in hip header without the attribute and device library (check link in PL' description) that has the attribute.
So some passes that performed before linking with devicelib are not allowed to make these transforms, but latter passes are.

I did not notice the attribute is already in device lib, then LGTM. Thanks.

I have no rights to merge the change so please proceed the PL.


Testing Java UIO on Orange Pi

First of all, I would like to say a big "Thank you!" for making this project. This project is very promising especially for its cross platform and performance.
I'm trying to use Java UIO on Orange Pi PC Plus. Since this SBC is using the same CPU as NanoPi M1 (Allwinner H3). I think I could use NanoPi M1 "input file" to work with Orange Pi PC Plus. I could install and compile Java UIO on Orange Pi successfully. However,  when I tried to run LedBlink demo, it didn't work out. So, I thought it didn't work because I use the wrong input file. So, I tried to read the code to find a way to specify the input file, but couldn't find any. So, I take a look at another source code (Gen.java) and see that it clearly has an argument to specify the input file.
So, my question is very simple. How could I specify the input file in the demo program?
Sorry if I'm asking a silly. I'm an experienced java programmer, but I'm quite new for low-level programming (e.g. GPIO) in java.

@jkeerati so the input files are for MMIO GPIO (https://github.com/sgjava/javauio/tree/main/tools#high-performance-gpio-using-mmio) and are tied to the boards chipset. Are you using Armbian? The first thing you should do is test GPIO pin with LED by installing GPIOD sudo apt install -y gpiod then take a look at https://www.ics.com/blog/gpio-programming-exploring-libgpiod-library. Java UIO uses the same pin numbers and library.

Thanks for your answer. Yes, I'm using Armbian. I just use GPIOD to do a simple test with Java UIO on Orange Pi PC Plus (both GPIOD and MMIO GPIO) and it is working well :)

So the M1 mappings worked for MMIO? With the boards I did it should cover H2+, H3 and H5 as far as Allwinner.

Yes, NanoPi M1 (m1-map.properties) MMIO property file is working with OrangePi PC Plus, but I think the pin arrangement on each SBC may differ. For example, the pin "203" is not present in OrangePi PC Plus.

Yes pin mapping will be different, but the registers are the same. 203 is GPIOG11 on the M1 (the G is the group name) https://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1#Layout
Notice how you have PA, PC, PD, etc.? That's probably the Orange PI groups. See https://github.com/sgjava/javauio/blob/e42f04d430c9641730071941aabeda97b2564350/periphery/src/main/resources/m1.properties#L26
Hope that makes sense. You may need to make a copy of the properties and change https://github.com/sgjava/javauio/blob/e42f04d430c9641730071941aabeda97b2564350/periphery/src/main/resources/m1.properties#L18 (these are the same as GPIOD) and https://github.com/sgjava/javauio/blob/e42f04d430c9641730071941aabeda97b2564350/periphery/src/main/resources/m1.properties#L22
The memory mapping is a little more challenging to change https://github.com/sgjava/javauio/blob/main/periphery/src/main/resources/m1-map.properties
I provide the tools https://github.com/sgjava/javauio/tree/main/tools#high-performance-gpio-using-mmio so you can use GPIOD pin mapping to get memory addresses. This is a lot more efficient than using the datasheet and offsets.

I'll try to make property file for OrangePi, but I think I need to learn more about MMIO. My current knowledge about MMIO is rather limited (just enough to do a simple testing). I think it would requires a deeper knowledge to understand and create property file.

@jkeerati you can start with the H3 datasheet http://wiki.friendlyarm.com/wiki/images/4/4b/Allwinner_H3_Datasheet_V1.2.pdf, but honestly I've done all the hard work. You mainly just need to map what I pointed out above. A totally new chip takes me a few hours with my tools. If you did it by hand like other libraries it would take days. If I had a OPi I would have mapped it already :)


Evaluation Code

Currently you have provided the code for MoF evaluation.
Can you share the code you used for calculating other metrics reported in the paper?

Following!


Ability to incrementally add permissions

Right now, if you're using stuff like auto-create-collection and auto-create-indexes and want to add permissions, it's very inconvenient. hz set-schema will refuse to update permissions until you specify all auto created collections and indexes in the schema.toml file.
We should have a --merge option on the set-schema command that only adds things from the schema file that aren't present, but doesn't remove things or balk if they don't completely match
ping @Tryneus

I think this would be necessary for production mode as well.
For example, let's say you find and bug with your current permissions (perhaps a user can inadvertently read another users data), you would want to be able to update the permissions dynamically, without removing any collection data.

Good point, I changed the name of the issue

There already is a --merge option to hz set-schema. It's called --update:
--update [yes|no]     Only add new items and update existing, no removal..
The "update existing" part of this is based on the group+name pair of a security rule that is specified in the TOML file (i.e. an existing rule is replaced if the user group and rule name match a new rule).
Seems like we'll need to add some additional documentation on hz set-schema as well.

...also I vaguely remember that we talked about set-schema suggesting the use of --update in the error message that it provides when applying a schema would delete data. Presumably that's not currently the case?

Doh. That's embarassing, I guess I should have looked at the command directly

Oh I might have confused that with suggesting the use of --force in the error message. I think we should add a mention of --update as well. How about:
These collections would be removed along with their data:
...
Run with "--force" to continue and remove these collections, or use "--update" to skip removing existing collections while still applying new and changed collections, indexes and rules.


fix: NPE in unused EcxHandler block removal code (#2086)

Description
In a comment to PR https://github.com/skylot/jadx/pull/2086 I tried to report a NPE in some cases, but I wasn't able to provide a stable plain java test case. Now I have an apk with the same issue.
Steps to reproduce:

download https://apkpure.net/python-documentation-guide/com.thiyagaraaj.learnpython/download/3.8
decompile the method android.support.v4.graphics.TypefaceCompatUtil.mmap(Context context, CancellationSignal cancellationSignal, Uri uri) with latest git version:

java.lang.NullPointerException: null
	at jadx.core.utils.blocks.BlockSet.get(BlockSet.java:24)
	at jadx.core.dex.visitors.blocks.BlockExceptionHandler.removeUnusedExcHandlers(BlockExceptionHandler.java:603)
	at jadx.core.dex.visitors.blocks.BlockExceptionHandler.process(BlockExceptionHandler.java:72)
	at jadx.core.dex.visitors.blocks.BlockProcessor.independentBlockTreeMod(BlockProcessor.java:325)
	at jadx.core.dex.visitors.blocks.BlockProcessor.processBlocksTree(BlockProcessor.java:51)
	at jadx.core.dex.visitors.blocks.BlockProcessor.visit(BlockProcessor.java:44)
	at jadx.core.dex.visitors.DepthTraversal.visit(DepthTraversal.java:26)
	at jadx.core.dex.visitors.DepthTraversal.lambda$visit$1(DepthTraversal.java:14)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
	at jadx.core.dex.visitors.DepthTraversal.visit(DepthTraversal.java:14)
	at jadx.core.ProcessClass.process(ProcessClass.java:75)
	at jadx.core.ProcessClass.generateCode(ProcessClass.java:118)
	at jadx.core.dex.nodes.ClassNode.decompile(ClassNode.java:391)
	at jadx.core.dex.nodes.ClassNode.getCode(ClassNode.java:336)
	at jadx.api.JadxDecompiler.lambda$appendSourcesSave$2(JadxDecompiler.java:373)
	at jadx.core.utils.tasks.TaskExecutor.wrapTask(TaskExecutor.java:166)
	at jadx.core.utils.tasks.TaskExecutor.lambda$runStages$0(TaskExecutor.java:147)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

After adding a check for null the result looks better. Checking for null shouldn't be wrong, but this fix is probably incomplete, as this won't fix the root cause. Code caches need to be cleared to test this fix.
For android.support.v4.graphics.TypefaceCompatUtil.mmap(File file) it helped too, but compared to the latest release v1.4.7 there is still a regession. This method is very simple and the source code is known (https://android.googlesource.com/platform/frameworks/support/+/a9ac247af2afd4115c3eb6d16c05bc92737d6305/compat/src/main/java/androidx/core/graphics/TypefaceCompatUtil.java#81). Maybe this regression is fixable.

Thanks for test case!
Fix is fine, but handler block in exception handler shouldn't be null, so something goes wrong in try/catch processing. I will try to investigate this.
And as soon as I will merge this fix as a temporary solution, @nitram84 can you open a new issue with mentioned test case? :slightly_smiling_face:

Looks like I found cause of unused exception handlers :cry:
It was code to remove shadowed handlers (wider typed catch before more narrowed type), but implementation and checks were poor. Also for try with resources, compiler generate weird catch blocks with Throwable and ALL types for same instructions but with different handler code. Removing such handlers is not correct and lead to missing code without warnings, such behavior is unacceptable. So I decided to remove such code and start working on a more general approach to restore try with resources (old but still not resolved issue: #101).


Set producer compression type to zstd

Zstd compression adds minimal CPU overhead but saves bandwidth. It's a win-win. GCN is experimenting with adopting zstd compression.

I think this is a good default (I'm a big fan of Zstd myself), but if we're going to touch this we should probably make it configurable in case power users need to change it?

Good idea. Please take a look.


CastException when running this example

To reproduce, compile and run the following
let const [A, B] (x : A) (y : B) : A = x;
let const2 = const [Int];
const2 [Bool] 3 False

It type checks, but has cast exception

Compiling to Java source code ( ./Main.java )
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean
at Main.apply(Main.java:34)
at Main.main(Main.java:39)

Strangely, the following can type check:
let const2 [B] (x : Int) (y : B) : Int = x;
const2 [Bool] 3 False

With @hy-zhang we confirmed this is related to #27

I'm still fixing #27. Hang tight.


Use delete() instead of truncate() in Migration Repository

Closes https://github.com/babenkoivan/elastic-migrations/issues/34
Unfortunately I'm not able to emulate the database transaction closing with SQLite upon truncate() (SQLite will execute a DELETE statement since it apparently does not support truncates).
I did however add a sanity test so we're sure all records are actually deleted with delete().
If you'd like me to scaffold a GitHub test action with a MySQL instance to run the tests on let me know! 👍

Ok all set, apologies for the lateness.

Thank you @stevebauman, it is now published as v2.0.1.

Awesome thanks @babenkoivan! 👍


fix net.ipv4.ip_forward settings

If the /etc/sysctl.conf contains net.ipv4.ip_forward_use_pmtu

Thanks, good catch.


Regression in import/order rule after v2.26

Related to https://github.com/import-js/eslint-plugin-import/issues/2909
Hi, im currently still stuck on v2.26 because a regression made in v2.27 which incorrectly suggests the wrong order for my config. I have cloned the repo and written a test which works in 2.26 but fails in the latest version which may help:
test({
  code: `
  import express from "express"
  import server from "http"

  import logger from "../logger"
  import something from "../utils"
  import {Config, Route, Server} from "./types"
  `,
  options: [
    {
      'newlines-between': 'always',
      groups: [
        ['builtin', 'external'],
        ['parent', 'sibling', 'index'],
      ],
      alphabetize: {
        order: 'asc',
      },
    },
  ],
}),

This has obviously been an issue since Oct 2023 and i know there have been others that have raised similar issues too. I just wondered how to progress.

Is my config wrong and need updating for versions beyond 2.26 to enforce the same order?
Is this an agreed regression and need fixing, maybe i could help here?

Cheers!

I think this is a duplicate of #2722.
Help is appreciated there.


Switch reference to commonjs with es6 modules

Remove possibly lingering references to CommonJS modules in favor of using ES6 modules. These are the only references to CommonJS outside a node environment (like the grunt chapter)

👍


Make optional decoders fail with Left at the top-level for non-nulls

This addresses #851.
I think I've implemented the change correctly, so that only null at the top level decodes as Right(None) and decoding failures from the inner decoder are otherwise passed through. If this wasn't quite what you had in mind please let me know, I'm more than happy to fix it up.

Codecov Report

Merging #853 into master will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #853      +/-   ##
==========================================
+ Coverage   86.95%   87.03%   +0.08%
==========================================
  Files          71       71
  Lines        2331     2330       -1
  Branches      164      172       +8
==========================================
+ Hits         2027     2028       +1
+ Misses        304      302       -2

Impacted Files
Coverage Δ

.../core/shared/src/main/scala/io/circe/Decoder.scala
91.2% <ø> (+0.62%)
:arrow_up:

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 94a919c...eb3dc8e. Read the comment docs.

Thanks, looks good to me!


Integrate IMS

https://git.corp.adobe.com/pages/IMS/imslib2.js/
Features needed:

Sign in
Sign out
Get profile photo
Link to edit profile

Dropdown UI:

@auniverseaway What is the status ? Any progress ?

@kptdobe The bulk of the work is done. I'm wrapping up accessibility and mobile styling. I'll share details here when the PR is in.


SF2.7: Undefined property: appDevDebugProjectContainer::$config

In SF 2.7.9, I updated the bundle and get the error:
Notice: Undefined property: appDevDebugProjectContainer::$config
vendor/simplethings/entity-audit-bundle/src/SimpleThings/EntityAudit/AuditManager.php at line 44
This come from the factory syntax intruced by the commit 612416e0741225354e3b6ddb9f74dcb3c0ecdabb
The service should be used instead of the class

fixed in #176 - I will close this, as soon as I've tagged a new release

I just released 0.9.1 - give it a try
https://github.com/simplethings/EntityAudit/releases/tag/0.9.1


Creating custom sink nodes

I tried to create a sink for my example plugin (to manually test #380) and encountered some issues.
It's not entirely clear from the docs how to do this. There are classes for Stream and Source that one can inherit from, but there is no such class for sinks. At the same time, sinks clearly demonstrate some special behavior. They have to add themselves to _global_sinks, without which they don't work (btw, why?). Since we're talking about plugins, I think this detail should be hidden from whoever wants to create one.
There is only one reference implementation of a sink (the sink) in the codebase. There's also sink_to_list, which is just a method of Stream, and sink_to_file, which is not really a sink — it's a function and it's not in Streams's dir().
You can really get by with just the built-in sink by passing a callable object to it, but @martindurant mentioned sinks in the plugin discussion, so there should be at least some situation where you'd want to create another.

Completely agree again! There should be a Sink class, which subclasses Stream, and makes sure _global_sink happens.
In case you are wondering, the reason they are different is, that a sink terminates a stream graph, and so there's nothing to be done with the node anymore: stream_node.mysink(). This means there is no reason to keep a reference to the final sink node, and so you can easily have your entire graph garbage collected. It may no be the best way to ensure that sinks stay alive.
Agree that sink is basically really a map_sink. We should be careful about renaming it, though.

No, I think sink is a good name, it's really the most generic thing you can do: sink to a function. And of course, backwards-compatibility and all that.
So, should I make a separate PR for this, or just do it together with plugins? Seems like a different thing, but probably not worth refactoring without having a plugin system.


Add chat/converstaion mode as the default chat mode for all Vector Databases

Show menu for toggling options for chat/query/reset command Show chat status below input
resolves #61

Is this what I hope it is!?


[SPARK-34609][SQL] Unify resolveExpressionBottomUp and resolveExpressionTopDown

What changes were proposed in this pull request?

It's a bit confusing to see resolveExpressionBottomUp and resolveExpressionTopDown, which provide similar functionalities but with different tree traverse order. It turns out that the real difference between these 2 methods is: which attributes should the columns be resolved to? resolveExpressionTopDown resolves columns using output attributes of the plan children, resolveExpressionBottomUp resolves columns using output attributes of the plan itself.
This PR unifies resolveExpressionBottomUp and resolveExpressionTopDown and put the common logic in a new method, and let resolveExpressionBottomUp and resolveExpressionTopDown just call the new method. This PR also renames resolveExpressionBottomUp and resolveExpressionTopDown to make the difference clear.
Why are the changes needed?

code cleanup
Does this PR introduce any user-facing change?

no
How was this patch tested?

existing tests

cc @viirya @maropu @HyukjinKwon

Test build #135717 has started for PR 31728 at commit fef599b.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40299/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40299/

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

Test build #135717 has finished for PR 31728 at commit fef599b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

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

Test build #135743 has started for PR 31728 at commit 8c1697c.

Test build #135745 has started for PR 31728 at commit 8332a43.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40327/

Test build #135749 has started for PR 31728 at commit 7c2de54.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40327/

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40331/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/40331/

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

Test build #135743 has finished for PR 31728 at commit 8c1697c.

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

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

Test build #135745 has finished for PR 31728 at commit 8332a43.

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

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

Test build #135749 has finished for PR 31728 at commit 7c2de54.

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

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

thanks for the review, merging to master!


Preprocess S3DIS data

Hi, I downloaded the S3DIS data and unzipped the data, but it seems like the file structure of the dataset does not match your preprocessing code. The structure is as follows:
├── ReadMe.txt
├── Stanford3dDataset_v1.2_Aligned_Version.mat
├── Stanford3dDataset_v1.2_Aligned_Version.zip
├── Stanford3dDataset_v1.2.mat
└── Stanford3dDataset_v1.2.zip

Can you share your file structure and give me some suggestions?
Thank you very much!

Hi, you can unzip the Stanford3dDataset_v1.2.zip to a folder, the data should be there

Thank you very much.


Make a CI test for usage with Singularity

error when trying to pull container:
ERROR Error downloading None. Do you have permission to write to /home/travis/build/MaxUlysse/compile-beamer/container?


⚠ Bofrost.lu has degraded performance

In 6fbae50, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1985 ms

Resolved: Bofrost.lu performance has improved in 26a0f0e after 6 minutes.


splitroot() to understand different split points

Previously splitroot() could only split your path to components
around the '/artifactory/' substring.
This leads to problems with people having custom installation
URLs, without the 'artifactory' component.
Now, when you specify your artifactory URL in the config file,
the library will successfully split the paths starting with
that base URL.

Addresses #22

Implemented here: 2f1656a545ac97711cb7b36474b8185e663e7ecd


Installing<EMAIL_ADDRESS>failed.

Platform: macOS, 12.4
Inkdrop App Version: 5.5.1

Installing<EMAIL_ADDRESS>failed.

<EMAIL_ADDRESS>postinstall /private/tmp/apm-install-dir-2022525-98290-1kdsy1f.6r6zh/node_modules/solidity
rimraf node_modules/codemirror

npm WARN enoent ENOENT: no such file or directory, open '/private/tmp/apm-install-dir-2022525-98290-1kdsy1f.6r6zh/package.json'
npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No description
npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No repository field.
npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No README data
npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No license field.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn sh
npm ERR! file sh
npm ERR! path sh
npm ERR! errno -2
npm ERR<EMAIL_ADDRESS>postinstall: rimraf node_modules/codemirror
npm ERR! spawn sh ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Thanks for the report!
I fixed the bug in 1ea68a8b882cfdcc765df8b85c28306b4680ae70 and confirmed the installation of this plugin is successful on Windows 11.
Is it ok on your macOS system?

No.

Platform: macOS, 12.4

Inkdrop App Version: 5.5.1

Installing<EMAIL_ADDRESS>failed.

<EMAIL_ADDRESS>postinstall /private/tmp/apm-install-dir-2022525-98290-1kdsy1f.6r6zh/node_modules/solidity
rimraf node_modules/codemirror

npm WARN enoent ENOENT: no such file or directory, open '/private/tmp/apm-install-dir-2022525-98290-1kdsy1f.6r6zh/package.json' npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No description npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No repository field. npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No README data npm WARN apm-install-dir-2022525-98290-1kdsy1f.6r6zh No license field.
npm ERR! code ELIFECYCLE npm ERR! syscall spawn sh npm ERR! file sh npm ERR! path sh npm ERR! errno -2 npm ERR<EMAIL_ADDRESS>postinstall: rimraf node_modules/codemirror npm ERR! spawn sh ENOENT npm ERR! npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

hey! this is still broken on macOS


🧪 TESTS: Skip failing rinohtype tests

I can't reproduce or identify the source of this test's failure below Python v3.8.
Skipping these tests on versions below 3.8 will allow us to release until #123 is resolved.

@Daltz333, would you be happy for this to go in so that #117 can be released?
I'm happy to wait until this can be fixed properly, but not sure when I'll have a chance to take a deeper look


[IDP-941] Added new roslyn analyzer to enforce domainEvent name convention

Description of changes
Added new Roslyn Analyzer rule for enforcing the proper naming convention for DomainEvent names. It should follow the format of com.{Product}.{DomainService}.{Action} or com.{Product}.{DomainService}.{Entity}.{Action}
Breaking changes
The new package may force users to correct their domain event names if it was incorrect.
Additional checks
We are using .NET 8 for compilation. But we aren't changing any target framework versions.

[x] Updated the documentation of the project to reflect the changes
[x] Added new tests that cover the code changes

Next time I think this PR could have been split into 2 PR:

Updating the SDK version + using the new string formatting in existing test
Add the new test


Add fossa.yml

Signed-off-by: Dominique Vernier<EMAIL_ADDRESS>

@qiujian16 FOSSA_API_KEY needs to be added as the secret to this repo (or just add it as a secret for the whole org). I don't have permission to modify the settings for this repo or org. Thanks.

/lgtm


Swarm in 1.13 stops listening on published port after turning off healthcheck

I'm having a problem where docker swarm would stop listening to published port after health checks would be turned off.
Steps to reproduce the issue:
Steps to reproduce from a clean 3 node swarm cluster (all managers):
root@swarm1:~# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
2jrjw0f0t6k2hbf2w0d41db2x *  swarm1    Ready   Active        Reachable
aet822iruebj35gu4vlkn70bb    swarm3    Ready   Active        Leader
l4bdxu989ktteb61cte66dqbc    swarm2    Ready   Active        Reachable

I created a party-swarm network like this:
docker network create \
  --driver overlay \
  --subnet <IP_ADDRESS>/20 \
  --attachable \
  party-swarm

I need a simple redis service for the example app:
docker service create --replicas 1 --network party-swarm --hostname redis --name redis -p 6379:6379 redis:3.2-alpine

And then I create the app like this:
docker service create -e PORT=80 \
 --replicas 10 \
 --network party-swarm \
 --name gotwitter \
 -p 80:80 titpetric/gotwitter

At this point the service is reachable on port 80 on all nodes.
docker service update --no-healthcheck [service]

Describe the results you received:
At this point, dockerd doesn't listen on port 80 anymore.
Describe the results you expected:
I expected dockerd would listen on port 80.
Additional information you deem important (e.g. issue happens only occasionally):
I can restore listening on the published port by issuing docker service update --health-cmd "exit 0" --health-interval 30s gotwitter
Output of docker version:
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba372
 Built:        Wed Feb  8 06:44:30 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba372
 Built:        Wed Feb  8 06:44:30 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
Containers: 584
 Running: 260
 Paused: 0
 Stopped: 324
Images: 6
Server Version: 1.13.1
Storage Driver: devicemapper
 Pool Name: docker-8:1-5243831-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 811.1 MB
 Data Space Total: 107.4 GB
 Data Space Available: 106.6 GB
 Metadata Space Used: 22.82 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.125 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.137 (2016-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: 2jrjw0f0t6k2hbf2w0d41db2x
 Is Manager: true
 ClusterID: 2y5aa4qjf3e6akbclqx2rnx71
 Managers: 3
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.6.0-1-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 6
Total Memory: 7.793 GiB
Name: swarm1
ID: 3ER2:7GXI:IZR5:O7M6:HKJT:I22T:LOWM:NVW2:CBGL:5WV3:3B2Y:2YW4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No oom kill disable support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
I'm running the swarm on 3 servers, VMs, each with 8GB ram, enough of disk space. I'm trying to scale the service to run 1000 containers and so far haven't been able to go beyond about 750 containers. In order to make it work, I also had to tune some sysctl options, most notably these:
sysctl -w net.ipv4.neigh.default.gc_thresh1=8096
sysctl -w net.ipv4.neigh.default.gc_thresh2=8096
sysctl -w net.ipv4.neigh.default.gc_thresh3=8096

This was done because dmesg had errors in the form: neighbour: arp_cache: neighbor table overflow!. This in turn would cause network connectivity issues to the docker hosts themselves. I suspect this has something to do with the number of docker containers I'm spawning, but the only limits I could discern were that there's some limit about open ports per system (1024), perhaps related with this gh issue.  That being said, the limits seem to be lower for some reason, and I haven't figured a way to pinpoint the core issue behind them. Even with the health-cmd work-around docker service ls is reporting drops in the number of running containers.
root@swarm1:~# docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
jgt62g2bsydm  gotwitter  replicated  738/1000  titpetric/gotwitter:latest
syhtbxnz8zhh  redis      replicated  1/1       redis:3.2-alpine
root@swarm1:~# docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
jgt62g2bsydm  gotwitter  replicated  651/1000  titpetric/gotwitter:latest
syhtbxnz8zhh  redis      replicated  1/1       redis:3.2-alpine

This may have something to do with the healthcheck timeout option (set by Dockerfile, 10s), but I haven't verified this yet.
The source for the gotwitter image is here

I since upgraded the debian strech installs to the latest kernel (from 4.6 to 4.9) and rebooted all swarm nodes. I can verify that the issue persists on the newer version.
root@swarm1:~# docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
nwtnkak4yny4  gotwitter  replicated  0/10      titpetric/gotwitter:latest
syhtbxnz8zhh  redis      replicated  1/1       redis:3.2-alpine

I wait a few minutes until service becomes 10/10 (dockerd doesn't listen to port 80 at this time).
root@swarm1:~# docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
nwtnkak4yny4  gotwitter  replicated  10/10     titpetric/gotwitter:latest
syhtbxnz8zhh  redis      replicated  1/1       redis:3.2-alpine
root@swarm1:~# netstat -pan | grep docker | grep tcp | grep LIST
tcp6       0      0 :::80                   :::*                    LISTEN      497/dockerd
tcp6       0      0 :::2377                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::7946                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::6379                 :::*                    LISTEN      497/dockerd

After some time (<30s), docker stops listening to port 80:
root@swarm1:~# netstat -pan | grep docker | grep tcp | grep LIST
tcp6       0      0 :::80                   :::*                    LISTEN      497/dockerd
tcp6       0      0 :::2377                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::7946                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::6379                 :::*                    LISTEN      497/dockerd
root@swarm1:~# docker service ls
ID            NAME       MODE        REPLICAS  IMAGE
nwtnkak4yny4  gotwitter  replicated  10/10     titpetric/gotwitter:latest
syhtbxnz8zhh  redis      replicated  1/1       redis:3.2-alpine
root@swarm1:~# netstat -pan | grep docker | grep tcp | grep LIST
tcp6       0      0 :::80                   :::*                    LISTEN      497/dockerd
tcp6       0      0 :::2377                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::7946                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::6379                 :::*                    LISTEN      497/dockerd
root@swarm1:~# netstat -pan | grep docker | grep tcp | grep LIST
tcp6       0      0 :::2377                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::7946                 :::*                    LISTEN      497/dockerd
tcp6       0      0 :::6379                 :::*                    LISTEN      497/dockerd
root@swarm1:~#

Adding the fake health check:
root@swarm1:~# docker service update --health-cmd "exit 0" --health-interval 60s --health-timeout 60s gotwitter

Docker starts listening on port 80 again.
Updated docker info:
Containers: 9
 Running: 4
 Paused: 0
 Stopped: 5
Images: 6
Server Version: 1.13.1
Storage Driver: devicemapper
 Pool Name: docker-8:1-5243831-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 393.9 MB
 Data Space Total: 107.4 GB
 Data Space Available: 107 GB
 Metadata Space Used: 1.499 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.137 (2016-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: 2jrjw0f0t6k2hbf2w0d41db2x
 Is Manager: true
 ClusterID: 2y5aa4qjf3e6akbclqx2rnx71
 Managers: 3
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.0-1-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 6
Total Memory: 7.792 GiB
Name: swarm1
ID: 3ER2:7GXI:IZR5:O7M6:HKJT:I22T:LOWM:NVW2:CBGL:5WV3:3B2Y:2YW4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Also: docker service scale gotwitter=1000 still floats around 500-800/1000 even with updated healt-cmd/health-timeout=60s. It just doesn't want to go all the way. I suspect I might be limiting myself here with -p, as the containers get added to the ingress network, along with my custom party-swarm network?

Thanks for the super detailed bug report!
Rather than a networking issue, I believe this is a simple matter of "--no-healthcheck" not working at all and thus, with a misbehaving health check that always fail (which seems to be the case here, correct?), swarm will never send traffic from port 80 since no containers appear to be healthy.
I'm basing the above conclusion on the fact that using a --health-cmd that does succeed seems to be fixing the issue
/cc @nishanttotla since you originally implemented the HC feature in Swarm
/cc @dongluochen as you've worked on health check + load balancer in 1.13

Yes, in principle you are right, --no-healthcheck has the same result as if you would give exit 1 into health-cmd, apart from that the command docker service ls reports 10/10 (failed health checks would report 0/10 I believe - containers waiting on first health check don't count towards the active service containers).
I'll have the server setup running a while and I'm at your disposal if you would like to run some additional diagnostics or tests. I'm pretty sure that if I would pipe docker events into a file, the cause of this might show up there?

FYI, bug is also visible if service is created with the --no-healthcheck option to begin with.

The code didn't cover some variants of healthcheck configuration. This was fixed by https://github.com/docker/docker/pull/30197.

@dongluochen https://github.com/docker/docker/pull/30197 is included in 17.03.1, should this issue be closed?

@thaJeztah I still have the swarm up and running, I'll retest it shortly

@titpetric packages for docker-engine can be found here; http://apt.dockerproject.org/repo/pool/testing/d/docker-engine/
For docker-ce (but they're the same, other than a different name); use the regular installation instructions, but use the "test" channel instead of "stable" or "edge"

Thanks, I can't do that however :) I'll have to wait for 17.03.1 to come to the stable tree.

@thaJeztah I have tested the fix in 17.03.1. You may close this issue.

Thanks! Closing, but let us hear if you still have this after upgrading @titpetric


[Feature Request] Adding a Flow-State Mode in App

The Flow-State Mode would allow to:

Take breaks not when the timer runs out, but when we really need a break.

Oftentimes, the first Pomodoro session can be even 40 minutes long without taking breaks and you still do not feel like taking a break.
On the other hand, after a few Pomodoro sessions you might even be tired after 14 minutes of work

Not distracting yourself from being in the 'zone state'

Zone State - is referring to the moment when everything other than what you're doing ceases to exist
Being interrupted from this state might be frustrating, but a mindful user might decide for themselves when to stop the timer

The workflow in this would look like that:

the timer would simply count time,
After the user clicked on the timer BREAK would start up (this break could be calculated by TOTAL_MINUTES/4) or divided by the number 5.
When the BREAK ends, the WORK timer starts again.

The toggle settings to enable this Flow-State Mode might be on the general settings tab so that it doesn't interfere with the minimalistic interface
This option is provided by other competitive apps like ~Forest App~ <- I'm trying to not sponsor/advertise anything!!! :pray:
I personally think this option would be even better in Goodtime App!!!
I don't have great mobile development experience, but I would really want to help out!

Another user mentioned this: https://www.lesswrong.com/posts/RWu8eZqbwgB9zaerh/third-time-a-better-way-to-work
I plan to add something like this in the next major release so stay tuned!

If you ever doubt if if it's really worth it along the way, I'd say it easily beats Pomodoro by a mile. I'll be looking forward to the next major release.

As someone who hyper-focuses and relies on that state for specific types of work, it would be awesome if we could identify the sessions at the start, maybe by expanding tags to be different categories of tags?
I see the value and programattic benefit of maintaining one tag per session. Giving the tags a type between "regular" and "flow state" may be a clean way of implementing the flow state rules dynamically.
I'm also finding myself wanting to easily see the "job related thing" vs "personal" things... not sure how these ideas would best be reconciled to suggest a feature or something for that...

What do you think about combining the current labels and time profiles to create a work profile that contains the following?

type (countdown/timebox/pomodoro vs flow/count-up with work/break ratio)
name
color


Release chart 1.12.0 + matching operator

Artifacts and such released to all our repos. Pending completion of https://github.com/operator-framework/community-operators/pull/2746


Drawing motion graphs

I know that this is not much of an issue, but more like a question.
How can we draw graphs in manim that are not necessarily functions (for example a position-time graph)? I've already tried to draw function graphs, but I also want to use manim for physics. Any answer is much appreciated!

If you have both the x and y coordinates as a function of time, say as x(t) and y(t) then you can use ParametricFunctions like so
f = lambda t: np.array([x(t), y(t), 0])
func = ParametricFunction(f)

self.play(ShowCreation(func))

Also, in the ParametricFunction instantiation, you can specify start time and end time with t_min=(start time) and t_max=(end_time) like so ParametricFunction(f, t_min=0, t_max=1).
Hope this helps!

Thanks!


[4.3] Added get_open_scenes_roots to Editor Interface API

See godotengine/godot-proposals#10895
Closes #907
(cherry picked from commit godotengine/godot@5d72926100beb3a23a889b3c9a084d2ec2b9ae7e)

Original get_open_scenes function provided by Godot is quite limited as it only returns a string array containing the names of opened scenes. This feature is necessary for situations where accessing all opened scenes in depth is required and it is also essential for the Jenova Framework Hot-Reloading feature.
This commit includes :

Changes to the Editor Interface API (editor_interface.h and editor_interface.cpp)
Updates to the Editor Interface documentation (EditorInterface.xml)

Will consider cherry-picking to master if 4.4 lapses in including this by the time of Godot 4.4 feature-freeze.


Request to add scores of LLaMA-2-70B-Chat

LLaMA works well with langchina agent.
Here is some sample. https://www.youtube.com/watch?v=6iHVJyX2e50
Could you try to test it?

Thanks for your suggestion. We've updated the result.


[PRD] | Update withdraw modal UI

Closes #2527

Hey @DarksightKellar I have a few design callouts to what I am seeing in your screenshot:

Text needs to be aligned to baseline.
Every token/network/avatar circle should be 24px
Button spacing needs to be reduced
Apply card dimension effects

@decentdao/engineering is it appropriate to truncate the wallet address in this modal or is it vital to see the entire address?

Hey @DarksightKellar I have a few design callouts to what I am seeing in your screenshot:

Text needs to be aligned to baseline.
Every token/network/avatar circle should be 24px
Button spacing needs to be reduced
Apply card dimension effects

@nicolaus-sherrill See if the latest update matches expectation

@DarksightKellar looks good sir

Looks great! Approved


[occm] Delete sgs on reconfiguration

What this PR does / why we need it:
If we reconfigure CPO to set manage-security-groups=true, it will
correctly reconcile LBs to make sure SGs are created and associated with
nodes.  This commit makes sure that SGs are properly deleted when CPO is
reconfigured in opposite direction, with manage-security-groups=false.
Also a small refactoring of the SG deletion code is added in a separate commit.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:
[LoadBalancer]manage-security-groups option needs to be manipulated.
Release note:
NONE

/test openstack-cloud-controller-manager-e2e-test

/hold cancel
Okay, glad I've tested, it's EnsureLoadBalancer() that's called on startup, not UpdateLoadBalancer().

/hold cancel
Okay, glad I've tested, it's EnsureLoadBalancer() that's called on startup, not UpdateLoadBalancer().

Good catch! TBH it's a bit smelly that these are separate code paths. I guess it's safe to only have it in the path which is called on controller initialisation, because the value can't be changed without a controller restart.
/lgtm

/hold cancel
Okay, glad I've tested, it's EnsureLoadBalancer() that's called on startup, not UpdateLoadBalancer().

Good catch! TBH it's a bit smelly that these are separate code paths. I guess it's safe to only have it in the path which is called on controller initialisation, because the value can't be changed without a controller restart.
/lgtm

Yeah, true, it's smelly. UpdateLoadBalancer() is called independently from the nodeSyncLoop() and we do need to run the ensureSecurityGroup() there to make sure new nodes get the SG applied. We shouldn't need to delete the SG there though, I think I'm going to remove that part there.
We probably should try to detach the SG from the nodes that are removed from the LB too, but that's not trivial as we don't get the list of Nodes being removed from the LB. Currently this is worked around by the fact that when we're removing the SG, we have its ID tagged on the ports, so we can find them easily.
Maybe we can remove them by listing them by ID on the applyNodeSecurityGroupIDForLB()? I'll give it a bit of thinking. It doesn't affect this patch, I think.

/approve


Publishing .idea folder to npm

The .idea folder (webstorm generated I think) is been pushed to npm, please put it in the gitignore.
Great package btw.
$ ls -a
.  ..  .editorconfig  .idea  LICENSE  .npmignore  objectid.d.ts  objectid.js  package.json  README.md  test  typing-tests

The NPM cli wasn't respecting the global gitignore at the time of my last push :(
I added it to the project level .gitignore and republished @1.2.2


500 Internal Server Error

When visiting https://latexonline.cc receive the error message: “500 Internal Server Error”
Was reported at RoboCupAtHome/RuleBook#380

Thanks for the heads-up; brought it back to life.

Thanks for the quick fix!


Adding nomenclatural code as a flag

As a GNParser user, it would be useful to indicate the nomenclatural code that gnparser should use. For example, in botanical mode GNParser would interpret and normalize scientific names and authorships according to IPNI's style.
Some examples IPNI vs the current GNparser normalized form:
IPNI: Glaphyropteris simulans (Ching) H.Ito in Nakai & Honda
GNp: Glaphyropteris simulans (Ching) H. Ito ex Nakai & Honda
IPNI: Glaphyropteris (Fée) C.Presl ex Fée
GNp: Glaphyropteris (Fee) C. Presl ex Fée
IPNI: Hemionitis pinnata Hook.f.
GNp: Hemionitis pinnata Hook. fil.
IPNI: Dacrycarpus (Endl.) de Laub.
GNp: Dacrycarpus subgen. Endl. de Laub.
So it would mainly be taking out the space with C. Presl as C.Presl, not normalizing filius to fil. (e.g., Hook. fil. as Hook.f.), fixing the ex/in issue, and handling genus combination authorships. I'm not sure why GNp normalizes Fée to Fee in the original authorship. For handling genus combination authorships, often I know the rank with high confidence and could provide that as a parameter like &rank=genus to help GNp interpret it correctly although that might only work when parsing 1 name at a time.
It might still be useful to have an independent flag for f. to fil. normalization. While IPNI uses the f. for filius, normalizing to fil. could still be useful in some cases to disambiguate from f. for forma.

@gdower I did not close the ticket, please close it if all works the way you expect, or write here if something is not right.


Upgrade to React 18 and all latest package versions

As part of the project maintenance, all packages should be upgraded to latest versions starting from React 18.
Note that all packages might need some time to upgrade to React 18.
Once there's decent support for this new version of React, i.e. when NextJS upgrades to React 18, consider upgrading all packages.

Completed in #87


vendor: update envsubst

Update envsubst for bug fix
ex) https://github.com/drone/envsubst/pull/7

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

we need to bump envsubst, but we switched to go modules


GroupBy Operator like in Rxjs

Feature request.
Thoughts on implementing an operator groupBy
reactivex.io/documentation/operators/groupby.html

Hi @ckwong90 - you could probably achieve the same functionality with the community package most-dispatch. It allows you to specify a function identifying inbound events by key, then create derived streams that only receive events that match the specified key:
https://github.com/mostjs-community/most-dispatch

@axefrog Thanks for pointing to most-dispatch :+1:
@ckwong90 Please take a look and let us know if most-dispatch works for you.  If not, then I'd certainly be interested to hear more about your use case and what you're trying to accomplish.  Thanks!

I did a similar thing by listening to a stream and resending events to new streams created by zen-push
https://github.com/pnpm/pnpm-default-reporter/blob/d4aa4a5bad0f980748df79c8fc69b0416bf7ce60/src/reporterForClient.ts#L198-L207

I also recommend closing this issue on account of "lack of activity", and it looks like several solutions have been presented.

Thanks @EricCrosson.  Agreed.  Closing, since alternatives have been offered, and there's been no recent activity.


Cards Bugbash: Value layer still added for single valued collection variables

After creating a collection variable like this:

I would expect to be able to reference elements as primitive types directly. However, intellisense complains when setting a text label to First(coll) and also suggests the Value field.

Observe the same behavior using an expression with inline table declaration: First([1,2,3])

[1,2,3]  still creates a table with single column named "Value".
But since Fx doesn't have arrays, a pure scalar needs to be wrapped.
[ 1,2,3]
becomes:
[{Value:1}, {Value:2},{Value:3}]
The new behavior is to avoid an extra value where the element is a record, useful here:
[  { X:1, Y:2}, {X:10, Y:20} ]

Makes sense. Agree behavior is by design


ngAnimate blocking causes issues with interrupted CSS transitions

This is a placeholder for a fixed issue in 1.4.

See https://github.com/angular/angular.js/pull/11502#issuecomment-160678897

Works for me.


[Rancher2] RKE2 Encryption Key Rotation Docs

Request Summary:
For 2.6.7, we're enabling encryption key rotation for RKE2 provisioned clusters (per https://github.com/rancher/rancher/issues/35436) and it needs to be documented.
Details:
As part of the overall RKE2 Provisioning docs issue (https://github.com/rancher/docs/issues/3752) it was determined that documentation covering encryption key rotation doesn't exist even for RKE1, so not sure if this should be done together. Still, creating this ticket to track the addition of RKE2-specific documentation.
Engineering contact: @jakefhyde

Also create release note for 2.6.7.


Fix #47 prerealease compat + latest SDK packages

Suggest merging other fixes, then merging this one.


Convert S3 URL from "path-style" to "subdomain-style"

Amazon AWS is deprecating "path-style" access to S3 buckets, as detailed in this blog post. Sunset for new buckets is September 2020, so it's not super urgent, but I also didn't see an existing issue for tracking this.

I am trying to use this library from a restricted network where they only allow access to specific subdomains for s3. At least allowing to optionally switch to subdomain-style would be appreciated.

@Jibbow I haven't been really able to work on this. If you have time go for it!

@matthewkmayer I have a question regarding the implementation for this issue. At first this seemed pretty straight forward, but having a look at how it is implemented in botocore it becomes clear that there is some more logic involved.
Quick write-up of the main points:

A ListAllBuckets request does not have a bucket associated with it so "virtual hosting" style is not possible at all.
bucket names have to comply with valid DNS names, otherwise "path style" will be used. This is the case for:

bucket names containing "."
bucket_name.length < 3 or bucket_name.length > 63
if the bucket name does not match the regex [a-z0-9][a-z0-9\-]*[a-z0-9]

The transformation is skipped if its a GetBucketLocation request to avoid any sigv4 issues (not sure why there are issues)

Overall, the implementation in botocore is an ad-hoc fix_s3_host function.
When implementing it in rusoto, should we also take this ad-hoc approach? Otherwise I think we need to enrich the build_hostname function with additional information. Or do you have any other pointers on how we could implement this nicely?

Sorry to chime in without a solution, I wanted to raise a red flag about this issue since September 30 2020 is not that far ahead

@Jibbow are you working on this? I would be glad to help.

FYI, I started to work on this as I will have some spare time in this weekend. I opened a draft pull request #1823 and will continue adding commits.
@vladdy - My stuff is not ready for review yet, but once it is ready, any helps (including comments on the codes or documents, and testing the solution) will be appreciated.

FYI, AWS has announced that they will delay the deprecation of path-style URLs.
https://aws.amazon.com/blogs/storage/update-to-amazon-s3-path-deprecation-plan/

On May 08, 2019, Jeff Barr announced in a blog post that Amazon S3 will deprecate path-style URLs for new buckets created after September 30, 2020. Over the last year, we’ve heard feedback from many customers who have asked us to extend the deprecation date. Based on this feedback we have decided to delay the deprecation of path-style URLs to ensure that customers have the time that they need to transition to virtual hosted-style URLs. ...

Anyway, I will continue working on my pull request #1823 and finish it as soon as I can.

While AWS S3 still supports both path and virtual-host style addressing (for now), some other S3-compatible cloud provider only supported virtual-host styling (in particular Aliyun OSS, Netease COS, Tencent COS), so fixing this is still needed for those non-AWS services.

Just wanted to ping this again, running in to this issue a lot now with customers since all new buckets are sub domain style.
Is there a workaround? or is it on the radar to be resolved? Thanks :)


feat: update receiver regex validation

Changes proposed in this pull request
changes the receiver regex so that:

it now matches with http and any id (instead of just uuid)
it does not match with deprecated /connections/ path

Context
I noticed when using the client in the local environment that a receiver with an http url fails validation, which is necessary for local development. We are already using such a url, we're just not using the client for it (see the bruno/postman Create Quote request body). Widening that was the main goal and the other changes are more cleanup.
fixes https://github.com/interledger/open-payments/issues/429

⚠ No Changeset found
Latest commit: e10f069
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR

Note: I purposefully did not add a changeset. This only changes the schema (and a test). Can just use the fetch-schemas script in rafiki to get these changes.

⚠ No Changeset found
Latest commit: e10f069
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR

Note: I purposefully did not add a changeset. This only changes the schema (and a test). Can just use the fetch-schemas script in rafiki to get these changes.

Looks like I was wrong about this and do need to version bump open-payments because the response validator uses the schema from this repo. I noticed while using the client in Rafiki. I manually patched the regex in rafiki/openapi/schemas.yml and that fixed the request validation error but I got the same error during response validation. Manually patching the schema in node_modules fixed that.
@mkurapov do you happen to know off the top of your head why pass in a spec but also refer to a different internal one like this? It just seems like we would either do one or the other.

@BlairCurrey re:

@mkurapov do you happen to know off the top of your head why we pass in a spec but also refer to a different internal one like this? It just seems like we would either do one or the other.

What do you mean by pass in a spec here?

@BlairCurrey re:

@mkurapov do you happen to know off the top of your head why we pass in a spec but also refer to a different internal one like this? It just seems like we would either do one or the other.

What do you mean by pass in a spec here?

What I meant was passing in a spec when creating the client in rafiki, but after a more careful reading I see that is not whats happening.
I guess what I was seeing was not a validation error from the client but from the backend route's validator middleware. Which makes sense. So I take back that concern - was just confusion on my end.


dpkg: error: dpkg status database is locked by another process

Happens randomly during the Configure kubelet phase:
 [Configure kubelet @ <IP_ADDRESS>] Pharos::SSH::RemoteCommand::ExecError: SSH exec failed with code 100: install-kube-packages.sh
+ set -e
+ export DEBIAN_FRONTEND=noninteractive
+ apt-mark unhold kubelet kubectl kubeadm
dpkg: error: dpkg status database is locked by another process
E: Sub-process dpkg --set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?

Most likely caused by earlier apt-get update/install triggering the /etc/apt/apt.conf.d/99update-notifier APT::Update::Post-Invoke-Success or DPkg::Post-Invoke hook => /usr/lib/update-notifier/update-motd-updates-available which runs /usr/lib/update-notifier/apt-check... that locks the dpkg database for a couple seconds in between the apt-get update and apt-mark ?

This can probably be considered fixed by #512
==> Configure kubelet @ terom-pharos-master terom-xenial-test terom-bionic-test terom-centos-test
    [terom-pharos-master] Configuring Kubernetes packages ...
    [terom-pharos-master] got error (Pharos::SSH::RemoteCommand::ExecError): SSH exec failed with code 100: install-kube-packages.sh
+ set -e
+ export DEBIAN_FRONTEND=noninteractive
+ apt-mark unhold kubelet kubectl kubeadm
dpkg: error: dpkg status database is locked by another process
E: Sub-process dpkg --set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?
    [terom-pharos-master] retrying after 1 seconds ...
    [terom-xenial-test] Configuring Kubernetes packages ...
    [terom-bionic-test] Configuring Kubernetes packages ...
    [terom-pharos-master] Configuring Kubernetes packages ...
    [terom-xenial-test] got error (Pharos::SSH::RemoteCommand::ExecError): SSH exec failed with code 100: install-kube-packages.sh
+ set -e
+ export DEBIAN_FRONTEND=noninteractive
+ apt-mark unhold kubelet kubectl kubeadm
dpkg: error: dpkg status database is locked by another process
E: Sub-process dpkg --set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?
    [terom-xenial-test] retrying after 1 seconds ...
    [terom-bionic-test] Configuring kubelet ...
    [terom-xenial-test] Configuring Kubernetes packages ...
    [terom-xenial-test] Configuring kubelet ...
    [terom-pharos-master] Configuring kubelet ...

    [terom-centos-test] Configuring Kubernetes packages ...
    [terom-centos-test] Configuring kubelet ...


add support for polars >= 0.8

Currently connectorx pins the version of polars to 0.8.*, but it's possible to add support for later versions of polars without breaking backwards compatibility by just attempting the import and catching the exception. What do y'all think? I'm also open to a ranged dependency, something like >=0.8,<0.11 that we could simply increment if there are no additional API breaks.
(cc @ritchie46)

@wseaton What is the guarantee for the version number in Polars? In Semver it only guarantees no breaking changes between 0.x.y and 0.x.z, but not between 0.x and 0.y. If Polars has a different guarantee, e.g. no breaking changes until 1.0, we could definitely do >=0.8.

@dovahcrow good point, I think I'd defer to @ritchie46 on any future plans for change. The from_arrow API is one of the most foundational APIs of the library, so I'd hope it wouldn't be changing any more between versions and can be considered 'settled code'.
As for the brittleness of the import shim, a polars 1.0 user could just use return_type='arrow' as a workaround if this in the future was to ever break so there's at least an escape hatch.

@dovahcrow good point, I think I'd defer to @ritchie46 on any future plans for change. The from_arrow API is one of the most foundational APIs of the library, so I'd hope it wouldn't be changing any more between versions and can be considered 'settled code'.
As for the brittleness of the import shim, a polars 1.0 user could just use return_type='arrow' as a workaround if this in the future was to ever break so there's at least an escape hatch.

Sounds good to me for ">=0.8"  if from_arrow is considered settled.

Let's merge this PR then. I think from_arrow is the only function we require from Polars.


Attributes 'example' inside Grape Entity doesn't generate anything

Attributes 'example' inside Grape Entity doesn't generate anything on swagger. Instead I see "string"  (for string types)and 0 (for integer type).

mmh, please provide a spec, so we see what can be the problem …
maybe 'string' and 0 is the example …

Whenever I add an example field such as
expose :disk_percent, documentation: { type: 'Float', desc: "The column disk_percent of the host", example: 23.21}
It will not be added to returned example value in swagger ui:

Rails 5.0.2
grape 1.0.1
grape-entity 0.6.1
grape-swagger 0.27.1
grape-swagger-entity 0.2.0

attribute examples support is added in grape-swagger-entity 0.2.2.
https://github.com/ruby-grape/grape-swagger-entity/blob/master/CHANGELOG.md#022-november-3-2017

thank you very much!


2 server on same host getting different instances list

Hi there,
I have a Eureka Server A running on Eureka default port 8761, configuration looks looks this:
spring.application.name=eureka server 1
server.port=8761
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
logging.level.com.netflix.eureka=OFF
logging.level.com.netflix.discovery=OFF
Another Server B running on default port 8080, configuration looks like this:
spring.application.name=eureka server 2
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
logging.level.com.netflix.eureka=OFF
logging.level.com.netflix.discovery=OFF
And I have two Eureka clients both specified defaultZone at Server B. Their properties look like this:
server.port=8000
eureka.client.serviceUrl.defaultZone:http://localhost:8080/eureka/
spring.application.name=eureka-client-one
For client 2
server.port=8888
spring.application.name=eureka-client-two
eureka.client.serviceUrl.defaultZone:http://localhost:8080/eureka/
Both server are registered to Eureka themselves. However at Server B's home page I could not see itself, instead at the Server A can I see all registered services including itself. Why is that? Is it because A is on Eureka default port?
Another thing I've noticed is that on both Server, replicas address is always http://localhost:8761/eureka/.
Thanks.

You didn't set the eureka.client.serviceUrl on the eureka servers (so they both register with the default one A).
P.S. I don't think spaces in service ids are a good idea.

Hi @dsyer ,
Thanks for pointing out the naming.
After I set eureka.client.serviceUrl as B itself on B's properties file, I can see B (but A dissapeared???).
But following that I have question. 1. Why all clients and servers and visible on Server A (localhost: 8761)? 2. Why Server A is visible on Server B's home without specifing A's eureka.client.serviceUrl?
Thanks.


./../../src/typedefs.h:7:10: fatal error: 'mkl_types.h' file not found

Hi ikorotkin,
I tried to run your examples but for all the same error occurs
"./../../src/typedefs.h:7:10: fatal error: 'mkl_types.h' file not found"
Indeed, in your whole repro no file named "mkl_types.h" exists. Can you add the missing file to your repro please? or am I doing something wrong?
Thanks!

Hi @viviane-git,
The file named mkl_types.h is a part of Intel MKL which should be downloaded from Intel website (see installation instructions).
If you build the examples using cmake (Linux/Mac) or cmake-gui (for Windows), make sure CMake is able to find the path to Intel MKL. It will find it automatically if MKL is installed with the default options. If CMake fails to find it, you need to provide the path to Intel MKL root directory manually using DAE_MKL_DIR option.
If you build the examples under Windows from Visual Studio directly, you should change the paths to MKL in the project properties in Visual Studio. In Solution Explorer window right-click on dae-cpp, then choose Properties, then C/C++ -> General, change Additional Include Directories according to your paths. Same for Librarian -> All Options -> Additional Library Directories. Repeat procedure for each example. Fortunately, this should be done only once. Alternatively, you may use cmake for Windows, it should define all necessary paths for the Visual Studio project automatically.
If this doesn't help, can you please describe what you are doing, what OS you are using, what compiler?

Hi,
I am using mac and I checked the path to the Intel MKL. It is in the default directory and still the MKLROOT variable cannot be found (see screenshot). Any ideas?

Since the uploading did not work:
(base) Vivianes-MBP:build viviane$ cmake .. -DDAE_MKL_DIR=/opt/intel/mkl/
benchmarks/ bin/        examples/   include/    interfaces/ lib/        tools/
(base) Vivianes-MBP:build viviane$ cmake .. -DDAE_MKL_DIR=/opt/intel/mkl/ -DCMAKE_INSTALL_PREFIX=/install_path
-- MKLROOT environment variable not found. Will use default MKL paths...
-- Apple OS detected...
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/viviane/dae-cpp/build
(base) Vivianes-MBP:build viviane$

Hi @viviane-git,
I tried a fresh installation of dae-cpp on mac and it does work for me...
"MKLROOT environment variable not found" is related to the environment variable defined in command line as
export MKLROOT="/opt/intel/mkl"

But from your message I see CMake didn't produce any errors, it successfully found MKL using default path, and found include directory as well. But then the compiler could not find mkl_types.h in there for some reason. Can you please check if mkl_types.h exists in mkl/include/ directory?
I see a new version of Intel MKL was released recently, they might have changed something. I'll take a closer look into this. As a temporary workaround, can you try to install the previous, 2019 version of MKL and try again? That should work.


Load Conscrypt method via reflection only once

Motivation:
The code did reflection every method call which made the code slower and
harder to read with additional cases to consider.
Modifications:
Instead of loading the method and then throwing it away, save the Method
reference instead of the Class reference. Then also use more precise
exception handling for the method invocation.
Result:
Simpler, speedier code.

Unfortunately the diff is pretty ugly because I moved the code from getConscryptClass up to the top of the class so that methods called during initialization are not mixed with other static methods.
P.S... or Norman can approve the PR before I write my peace.

Doh. Just realized I hadn't tested this again after the more fine-grain exceptions. It doesn't compile. One moment.

Okay. This time with the missing semicolon. Conscrypt test still runs all 93 tests.

When you are already on it can you also do another or to update to 1.0.0 ?

Am 09.02.2018 um 18:59 schrieb Eric Anderson<EMAIL_ADDRESS>Doh. Just realized I hadn't tested this again after the more fine-grain exceptions. It doesn't compile. One moment.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or mute the thread.

Sure. I'll send out a PR for bumping to Conscrypt 1.0.0.

@ejona86 thanks !
Cherry-picked into 4.1 (8b273983f05b75e32353b07bad0dac2ecbbca9c7)


Incorrect exercise: [courseId=grammar-intro_eng][lessonNumber=8][exerciseId=1233]

Description
If possible, please provide a brief description of what is wrong with this exercise.
pendo instead of melbi
Diagnostics information (do not remove)

Exercise identifier: [courseId=grammar-intro_eng][lessonNumber=8][exerciseId=1233]
Exercise payload: {"sentences":[{"text":"I know that the writer is beautiful.","lojbanic":false}],"title":"Translate this sentence","type":"typing"}
Attempted solution: {"text":"mi djuno lo du'u lo ciska cu melbi"}
Attempted solution was classified as correct: no
Validation payload: {"canonicalAnswer":"mi djuno lo du'u lo ciska cu pendo","correct":false}

Fixed, thanks for reporting!


Help Wounded

I'm going to hold off on creating new PRs until you complete your refactor... but another thing that might be useful is to add if (player.IsWounded()) player.StopWounded(); to the PlayerAdministrationHealUserCallback method.
I feel like if someone is trying to heal a "wounded" (downed) player, it would be expected that they'd be helped up too.
Additionally, a new button "Help Wounded" that would heal for 0 could be added to the "Heal" row and the "Kill" button could be moved down to the "Hurt" row.

Or perhaps "Heal Wounds" or something, sure.
I moved on quite a bit, I'll spend tonight on this as well with hope to round up the edits for now.

Has been added. :)


Clarify TRY_AGAIN_LATER error code, document DUPLICATE error code

Resolves https://github.com/stellar/stellar-docs/issues/1002
I omitted FILTERED error code, and it appears to not be supported by Horizon

Preview is available here:http://developers-pr1025.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr1025.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr1025.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr1025.previews.kube001.services.stellar-ops.com


Change the Kollective Link

Hello - can we change the link to Kollective to go to this page: https://kollective.com/microsoft-pilot/
Thank you.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: becbf3ca-b88c-b033-a145-9a1af201ced3
Version Independent ID: 41a6a9b5-d3dd-d8c9-9e97-920ff2fd1a24
Content: What are Microsoft Teams live events?
Content Source: Teams/teams-live-events/what-are-teams-live-events.md
Service: msteams
GitHub Login: @chuckedmonson
Microsoft Alias: chucked

@arianasexton thank you for submitting feedback.
We will change the specified link.

@arianasexton
Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Implement caching, so as to reduce network calls in case of same links

What about removing callbacks and implementing with debounce?

What about removing callbacks and implementing with debounce?

Can you please explain how you think of implementing that?


scd

Description of changes:
This pr adds the ability to do chatOPs within our repo. After this pr is merged, we will be able to trigger macos and windows tests by comments, for example: https://github.com/yinweisu/hello-github-actions/pull/15.
This workflow needs to be merged to master branch to take effect. However, the following pr containing platform tests can be tested on a different branch
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I can add the readme in the following pr. This pr alone is not enough to achieve the functionality

Job PR-1461-3 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1461/3/index.html

Job PR-1461-5 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1461/5/index.html


add mintlify docs

Make sure to install our CLI to preview your deployments :) npm i -g mintlify or yarn global add mintlify. You can run mintlify dev to preview.

Closes #

@meeramin I would really appreciate your opinion on that 🙏🏽


Shopco website has changed

New application site is here.

Can't tell if this application will be easy to use or not as there are no postings, but CI build is failing because of the current URL...


rerender with auto

@johanneskoester I am taking PR https://github.com/conda-forge/conda-smithy/pull/479 for a spin.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

So, this will use conda-smithy from the master branch?

So, this will use conda-smithy from the master branch?

Kind of... This uses your commit :wink:

Oh, I understand now. This has been done manually on your machine.

Did you remove the [not win32]  selectors from the requirements first? If my modifications work, they become superfluous.

Did you remove the [not win32]  selectors from the requirements first? If my modifications work, they become superfluous.

Not yet. I am first experimenting if this fixes #1, which it does. As soon as the CIs passes I will rerender again without the workaround [not win32] everywhere.


Set the correct test status in cloud browser dashboards when cloud browsers get restarted

What is your Test Scenario?
Test a heavy web app with a cloud browser (e.g. BrowserStack).
When TestCafe loses connection to a browser, it terminates the current remote session and restarts the current test in a new remote session, but doesn't set the status (passed/failed) of the terminated session.
What are you suggesting?
TestCafe should calculate the status of the tests completed in the terminated remote session and use the browser provider API to set this status as a status of the terminated session. If all tests passed, the terminated session should have the "passed" status. If some test failed, the session status must be "failed". To preserve consistency across different browser providers, the status should be calculated in the TestCafe code. A browser provider should only use the remote API to set the status specified by TestCafe.
What alternatives have you considered?

Additional context
#5535, DevExpress/testcafe-browser-provider-browserstack#132

Aligned with the approach as it is a much more neat way to handle the situation, but isn't we are already doing this thing with like we send the browserJobStatus to the provider but the provider didn't have the logic for sending the status.

Currently the specific "restart" status is used in #5535 and DevExpress/testcafe-browser-provider-browserstack#135. I propose to still use only explicit "passed"/"failed" statuses, altering only the status message when needed.

Aligned with you on the proposal. I am suggesting that we should mark the session appropriately if there are no failures in the test run before the moment of restarting we should mark it as passed. If there is even a single failure then that session should be marked as failed and also appended with the appropriate message like restarted or aborted based on the action.
For e.g, if 10 test functions were supposed to run in 1 BrowserStack session but after 5 functions, the session was restarted. Currently the user has no way to know how many functions ran in that session and whether they passed or failed.
The restarted session should be marked appropriately i.e. if all 5 had passed, then mark as “passed” with the reason “5 tests passed. Session restarted”. If 1/5 has failed, then “1/5 failed. Session restarted” should be the reason and status should be “failed”

We'll discuss it at our next sprint planning meeting and share detailed information on how it should work.

@miherlosev Any updates on this?

We discussed this issue at our sprint planning meeting. At present, we need to work out some technical details. Once we do it, we will update this thread.

Hey @miherlosev any update on this?

No updates at the moment. Once we have any results, we will share them here.

@yashLadha, sorry for the delayed response.
After checking this issue and discussing it with the team, we came to the conclusion that neither marking all restarted sessions as "passed" nor calculating the status of each restarted session individually is an ideal way. In the first case, even a session with a failed test could be marked as "passed", and in the second case, a user would have to deal with multiple restarted sessions, some of which could be marked as "passed" and others as "failed", even though they all originate from a single test run.
Considering this, our current approach - to leave all restarted sessions unmarked - is better because it's less confusing for the user. A terminated session is the only one that's relevant: it contains information about the number of failed tests (if any) and the final status of the whole test run. It's easy to distinguish restarted sessions from terminated in the BrowserStack dashboard. If it was possible to set the test status for a session to a value other than "passed" or "failed", a currently unmarked session could be marked as "restarted", although we don't think that it's the best possible solution.
Ideally, restarting a browser should not create a new session at all. We were wondering if it's possible to achieve this using the BrowserStack Automate API. There is a way to create a new browser window using Selenium WebDriver. Maybe we could call this functionality using some BrowserStack Automate API endpoint (like this one) and make the browser restart within a single session. If we could do this with BrowserStack Automate, we could even set this API as default (currently, the TestCafe BrowserStack provider uses the JS Testing API by default).
It would be great to hear your thoughts on this.

Based on the reasons explained above, we decided to leave the current approach unchanged (keep restarted sessions as unmarked). I'll close the thread. However, if you've ideas about a better way to restart browsers on BrowserStack - feel free to comment.