Unable to compile with TypeScript 2.0.3 + Webpack 2.1.0-beta.25

RxJS version: 5.0.0-rc.1
Code to reproduce: Attempt to use any part of rxjs in code.
Expected behavior: It compiles.
Actual behavior: For simple imports, TypeScript complains about not finding various names within the rxjs type definition files. This is easily "fixable" by specifying the "skipLibCheck" compiler option. However, as soon as one attempts to use rxjs classes with basic operators such as Observable.scan,, the TypeScript compiler crashes with the following message:
TypeError: Cannot read property 'id' of undefined
    at getNodeId (C:\workspace\myproject\node_modules\typescript\lib\typescript.js:16509:18)
    at getNodeLinks (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:16992:26)
    at checkExpressionCached (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:28851:25)
    at c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19466:25
    at Object.map (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:1240:29)
    at getTypeOfVariableOrParameterOrProperty (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19464:44)
    at getTypeOfSymbol (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19607:24)
    at getTypeOfAlias (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19590:23)
    at getTypeOfSymbol (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19619:24)
    at checkIdentifier (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:24671:24)
    at checkExpressionWorker (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:28932:28)
    at checkExpression (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:28912:42)
    at getBaseConstructorTypeOfClass (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:19726:43)
    at resolveAnonymousTypeMembers (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:20406:47)
    at resolveStructuredTypeMembers (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:20432:21)
    at getSignaturesOfStructuredType (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:20623:32)
    at getSignaturesOfType (c:\workspace\myproject\node_modules\typescript\lib\typescript.js:20633:20)

Additional information:
This is a project that is being migrated from ES5 to TS, so it consists of a mix of both kinds of files. .JS files are handled as CommonJS and bundled directly by Webpack, while ts-loader is configured to only handle .ts files. This is a setup that we have been using without issue for the last half year or so, which has so far enabled a smooth migration path with interoperability between JS and TS code.
Interestingly, if all *.d.ts files are deleted from the rxjs package and moved into node_modules/@types/rxjs, and the Rx.d.ts file there renamed to index.d.ts, then everything compiles and works just as expected.
If that turns out to be the only  way of getting such a hybrid project setup working with RxJS 5, perhaps it is worth considering publishing "pure" JS and "pure" typings for RxJS in addition to the "all-in-one" package. Then pure-JS or hybrid projects can consume those packages as needed, while pure-TS projects can rely on the pure-TS rxjs package.
Alternatively perhaps the issue lies more with TypeScript 2 and/or Webpack 2 and/or ts-loader. I have opened it here because this is the first package we've had trouble with so far (but also the first "all-in-one" package we've attempted to use).
For reference our configuration:
tsconfig.json:
{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "sourceMap": true,
        "allowJs": true,
        "outDir": "dist",
        "lib": [
            "dom",
            "es2016"
        ]
    },
    "include": [
        "src/**/*.ts"
    ]
}

webpack.config.js:
module.exports = {
    entry: {
        index: './src/index'
    },
    output: {
        path: __dirname + '/dist',
        filename: '[name]-[hash].js'
    },
    resolve: {
        extensions: ['.js', '.ts']
    },
    module: {
        loaders: [
            {
                test: /\.ts$/,
                loader: 'ts-loader'
            }
        ]
    }
};

one question -  is there any module ships type definition by default in your repo configuration? (As same as rx does, cjs module + have type difinition in module package)

@kwonoj I'm pretty sure rxjs is the first one.

@mischkl is it possible for you provide a project for us to reproduce with? Perhaps remove all your private user code and then just push that copy to github. While not necessarily required, it's more likely we would find the issue quite quickly vs. making some guesses for you to try out 💃

@kwonoj @jayphelps an example project sounds like a good idea, I probably won't get around to it for a couple of days but I will try to set it up as soon as I have a chance.

I've set up a demo project here, demonstrating that the problem really does seem to lie with ts-loader, since everything works fine when using awesome-typescript-loader. Interestingly, the compiler only crashes when attempting to add the map operator. Simply using the built-in RxJS methods still results in type errors, but the code compiles nonetheless.
I'm therefore closing this issue and opening another one on ts-loader.


lagg does not inherit max MTU from vlan interfaces

I'm still having some issues with the vlan over lagg type setup...
As you can see below the lagg's MTU is set to 1500...
root@hydrogen:~ # ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0 prefixlen 64 scopeid 0xe
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: lagg
	laggproto lacp lagghash l2,l3,l4
	laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

If I understand the freebsd docs correctly this is inherited from the underlying devices,
they appear to still have there default MTU of 1500.
root@hydrogen:~ # ifconfig igb0
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
root@hydrogen:~ # ifconfig igb1
igb1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
root@hydrogen:~ # ifconfig igb2
igb2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
root@hydrogen:~ # ifconfig igb3
igb3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
root@hydrogen:~ #

Here are the 4 vlans I have configured, also showing the default mtu of 1500.
In my configuration file I have specified lagg0_vlan20 to have a MTU 0f 9000 as this is the storage only network. These settings are ignored!
root@hydrogen:~ # ifconfig lagg0_vlan10
lagg0_vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0_vlan10 prefixlen 64 scopeid 0xf
	inet6 2001:470:7ee7:10::1 prefixlen 64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	vlan: 10 vlanpcp: 0 parent interface: lagg0
	groups: vlan
root@hydrogen:~ # ifconfig lagg0_vlan20
lagg0_vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0_vlan20 prefixlen 64 scopeid 0x10
	inet6 2001:470:7ee7:20::1 prefixlen 64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	vlan: 20 vlanpcp: 2 parent interface: lagg0
	groups: vlan
root@hydrogen:~ # ifconfig lagg0_vlan30
lagg0_vlan30: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0_vlan30 prefixlen 64 scopeid 0x11
	inet6 2001:470:7ee7:30::1 prefixlen 64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	vlan: 30 vlanpcp: 0 parent interface: lagg0
	groups: vlan
root@hydrogen:~ # ifconfig lagg0_vlan40
lagg0_vlan40: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0_vlan40 prefixlen 64 scopeid 0x12
	inet6 2001:470:7ee7:40::1 prefixlen 64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	vlan: 40 vlanpcp: 7 parent interface: lagg0
	groups: vlan

I'm not sure what is failing, but what should happen is that igb0-3 get a MTU of whatever the max MTU is out of the set lagg0/vlan10-40... that would also make the lagg0 appear with that set MTU (I think based on what I have read in the docs)
Hopefully that would also allow lagg0_vlan20 to have a MTU of 9000 as configured.

Interface section of my configuration:
  <interfaces>
    <wan>
      <if>em0</if>
      <descr>IF_WAN4</descr>
      <enable>1</enable>
      <spoofmac>00:22:06:FF:05:01</spoofmac>
      <blockpriv>1</blockpriv>
      <blockbogons>1</blockbogons>
      <ipaddr><IP_ADDRESS></ipaddr>
      <subnet>24</subnet>
      <gateway>IF_WAN4GW</gateway>
    </wan>
    <lan>
      <if>lagg0_vlan40</if>
      <descr>IF_MGMT</descr>
      <enable>1</enable>
      <spoofmac>00:22:06:FF:40:01</spoofmac>
      <ipaddr><IP_ADDRESS></ipaddr>
      <subnet>24</subnet>
      <ipaddrv6>2001:470:7ee7:40::1</ipaddrv6>
      <subnetv6>64</subnetv6>
    </lan>
    <opt1>
      <if>lagg0_vlan10</if>
      <descr>IF_CLNT</descr>
      <enable>1</enable>
      <spoofmac>00:22:06:FF:10:01</spoofmac>
      <ipaddr><IP_ADDRESS></ipaddr>
      <subnet>24</subnet>
      <ipaddrv6>2001:470:7ee7:10::1</ipaddrv6>
      <subnetv6>64</subnetv6>
    </opt1>
    <opt2>
      <if>lagg0_vlan20</if>
      <descr>IF_STOR</descr>
      <enable>1</enable>
      <spoofmac>00:22:06:FF:20:01</spoofmac>
      <mtu>9000</mtu>
      <ipaddr><IP_ADDRESS></ipaddr>
      <subnet>24</subnet>
      <ipaddrv6>2001:470:7ee7:20::1</ipaddrv6>
      <subnetv6>64</subnetv6>
    </opt2>
    <opt3>
      <if>lagg0_vlan30</if>
      <descr>IF_SERV</descr>
      <enable>1</enable>
      <spoofmac>00:22:06:FF:30:01</spoofmac>
      <ipaddr><IP_ADDRESS></ipaddr>
      <subnet>24</subnet>
      <ipaddrv6>2001:470:7ee7:30::1</ipaddrv6>
      <subnetv6>64</subnetv6>
    </opt3>
    <opt4>
      <if>gif0</if>
      <descr>IF_WAN6</descr>
      <enable>1</enable>
      <spoofmac/>
      <mtu>1480</mtu>
    </opt4>
    <openvpn>
      <internal_dynamic>1</internal_dynamic>
      <enable>1</enable>
      <if>openvpn</if>
      <descr>OpenVPN</descr>
      <type>group</type>
      <virtual>1</virtual>
    </openvpn>
  </interfaces>

You can see the MTU property for lagg0_vlan20,...
  <laggs>
    <lagg>
      <members>igb0,igb1,igb2,igb3</members>
      <descr>Switch Uplink</descr>
      <laggif>lagg0</laggif>
      <proto>lacp</proto>
      <lacp_fast_timeout>1</lacp_fast_timeout>
    </lagg>
  </laggs>
  <vlans>
    <vlan>
      <if>lagg0</if>
      <tag>10</tag>
      <pcp>0</pcp>
      <descr>Client Network</descr>
      <vlanif>lagg0_vlan10</vlanif>
    </vlan>
    <vlan>
      <if>lagg0</if>
      <tag>20</tag>
      <pcp>2</pcp>
      <descr>Storage Network</descr>
      <vlanif>lagg0_vlan20</vlanif>
    </vlan>
    <vlan>
      <if>lagg0</if>
      <tag>30</tag>
      <pcp>0</pcp>
      <descr>Server Network</descr>
      <vlanif>lagg0_vlan30</vlanif>
    </vlan>
    <vlan>
      <if>lagg0</if>
      <tag>40</tag>
      <pcp>7</pcp>
      <descr>Management Network</descr>
      <vlanif>lagg0_vlan40</vlanif>
    </vlan>
  </vlans>

The laggs and vlans section

For reference to my assessment that this should be possible by setting the MTU of igb0-4
     additional	interfaces are required	to have	exactly	the same value.```

https://www.freebsd.org/cgi/man.cgi?query=lagg&sektion=4&manpath=freebsd-release-ports

@sjorge the easiest option is probably to add the physical interfaces to the configuration and set the mtu value there, then check if all works as it should.

Do you mean setup igb0-3 as interface and only set the MTU? Doesn't look like that is possible when they are part of a lagg.

ok, I'll have to check that.

The not begint available is probably the correct behavior though.
What about adding a MTU property to the lagg setup?
It needs to be set on  the member ports before the lagg is created so that seems like a logical place to put it. Perhaps make editable at create time only, or add a note it will only take effect the next time the interface is created.
That avoid complex code logic and should make atleast the lagg have the correct MTU.

I'll have to look into it, we should indeed really avoid complexity in the code underneath....

At first glance it doesn't look like we can add/remove member ports either after creation, so that does indeed look like the easiest way to fix it properly.

@sjorge one small note, I don't have a lot of time at the moment to digg into this further, but if you drop the parent (lagg interface) it sounds kind of logical the children die too.... if reconfiguration is an option in this case, that would logically be the right choice here. Or do I misinterpret your "bug 2" here?

The lagg can carry untagged traffic as wel as tagged traffic.
So the lag is configured under Other -> Lagg, you can then create vlan over it, but you can also assign the lagg itself.
lagg0 (igb0,igb1) --> assigned to OPT1 (untagged traffic)
lagg0_vlan10       --> assigned to OPT2 (tagged traffic)
unconfiguring/unassigning OPT1 should not bring down OPT2.
The lagg is still configured under Other -> LAGG and a reboot will bring back lagg0 and lagg0_vlan10 devices with only OPT2 showing up as one would expect to happen after unassigning OPT1.
Does that explain it better? The bug is, that bringing unassigning or disabling OPT1 will also destroy OPT2 untill the system is rebooted.

yes, that explains it. as soon as I have some spare time I will look into it.

@sjorge ok, one bug found see https://github.com/opnsense/core/commit/093895e37e0f113708e6126f6580de792788ab02, it drops the interface which it should only un-configure if you ask me.

Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|From 093895e37e0f113708e6126f6580de792788ab02 Mon Sep 17 00:00:00 2001
|From: Ad Schellevis<EMAIL_ADDRESS>|Date: Fri, 14 Jul 2017 09:42:54 +0200
|Subject: [PATCH] Networking, side affects. when an "other type" interface is
| configured it's automatically created, but if the interface got unconfigured
| it's dropped,leading to broken laggs for example.
|
|We should trust the "other type" create/drop to handle the interface itself and interface_bring_down() should only unconfigure it, so possible parent/child interfaces won't break for no reason.
|Fixes part of https://github.com/opnsense/core/issues/1709
|---
| src/etc/inc/interfaces.inc    | 8 +-------
| src/www/interfaces.php        | 4 ++--
| src/www/interfaces_assign.php | 4 ++--
| 3 files changed, 5 insertions(+), 11 deletions(-)
|
|diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc
|index 9ac9f991f..5614dae21 100644
|--- a/src/etc/inc/interfaces.inc
|+++ b/src/etc/inc/interfaces.inc
--------------------------
Patching file etc/inc/interfaces.inc using Plan A...
Hunk #1 succeeded at 1092 (offset 11 lines).
Hunk #2 succeeded at 1274 (offset 11 lines).
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/www/interfaces.php b/src/www/interfaces.php
|index eed99bf5d..e71063c2b 100644
|--- a/src/www/interfaces.php
|+++ b/src/www/interfaces.php
--------------------------
Patching file www/interfaces.php using Plan A...
Hunk #1 succeeded at 514.
Hmm...  The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/www/interfaces_assign.php b/src/www/interfaces_assign.php
|index 551f1fc30..e1c12f7e0 100644
|--- a/src/www/interfaces_assign.php
|+++ b/src/www/interfaces_assign.php
--------------------------
Patching file www/interfaces_assign.php using Plan A...
Hunk #1 succeeded at 170.
Hunk #2 succeeded at 264.
done
All patches have been applied successfully.  Have a nice day.

Will test tonight when I am not remote from the box, will update again here afterwards

ok, thanks

ok, another small glitch, needed for the next change I'm going to commit https://github.com/opnsense/core/commit/cebc6c7e11aba3b2743e826903bfc900fc87705e

That one doesn't seem to apply on top of the latest 17.1 release.
root@hydrogen:~ # opnsense-patch cebc6c7
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|From cebc6c7e11aba3b2743e826903bfc900fc87705e Mon Sep 17 00:00:00 2001
|From: Ad Schellevis<EMAIL_ADDRESS>|Date: Fri, 14 Jul 2017 15:03:08 +0200
|Subject: [PATCH] legacy_interfaces_details() parse issue on fetching
| laggports, needed for https://github.com/opnsense/core/issues/1709
|
|---
| src/etc/inc/interfaces.lib.inc | 4 ++--
| 1 file changed, 2 insertions(+), 2 deletions(-)
|
|diff --git a/src/etc/inc/interfaces.lib.inc b/src/etc/inc/interfaces.lib.inc
|index ac7bc8e84..922051b99 100644
|--- a/src/etc/inc/interfaces.lib.inc
|+++ b/src/etc/inc/interfaces.lib.inc
--------------------------
Patching file etc/inc/interfaces.lib.inc using Plan A...
Hunk #1 succeeded at 218 (offset 7 lines).
Hunk #2 failed at 291.
1 out of 2 hunks failed--saving rejects to etc/inc/interfaces.lib.inc.rej
done
root@hydrogen:~ # cat /usr/local/etc/inc/interfaces.lib.inc.rej
@@ -291,7 +291,7 @@
             if (empty($result[$current_interface]['laggport'])) {
                 $result[$current_interface]['laggport'] = array();
             }
-            $result[$current_interface]['laggport'][] = $matches[1];
+            $result[$current_interface]['laggport'][] = explode(' ', trim($matches[1]))[0];
         }
     }

I think the previous change needed for this is stashed for 17.1.10, maybe we best ask @fichtner how to proceed here.

Something to note, running opnsense-patch a 2nd time does not revert a partially applied patch :s

that's when opnsense-revert comes in ;)
you need this backport https://github.com/opnsense/core/commit/888551859dcc54646c583166dcddf28dd81eb4de
so
# opnsense-revert opnsense
# opnsense-patch 093895e 888551 cebc6c7

another extension for legacy_interfaces_details() https://github.com/opnsense/core/commit/e5e914c90f7c7d06c164fd0c71724450d14f6e6d, also needed for the fix in progress..

ok, last piece of the puzzle is this https://github.com/opnsense/core/commit/4ff07cad6382e32191beeabbb6eea9f94e8e80ae which adds the mtu optionally, doesn't kill the lagg if it's already there (resulting in dead vlan's).
You should be able to test all with:
opnsense-revert opnsense
opnsense-patch 093895e 888551 cebc6c7 e5e914c 4ff07ca

Alright here are the tests I have done:

remove igb3 from lagg0 (igb0,igb1,igb2,igb3) -> success (everything stayed up)
add igb3 to lagg0 -> success (everything stayed up, both times ~15 pings dropped)

For reference, the log form the switch
2 | Jul 14 18:13:37 | Info | DOT3AD | Interface 0/34 attached to ch1.
3 | Jul 14 18:13:37 | Info | DOT3AD | Interface 0/30 attached to ch1.
4 | Jul 14 18:13:37 | Info | DOT3AD | Interface 0/32 attached to ch1.
6 | Jul 14 18:13:36 | Notice | DOT3AD | ch1 is up.
7 | Jul 14 18:13:36 | Info | DOT3AD | Interface 0/36 attached to ch1.
16 | Jul 14 18:13:24 | Notice | DOT3AD | ch1 is down.
17 | Jul 14 18:13:24 | Info | DOT3AD | Interface 0/36 detached from ch1.
18 | Jul 14 18:13:24 | Info | DOT3AD | Interface 0/34 detached from ch1.
21 | Jul 14 18:13:23 | Info | DOT3AD | Interface 0/30 detached from ch1.
23 | Jul 14 18:11:53 | Info | DOT3AD | Interface 0/34 attached to ch1.
24 | Jul 14 18:11:53 | Info | DOT3AD | Interface 0/30 attached to ch1.
26 | Jul 14 18:11:52 | Notice | DOT3AD | ch1 is up.
27 | Jul 14 18:11:52 | Info | DOT3AD | Interface 0/36 attached to ch1.
34 | Jul 14 18:11:42 | Notice | DOT3AD | ch1 is down.
35 | Jul 14 18:11:42 | Info | DOT3AD | Interface 0/34 detached from ch1.
36 | Jul 14 18:11:41 | Info | DOT3AD | Interface 0/36 detached from ch1.
37 | Jul 14 18:11:41 | Info | DOT3AD | Interface 0/30 detached from ch1.
40 | Jul 14 18:11:41 | Info | DOT3AD | Interface 0/32 detached from ch1.

Which looks exactly as I would expect from the code, 4 port members removed, lagg goew down, 3 port members reapear, lagg is back up once 1 port member is present.
Ideally a diff between the current laggports and the new laggports is made and only changes applied as needed so the lagg can remain up. But having it go down for a few seconds is not a big issue.

edit lagg0 and set the MTU to 9000 -> success

We see the same thing happen with the laggports switch side,  the port members all get the new MTU and the lagg comes back with the new MTU
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
	options=6507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:22:06:ff:40:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0 prefixlen 64 scopeid 0xe
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: lagg
	laggproto lacp lagghash l2,l3,l4
	laggport: igb0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

I checked all vlan interfaces going over the lag, they are still at MTU 1500... lets edit and save vlan20 as that one had a MTU of 9000 set. --> failure

The following input errors were detected:
    MTU of a vlan should not be bigger than parent interface.

OK, so igb0-3 are now MTU 9000, so is lagg0,...
The lagg0_vlanXX probably inherits the MTU at creation time... lets test that

set the MTU for all my vlans (10 -> 1500, 20 -> 9000, 30 -> 1500, 40 -> 1500)
As expected vlan20 failed, the others were fine. I ended up saving 20 as 1500 too.

reboot and test our theory about the VLAN interfaces.
The lagg did come up as MTU 9000, all VLAN interfaces come up as 1500!

Try to set vlan20's MTU to 9000 again. --> fail, same message.

Let's do it on the command line and see if there is some reason why it is failing at a lower level. --> success

root@hydrogen:~ # ifconfig lagg0_vlan20 mtu 9000
root@hydrogen:~ # ifconfig lagg0_vlan20
lagg0_vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
	options=303<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 00:22:06:ff:20:01
	inet6 fe80::ec4:7aff:fe32:2784%lagg0_vlan20 prefixlen 64 scopeid 0x10
	inet6 2001:470:7ee7:20::1 prefixlen 64
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	vlan: 20 vlanpcp: 2 parent interface: lagg0
	groups: vlan

There is just one more bug somewhere, the code used to get the MTU of the parent interface for vlan's is not detecting the lagg's MTU properly.

I'll now also test if  #1710 is also fixed...

assign lagg0 to OPT5
configure ip on OPT5
apply --> succes everything is working
disable OPT5 --> success the config for OPT5 has been removed but the vlans stay up!
unassign OPT5 --> success everything stays up

I also traced back the MTU error message to this bit of code:
        if (!empty($pconfig['mtu'])) {
            if ($pconfig['mtu'] < 576 || $pconfig['mtu'] > 9000) {
                $input_errors[] = gettext("The MTU must be greater than 576 bytes and less than 9000.");
            }

            if (stristr($a_interfaces[$if]['if'], "_vlan")) {
                $realhwif_array = get_parent_interface($a_interfaces[$if]['if']);
                // Need code to handle MLPPP if we ever use $realhwif for MLPPP handling
                $parent_realhwif = $realhwif_array[0];
                $parent_if = convert_real_interface_to_friendly_interface_name($parent_realhwif);
                if (!empty($parent_if) && !empty($config['interfaces'][$parent_if]['mtu'])) {
                    if ($pconfig['mtu'] > intval($config['interfaces'][$parent_if]['mtu'])) {
                        $input_errors[] = gettext("MTU of a vlan should not be bigger than parent interface.");
                    }
                }

So it looks like some of the info is not filled in either $parent_if or $config['interfaces'][$parent_if]['mtu'].
I have not found an easy way to dump the info for debugging.
FYI some NIC, notably the igb and server em variants support up to 16k and recent switches do so too. Although I don't know of anyone using those in practice.

Ok this is weird, I just pushed $parent_if and $parent_realhwif onto $input_errors...
lan
lagg0

At the very least, $parent_realhwif is correct. $parent_if just seems odd, but I am not familiar enough.

@sjorge one moment, the mtu check should look at the actual mtu set.... I'm looking at it right now

@sjorge this should help https://github.com/opnsense/core/commit/576799a1811db9c8d62c6c27b66219480851b430

Partially, I can now save with an MTU of 9000.
But it does not get applied to lagg0_vlan20.

only downside is that you need to apply the parent first, but the previous logic was broken anyway (for example an empty mtu set on the target, usually means 1500)

ok, that's a different problem.... mtu handling is really messy here..

for reference, we should cleanup https://github.com/opnsense/core/blob/master/src/etc/inc/interfaces.inc#L2704-L2732

In regards to the note about all vlans having to have the same MTU as the parent... this is (no longer) true
root@hydrogen:~ # ping -D -c 1 -s 8184 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 8184 data bytes
ping: sendto: Message too long
^C
--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
root@hydrogen:~ # ping -D -c 1 -s 8184 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 8184 data bytes
8192 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0.549 ms

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.549/0.549/0.549/0.000 ms

root@hydrogen:~ # ifconfig | grep ^lagg0_
lagg0_vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
lagg0_vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
lagg0_vlan30: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
lagg0_vlan40: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

<IP_ADDRESS> being vlan20
<IP_ADDRESS> being vlan40
...

it wasn't true already if you ask me, they may differ as long as their smaller then the parent.

@sjorge this https://github.com/opnsense/core/commit/5525a08adbea9a9ec4e889586052f9da5d5e2ab8 should fix the mtu of the vlan's to max the parent using it's actual interface config.

Yep, this makes the MTU apply fine for a vlan!
Awesome work @AdSchellevis, will you close #1709 and #1710 or should I close them?

@sjorge thanks for testing, I will close the issues for you now.


Crashing with immersive portals version (immersive-portals-0.41-mc1.16.3-fabric)

The game crashes. There must be some incompatibility with my other mods.
crash-2020-12-07_10.35.39-client.txt

https://github.com/qouteall/sodium-fabric/releases


How do I style a circle created with MapboxDrawGeodesic.createCircle ?

Hi, you can detect the circle using the following logic (rewrite it to Mapbox style): https://github.com/zakjan/mapbox-gl-draw-geodesic/blob/master/src/utils/circle_geojson.js#L23-L27


Document lvalue

There are some error messages that reference the concept of lvalue, but it is not documented yet.
Also document the possible syntax of lvalues. Other than a lone variable name (foo) or rest variable (@foo), it is also possible to use a braced list in the position of lvalues (e.g. {foo bar}).

A comment I made regarding existing Elvish exceptions that use the term "lvalue" resulted in this issue being opened. Nonetheless, I realize that documenting this term (or an equivalent) is going to be challenging. Results of a "google" search include useless (the Wikipedia article) and tautological (an IBM support article) definitions. The only decent definitions I found were all C/C++ specific such as this one.

As of 46dedae9fa9a9aadd9bd4ed1d68befc23c0a33b4, lvalue is documented as part of ordinary assignment.


Unstamped cmd_vel subscriber rebased

Original work here: https://github.com/ros-controls/ros2_controllers/pull/94

I've got some comments before this is merged.
Is this the behavior that we want? That you have to choose between enabling one topic or the other? The topic changes names and type.
I don't like too much that the interface of the controllers changes so much due to one parameter.
Since navigation is going to unstamped twist,  most of controller instances will use unstamped twist, which will add confusion if the default behavior is the other.
Are the navigation stack developers adamant on not using stamped twist?

I've got some comments before this is merged.
Is this the behavior that we want? That you have to choose between enabling one topic or the other? The topic changes names and type.
I don't like too much that the interface of the controllers changes so much due to one parameter.
Since navigation is going to unstamped twist,  most of controller instances will use unstamped twist, which will add confusion if the default behavior is the other.
Are the navigation stack developers adamant on not using stamped twist?

There are strong reasons for using the stamped message but the top-down approach would hardly work. This way we are bottom-up, exposing the new stamped interface such that in Galactic, the nav stack can and other tooling can use stamped everywhere.
I don't think of this feature as anything other than compatibility mode, we should aim to remove it at some point.

There are strong reasons for using the stamped message but the top-down approach would hardly work. This way we are bottom-up, exposing the new stamped interface such that in Galactic, the nav stack can and other tooling can use stamped everywhere.
I don't think of this feature as anything other than compatibility mode, we should aim to remove it at some point.

Ok then!

Ok then!


VS Code not detecting git repository after update

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.75.0
OS Version: Windows 10 Pro (22H2)

Steps to Reproduce:

Open VS Code workspace
Open Source Control tab in Activity Bar

I have been using VS Code to edit this same project for four years. Just today, after updating to 1.75.0, VS Code no longer recognizes my workspace as a valid Git repository, despite it still having a .git folder present.
I disabled all extensions and re-installed VS Code to ensure that my install was not corrupted. I also tried deleting the .git folder in the workspace directory and re-cloning it from my origin repository. The problem persists.
Curiously, it seems to be restricted to this one workspace. I have another workspace that I have been editing with VS Code for the same duration of time and it is not affected. VS Code detects the git repository there just fine.
I am convinced it is not a problem with my Git executable or my repository, as when use git in my terminal or install the extension GitLens (both of which utilize the same git.exe executable as VS Code), neither has any issue interacting with the repository. Only VS Code seems to have this problem.
Here's the output log for the Git service running on the fresh install with no extensions. It's not very illuminating. No errors are thrown.
git-output.txt

Had the same problem.
The Repo was on a Netowrk Share
Possible Workaround:
Copying the Repo to the Harddrive of the Computer fixed it and recognized it again.

@DiamondIceNS, @Attackly could you please share the screenshot of the "Source Control" view? VS Code 1.75 contains some changes related to git repository discovery in parent folders. Are you still able to reproduce the problem if you set the git.openRepositoryInParentFolders to always and reload the window?

@Attackly, could you please implement the following steps:

Close all windows of VS Code
From a Terminal window run code.exe --log trace
Wait for VS Code to load and for the repository not to get discovered
Share the contents of the git output window

The log wiith git.openRepositoryInParentFolders set to prompt
git-log-trace.txt

@Attackly, could you also please provide the logs with git.openRepositoryInParentFolders to always. Thanks!

Log with git.openRepositoryInParentFolders set to Always
git-log-trace-with-always.txt

Awesome! Thank you! For the time being please set the setting to always as that will restore the old behaviour. I will further investigate this later today and I will try to get a fix into recovery release that is planned for next week.

Thank you, the workaround provided worked perfectly for me.
Just in case it helps;
I was only experiencing this issue when I use a workspace. If I open the folder instead of the workspace, it detects the repo. I suspected it might be related to doing a LiveShare- this only happened after the LiveShare ended for me.
Hope that helps, thanks again.

@ryuuji3, could you please provide more details about the folder structure and the location of the workspace file?

It's a monorepo but I've placed the workspace file at the root of the monorepo (where the .git folder is). I am using a global .gitignore file to exclude it because IDE artifacts are not included in our repository's .gitignore.

I have the same issue with any of my workspaces, but it is fine opening the folder. The workaround also works.
Here is one of my workspace files (personal info redacted) and this is in Linux:
{
	"folders": [
		{
			"path": "../repos/work/PROJECT1"
		},
		{
			"name": "$web",
			"uri": "azurestorage:/$web?resourceId=/subscriptions/XXXX/StorageAccounts/subscriptions/XXXX/resourceGroups/dev/providers/Microsoft.Storage/storageAccounts/XXXX/Blob Containers/$web"
		}
	],
	"settings": {}
}

My PROJECT1 has 1 git repo which has a git submodule and that git submodule in turn has its own git submodule. Therefore, my Source Control shows me 3 git repos.
Hope this helps.

Happy to report that the workaround of setting git.openRepositoryInParentFolders = 'always' worked for me as well.
Hope that patch comes swiftly. Thank you for your work!

Here is the offending workspace file if it helps:
{
    "folders": [
        {
            "path": "."
        },
        {
            "path": "..\\<redacted>"
        },
        {
            "path": "..\\<redacted>\\<redacted>"
        },
        {
            "path": "..\\<redacted>\\<redacted>"
        }
    ],
    "settings": {
        "files.eol": "\n"
    }
}

Paths 2 and 3 point to two separate directories covered by the repository I previously reported as functioning and Path 4 points to a directory in a hereto unmentioned third repository.

Thank you all for the information. I am still struggling to reproduce the issue even with a workspace file that contains "path" fields similar to the samples provided above. Are the workspace folders all contained in the same git repository? A minimal sample of the folder structure that you could share would be extremely valuable.

Thanks for this workaround.

A minimal sample of the folder structure that you could share would be extremely valuable.

I don't have a minimal example that I've tested for both failure and success (given the workaround), but I do have the following locally:
- root repo dir (.git, etc.)
  - frontend dir (JavaScript, so package.json, etc...)
  - backend dir (Python, so requirements.txt, etc...)

I have the frontend dir open in VS Code.

A screenshot may help, though the paths I showed previously should already make this obvious, nonetheless, here it is. All of my Workspace files are in one folder. It only contains workspace files. No repos. The repos are in a folder at the same level as that workspace folder. One of my paths is a network path to an Azure resource, which is not a git repo.

@jomido, thanks for the information. When you opened the "Source Control" view, you should have seen a welcome view similar to the one here. Was that not the case or you just did not switch to the "Source Control" view? The welcome view contains a command to open the git repository from the parent directory.

@kevin-guertin, thank you very much for the screenshot. I believe I have a repro 🎉  Debugging the issue now...

When I do not have the workaround enabled, this what I see in my Source Control view:

I was not prompted with the shown welcome upon opening my workspace.
With the workaround enabled, this is what I see.

The top repository is in the workspace directory, the other two are external. With all Git-related extensions removed, Source Control is the only view available. I believe that's normal?
I wasn't prompted on the aforementioned workspace that "just worked" either, for that matter; which is odd, as it also contains an external git repository. Not gonna complain about something that's still working fine, I guess, but you gotta love bugs that are inexplicably inconsistent...

Thank you all once again for all the information.
I believe that I was able to track down the issue and created a PR with the potential fix. The problem was caused by the new code path to determine whether a git repository is inside/outside the workspace folder(s). The new code attempts to resolve the workspace folder as it might contain symbolic links before comparing it with the git repository root folder, and I was missing an exception handler. The fix should be included in Monday's Insiders release so I would be really grateful if you want install the build on Monday and confirm that the fix resolves the problem.
Apologies again for the inconvenience!

@lszomoru,
After removing the deleted workspace folder, things seem to be working, BUT, gutter markers are still missing (the red/blue marks showing which lines were changed). Will that get fixed with your change?

@Jason3S, does any of your workspace folders contain a symbolic link on their path?

@lszomoru,
It is a public repo: https://github.com/streetsidesoftware/cspell
There shouldn't be any symbolic links in the workspace file. But, the workspace paths do NOT start with a ./.

@Jason3S, could you please confirm that opening the same workspace yields different outcomes when you use VS Code Stable 1.74.3 and VS Code Stable 1.75 and VS Code Insiders 1.76. Just want to narrow down where the problem might be. Thanks!

Today's Insiders release contains the fix for this issue.
I would really appreciate if you would try it out and confirm that it resolves this issue. Thank you!
Version: 1.76.0-insider (Universal)
Commit: c9e3ef865539061b5602c6b9ac6030332aa1ce70
Date: 2023-02-06T05:24:10.821Z
Electron: 19.1.9
Chromium: 102.0.5005.194
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.3.0
Sandboxed: Yes

@jomido, thanks for the information. When you opened the "Source Control" view, you should have seen a welcome view similar to the one here. Was that not the case or you just did not switch to the "Source Control" view? The welcome view contains a command to open the git repository from the parent directory.

Apologies for the late response (looks like you've got this sorted, anyhow). When I opened VS Code this morning it had updated to 1.75. I don't think I'll revert back to 1.74.3 to do a check.
In 1.75 I no longer require the workaround, and the "Source Control" view now appears to be in the correct state, as described above. (I have not used this view on a day-to-day basis, so have nothing to compare it to in an experiential frame of ref.)  In addition, when removing the workaround on 1.75, a toast (inline pop up) on the bottom right of the window renders, asking about a git repo discovered one directory above the working directory. This toast was not appearing 4 days prior.
Thanks for the fix!

@Jason3S, could you please confirm that opening the same workspace yields different outcomes when you use VS Code Stable 1.74.3 and VS Code Stable 1.75 and VS Code Insiders 1.76. Just want to narrow down where the problem might be. Thanks!

I checked.

1.74.3 - works just fine.
1.75 VS Code Stable - has issues with git changes not showing.
1.76 Insiders - seem to be working.

Version: 1.76.0-insider
Commit: c9e3ef865539061b5602c6b9ac6030332aa1ce70
Date: 2023-02-06T05:24:10.821Z
Electron: 19.1.9
Chromium: 102.0.5005.194
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.2.0
Sandboxed: Yes

Having the same issue, downgraded for now. There was also a weird issue with my user created snippets (for PHP) only working once and then no longer showing up in the suggestions

@Jason3S, thank you very much for running all the tests. For the same of clarity let's keep this issue scoped to the issue of repository discovery. That particular issue has been fix in Insiders and will be included in the Stable recovery release that is planning for later this week. I will file a separate issue to track the problem related to diff decorators.

Verification steps:

Set up the following folder structure, where foo and bar and both folders containing a git repository

Open the foo workspace using the workspace file in VS Code 1.75 and the "Source Control" view is empty
Open the foo workspace using the workspace file in VS Code 1.75.1 and the "Source Control" view should show the two git repositories

@lszomoru,
Thank you for fixing this.

Is this related? The 'Clone Repository' button has gone from the explorer panel.

Above 1.75

Abobe 1.74

Looks like it moved to here... Hit the Source Control button

What about #112231 sine you are looking at that code already? @lszomoru

I'm seeing this issue after upgrading to 1.77.0
Full version details:
Version: 1.77.0-insider (user setup)
Commit: b8e4c550bc87aa1db64e612706ac5238035e9cc2
Date: 2023-03-22T05:22:27.933Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22000
Sandboxed: Yes

Setting git.openRepositoryInParentFolders to always did not fix it.

My issue was fixed with the installation of
Version: 1.77.0-insider (user setup)
Commit: a5bd844beddef8ca5f9ccfdb1bb7b3b4f8e5204e
Date: 2023-03-22T10:38:48.144Z


Adding docs for Random Perspective Transform

In reference to #781 .
cc : @fmassa

Codecov Report

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

@@            Coverage Diff            @@
##           master    #879      +/-   ##
=========================================
+ Coverage   56.67%   56.7%   +0.02%
=========================================
  Files          38      38
  Lines        3432    3432
  Branches      540     540
=========================================
+ Hits         1945    1946       +1
  Misses       1370    1370
+ Partials      117     116       -1

Impacted Files
Coverage Δ

torchvision/models/utils.py
50% <0%> (-50%)
:arrow_down:

torchvision/transforms/transforms.py
82.54% <0%> (+0.64%)
: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 7a4845a...74c7b20. Read the comment docs.


Made a method to add and remove tags from Person

Codecov Report

Merging #47 (828c253) into master (cebc9da) will decrease coverage by 0.72%.
The diff coverage is 17.39%.

@@             Coverage Diff              @@
##             master      #47      +/-   ##
============================================
- Coverage     59.68%   58.96%   -0.73%
  Complexity      406      406
============================================
  Files            79       79
  Lines          1389     1406      +17
  Branches        139      142       +3
============================================
  Hits            829      829
- Misses          517      535      +18
+ Partials         43       42       -1

Impacted Files
Coverage Δ

...c/main/java/seedu/address/model/person/Person.java
65.06% <9.52%> (-16.76%)
:arrow_down:

...java/seedu/address/logic/commands/EditCommand.java
96.66% <100.00%> (ø)

...va/seedu/address/logic/commands/RemarkCommand.java
54.54% <100.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


[PyTorch] Don't use autograd hook for bwd reduction

Introduced in #575;  using torch.autograd.graph.register_multi_grad_hook is the suspected reason for hangs in certain workloads. This PR uses a different design to achieve the reduction of amaxes for gradient tensors by directly calling it from the backward pass of the modules if needed.

/te-ci pytorch


Hyperdimension Neptunia: Producing Perfection Demo [PCSG90077]

Game summary

Game name: Hyperdimension Neptunia: Producing Perfection Demo
Game serial: PCSG90077

Vita3K summary

Version: 0.01
Build number: 404
Commit hash: https://github.com/vita3k/vita3k/commit/d4cd595

Test environment summary

Tested by: waterflame
OS: Windows 7
CPU: Intel i7-2600
GPU: AMD Radeon HD 6700 Series
RAM: 8 GB

Issues
No noticeable regressions against 328-https://github.com/vita3k/vita3k/commit/6525c1c.
Screenshots

Log
vita3k-404.log
Recommended labels

Crash

Vita3K summary

Version: v0.1
Build number: 571-70599d3
Commit hash:  https://github.com/Vita3K/Vita3K/commit/70599d3

NepPPTrial.log

Vita3K summary

Version: v0.1
Build number: 805
Commit hash: https://github.com/vita3k/vita3k/commit/4279f967

Issue
Runtime error on shader gen
Log
NepPPTrial.log

Vita3K summary

Version: v0.1
Build number: 984
Commit hash: fb0798e of pull/456 (I don't want to append every issue to the PR)

Issue
Seems to no longer  crash on shader gen but sceKernel thread  functions not being implemented

Vita3K summary

Version: v0.1
Build number: 1315
Commit hash: https://github.com/vita3k/vita3k/commit/5b070aac

Crashes last printing about sceKernelChangeThread..., sceFios, _sceFiber..., sceKernelGetThreadInfo

Vita3K summary

Version: v0.1.5
Build number: 2630
Commit hash: https://github.com/vita3k/vita3k/commit/18dacae2
CPU backend: Dynamic

Test environment summary

Tested by: othmanead
OS: Windows 11
CPU: Intel i5-10300H
GPU: RTX 3060 mobile
RAM: 16 GB

Issue:

Game is playable

Screenshots:

Log
vita3k.log
Recommended labels

Playable


System prompt

Closes https://github.com/h2oai/h2o-llmstudio/issues/223
Currently not working for rlhf
Tooltips will follow after final decisions are made

Can we add it to the chat interface somehow?

We could, but do you think it would be an important feature? would need to be an extra input then

I would suggest that we also add it to the validation visualizations.

Lets add it here: https://github.com/h2oai/h2o-llmstudio/issues/255

Can we add it to the chat interface somehow?

We could, but do you think it would be an important feature? would need to be an extra input then

I would suggest that we also add it to the validation visualizations.

Lets add it here: #255

Agree, this can definitely be done in follow-up issues.
Else, looks good to me, besides the missing tooltips.


add the tags of the host to the new collective

I tested locally and it was adding properly the right host. Not sure why it would be different on production.
@piamancini are people creating those collectives using the https://opencollective.com/operationcode/apply url?


Fix documentation, wrong parameter name

The parameter name field in the docs didn't match the actual parameter name for the viz roc_curves_from_test_statistics.

 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.

Thank you for catching this


Transaction tracking - adding transactions

Shown transactions are leftover after Dawid's database update, it will be reworked in #37


add spec for CLI option "-W:no-deprecated" introduced in Ruby 2.7

Hello 👋
Here's my suggestion to cover this one from #745

The -W option has been extended with a following :, to manage categorized
warnings. Feature #16345 Feature #16420

I always find it tricky to assert for nothing (empty string), that's why I also added an assertion for the deprecation warning if option -W:no-deprecated is not given. Do you think this makes sense?
Looking forward to receiving your feedback.

Thanks, this looks good.
I'm not sure there is a good way to emit a deprecation warning no matter the Ruby version running the test.

TBH I am wondering how '2>&1' works on Windows. AFAIK we run specs on CI on Windows as well.

I think whatever shell is used by Ruby on Windows supports it. @MSP-Greg  probably knows better.

2>&1 works in PowerShell.  I use it building ruby-loco.


Fix: Last tag always has \n in the description

Fixes #87.
Not sure if this is the best fix so open to suggestions.

Good enough for me!

I still see an extra \n in the description of the last tag.

@Madd0g can you provide me a concrete code example so I can add it as a test (and fix it)?


if isValidDate is passed we need to verify if the view date is valid …

…before trying to render the component.
The calendar should only show a date that is selectable (based on isValidDate function)
Description
added some code to check isValidDate to change the viewDate to a date that can actually be selected.
Motivation and Context
My users were complaining that when there was a range that was disabled on the current month they would have to skip to the month where dates are selectable. This will now do this automatically.
Checklist
[ ] I have added tests covering my changes
[ ] All new and existing tests pass
[ ] My changes required the documentation to be updated
  [ ] I have updated the documentation accordingly
  [ ] I have updated the TypeScript 1.8 type definitions accordingly
  [ ] I have updated the TypeScript 2.0+ type definitions accordingly

Hi @JesseChrestler ,
I'm probably going to remove this on the next update.  There is a problem with the code.  If your isValidDate function doesn't allow dates in the future adding 1 day in the while loop will cause it to loop until it crashes.  Can you think of any alternatives?
Reference issues #416 and #414

Hey @JesseChrestler, thanks for your contribution. Too bad it's not working as intended. This sort of logic is sensitive, the component has complex internal state that needs consideration always. Having tests for changes like these are crucial, in my opinion.
@layneanderson Let's not deploy new version with this change, if it doesn't work. If we want to deploy we can always revert this commit first.

So I have been thinking of an alternative and I might have a way. This would eliminate the while loop and make it much faster. The downside is allowing another from props parameter. This parameter would let me set the date in which the calendar would render on the initial load. This different than setting the value as I want to have the calendar render any month given this parameter.  This would work for both future and past dates.
Example
renderDate={moment().add('1' 'M')}
Will render the calendar one month in the future. This will satisfy my scenario as I would pass it my initial range of my IsValidDate function.
Let me know what you think of this strategy, I think it could have a lot uses outside of my specific case.

Also the name of the parameter needs to make sense. The other parameters like renderDay and renderMonth have different intentions and might make the API confusing. Maybe calling the parameter initialRenderDate might make it more clear.

I ran next code on my side and it is not working and browser freezes:
const validBookDates = [moment("2017-04-18"), moment("2017-04-25")]
const valid = ( current ) => {
return current.isSame(validBookDates)
}
...

the package version is: "react-datetime": "^2.10.2",

I've removed this code in v2.10.3 because it was causing crashes.  Is there an original issue that we should reopen?  I believe it would be good to check isValidDate before render, just not sure best way to implement that will satisfy all edge cases.
Thinking about this problem I think in a lot of cases it could be handled in the code using react-datetime (i.e. set value appropriately).

I need to show only available dates.
I send request to receive availbale dates and want to set it for react-datetime. Is it possible or not ?

Thanks.

@andreoman Check the isValidDate prop, it should do the trick.

@simeg Did you read my comment before ? I wrote that isValidDate does not work in my case.

@andreoman isValidDate prop only takes care of disabling dates, it doesn't effect what month is displayed first. I have a pull request which i need to fix so it can be approved. It basically let's you specify the month you want to display on initial load.


Add Nephio install packages

Two packages to install Nephio R1: one for the base Nephio Management Cluster, and one for additional packages used by the Sandbox Demo environment.
Note that this does not include Gitea in the sandbox package, because it runs in a separate cluster to simulate an external Git provider.

/hold
Testing this out.

Nevermind, I see most of these are already being installed. Changing tacks.
/close


✨ Refactoring mev-boost

Description
Server
In the process of implementing features such as the relay selection, I faced some issues related to the current architecture of the server package.
I have identified the following potential refactors that, once implemented, would make granular updates easier for developers:

Add a cache package

It would hold the bid cache specific types and methods

Add an internal/testing package

It would hold the mocked types and mock relay

Add a package for relay-dedicated components

It would hold relay entries types and methods

Move client methods in a dedicated package

It would hold all methods used to make requests currently in the utils.go file

Refactor the mocked relay and associated tests

CLI
In my opinion, I also think that the current implementation of the CLI could be improved by taking advantage of the combined powers of Cobra and Viper.
Using this combination in a good way could lead to the usage of configuration files for mev-boost, which can be used by future features.
Discussion
I would like to have your opinion / critisims about these. If you have any a question or need more details, please ask.

Hey! Sounds like a great direction, and something I feel is needed 👍
I'd take it step by step, and let's not grow the packages too quickly.
I think a good starting point would be to have a common package (name flexible) which contains:

RelayEntry: https://github.com/flashbots/mev-boost/blob/main/server/relay_entry.go
utils.go: https://github.com/flashbots/mev-boost/blob/main/server/utils.go

This would be a good PR #1 and very helpful

Re other points:

cache package: what do you see being in there? if it's very service specific i'd almost leave it there rather than create a new pkg
internal/testing -- i think exporting the mocked types and even the mock-relay makes sense, for other projects to use them to test some things
The points re pkg restructuring - i'd love to address them a bit later after doing the first step
CLI: I'm open to improving configuration and switching to Cobra/Viper, but it must remain backwards-compatible (i.e. current single-dash arguments must continue to work).


Replace calc_t_em_ls with a table-based method

calc_t_em_ls  is just one of many methods that might be improved by using a more data-driven approach. This is a possible rewrite of the function, except edge cases behave slightly different.
This issue is about verifying that the edge cases in the original implementation are, in fact, correct and if not, maybe we can adopt the following version:
def calc_t_em_ls(heating_system, cooling_system, control_system):
    control_delta_heating = {'T1': 2.5, 'T2': 1.2, 'T3': 0.9, 'T4': 1.8}
    control_delta_cooling = {'T1': -2.5, 'T2': -1.2, 'T3': -0.9, 'T4': -1.8}
    temperature_correction_heating = {'T1': 0.15, 'T2': -0.1, 'T3': -1.1, 'T4': -0.9}
    temperature_correction_cooling = {'T1': 0.5, 'T2': 0.7, 'T3': 0.5}

    try:
        result_heating = control_delta_heating[control_system] + temperature_correction_heating[heating_system]
    except KeyError:
        result_heating = 0.0

    try:
        result_cooling = control_delta_cooling[control_system] + temperature_correction_cooling[cooling_system]
    except KeyError:
        result_cooling = 0.0

    return result_heating, result_cooling

hey @daren-thomas , could you please give me an example on the "edge cases"?

So, once you and I agree on what should happen when bad data gets put in to the function, we can adopt the newer version of the function...

I have also done a speed test to see if there is a difference, but there is no noticeable difference in speed so I suggest we go with the version that is easier to understand and maintain. What do you think, @shanshanhsieh?

Huh... by moving the dictionaries to the module (so they only get created at module import time) the newer version is twice as fast...

See PR #371

Hi @daren-thomas , thank you for the explanation!
to my opinion, at the edge cases, when the control systems and emission systems are not specified in the database, an error should be raised. Or at least zero temperature adjustment should be returned (result_heating, result_cooling). Therefore, we should switch to your table-based method.

OK. It turns out that the reference cases include 'T0' as cooling system. What is the setpoint correction for that supposed to be? I'm setting it to 0.0, @shanshanhsieh can you please check to see if that is correct?

@shanshanhsieh: Can you check the branch of the PR #371 for an example of unit testing the calc_t_em_ls function? What are examples of correct behavior (input / output)? I think it would be good to test some. Also, please check that the T0 definitions are correct. I'm not sure about them.

You are right @daren-thomas , there is a problem when no heating or cooling system is assigned (T0).
T0 means there's no heating/cooling systems installed, therefore, also no control systems for heating/cooling.
In short, when the input system is T0, the output set point correction should be 0.0.
So if there is no cooling systems, the calc_t_em_ls function input: (T1, T0, T1) (type_hs, type_cs, type_ctrl), return should be (2.65, 0.0), the control system is only specified for the heating system.
In another case with no heating systems: input: (T0, T3, T1) return: (0.0, -2.0), the control system is only specified for the heating system.

I have updated the code to reflect this for heating systems and cooling systems in 522e066.  I have also added your last comment to the documentation of the function. Also, check out the unit tests that make sure this is correct. I think we should do a lot more of these at the module/function level as they "document" the assumptions built into the code.
Can you come up with other tests for correct behavior? What happens if the control system is T0?
Can we come up with a better name than calc_t_em_ls? What does that even mean? Could we call it correction_factor_for_heating_and_cooling_setpoints? or correction_factor_for_setpoints? Did you derive the name from a section in the standard? (where? paragraph?) - that would be an indication to leave the name as is...

I adopted the function name from before, a better name could be temperature_setpoint_correction_for_space_emission_systems or just setpoint_correction_for_space_emission_systems.
T0 is not a valid input for control system, if the control system is not specified, an error should be raised, and I think that's what the current function is doing. I modified it in 099bee3.

thank you! I will update the function name, I like your suggestions!
BTW: I took the T0 for control systems from the documentation as mentioned in the docstring of the function. Would you mind checking the relevant page and updating it in the documentation please?

Will do!


Move 'Types' from 'base' to 'reflect' package.

Move 'Types' from 'base' to 'reflect' package.

@armiol PTAL


CI/CD

integration of this repo and running the tasks is straightforward for me, but i'm not sure how to upload a new zip to devtools via an api. would be nice to have master branch protected, accept PRs only, and each accepted PR is pretested and when accepted pushed to chrome web store

Bump. Do you need any support?

i had some when this repo was owned by me, but looks like the google cloud build integration was lost in the transfer. let me restore it, then we can go from there.
i would love help with:

[ ] on master merge kick off build that then deploys a zip to the chrome web store
[ ] automate bumping the manifest
[ ] automate uploading the zip
[ ] on new PR run build, verify compile
[ ] on new PR run npm test, see #86

CI is done, tests are running, package.json commands are pretty much ready for automation. @DanielRuf  I'd love some help pushing builds to the chrome web store (i've done 0 research so far). I've got the version of visbug auto bumping on new builds if you use the npm run extension:release command, but it doesnt bump the extension manifest (see todo above).
So I'm at the CD part now of the flow. Near the end 👍

started an Action today that's got most the work laid down, need to update 2 things:

manifest.json needs to sync with bumped package.json version (custom bash task?)
would be best if the github action could access the new bumped version so it can access the versioned build file for upload, otherwise i'll need to update build tasks to create a static build zip for upload

file are built, task are running, need a few minor things customized and then this should be good to go
might be nice to publish a github release as well? but maybe that's for a later task?

got it


[Review only -- do not merge] adding easytables

First review version of EasyTables in script. Waiting on Nuget updates to be deployed so I can absorb them here -- ignore any odd-looking references.

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

It looks like you're working at Microsoft (brettsam). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Updated I2MC to be publishable

Changes

Structure
Updated the Folder Structure to represent a python package. Therefore, all I2MC relating functions were moved to the "I2MC" folder. The Example and the Data moved to the "example" folder, and the example data is now in a csv file.
Added a ".github/workflows" folder for workflows, which will publish the package on every change on main/ master to PyPi as soon as a PyPi API_Secret is set.
Added a setup.py for packaging
Content
Kicked out import of the files because it's one line with pandas. But it's still shown how to in the examples.
Added an ipynb as example which can later can be called via binder as soon as merged.
Reformatted the Code
Updated some typos
Moved plotting to its own subpackage
TODO

[ ] Add Author and Email to setup.py
[ ] Add PYPI_API key to secrets for auto publishing and enable it in the workflow by commenting in the needed part
[x] document the I2MC function to display what is needed as options and as data
[ ] validate against matlab
[ ] convert variable names to snake_case

Miss clicked closing, shouldn't be closed

Thanks a lot for the work! I have used quite a bit of it. Especially the automatic deploy is cool. I've set it up though to trigger on release creating instead of push to master, thats fits my (rather simple) development process better.
I just have to look into the ipynb now, no experience with those. Leaving this open for now

Cool, ipynb also added now. Stayed a bit closer to the .py example. Now whats left for me is to take another pass trying to delve deeper into the small remaining differences in output between matlab and python version. Thanks for all the input and ideas


Support TCP back-pressure

As near as I can tell from reading https://github.com/CausalityLtd/ponyc/blob/b0527bfdbee177c4470698f349607bcafe9ad099/packages/net/tcpconnection.pony#L345 pony will unconditionally receive data from the underlying OS socket and buffer it in process. This seems less than ideal for scalable network applications because it means you can't rely on TCP to backpressure telling clients to slow down.
This is a bit lower-level than I'm used to working at, so maybe this is totally normal, but I'd be interested in the opinion of the pony team on whether a pull-based model for TCP connections. (E.g. a connection listener explicitly signals the connection that it wants more data)

This is an excellent question.
For the application classes I've worked on, a push model has been natural, but clearly the ability to "stop listening for a bit" is useful in some scenarios.
The question is what form this should take. A simple pause/unpause on the TCPConnection that unsubscribes/resubscribes the event without closing the socket? Or a deferred/aggregated ack that allows the TCPConnection to send N chunks of data before expecting some "I have processed M chunks" message?
API suggestions welcome from everyone :)

A simple pause/unpause on the TCPConnection that unsubscribes/resubscribes the event without closing the socket?

You're talking about dropping pony messages that have already been taken out of the TCP receive buffer? Seems like a dangerous setting in most applications, though it may be the most practical way to do it if the application understands the implications and is structured so that dropped messages can be recovered later (by asking the other side to send them again).
But maybe you're not talking about dropping pony messages, just unsubscribing from asio and leaving the bytes in the TCP buffer (until the TCP buffer overflows, and then you start dropping messages in the native TCP way).  To me, this sounds a little more appropriate, as you get to take advantage of the native TCP flow control features.
I've always seen backpressure implemented as a structured protocol on top of TCP (or another connection-oriented transport), with credit-based control flow of the messages (so that you never get to the point of actually having to drop messages).  Still, you'd want to make sure that if you're connected to a malicious program that is violating the credit-based control flow protocol, it can't attack and run you out of memory.  So I would see this kind of low-level pony message-or-packet-dropping feature as not necessary under normal conditions, but a useful "last line of defense" if your protocol fails to control the inbound flow.
So that leaves the big question: what does the API look like for this drop feature?
My original thought was to have TCPConnectionNotify be in charge of telling the TCPConnection to stop or start flow, but this is problematic because the TCPConnectionNotify has no way of receiving pony messages from other actors in your application (which would know about whether your backpressure has been exceeded).
My next thought is that we probably need a behaviour on TCPConnection that can stop or start asio flow.  Then, any actor can send a pony message to TCPConnection when they are overloaded with messages.  However, it's hard to imagine how they actually know they are overloaded in practice, as this detail seems mostly hidden by the pony runtime.
This last thought seems to make me believe that the problem is more general and best handled at the runtime level.  I apologize if this suggestion is impractical due to a lack of understanding for how pony messages work, but as I understand it, pony actors within the same runtime process have some means by which they achieve back-pressure.  Is there a way to exert this same back-pressure so that whenever a pony actor has too many "unaccepted" outbound pony messages, it "unschedules" the asio backend of the _event_notify method.  This would also apply to a Timer, for example, which may be generating pony messages too quickly for those actors receiving the messages.

Everything @jemc says above makes sense, except that Pony actors do not have an internal back pressure mechanism. You could make arguments that there should be such a mechanism, but currently there isn't.

@sylvanc @jemc does #806 that we discussed the other day and Joe assigned himself to cover this?

@SeanTAllen - good point.  I totally forgot about this earlier ticket.  I'm going to close this one in favor of #806.


⚠ Orpheus has degraded performance

In 042e761, Orpheus ($OPS) experienced degraded performance:

HTTP code: 200
Response time: 4339 ms

Resolved: Orpheus performance has improved in 15b0cbb after 8 minutes.


fix: image for visibility testing when window is a keyboard

Description

This pull request fixes #2754

In this pull request, I have changed the image for visibility testing logic so it no longer overlays keyboards when the keyboard is the window being tested.

For features/enhancements:

[x] I have added/updated the relevant references in the documentation files.

(This is not a feature or enhancement, it's a bug fix)

For API changes:

[x] I have made the necessary changes in the types index file.

(This does not change the API surface)

So I somehow missed this PR while going over #2754... Thank you!!!

Offhand, I see that we're going to need an integrated e2e test case in order to accept this.

@tyronet-sportsbet Thanks for the PR!

I have attempted to add an E2E test as requested, I hope what I've done is acceptable. I'm not sure why the Android job on Jenkins is failing, I'm not really familiar with Android / Detox's CI enough to parse what's going on in those logs, so if someone could give me a steer there I'll fix it ASAP.

Merged!

Thank you!


Contact Us Section on home page with backend added

Related Issue
Contact Us Section on home page with backend added
Closes: #194
Describe the changes you've made
Give a clear description what modifications you have made
Type of change
What sort of change have you made:

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

Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly whereever it was hard to understand.
[x] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.

https://user-images.githubusercontent.com/55352601/118403636-fc546c80-b68c-11eb-83ac-534e2f55a6ef.mp4

@adarshvulli please don't forgot to import new database file named contact.sql  it will create tables . if it gives any error just drop that database , create a new db and import it again :)

@ankitapuri for the ui we can raise a new issue


Bug with OR, AND RSQL operators

Hello. Let's say we have a table TEST_RANGE with these values
[
	{
		"ID": 1,
		"NAME": "aaa"
	},
	{
		"ID": 2,
		"NAME": "bbb"
	},
	{
		"ID": 3,
		"NAME": "ccc"
	},
	{
		"ID": 4,
		"NAME": "ddd"
	},
	{
		"ID": 5,
		"NAME": "eee"
	},
	{
		"ID": 6,
		"NAME": "ffff"
	},
	{
		"ID": 7,
		"NAME": "ggg"
	},
	{
		"ID": 8,
		"NAME": "hhh"
	},
	{
		"ID": 9,
		"NAME": "iii"
	},
	{
		"ID": 10,
		"NAME": "jjj"
	}
]

If we want to construct a query that get's the range between IDs 5 and 7 we do it like this
/TEST_RANGE?filter=ID>=5;ID<=7
The problem is that the endpoint returns the wrong result
[
	{
		"ID": 7,
		"NAME": "ggg"
	}
]

From the DEBUG log the query that shows is being executed is
Executing prepared SQL statement:
[SELECT
    TEST_82.ID
    ,TEST_82.NAME
FROM
    testos.TEST_RANGE TEST_82
WHERE
    ( TEST_82.ID >= ? AND TEST_82.ID <= ? )
LIMIT 100
]

If you run this directly with an SQL IDE
SELECT
    TEST_82.ID
    ,TEST_82.NAME
FROM
    testos.TEST_RANGE TEST_82
WHERE
    ( TEST_82.ID >= 5 AND TEST_82.ID <= 7 )
LIMIT 100

the result will be
ID	NAME
5	eee
6	fff
7	ggg

Same bug happend if you use the OR operator.
/TEST_RANGE?filter=ID==5,ID==7
The endpoint returns
[
	{
		"ID": 7,
		"NAME": "ggg"
	}
]

The sql statement from the DEBUG log is
Executing prepared SQL statement
[SELECT
    TEST_82.ID
    ,TEST_82.NAME
FROM
    testos.TEST_RANGE TEST_82
WHERE
    ( TEST_82.ID = ? OR TEST_82.ID = ? )
LIMIT 100
]

If you run this directly to an SQL IDE
SELECT
    TEST_82.ID
    ,TEST_82.NAME
FROM
    testos.TEST_RANGE TEST_82
WHERE
    ( TEST_82.ID = 5 OR TEST_82.ID = 7 )
LIMIT 100

The result is
ID	NAME
5	eee
7	ggg

Another example
/TEST_RANGE?filter=ID>=5,ID==7
The endpoint returns
[
	{
		"ID": 7,
		"NAME": "ggg"
	},
	{
		"ID": 8,
		"NAME": "hhh"
	},
	{
		"ID": 9,
		"NAME": "iii"
	},
	{
		"ID": 10,
		"NAME": "jjj"
	}
]

Clearly missing ID = 5 and ID = 6
The sql query from the request
Executing prepared SQL statement
[SELECT
    TEST_41.ID
    ,TEST_41.NAME
FROM
    testos.TEST_RANGE TEST_41
WHERE
    ( TEST_41.ID >= ? OR TEST_41.ID = ? )
LIMIT 100
]

If you run it with an SQL IDE
SELECT
    TEST_41.ID
    ,TEST_41.NAME
FROM
    testos.TEST_RANGE TEST_41
WHERE
    ( TEST_41.ID >= 5 OR TEST_41.ID = 7 )
LIMIT 100

Result
ID	NAME
5	eee
6	fff
7	ggg
8	hhh
9	iii
10	jjj

Tried on Oracle and MySQL databases.

Tried with latest version 0.2.8. Everything works fine now. The correct results are returned. Thank you!

@MichalisDBA Awesomely good news!  Thanks for the feedback!  Closing now.  Keep those issues coming when you spot something odd!


(#357) No show reminder

#357
Changes include:

Added artisan command and task to send no-show emails to the applicants.
Removed custom no-show email sending ability
Added a new status, no-show-reminded

@bohraji going ahead with the merge on this. This needs some testing and is on priority. Will discuss the feedback on this with you.


Report Preview isn't working using Report.Execute method in BC16

This GitHub repository is dedicated to handling issues and feedback for the latest Developer Preview releases of the AL development tools for Dynamics 365 Business Central.
We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
You can open Support Request to CSS through PartnerSource portal or contact your Service Account Manager (SAM) in the local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also step by step direct you how to open a support request or how to get credentials if this is the first time for you / your company.

Describe the bug
We have upgraded an existing AL code from BC15 to BC16 (both on prem) and noticed that the behaviour of Report.Execute method has changed. Previously it opened a report in preview mode for the user for further action. Now it automatically downloads a PDF without displaying the preview mode.
To Reproduce
Steps and to reproduce the behaviour:
For example, create a new action in Sales Order page that runs a report (via variable) using Execute method. And run the action to see the system behaviour.
AL Code to reproduce the issue
//Below is an example. Report and record variables should be replaced with different.
        action(JobPrintPreview)
        {
            ApplicationArea = Basic;
            Caption = 'Job Print Preview';
            trigger OnAction()
            var
                JobCardRep: Report "My Report";
                RecRef: RecordRef;
                ServHeader: Record "Service Header";
            begin
                ServHeader.Reset;
                ServHeader.SetRange("Document Type", "Document Type");
                ServHeader.SetRange("No.", "No.");
                RecRef.GetTable(ServHeader);

                JobCardRep.Execute('', RecRef);
            end;
        }

Duplicate of #6333


ENH: Refactor writer/translators into specific targets ipynb, html, pdf

We should refactor the current translate_code and translate_all into specific end target writers to improve this code base. It is currently confusing to have all the states included in a single writer depending on a wide set of options.
I propose:

translate_code as the base object used to write notebooks that just contain code blocks
translate_ipynb for as the primary for producing ipynb files that has an emphasis on readability and supports markdown as much as possible
translate_html for writing ipynb files used in the production of the website and favours using html objects in the notebooks
translate_pdf for writing ipynb files used in the production of pdf files.

More detailed discussion of this is
https://github.com/QuantEcon/sphinxcontrib-jupyter/wiki/Extension-Refactor-and-Redesign-(November-2019)


Fix broken caching system when array of allowed parameters used

Cache Include Query String in the /Config/Cache.php (line 73) suggest to the user 3 options to choose from:
false  = Disabled

true   = Enabled, take all query parameters into account. Please be aware that this may result in numerous cache files generated for the same page over and over again.

array('q') = Enabled, but only take into account the specified list of query parameters.

However, last option with array of important parameters just doesn't work. We were using third option, because we had one important parameter (color) on the site, and content were dynamic based on this parameter.
But then we`ve seen huge amount of cache files on our server, thousands and thousands. Turned out, even when using array of parameters in Config/Cache $cacheQueryString option - CodeIgniter was creating new cache file for any requests just like it was set to 'true'. Cache fles generated for the same page over and over again, performance were slow.
Since Google Ads, Bing, Yahoo and all marketing platforms always adding dynamic parameters like 'click_id' for example, 'utm_source', 'utm_medium' and other, cache file was creating for all requests from the paid traffic. It was almost impossible to catch, but we saw weird amount of caching files, and that helped us to see the problem.
I`ve made testing on the clean CodeIgniter 4 installations, latest version. Happened there too.
So I`ve checked the source code, and I saw there there is no difference between true/array options, they just  work same. I believe this is very missleading, because Config/Cache showing 'array' option and suggest to use it.
This fixes should help, and take into the account array option.
Thank you
Checklist:

[ ] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

https://github.com/codeigniter4/CodeIgniter4/blob/9546098b0f3e9d4cefa5dbcb94972edab11739b2/app/Config/Cache.php#L55-L71

Thank you for sending a PR!

Please fix coding style. See GitHub Action checks.

https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#php-style
https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#static-analysis-on-php-code

Please add test code.

https://github.com/codeigniter4/CodeIgniter4/tree/develop/tests#resources

we expect all code changes or bug-fixes to be accompanied by one or more tests added to our test suite to prove the code works. If pull requests are not accompanied by relevant tests, they will likely be closed. Since we are a team of volunteers, we don't have any more time to work on the framework than you do. Please make it as painless for your contributions to be included as possible. If you need help with getting tests running on your local machines, ask for help on the forums. We would be happy to help out.
https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#contributions

kenjis

Sure thing :)
I am going to write a test, but method that generating cache name (and having the bug) is protected.
What is the best practice in CodeIgniter 4, to create a test for protected methods? Should I change it to public to run a test, or do something else?
Thanks!

Sorry, it is difficult to write test code for it.

What is the best practice in CodeIgniter 4, to create a test for protected methods?

It is fine in this case,
Or integration test like this:
https://github.com/codeigniter4/CodeIgniter4/blob/9546098b0f3e9d4cefa5dbcb94972edab11739b2/tests/system/CodeIgniterTest.php#L569

Should I change it to public to run a test

No. We cannot change public APIs for bug fixes (as much as possible).

Sorry, it is difficult to write test code for it.

What is the best practice in CodeIgniter 4, to create a test for protected methods?

It is fine in this case,
Or integration test like this:
https://github.com/codeigniter4/CodeIgniter4/blob/9546098b0f3e9d4cefa5dbcb94972edab11739b2/tests/system/CodeIgniterTest.php#L569

Should I change it to public to run a test

No. We cannot change public APIs for bug fixes (as much as possible).

Okay, I`ve created three new tests, for all possible values of the $cacheQueryString in Config/Cache.php
Also the bug is fixed in CodeIgniter.php, and now when $cacheQueryString is set to array of important parameters - it works how it should.
If you run tests in the current dev/master branch, you`ll see that testPageCacheWithCacheQueryStringArray() test is failling, because CodeIgniter creating 5 cache files instead of 3 expected.
Thats pretty critical bug, because its generating thousands of cache files in the production server, and showing not cached version of the pages for all users with unique not important parameters like utm_source/click_id/etc
In my branch its fixed

Please change the tests to use the data provider.
https://phpunit.readthedocs.io/en/9.5/writing-tests-for-phpunit.html#writing-tests-for-phpunit-data-providers

Please change the tests to use the data provider. https://phpunit.readthedocs.io/en/9.5/writing-tests-for-phpunit.html#writing-tests-for-phpunit-data-providers

Done 👍

@JavaDeveloperKiev You've signed only the first commit.
Please sign all commits.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#signing

Update your branch. I mean git rebase.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#updating-your-branch

Can you rebase?

Can you rebase?

Sure, rebased branch, now all commits should be verified

Oh,  now this PR has 108 commits?
What command did you run?
How to rebase:
https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#updating-your-branch

Oh, now this PR has 108 commits! What command did you run?
How to rebase: https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#updating-your-branch

Not sure what went wrong, I copied commands from instructions, see the snapshot. As I understand, its merged all existing commits from upstream/develop to this branch in last 10 days, and then added mine commits over it.
Want to me create new branch and open another PR instead of this one?

Want to me create new branch and open another PR instead of this one?

Yes.
I cannot merge this PR because there are commits that are not related to this fix.
It seems easier to create new branch and open another PR.

Want to me create new branch and open another PR instead of this one?

Yes. I cannot merge this PR because there are commits that are not related to this fix. It seems easier to create new branch and open another PR.

Ive created a new branch based on latest origin/dev to make a clean PR, but now when I try to commit Im getting errors from the PHP Stan, not related to my changes? Any idea?

Same errors in GitHub desktop, not related to my changes

I`ve double checked, my new branch is up to date with /dev

I have checked the latest develop.
$ vendor/bin/phpstan
Note: Using configuration file /Users/kenji/work/codeigniter/CodeIgniter4/phpstan.neon.dist.
 434/434 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

 [OK] No errors

Your origin/develop is up to date?
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/workflow.md#updating-your-branch

If you don't update Composer dependencies, run composer update.

If you don't update Composer dependencies, run composer update.

Worked like a charm, thank you!
Please check new PR:
https://github.com/codeigniter4/CodeIgniter4/pull/6475


FileManager's setAttributes:forItemAtPath: is unnecessarily slow

This PR fixes two small issues:

Resolving symlinks in a path should use getattrlist for absolute paths, not relative paths (this resulted in slower-than-expected performance for absolute paths)
Setting cat info attributes for a file should be a no-op when no relevant attributes are specified

@swift-ci please test

@swift-ci please test

@swift-ci please test


compile errors

Hi,
I have been following the tutorial at https://docs.libretuya.ml/docs/projects/esphome/#create-your-device-config for CLI.
When I build the project I have several MDNS errors. Specifically:
src/esphome/components/mdns/mdns_rp2040.cpp:21:54: error: no matching function for call to 'mDNS::begin(const char*, uint32_t)'
src/esphome/components/mdns/mdns_rp2040.cpp:43:26: error: no 'void esphome::mdns::MDNSComponent::loop()' member function declared in class 'esphome::mdns::MDNSComponent'
src/esphome/components/mdns/mdns_rp2040.cpp:46:8: error: 'MDNSResponder' has no member named 'close'

Hi, Found the glitch with verbose. Works as expected.

This was an error introduced in the last merge, I fixed it about 13 hours ago.


Remove default mounts for orchestrators

Make k8s and nomad more similar to k3s

Any specific reason to do so?

I have no strong opinion either way. I guess having no mounts at all saves you from installing sshfs during first boot, but otherwise it doesn't really cost much.
On the other hand is seems unlikely that you are making use of them when you are using k8s. Using hostpath volumes is not really good practice, but given that we are running single-node dev environments, they should work reliably, and can occasionally be useful.
So I guess I have a slight preference to keep them unless there is a specific reason to drop them.

My main goal was to make k3s and k8s more similar...
Changing whitespace and mounts were just casualties.
Similarly, I wanted Kubernetes and Nomad to be similar too.

Why were the defaults dropped for k3s ?

Why were the defaults dropped for k3s ?

That script started out as a PR comment when I implemented provisioning scripts: https://github.com/lima-vm/lima/pull/38#issuecomment-856497148
Since it was supposed to show how provisioning works, I kept it otherwise as minimal as possible. It was not originally meant to end up in the examples directory.
I agree that the mounts should be added to k3s as well, if we keep them for k8s and nomad.

I just wanted the file to be less complicated, I don't think that they will be used ? Especially now when moving kubectl outside, then it less likely to be doing "apply" on any file from the home directory or something

I just wanted the file to be less complicated, I don't think that they will be used ? Especially now when moving kubectl outside, then it is less likely to be doing "apply" on any file from the home directory or something

Yeah, the only use case I see it mounting a host directory into a container, to persist data outside the VM. I expect it to be rarely used too. As I said, I don't have a strong opinion, just a slight preference.
I'm fine with whatever @AkihiroSuda decides...

Ok, I will remove the mounts again and update


Invalid or unsupported Type AWS::SSM::MaintenanceWindow for resource MaintenanceWindow in us-east-1

cfn-lint version: (cfn-lint --version)
cfn-lint 0.4.2
Description of issue.
Invalid or unsupported Type AWS::SSM::MaintenanceWindow for resource MaintenanceWindow in us-east-1
Example:
 MaintenanceWindow:
    Type: AWS::SSM::MaintenanceWindow
    Properties:
      Description: Maintenance Windows for EC2SSM
      AllowUnassociatedTargets: false
      Cutoff: 1
      Schedule: cron(0 1 ? * 3#1 *)
      Duration: 4
      Name: !Sub ${AWS::StackName}-OfficialMaintenanceWindow

It is a supported type (as well as AWS::SSM::MaintenanceWindowTarget), see doc: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html

Hmm... I can see there are three "AWS::SSM::MaintenanceWindow*" resources in our docs:
·         AWS::SSM::MaintenanceWindow
·         AWS::SSM::MaintenanceWindowTarget
·         AWS::SSM::MaintenanceWindowTask
But, only AWS::SSM::MaintenanceWindowTask shows up in in the resource spec (https://d1uauaxba7bl26.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json).
I'll create an internal ticket around the missing resources and see if we can get these added to the spec.


css example not working?

Hi there
I'm having some trouble with the css functionality here and decided to try the example.
For me it doesn't seem to be working out of the box. I followed the instructions but I see that in deps there is a single css file that exactly mirrors src/styles.css:
/* @import "h1.css"; */
@import "import.css";

#images {
  display: flex;
  flex-wrap: wrap;
}

This causes the browser to fetch deps/import.css which does not exist. Perhaps the css transform is just not working? Is there something I have to do to enable it?
I also really want to use the css nesting that is advertised to work out of the box but it seems something more fundamental isn't right. Can you reproduce or is it just my set-up?
Using deno 1.9.0.

I will look Info that. There were changes on both esm.sh and deno 1.9 what might have broken the examples. I am working on an update which i hope to be able to release in a few days

Just published 6.3. Are the problems resolved with that update?


GET-Param

Hello,
(1) I want to load/start the webpage with a given IOTA Address. Example:
https://mineiota.com/?iotaAddress=SGX...  or shorter
https://mineiota.com/?adr=SGX...
(2) It would be a nice issue to get the hash rate.

Hi,

You already can do this by: https://mineiota.com/?address=
You can see info in log every time when you make 256 monero hash. this is calculated to iota and you can see your iota/per seconds this is same, only convertid with ratio from actual price with math.

Danke.
Freundliche Grüße
Thor Alexander
Eberhardstr. 17 | 72622 Nürtingen
Telefon: (+49) 70 22 / 60 20 16
Handy : (+49) 171 / 120 0 121
Fax: (+49) 32 12 / 10 24 999
http://www.thor-alexander.de/ Thor-Alexander.de sowie www.123-Bitcoin.de
Von: Jan Fiedler<EMAIL_ADDRESS>Gesendet: Freitag, 9. März 2018 23:15
An: janfiedler/mineiota
Cc: kiwi0199; Author
Betreff: Re: [janfiedler/mineiota] GET-Param (#63)
Hi,

You already can do this by: https://mineiota.com/?address=
You can see info in log every time when you make 256 monero hash. this is calculated to iota and you can see your iota/per seconds this is same, only convertid with ratio from actual price with math.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/janfiedler/mineiota/issues/63#issuecomment-371960539 , or mute the thread https://github.com/notifications/unsubscribe-auth/AfvrFXXNflzcY8Uy-HSi6s_iY5wrmZNJks5tcv7fgaJpZM4Sk8EY .  https://github.com/notifications/beacon/AfvrFQDFADKkRDGDsjYsZSJjw6awFvHQks5tcv7fgaJpZM4Sk8EY.gif


Remove Arduino as a language

See #3929 for the original issue.

@oldmud0 You'll also need to move the Arduino samples to samples/C++/ and fix any other Arduino-specific test.
/cc @FredrikL who added Arduino as a separate entry in Linguist six years go (#89).

I'll finish the PR when I have time again. Thanks!

Over here it did not get detected at all.

Erh, yep, that definitely wasn't meant to happen:

This looks to be a caching issue on GitHub's side. Language stats get recalculated each time a change is made, though, so making a menial edit to arduino-python-can-serial-demo.ino should do the trick. =)

too helpful.


Save in debugger when in a block context gets walkback

Not exactly a surprise, but what I wanted, either.  I hadn't noticed I was in a block context and saved a minor change.  It's not like I expected the saved method to even be actually saved...

I believe this is improved now. Required commits:

Rowan Client Services  https://github.com/GemTalk/RowanClientServices/commit/8f34db1cd16af4c9f535df7d09e203bdf3fab6e8
Jadeite for Pharo https://github.com/GemTalk/JadeiteForPharo/commit/8e7f57c9999b8936bfff860d6610d255455678c8


[TRACKING] Expand existing webserver to serve Prometheus /metrics endpoint

Expand existing webserver to serve Prometheus /metrics endpoint.
The initial Prometheus tracking ticket lives here: https://github.com/falcosecurity/cncf-green-review-testing/issues/12.

Work Items:

[ ] libs metrics refactor supporting text-based Prometheus exposition format https://github.com/falcosecurity/libs/pull/1652 @incertum
[ ] Sync libs referencing the new libs_metrics_collector, defer any other refactors (read below) https://github.com/falcosecurity/falco/pull/3129 @incertum
[ ] Expand existing webserver to serve Prometheus /metrics endpoint. TODO @sgaist
[ ] Given the new expanded metrics scope in falco, the current approach within stats_writer::collector::collect is no good anymore and we shall refactor it, also in anticipation to add yet another metrics category for rules counters. TODO @sgaist

/assign @sgaist
As discussed hand-off to Samuel 🙏

@incertum: GitHub didn't allow me to assign the following users: sgaist.
Note that only falcosecurity members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

/assign @sgaist
As discussed hand-off to Samuel 🙏

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@sgaist can you assign yourself, the bot doesn't allow me to do it. Thanks!

/milestone 0.38.0
CC @leogr

The libs unit tests should give a clear idea of the Prometheus metrics strings you should expect. Here are a few examples of metrics outside of libs metrics that would need to be created in Falco.
# HELP testns_falco_kernel_release_info https://falco.org/docs/metrics/
# TYPE testns_falco_kernel_release_info gauge
testns_falco_kernel_release_info{raw_name="kernel_release",kernel_release="6.6.7-200.fc39.x86_64"} 1

# HELP testns_falco_duration_seconds_total https://falco.org/docs/metrics/
# TYPE testns_falco_duration_seconds_total counter
testns_falco_duration_seconds_total{raw_name="duration_sec"} 144

# HELP testns_falco_evt_rate_seconds https://falco.org/docs/metrics/
# TYPE testns_falco_evt_rate_seconds gauge
testns_falco_evt_rate_seconds{raw_name="evt_rate_sec"}<PHONE_NUMBER>00

# HELP testns_falco_host_boot_timestamp_nanoseconds https://falco.org/docs/metrics/
# TYPE testns_falco_host_boot_timestamp_nanoseconds gauge
testns_falco_host_boot_timestamp_nanoseconds{raw_name="host_boot_ts"}<PHONE_NUMBER>000000000

They are also part of the libs unit tests.
In addition re the Prometheus namespace + subsystem I would suggest the following:

falcosecurity_falco_*
falcosecurity_scap_*

The subsystem should match the output rules metrics naming conventions https://falco.org/docs/metrics/falco-metrics/
Finally, since we did this major libs metrics refactor it could be nice to also refactor the metrics output handling for falco since we are now expanding the scope with Prometheus. You will find a nice solution 😉 no doubt @sgaist !

@incertum PRs are merged both into libs and in Falco master.
@sgaist you can start your work whenever you wish :)

Noted and starting :-)

/assign @sgaist