VS Code extreamly slow after attaching external monitor MacOS/2019 MBP 16".

VSCode Version: 1.48.0-insider and latest stable 1.47.3
OS Version: macOS Catalina 10.15.6

Steps to Reproduce:

Plug in external monitor
Launch VS Code
(Launching VS Code then plugging in external monitor performs as expected)

Does this issue occur when all extensions are disabled?: Yes/No
Yes
Additional Information:
Summary of Problem:
I've noticed VS Code will become extremely sluggish after attaching an external monitor. This only appears to happen when the app is launched after plugging in the external monitor. If the app is launched before the monitor is attached, the app will continue to operate normally. Not sure if this is isolated to just VS Code, as I have noticed this issue on different electron based applications.
Scenarios:

I've tried both Apple's official USB-C to AV Multiport adapter and a third party Thunderbolt dock. (Same sluggish result)

I've tried multiple displays to include a 1080P and a 4K display. (Same sluggish result)

I've tried multiple HDMI cables from basic to high end. (Same sluggish result)

I've tried power vs no power (Same sluggish result with external monitor, performs as expected on built-in monitor only)

I've tried power through USB-C to AV Multiport vs power direct (Same sluggish result with external monitor, performs as expected on built-in monitor only)

I've tried rebooting, safe mode and SMC reset. (Same sluggish result with external monitor, performs as expected on built-in monitor only)

System:
OS: macOS Catalina 10.15.5
Model: Macbook Pro 16-inch 2019
Processor: 2.6GHz 6-Core Intel Core i7
Memory: 16GB 2667 MHz DDR4
Graphics: AMD Raden Pro 5300M 4GB & Intel UHD Graphics 630 1536MB

Detailed Description of Problem:
This appears to be a software issue. As of right now, I have only noticed it happening to Electron applications.  I have established that having an external monitor is required to trigger the bug. Power configurations and other peripherals have no effect on the tests. But having an external monitor alone is not enough to trigger the event. I must also open the application after connecting to an external monitor.
For example, if I open VS Code while using my MBP with no external monitor... the application will perform as expected. Regardless if I choose to attach an external monitor after the fact. On the other hand, if I attach an external monitor, through any type of means... then open VS Code, the app will perform extremely slow and sluggish. This persists after unplugging the external monitor.
To expand further, when I say 'slow and sluggish', I am referring to multiple visual actions. Scrolling becomes delayed, inaccurate and slow. Typing is characters, sometimes words behind. Sometimes the app will take seconds to respond to an action. The workspace becomes sluggish... specifically around the electron app's window. Etc.

Found solution:
A calibrated color profile for my monitor was causing the issues. Switching to the default color profile corrected the issue.


Router Advertisements provide loopback as gateway to clients

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
OPNsense RA & DHCPv6 provide clients the loopback address of the firewall instead of using the the lan interface IPv6 address.
Same issue by another user on reddit:
https://www.reddit.com/r/OPNsenseFirewall/comments/ha2sy2/router_advertisement_default_gateway/
To Reproduce
Steps to reproduce the behavior:
Setup static private IPv6 on a lan interface.
Setup DHCPv6 for a a range you like.
Enable RA in managed mode.
Clients get an "fe80::441d:81ff:fe65:5b7a" as router address (example) which I can find under system - routes - status ->
ipv6 | fe80::441d:81ff:fe65:5b7a%vtnet8 | link#9 | UHS | NaN | 16384 | lo0 | Loopback
Expected behavior
Clients should get the lan IPv6 of the firewall instead of the loopback IPv6 address:
Software version used and hardware type if relevant, e.g.:
OPNsense 23.1_6-amd64FreeBSD 13.1-RELEASE-p5OpenSSL 1.1.1s 1 Nov 2022

Huh, fe80::441d:81ff:fe65:5b7a%vtnet8 is clearly scoped through vtnet8, which is probably the interface you want your RAs to be sent from?

It's right, RAs should be sent from vtnet8 which is our internal network interface
The reason is, we're getting only a fixed public IPv6 with an /64 prefix so we can't create subnets for a routing.
So we like to setup internal a "fd" IPv6 range which we like to map with NPTv6 as a workaround.
Clients can't ping "fe80::441d:81ff:fe65:5b7a" or ssh to the this firewall address.

I don't see why a link-local attached client would not be able to ping the vtnet8 link-local unless it's blocked on the firewall, but that also would be pretty surprising given special link-local handling we do.

output from my mac
I've tried to ping this local address, also I can't see in live view that this ip will be dropped, more my mac told me "no route to host"
➜  ~ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
	inet <IP_ADDRESS> netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=400<CHANNEL_IO>
	ether cc:f9:e4:9d:3a:23
	inet6 fe80::147e:873d:b222:8d70%en0 prefixlen 64 secured scopeid 0x4
	inet <IP_ADDRESS> netmask 0xfffffe00 broadcast <IP_ADDRESS>
	inet6 fdf5:e60e:37b2:98cc:5428:e987:3ece:60a8 prefixlen 64 dynamic
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active
awdl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether da:62:3b:cf:fb:a4
	media: autoselect
	status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
	inet6 fe80::b0eb:f8c2:2b65:7954%utun0 prefixlen 64 scopeid 0x6
	nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
	inet6 fe80::a092:624f:85f6:875b%utun1 prefixlen 64 scopeid 0x7
	nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
	inet6 fe80::ce81:b1c:bd2c:69e%utun2 prefixlen 64 scopeid 0x8
	nd6 options=201<PERFORMNUD,DAD>
awdl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether 8e:da:2e:dd:92:05
	media: autoselect
	status: inactive
awdl2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether f2:8c:89:ea:d1:95
	media: autoselect
	status: active
awdl3: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether 0e:48:18:3e:3e:c3
	media: autoselect
	status: inactive
awdl4: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether be:9f:30:7b:89:62
	media: autoselect
	status: inactive
awdl5: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether ee:8b:19:9b:ab:ab
	media: autoselect
	status: inactive
awdl6: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether ca:43:d9:fc:bc:5c
	media: autoselect
	status: inactive
awdl7: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether b2:65:be:b2:ee:53
	media: autoselect
	status: inactive
awdl8: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether c2:cd:2d:72:89:91
	media: autoselect
	status: inactive
awdl9: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether 16:8c:bf:81:5d:c6
	media: autoselect
	status: inactive
awdl10: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1484
	options=400<CHANNEL_IO>
	ether 52:a0:59:26:6a:3f
	media: autoselect
	status: active
➜  ~ ping6 fe80::147e:873d:b222:8d70
PING6(56=40+8+8 bytes) fe80::147e:873d:b222:8d70%en0 --> fe80::147e:873d:b222:8d70
16 bytes from fe80::147e:873d:b222:8d70%en0, icmp_seq=0 hlim=64 time=0.443 ms
16 bytes from fe80::147e:873d:b222:8d70%en0, icmp_seq=1 hlim=64 time=0.246 ms
^C
--- fe80::147e:873d:b222:8d70 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.246/0.345/0.443/0.098 ms
➜  ~ ping6 fe80::441d:81ff:fe65:5b7a
PING6(56=40+8+8 bytes) fe80::147e:873d:b222:8d70%en0 --> fe80::441d:81ff:fe65:5b7a
ping6: sendmsg: No route to host
ping6: wrote fe80::441d:81ff:fe65:5b7a 16 chars, ret=-1
ping6: sendmsg: No route to host
ping6: wrote fe80::441d:81ff:fe65:5b7a 16 chars, ret=-1
ping6: sendmsg: No route to host
ping6: wrote fe80::441d:81ff:fe65:5b7a 16 chars, ret=-1
^C
--- fe80::441d:81ff:fe65:5b7a ping6 statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
➜  ~ ssh root@fe80::441d:81ff:fe65:5b7a
ssh: connect to host fe80::441d:81ff:fe65:5b7a port 22: No route to host

It seems to take the correct scope in ping (%en0) but I have no clue why it wouldn't work. There is no good chance to cover this in community support scope as the issue is likely local and needs digging.

It's strange under an Windows client it seem to work
C:\Users\administrator>ping -6 fe80::441d:81ff:fe65:5b7a

Ping wird ausgeführt für fe80::441d:81ff:fe65:5b7a mit 32 Bytes Daten:
Antwort von fe80::441d:81ff:fe65:5b7a: Zeit=1ms
Antwort von fe80::441d:81ff:fe65:5b7a: Zeit<1ms
Antwort von fe80::441d:81ff:fe65:5b7a: Zeit<1ms
Antwort von fe80::441d:81ff:fe65:5b7a: Zeit<1ms

Ping-Statistik für fe80::441d:81ff:fe65:5b7a:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 1ms, Mittelwert = 0ms

C:\Users\administrator>

So it's look like macOS has a problem with this settings but why?

When I specify the interface under mac and linux like : ping6 -I eth3 fe80::441d:81ff:fe65:5b7a  I can ping the link local address of the firewall.
On windows its working directly with ssh and ping, under mac and linux I need to specify the interface
➜  root@dNextCloud  ~ ping6  fe80::441d:81ff:fe65:5b7a
PING fe80::441d:81ff:fe65:5b7a(fe80::441d:81ff:fe65:5b7a) 56 data bytes
From fe80::f425:c7ff:fec9:d626%eth0 icmp_seq=1 Destination unreachable: Address unreachable
From fe80::f425:c7ff:fec9:d626%eth0 icmp_seq=2 Destination unreachable: Address unreachable
From fe80::f425:c7ff:fec9:d626%eth0 icmp_seq=3 Destination unreachable: Address unreachable
^C
--- fe80::441d:81ff:fe65:5b7a ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4098ms

➜  root@dNextCloud  ~ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address <IP_ADDRESS>/24

auto eth1
iface eth1 inet static
	address <IP_ADDRESS>/20
	gateway <IP_ADDRESS>

auto eth2
iface eth2 inet static
	address <IP_ADDRESS>/23
	gateway <IP_ADDRESS>

auto eth3
iface eth3 inet dhcp

iface eth3 inet6 dhcp

➜  root@dNextCloud  ~

My question is here, is this the expected behaviour?
Is there a way to set the interface IPv6 for RA?

Till yet I didn't find a solution to reach the gateway address if a machine has multiple interfaces on linux or mac
A VM with a single interface setup can reach the gateway address.
Another question is HA with IPv6 possible/ resolved?
I had read I need to ensure to stop ra daemon on backup, but how would be the handling by a failure of the master firewall?

#5185 has a wonderful discussion on the subject


Investigate Xodus as replacement for MapDB

Given that MapDB is not the most ideal storage solution for our purposes and Xodus is a much more actively developed project, it might be worth investigating what benefits could be had from migration and if they would be worth the effort.

I did some research as to how this issue could be tackled and I can report that I expect this change to be a major undertaking if done right (which is not an argument against it, just to be clear). At a high level, I see two alternatives:
Alternative 1

We use Xodus (2.0.1) entity stores to  store all required information.
We use Xodus DNQ as an abstraction layer for the model.

Xodus DNQ is basically a mapper between the entity store and Kotlin classes (similar to an ORM) and provides a query and interaction layer for the underlying database.
Impact:

All model classes must be adjusted so that they inherit from XdEntity.
Persistent data model will change because certain features are not supported directly (e.g. complex types, sealed classes etc.)
All DAO classes will become obsolete since Xodus DNQ provides a (quite powerful) API.
All API endpoints and controller classes that use the DAO classes must be adjusted.

Simplification: **
To simplify the change, it would be possible to abstract Xodus DNQ functionality away into the existing DAOs. However, I would recommend against this since it creates a level of indirection that obfuscates the use of Xodus DNQ (especially when multiple entities are affected by an operation). Furthermore, there is still a need to adjust API endpoints and controllers due to Xodus' transaction semantic (and we cannot push this into the DAOs if we want transactionality for complex operation involving multiple entities).

** lternative 2:**

We only use Xodus (2.0.1) entity stores to store all required information.
We then create some sort of binding between the existing entities and the persistent representation (similar to the Serializers).

Impact:

Model classes can be left as-is but serialisation logic must be replaced. I'm not entirely sure yet, where a suitable entry point for this change would be.
Due to Xodus transaction semantic we will still need changes to existing controllers (i.e. all API endpoints etc.) to support complex operations

While alternative 2 is probably the simpler change, notwithstanding fringe cases that blow everything up, I'd argue that alternative 1 is the cleaner solution and it provides some needed opportunity to perform some spring cleaning.
Any thoughts?

I did some research as to how this issue could be tackled and I can report that I expect this change to be a major undertaking if done right (which is not an argument against it, just to be clear). At a high level, I see two alternatives:
Alternative 1

We use Xodus (2.0.1) entity stores to  store all required information.
We use Xodus DNQ as an abstraction layer for the model.

Xodus DNQ is basically a mapper between the entity store and Kotlin classes (similar to an ORM) and provides a query and interaction layer for the underlying database.
Impact:

All model classes must be adjusted so that they inherit from XdEntity.
Persistent data model will change because certain features are not supported directly (e.g. complex types, sealed classes etc.)
All DAO classes will become obsolete since Xodus DNQ provides a (quite powerful) API.
All API endpoints and controller classes that use the DAO classes must be adjusted.

Simplification: **
To simplify the change, it would be possible to abstract Xodus DNQ functionality away into the existing DAOs. However, I would recommend against this since it creates a level of indirection that obfuscates the use of Xodus DNQ (especially when multiple entities are affected by an operation). Furthermore, there is still a need to adjust API endpoints and controllers due to Xodus' transaction semantic (and we cannot push this into the DAOs if we want transactionality for complex operation involving multiple entities).

** lternative 2:**

We only use Xodus (2.0.1) entity stores to store all required information.
We then create some sort of binding between the existing entities and the persistent representation (similar to the Serializers).

Impact:

Model classes can be left as-is but serialisation logic must be replaced. I'm not entirely sure yet, where a suitable entry point for this change would be.
Due to Xodus transaction semantic we will still need changes to existing controllers (i.e. all API endpoints etc.) to support complex operations

While alternative 2 is probably the simpler change, notwithstanding fringe cases that blow everything up, I'd argue that alternative 1 is the cleaner solution and it provides some needed opportunity to perform some spring cleaning.
Any thoughts?

While I agree that the second alternative sounds like the smaller change, there might be some edge cases that are so tedious to handle that it doesn't make the tradeoff worth it. I don't have any experience with these specific technologies, so I couldn't tell, but it feels to me that alternative 1 would be the saver bet. At least then, everything would be consistent. Having had a brief look at the DQN examples, it looks to me like most changes to the API handlers would be grunt work rather than elaborate re-engineering, so at least it should be straight forward in many cases, even if it takes quite a bit of work to get there. It might still make sense to have an abstraction layer that offers a bunch of convenience functions, like commonly used query expressions. If the API of such a layer can he made to be similar to the current DAOs, it might even make the changes less invasive, at least in the cases where data is only read.

Closing this issue since we did the major work of this already


Laravel 5.5

Coverage remained the same at 100.0% when pulling ed66393af1b09b93a0a9ed7e85ace671bc781b3c on laravel-5.5 into c9d498d0cd4bdba6589073955b6011e0046e6bef on master.

Coverage remained the same at 100.0% when pulling ed66393af1b09b93a0a9ed7e85ace671bc781b3c on laravel-5.5 into c9d498d0cd4bdba6589073955b6011e0046e6bef on master.

Coverage remained the same at 100.0% when pulling a7e05646aa26d4ea160c87502f0d7fe5ca12f711 on laravel-5.5 into c9d498d0cd4bdba6589073955b6011e0046e6bef on master.


TreeNode#prune not removing nodes

Hi,
I'm having some trouble understanding this behaviour, and am wondering it is a bug. Basically, prune does not appear to remove nodes when I expected it to:
In [31]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))

In [25]: print t2.ascii_art()
                    /-a
          /--------|
         |          \-b
-root----|
         |          /-c
          \--------|
                    \-d

In [32]: t2.find('a').parent.remove(t2.find('a'))
Out[32]: True

In [33]: t2.find('b').parent.remove(t2.find('b'))
Out[33]: True

In [34]: print t2.ascii_art()
          /-
-root----|
         |          /-c
          \--------|
                    \-d

In [35]: t2.prune()

In [36]: print t2.ascii_art()
          /-
-root----|
         |          /-c
          \--------|
                    \-d

i.e. I expected there not to be the branch at the top. remove_deleted acts in the same way
In [37]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))

In [38]: t2.remove_deleted(lambda x: x.name in ('a','b'))

In [39]: print t2.ascii_art()
          /-
-root----|
         |          /-c
          \--------|
                    \-d

In [40]: t2.prune()

In [41]: print t2.ascii_art()
          /-
-root----|
         |          /-c
          \--------|
                    \-d

I am able to workaround by using remove and then prune for each node:
In [6]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))

In [7]: t2.find('a').parent.remove(t2.find('b'))
Out[7]: True

In [8]: t2.prune()

In [9]: t2.find('a').parent.remove(t2.find('a'))
Out[9]: True

In [10]: t2.prune()

In [11]: print(t2.ascii_art())
                    /-c
-root---- /--------|
                    \-d

Thanks,
ben

Prune collapses single descendent nodes, in your first example, there
doesn't exist a single descendent node as the root has two children: one
internal node with two tips, and a tip. Perhaps the documentation should be
more explicit here?
 Basically, prune does not appear to remove nodes when I
expected it to:
In [31]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))
In [25]: print t2.ascii_art()
/-a
/--------|
|          -b
-root----|
|          /-c
--------|
-d
In [32]: t2.find('a').parent.remove(t2.find('a'))
Out[32]: True
In [33]: t2.find('b').parent.remove(t2.find('b'))
Out[33]: True
In [34]: print t2.ascii_art()
/-
-root----|
|          /-c
--------|
-d
In [35]: t2.prune()
In [36]: print t2.ascii_art()
/-
-root----|
|          /-c
--------|
-d
i.e. I expected there not to be the branch at the top. remove_deleted
acts in the same way
In [37]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))
In [38]: t2.remove_deleted(lambda x: x.name in ('a','b'))
In [39]: print t2.ascii_art()
/-
-root----|
|          /-c
--------|
-d
In [40]: t2.prune()
In [41]: print t2.ascii_art()
/-
-root----|
|          /-c
--------|
-d
I am able to workaround by using remove and then prune for each node:
In [6]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))
In [7]: t2.find('a').parent.remove(t2.find('b'))
Out[7]: True
In [8]: t2.prune()
In [9]: t2.find('a').parent.remove(t2.find('a'))
Out[9]: True
In [10]: t2.prune()
In [11]: print(t2.ascii_art())
/-c
-root---- /--------|
-d
Thanks,
ben
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/issues/970.

Hmm, so how does one clean up the tree after a call to remove_deleted when multiple nodes are removed? Also I wondered if it might be easier to implement the pruning as you are removing, so global tree searches are not necessary.
This is all hypothetical for me though, as the "workaround" (which I guess is actually what I am supposed to be doing) works fine for my particular situation. So close away if you think appropriate.
Thanks. ben

I guess I don't understand how prune isn't doing the cleanup, or what cleanup you're looking for? Do you want to remove all resulting tips which were originally internal nodes? In which case, you may be better off using subtree and fetching just the tips you care about.
Note, the tree in your work around may not be what you want as it is has a single descendent from the root (((c,d));) and can be collapsed back to (c,d);. I'm a bit surprised that prune didn't catch that, however, it may be that prune needs to be applied multiple times.

Oh I see. subtree I thought was a subtree in the sense of a TreeNode and its children, which I guess is a almost superfluous in skbio where a tree is a treenode. Actually the comment "Make a copy of the subtree" would imply my original understanding was correct. Cannot test this, at least in 0.2.3:
In [3]: t2 = skbio.TreeNode.read(StringIO.StringIO("((a,b),(c,d))root;"))

In [4]: t2.subtree(['c','d'])
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-4-b95660384ddf> in <module>()
----> 1 t2.subtree(['c','d'])

/usr/local/lib/python2.7/dist-packages/skbio/tree/_tree.pyc in subtree(self, tip_list)
    654     def subtree(self, tip_list=None):
    655         r"""Make a copy of the subtree"""
--> 656         raise NotImplementedError()
    657
    658     def subset(self):

What I'm after is a function that removes a list of tips (or takes a lambda function) and removes them from the tree. Also it cleans the tree such that there are no nodes of degree 1, and no new tips are created. Maybe it could be like this:
def prune_tips(tip_list):
    for tip in tip_list:
        # remove tip from tip's parent
        # if parent now has degree 1, remove parent and make sibling a direct child of grandparent

(though need to deal with e.g. removing tips directly connected to the root).
I think this definition is the same as that implemented in ete - http://pythonhosted.org/ete2/reference/reference_tree.html#ete2.TreeNode.prune

Have you tried TreeNode.shear?

No, hadn't seen that, seems perfect, perhaps it makes sense to add that as a "see also"? Thanks.

Docs were previously updated w.r.t. the see also


treewide: fix various metadata urls

Description of changes
i found a bunch of broken metadata urls, this fixes some of them.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

You probably want to rebase and force push to your fork to fix it.

my local nixpkgs copy is maintained using shallow pulls, and the rebase command has several modes it can operate in.
if you can point me towards the correct incantations that will make sure i don't have to open a new PR, that would be greatly appreciated.
also, the thing about merges should probably be in the contributing guide.

To fix your previous commit, git commit --amend is nice, it changes your last commit instead of making a new one.
If you already made a new one (like this merge commit here), you might want to use git rebase HEAD~2 to rebase the last two commits before HEAD. You likely want to pick the oldest commit, and squash the newer commits. If you want to change the message of a commit you can also use reword. The editor opened by git rebase as well as man git-rebase should give more detailed info.

trying to rebase gives me hundreds of merge conflicts.


Please add an option to hide the statusbar

I think that this plugin adding another status bar is pretty anoying as well. Is it possibly to have the terminal buttons in the default status bar? plugins like terminal-panel and terminal-status do this, but are not as good as terminal-plus in  my opinion.

Guys, try our fork https://github.com/platformio/platformio-atom-ide-terminal. We moved "Own" status bar to the native Atom status bar.
We use it for http://platformio.org/platformio-ide

@ivankravets, Thanks!


AssertionError: Already exposed function with name "test"

Hi, I'm trying to expose the method test of class Test using eel._expose(test, 'foo'), but I have an error:
AssertionError: Already exposed function with name "test"
How to fix it?

Hello,
I'm struggling to reproduce the issue
Does using @eel.expose  work?
Can you share some more information if you are still facing the issue?
Thanks

Doug

Thanks for interesting.
I can't use @eel.expose because it doesn't allow me to use alias.
Anyway, I have a class Test which accepts an object obj as parameter to be initialized, it has a method test where uses obj.
class Test:
    def __init__(self, obj):
        self.obj = obj

    def test(self):
        a = self.obj.a + "!!!"

        return a

test = Test(obj)
eel._expose(test.test, "foo")

Then I would expose a new method with the same name (foo).

I don't get your error it just doesn't work. As per #679 Couldn't you wrap it in a function?
`class Test:
def init(self, obj):
self.obj = obj
def test(self):
    a = self.obj.a + "!!!"

    return a

test = Test(obj)
@eel.expose
def call_test():
data = test.test()
print(data)
`
This seems to work and I don't see a problem with it - not the nicest way of doing it but

Thanks for answering me, but I change the test reference after first assignment, this is the problem in my point of view.


google-cloud-storage: auto-value is included in published version of dependencies

Environment details
version: 2.21.0
Steps to reproduce

Inspect pom.xml as found on maven central: https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/2.21.0/google-cloud-storage-2.21.0.pom
See that com.google.auto.value:auto-value is listed as a dependency in the compile scope

Any additional information below
As can be seen in com.google.cloud:google-cloud-shared-config, this dependency is supposed to be on the javac annotation processor path.
Could this be removed from dependencies in the published version of the pom, as the file is rather large at 4.5 MB? It seems to me that its presence in the final dependencies is not intended.

This is actually flowing into our pom via one of our dependencies (our pom is flattened to level maven dependency resolution quirkiness). I've raised an issue with that library https://github.com/googleapis/gapic-generator-java/issues/1618 where this would need to be addressed. Once fixed there, storage (and all gcp libraries) will get the fix on the next release.
Please follow along there for an idea of progress.


Dragging and dropping files onto WSL instance still appears with double quotes

v1.21.961.0
v1.20.11072.0 (bug bash on 4/16)
#16214 made it so that dragging files onto a WSL session would wrap it in single quotes. Tested it and that's not the case.

This has a similar root cause as #12961. Even though the shell is WSL, the profile source is not "Microsoft.Terminal.WSL" (or something similar).

I'm gonna close this as a /dupe of #12961. "shit's weird with the ubuntu profiles because of Canonical hijinks".


Fixed a lot of the EC2 API Operations

-Fixed parameters allowed to pass in for a few of the API operations.
-Updated to use version 2016.11.15 for AWS EC2
-Refactored the code heavily
-Added a bunch more tests
-Added docs for the EC2 Module with examples for each of the different API endpoints
-Made sure the API operations work or the results of query matches AWS' doc.

@benwilson512 @occurr
All of these should work now. Added a bunch of tests and validated that the built request matches with AWS documentation. Also added a bunch of tests and documentations on how to use each of these.
I also got rid of the type specs used in Cloudformation and EC2. I don't see how the type spec help much for the following reasons:

When AWS makes changes, we would need to update the typespec to reflect those changes. This may go unnoticed for a while.
Easier for the user to pass in the correct value that AWS dictates in their docs instead of counting on some kind of helper function to convert the atom of the accepted values. One thing I noticed about AWS is that the values allowed can be very inconsistent and it doesn't make sense to try to convert the atom to the accepted values AWS accepts.

Examples: For some values, like for the "capabilities" params, the values all need to be upcased. However, for some of the values passed in for filters, some have both a combination of "." and "-". Some are "ID" instead of "Id". Can be a bit annoying to deal with.

@occurr Do you want to weigh in here? I know you've been looking at both CloudFormation and EC2.

@benwilson512 Everything looks good. EC2 is now something like 80% documentation, so that is a major improvement 👍
The use of the new Utils all looks good. There may be a few instances I can cut out some minor redundancy in their usage, but I wasn't able to find anything significant. I will submit my own pull request if I notice anything that can be cleaned up while writing the parsers.
Everything looks solid, so I'd say it's ready to pull.

Woo hoo!!! Thanks!!!

On Jul 21, 2017, at 11:39 AM, Ben Wilson<EMAIL_ADDRESS>wrote:
Merged #448.
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


[Display Helper] Resolution Doesn't Revert Back

Extension name
Display Helper
Bug Description
When I Choose a resolution for a game and click play it start in the chosen resolution  but when closed it doesn't revert back
To Reproduce
It happens every time with every game
Logs
extensions.log
playnite.log
Screenshots

That's The Settings for me right now (Not Sure if it's Related  but when i change the settings to this

The Resolution for the game Doesn't Change even if i changed and it just stays the same resolution for my chosen display in the above sshot

Duplicate of #433


rate limiter implemented

Greetings,
I have implemented a rate limiter in the ssh.go file. It will save clients in Redis by their IP. I added two functions to the redis.go file to be able to use Exists and Incr methods of Redis. If a client sends over 100 requests in one hour, it will be blocked for one hour. These times could be changed easily. Please let me know if there is any problem with the implemented code.
Sincerely yours, Shayan Shabani

Even though I don't have anything against people using ChatGPT for help, but just copy pasting without removing the comments of what it does, and without trying to modify the code, I don't agree with. Additionally, this issue is also being worked on by another developer, who've already opened a PR for this, so I'll have to close this.
Thank you for your input!


PROP-13 user stats

Jira: https://netguru.atlassian.net/browse/PROP-13
Changes:
Display User Profile with Stats

One quick thought about SCSS, I am quite sure that you could add some standard mixins (like sizing or fixed/absolute/relative) used in our ng-bootstrapper.


Fix dump of arguments / eval usage hint in preparse_scope

Fix unittest for parser and Ok for me

Good to me

LGTM

// During last rebase I've incorrectly updated the changes so that patch #369 was reverted.

// During last rebase I've incorrectly updated the changes so that patch #369 was reverted.

The patch was restored with #409 (4fdb5249b99122a074f5b6adb13fcfdccf722ad6).


Add a module manager to enable, disable, and configure modules

Handling this with a new issue now


Checksum and some minor updates

Please consider these changes to be incorporated in your repo.
I've used the library with a TMCM 310 controller and realised that the checksum mechanism doesn't work with that controller. I first thought this was because of the controller. But an erratic check of some newer Trinamic controllers revealed that the checksum is still calculated based on 8bit additions. So the new checksum should work as expected.
Also, I found the naming scheme of module, address and motor a bit confusing.
I will start to add some documentation to the respective functions. I think this might help other users :)
Bests!
Christian

Thanks for the feedback, Alan!
Note to self: Be careful with adding "notes to self" to the repo ^^
I have tried to make the deprecation of get_motor visible in a pythonic way without adding dependencies.


No 'version' key in the manifest

I get this warning:
No 'version' key in the manifest file for custom integration 'tapo_p100_control'. This will not be allowed in a future version of Home Assistant. Please report this to the maintainer of 'tapo_p100_control'

@fishbigger you might want to close that too haha!

Yes :)


Make tests themself use Date.toString() so it's not DCE-ed

If not having this DCE protection in test/Main.hx, when a new hxml is created using not -lib but -cp directly (as needed by lix I think) you get almost all unit tests for mysql fail, because all dates appear as Date in the SQL, instead of e.g. "2018-12-03 12:11:03".
Commit 756ec655befe9dc60800a244b300a7151db25daa tried to address that. Testing on hxcpp and lix however,
the hxml file has to be changed and it's very easy for the
extraParams.hxml fix (appending a macro so Date.toString() does not get
DCE-ed) to not get applied when self testing.

Hi @emugel,
I'm not sure I fully understand the justification you presented for  6b923ceaa0d89e9f99b0e44faedaf1cb8d0ad3e8 ("Make tests themself use Date.toString() so it's not DCE-ed").
extraParams.hxml is a standard feature for Haxe libraries; many libraries depend on it (especially macro libraries) and though I don't personally use lix, it should support it.
Also, if you're simply running the unit tests for this library with a custom build file, why not make it load the extraParams (or add the meta directly)?
But, again, I might have misunderstood your use case... please correct me if I missed something.

Regarding 636613dc26177ac610fcfb2dd8797936824b3f70 ("Optional mysql test must run first IF it was ask"), the reasoning behind the SQLite tests being the first ones to run is that they require no external setup and thus should always pass.
Passing the path and credentials to a MySQL instance in the command-line is more about enabling the corresponding tests, not requesting/prioritizing them.

Sorry I intented to issue 2 PR independently but they got merged automatically.
To make conversation easier I will only talk about the second one.
Suppose there is a bug with mysql. As a developer you'll likely enter the following commands:

run git clone https://github.com/HaxeFoundation/record-macros,
create test_cpp.hxml,
run haxe test_cpp.hxml
run t/Main

Right now this gives:
hex/unittest/notifier/ConsoleNotifier.hx:47: <<< Start SQLiteTest tests run >>>
hex/unittest/notifier/ConsoleNotifier.hx:76:    Test class 'SQLiteTest'
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testDateQuery]<PHONE_NUMBER>21875ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testIssue34] Test that cache management doesn't break @:skip fields<PHONE_NUMBER>46875ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testNull]<PHONE_NUMBER>3125ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testIssue3828]<PHONE_NUMBER>21875ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testEnum]<PHONE_NUMBER>46875ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testStringIdRel]  1226.06689453125ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testUpdate]<PHONE_NUMBER>59375ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testData]<PHONE_NUMBER>09375ms
hex/unittest/notifier/ConsoleNotifier.hx:102:           * [testSpodTypes] .
hex/unittest/notifier/ConsoleNotifier.hx:104:                   hex.error.Exception | Invalid field:anEnum
hex/unittest/notifier/ConsoleNotifier.hx:105:                   Invalid field:anEnum:
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testIssue6041]<PHONE_NUMBER>34375ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testIssue19] Ensure that field types using full paths can be matched<PHONE_NUMBER>4375ms
hex/unittest/notifier/ConsoleNotifier.hx:93:            * [testIssue6] Check that relations are not affected by the analyzer 0.04296875ms
hex/unittest/notifier/ConsoleNotifier.hx:54: <<< End tests run >>>
hex/unittest/notifier/ConsoleNotifier.hx:55: Assertions passed: 136

hex/unittest/notifier/ConsoleNotifier.hx:59: Assertions failed: 1

Error : hex.error.Exception at hex.unittest.notifier.ExitingNotifier#onEndRun line:23 in file 'hex/unittest/notifier/ExitingNotifier.hx' | Assertions failed: 1

There are 3 consequences of having mandatory sqlite tests run first:

if it fails, hexunit prevents you to test mysql (even though they are 2 separated backends),
if sqlite tests pass, they will always be run first, taking 27 seconds to here (making bugfixes much slower, you can not iterate very fast),
it makes testing both tests impossible if mandatory sqlite test runs first.

OTOH if optional mysql test run first:

a developer is naturally bound to run the tests without arguments first, cpp/test before cpp/test<EMAIL_ADDRESS>therefore he will be aware about bugs in sqlite but will also be able to run tests for mysql,
once and if the bugs are fixed for mysql, the test will continue with sqlite tests, and any remaining error would show then.

Because of all the above. I propose to really have the optional test run first, this should improve the odds of having developers try to fix bugs on both mysql and sqlite.

I concede that, while a bit hacky,¹ using this to select between tests could be useful.  I'll pick that commit later.
By the way, are we sure that hexunit should abort like that?

¹ I would have preferred an explicit way to filter tests.

I normally go with the deprecated haxe.unit package for tests. It's simple as dirt so this is what I favour if I don't need async tests. OTOH if you can master hexUnit it seems pretty powerful.

Actually, haxe.unit was deprecated and moved to hx3compat.
I personally prefer utest, which is also what the haxe and hxcpp CI tests use.
Porting our tests to use it is trivial, but unfortunately I'm getting a very bad performance regression.

Performance regression with utest

Do you mean the time it takes to run is doubled or more?

The time to run both sets of tests with utest is nearly doubled.
Let me ask you one thing: how long do the MySQL tests with hxcpp take on your machine?  You mentioned the SQLite ones take ~27 seconds...

Let me ask you one thing: how long do the MySQL tests with hxcpp take on your machine? You mentioned the SQLite ones take ~27 seconds...

I incorporated your patch and it indeed fixed the problem!!
Note there is failed test for both for sqlite and hxcpp for enum, I don't know if it's important:
[testSpodTypes] .
hex.error.Exception | Invalid field:anEnum
Invalid field:anEnum:

It takes about 38sec for mysql to pass. I noticed they have a version 1.0.0 alpha for hexUnit, I made tests only with hexUnit 0.35.0 here.

--The time to run both sets of tests with utest is nearly doubled.--
? Nevermind, I totally messed up before: I duplicated my tree to test both test frameworks side-by-side, but forgot that I couldn't place the clone in /tmp because it's a tmpfs (i.e. a "ram disk")...

Ah ok.

You mentioned the SQLite ones take ~27 seconds, but that seems like a lot!
Yes shitty computer ^^. Celeron N2930 inside! I like it this way but it's true for hxcpp sometimes I think about upgrading...

There's no more need to use a hack to select test suites.
You can now pass -D UTEST_PATTERN=<pattern> at compile time to select test suites or methods.
haxe -D UTEST_PATTERN='testIssue3828' test-neko.hxml
haxe -D UTEST_PATTERN='Mysql' test-cpp.hxml

On slower machines you might want to also pass -D UTEST_PRINT_TESTS to have some notion of the progress, as utest (unlike hexunit) doesn't normally print until it's done.

Leaving this PR open because I want to review the Date vs. DCE thing, especially since my commit description from when I originally dealt with that doesn't make a lot of sense.

There's no more need to use a hack to select test suites.
You can now pass -D UTEST_PATTERN= at compile time to select test suites or methods.
haxe -D UTEST_PATTERN='testIssue3828' test-neko.hxml
haxe -D UTEST_PATTERN='Mysql' test-cpp.hxml
On slower machines you might want to also pass -D UTEST_PRINT_TESTS to have some notion of the progress, as utest (unlike hexunit) doesn't normally print until it's done.
Sounds good! Maybe we can also put those explanations in a test/README?

Just reviewed the DCE vs. Date thing...  The macro call that adds @:keep to Date.toString is indeed necessary for targets like PHP.
The tests can't mask that requirement by hacking a workaround themselves.

Sounds good! Maybe we can also put those explanations in a test/README?

Added README.md#running-the-unit-tests; the need to pick up extraParams.hxml was also worth mentioning.


[FEATURE]: Japanese language support for UI

feature request
I would like to use this wonderful plugin in Japanese.
solution
Add Japanese Translation Files.
Additional Info
I have created the translation file and will create a PR later.

Hey @penginnu,
thank you for your contribution and sorry for the delay ^^


The terminal process  Error

The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" terminated with exit code: 2.

Does anybody know the solution to this error?


Add the option to simplify entries in the interval matrix

The matrix for harmonic segment 6::12 shows 3/2 as 6/4 due to formatting rules. Would help in analysis if that could be toggled.

Opted for automatic simplification in SW3.


ios 8 support

Many thank for great lib @policante .
Please support for ios >= 8.

I would like to see this on ios 8 either. I'm watching this ticket.

@policante ?


Mention new groups kvm and render in the release notes, fixes #49257

Motivation for this change
Fix #49257
by adding a bullet point to the release notes mentioning the addition of the groups kvm and render.
Things done

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

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

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

Changed the target branch to master. The release in release-18.09 should be a subset of the release notes in master, so I have to add this to master first.


How to use Pre-trained Models?

I have such a data set, each of its records is like this: <text>,<image>,<label>. It is a simple classification task, I have the following questions, I hope you can answer:
1. Can you use this pre-trained model for fine-tuning? So how do you do it?
2. How do I load my dataset into the model?
3. How to get the output of the model?
Thank you for answering my question

Yes, you can fine-tune VL-BERT for you task by simply adding a classification head on top of the output feature of first token [CLS] and fine-tuning it together with VL-BERT.
For how to load data and conduct fine-tuning, you can follow our code for downstream tasks (e.g., VQA, RefCOCO+, etc.).

@jackroos Would this work even if I have no precomputed features/boxes for the images. It peeked inside vqa/data//datasets/vqa.py and it seems we need to have precomputed stuff.
@webYFDT Did you make it work?

We need precomputed boxes in our VL-BERT. You can use pre-trained Faster RCNN to compute the boxes, following our instructions on preparing Conceptual Captions dataset.

@jackroos Thanks Jack, I do have a pre-trained Faster RCNN setup. This is based on the same caffe model you have in the instructions. I generate 100 boxes with nms=0.5 and confidence_threshold = 0.2,
Q1. Would it be possible for you to post 1 image and it's generated boxes, features here so I can verify if my setup is runnable.
Q2. Also I believe I need to use the same FRCNN as you did in case I want to use pretrained models. changing the FRCNN to SSD or any other detector will not work without retrained.

@faizanahemad Sorry for the late reply, for examples of  the image and generated boxes, maybe you can refer to the caffe bottom-up-attention repo, there are pre-computed boxes and features for coco images.  And for your second question, the answer is yes, you need use the same detector to extract visual feature while using the FRCNN in VL-BERT.


Use inside uirefreshcontrol

Excuse me, how to implementing for uirefreshcontrol i'm like replace with this activity indicator

I think UIRefreshControl does not have a way to put custom loading view. What you could do is use SVPullToRefresh and set a custom view. :+1:


Revelant to test in PHP ?

Hello,
I've seen there is a lot of languages on this benchmark, but can't see any PHP frameworks.
Is there any reasons not to ?
Regards,
PS : If it is revelant, I can propose a PR 😜

Just no PR's yet for them.  I did some simple testing comparing HHVM and PHP7 at one point but never got around to PR'ing it.  HHVM was faster if you enabled all caching and compilation, PHP7 was surprisingly faster otherwise.

So PRing will help me  ! ! !
But, is your test about PHP7 + HHVM, or Laravel vs Symfony (for example) ?

I made a PHP file that was a simple pure-php implementation, and I made one that used some big framework (forgot what it was) that did the same.  And then I made the same thing in HHVM (so basically typed PHP).  The pure PHP was SO SIGNIFICANTLY faster than the framework though.  I was astounded at the framework overhead.  Overall though, even the slow framework version, PHP/HHVM were significantly faster than most other intrepreted languages on the list, being on par with node.js frameworks (it looks like erlang/elixir is still the fastest interpreted/dynamic language though).

@tbrand rand Helpful to intergrate those benchmarks ?

The PR is very welcome :tada:

@OvermindDL1 do you mind sending a PR for what you've done. I'll add some extra work on

I don't have the code easily available, plus it was not built into the testing framework properly, just shoehorned in...  ^.^;

oh I see ...
I'll try to add some php stuffs

@tbrand I have finished few steps on php `testing
https://github.com/tbrand/which_is_the_fastest/pull/107
Let me know if there is modification to add

Hi! Here a test PHP: https://github.com/marcelomf/restful-orm


Use relative URLs in Tegola page

The / page served by Tegola uses absolute URLs, e.g. http://localhost:8080/capabilities/bolder.json
This is a problem because in production it's very unlikely that it will match the URL. Instead, relative URLs should be used.

The webserver config section supports user defined host names.
cc @ARolek

@pnorman we ran into an issue using relative URLs when the consumer of the TileJSON was not on the same domain as tegola. For example, using Maputnik to style tiles served by osm.tegola.io would not work without absolute URLs.
When going to production you can use the hostname config value that @ear7h referenced. This is also useful if tegola is behind a proxy that does not provide forwarding headers.

@pnorman we ran into an issue using relative URLs when the consumer of the TileJSON was not on the same domain as tegola

Is something interpreting the relative URLs as relative to the HTML page, rather than relative to the TileJSON? That sounds like a bug.


Allow config to be provided in code or by yaml

Allow users to point to a yaml file OR provide the config details in code to instantiate the library

Addressed in #10


⚠ ClamAV has degraded performance

In d60e36f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 209 ms

Resolved: ClamAV performance has improved in d0f6cf7 after 5 minutes.


[ชื่อรูปภาพ] [ตัวแปร/เวอร์ชัน] EOL กําหนดไว้สําหรับ [วันที่]

Depends on [add a reference link here]

[ ] Create a release (if necessary - which ensures images are up to date before deprecating )
[ ] Open a PR
[ ] Update templates (if necessary)
[ ] Update https://github.com/devcontainers/images/issues/90
[ ] Update Microsoft Artifact Registry docs

Looks like this was created by accident, closing. If needed, feel free to reopen with more details, thank you!


feat: add canonical redirect for static html files

Summary
Fixes https://github.com/netlify/pod-compute/issues/432
This adds canonical redirect for HTML files, the same as in production.
This is done on every request before proxying to the static file server or the frameworks dev server. Although if a framework uses an in-memory dev server we cannot mimic the behavior, as there are no static files to check against.
Most of the new files is restructuring so that I was able to write unit tests for each file.

For us to review and ship your PR efficiently, please perform the following steps:

[ ] Open a bug/issue before writing your code 🧑💻. This ensures we can discuss the changes and get feedback from everyone that should be involved.
[ ] Read the contribution guidelines 📖. This ensures your code follows our style guide and
passes our tests.
[ ] Update or add tests (if any source code was changed or added) 🧪
[ ] Update or add documentation (if features were changed or added) 📝
[ ] Make sure the status checks below are successful ✅

A picture of a cute animal (not mandatory, but encouraged)

We should turn this into a feat: or fix: before merging.

Okay updated.

This is done on every request before proxying to the static file server or the frameworks dev server. Although if a framework uses an in-memory dev server we cannot mimic the behavior, as there are no static files to check against.

I've been thinking about this, and I think it is a pretty big limitation. If we can't get around it, I wonder about the value of introducing this change, because we'll be incurring the cost of changing existing behaviour without achieving the goal of true parity with production.
I wonder if there's a world in which rather than handling the request before proxying to the static server, we do it on the way out, perhaps with a combination of the selfHandleResponse option  and the proxyRes event? (When we redirect, we still return the data in the body.)


feat : GET stats to a list

Route -
/lists/:listSlug/stats
With the help of this route, GET all the stats of list whose listSlug = provided listSlug
The provided listSlug must be public if authenticated user != owner
Stats are visible on public lists only.

Standing Page Route /lists/:listSlug/stats/standing - Standing based on the Problem Solved of this list, you will get a rank.
Friends Standing Page Route /lists/:listSlug/stats/standing?friend=true - Friends Standing and Problems Solved by Friends.

/cib

/cib

/cib

Problem Solved by the authenticated user.


05/08/2018 17:55 : Create Pull Request for branch master -> prTesting1_2018050817

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Added detail to the README

I spent a while today trying to figure out how the core Fixtable is intended to be used (without Angular), and this updated README summarizes what I learned. If I missed or misunderstood anything, I'd appreciate any feedback.

Looks good to me 👍


Trigger event at the touch of the pin information screen

Hello, I have successfully implemented the maps but I still can not trigger the event when you touch the information box of each pin. Does anyone know what this event is called or how can I detect when this information window is selected?
first of all, Thanks.

Hi,
That would be PinCalloutTappedCommand.

it worked perfectly, thank you very much.


pageflow performance

Hi there
I am aware that there is #18 . But admittedly I do not know much about ruby and thus I can't figure out how I can make sure my installation is using memcache(d) and if not how to improve that - also the link doesn't help me much. I will starting digging deeper into the topic now but if anyone has a more straight forward guide to share I'd really appreciate that.
What I did so far is:
Install and configure memcached (localhost, default port)
add Dalli to bundle + install it
Ensure that I have the following settings in config/environments/production.rb
config.cache_classes = true
config.action_controller.perform_caching = true
config.assets.debug = false
config.cache_store = :dalli_store

I am not sure what to do here - is it good to be eager (:)):
# Do not eager load code on boot.
  config.eager_load = false

Are there any low hanging fruits to improve performance (some setting to increase threads or ensure some caching is enabled)? Currently I do no see much load but I expect some peaks next month and from what I see when a few people browse a story it is either very CPU intense or my CPU is too weak.
I also wonder how I could simulate some load to see what happens. I will see what I can do with jmeter maybe for that purpose.
Thanks and cheers,

Hi,
using Memcached via Dalli is a good choice. Rails' default settings in config/environments/production.rb are fine in most cases. As for the eager_load option, in the doc comment it says:
  # Eager load code on boot. This eager loads most of Rails and
  # your application in memory, allowing both thread web servers
  # and those relying on copy on write to perform better.
  # Rake tasks automatically ignore this option for performance.
  config.eager_load = true

So this option should be enabled in production.
Two important things for the production setup:

Make sure you are using a CDN (see this wiki page). S3 is too slow to serve assets directly. Static assets should also be served by a CDN and not by your application. If you are expecting really high traffic, also consider serving your Pageflow entries though a CDN by using a DNS to CDN setup. This is an advanced setup, though, that you are probably not going to need.
If you are using Nginx, configure ngixnx-upload-module as described in this wiki page. Ruby/Passenger is slow when it comes to parsing large uploaded files, which will block your passenger queue.

Most of this is not specific to Pageflow though. So concerning how to successfully deploy and run Rails applications, there is only a very limited amount of support we can offer here.

hi tf,
thanks a lot for your feedback! It was very helpful.
Cheers,


Update README.md

as of kotlin 1.3, the main args can be omitted.

Javalin still pulls in kotlin 1.2.71 (or something). Will maybe bump when they fix the parentheses bug.

What bug are you referring?

https://youtrack.jetbrains.com/issue/KT-29475

The bug is indicated as fixed in 1.3.21 which was already released.

Hm. I tried bumping to 1.3.21 last weekend and I still had problems. I'll have a look later.

This commit broke: https://github.com/tipsy/javalin/commit/b92acb4c1ec10d11cab93c9cbf0b0ed7ebd6f7f9

from here it looks like a compiler bug, so I suggest to report it.

Thanks!


Change logging level to log if errors are deliberately ignored

Just a suggestion - these messages come up in scary red writing in my console, even though the message is to be ignored.  Seems more appropriate to me to make these plain console.log messages.

Agreed. Thanks!


Adjust logger levels to use info for side-effects

Hi, and thank you 😊 I think the only reason I didn't want to do this in the past was because of the potential dashboards and warnings people may have set up.
I don't really know if it makes sense to keep the potential of a broken dashboard in favor of fixing these to be more sensible - especially with Sentry being way more implemented than it was back when I created this.
I approve. What do you think @sondrelg ?

At least for my usage, it would be nice to only log errors when something needs to be explicitly handled by a user. All our projects are set up to propagate error logs to Sentry, so that defines that for us, sort of :shrug: Maybe using warning over error for most of these would be a good solution?

I agree. I'm for info+warning and remove all error logs basically.

What was your rationale here @stephane?


"update_param" not defined

In the ADMM3D_solver.m, a function "update_param" is not defined

This has been fixed by adding private function ADMM3D_update_param to ADMM3D_solver.m


[FSSDK-9984] fix: initialization and setUser errors

Summary

Addressing #235 and #236
Update underlying JS SDK to v5.2.1 (once released; this is draft)

Test plan

Existing unit and integration tests are expected to pass

Issues

FSSDK-9984 & FSSDK-9985

Clarification regarding null dataReadyPromise.

@jaeopt I added an inline comment to clarify, hopefully.  DM me on Teams to help me understand the covering case you're seeing.

@jaeopt and @raju-opti, Can we do a trio programming session?

@jaeopt & @raju-opti When's a good time to have a sync meeting on this?

We discussed a better, more proper solution.  I'm closing temporarily while I complete the WIP.

@jaeopt & @raju-opti .  You can review the code, but I have tests to review and update.


Inheritance for User-Defined Types

Is your feature request related to a problem? Please describe.
This feature request is not related to a problem I have, but more like an improvement on User-Defined Types (UDT). I am looking at UDTs like a class in TypeScript or C# for example. I know it's a different concept in Bicep, but it looks similar.
What would be great is to have the same concept of class inheritance in User-Defined Types. So, to have some kind of base type where other UDTs can extend or inherit from that base type.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I will provide a practical example. In my recent PR in the Azure Verified Modules (https://github.com/Azure/bicep-registry-modules/pull/1931) repository I tried to achieve some kind of "inheritance" this way:
type zoneBaseType = {
  name: string
  metadata: object?
  ttl: int?
  roleAssignments: roleAssignmentType
}

In the zoneBaseType UDT the base properties are defined that are used in every record type (a, aaaa, cname etc.) as seen below:
type aType = {
  @description('Required. The base properties of the record.')
  base: zoneBaseType

  targetResourceId: string?

  aRecords: {
    ipv4Address: string
  }[]?
}[]?

The outcome is what I wanted, but not quite what I had in mind.
What would be great functionality to have is inheritance like we see in C# and TypeScript, so we can remove the need for a property like the base: zoneBaseType property.
How I see it with inheritance:
type baseType = {
  name: string
  metadata: object?
  ttl: int?
  roleAssignments: roleAssignmentType
}

type aType extends baseType = {
  targetResourceId: string?
  aRecords: {
    ipv4Address: string
  }[]
}[]?

The type aType now extends from baseType, so when using the UDT aType you make use of the following properties:

[inherited / extended from baseType] name: string
[inherited / extended from baseType] metadata : object?
[inherited / extended from baseType] ttl: int?
[inherited / extended from baseType] roleAssignment: roleAssignmentType
targetResourceId: string?
aRecords: object

I hope this is clear and understandable. If not, please let me know.

@alex-frankel @stephaniezyen I forgot to ask it in the Q&A on the community call. What do you guys think about user-defined types inheritance?

seems like a great addition, but also curious to hear what @stephaniezyen and @jeskew think!

I think Bicep definitely needs a mechanism for type reuse and composition, but I'm not sure inheritance is the right way to do it. Tagging this for team discussion: some alternatives we can look at would be using intersection (&) and union (|) operators like TypeScript or using the ... operator like GraphQL.
Some background
My concern is that the Bicep/ARM object model (largely inherited from JSON schema) would allow for declaring child types where an input could validate against the child type but is not guaranteed to validate against the parent. Most object models that are designed to support hierarchies explicitly disallow categories of declarations that are permitted under JSON schema.
The best example of this in Bicep's object model is how you would declare a dictionary/map. The Bicep equivalent of Dictionary<string, string> would be:
type dict = {
  *: string
}

The equivalent ARM JSON would be as follows, and the same thing in JSON Schema would be very similar:
{
  ...
  "definitions": {
    "dict": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  }
}

The trouble is introduced by the fact that named properties don't have to validate against the "additionalProperties" schema. The following would be legal in ARM and JSON Schema:
{
  "type": "object",
  "properties": {
    "id": {
      "type": "int"
    }
  },
  "additionalProperties": {
    "type": "string"
  }
}

and can be expressed in Bicep as:
type aType = {
  id: int
  *: string
}

JSON Schema allows you to declare the same schema using their type composition mechanism ("allOf"):
{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "int"
        }
      }
    },
    {
      "type": "object",
      "unevaluatedProperties": {
        "type": "string"
      }
    }
  ]
}

You can have data that validates against this combined schema ({id: 2, another_property: 'a string'}) that would not validate against the second schema included in "allOf". (JSON Schema had to introduce unevaluatedProperties in the draft-2019-09 version because combining additionalProperties and allOf has too many footguns.)
This situation is OK under the structural type system used by Bicep, ARM, and JSON Schema but would not be under the hierarchical type system users would recognize from any mainstream object-oriented language. Adding extends to Bicep would therefore create an impedance mismatch and some really awkward semantics:
type parent = {
  *: string
}

type child extends parent = {
  id: int
}

var data = {
  id: 2
  property: 'value'
}

output works child = data          // <-- Works! data is a child
output does_not_work parent = data // <-- Throws error! data is not a parent

Option 1: Use intersection (&) and union (|) operators to compose types
Template authors could use & and | in Bicep (and "allOf" and "anyOf" in ARM) to express new types as intersections or unions of existing types.
Example
type foo = {
  foo: string
}

type bar = {
  bar: string
}

// the following are all equivalent to each other
type foobar = foo & bar
type foobar = foo & { bar: string }
type foobar = { foo: string } & bar
type foobar = { foo: string } & { bar: string }
type foobar = {
  foo: string
  bar: string
}

Prior art
The & and | are borrowed directly from TypeScript, where they have the same meaning. "allOf" and "anyOf" are taken directly from JSON schema.
Pros

The syntax will be familiar to TypeScript users.
The Bicep and ARM syntaxes would have a 1:1 correspondence, so there would be no information lost when compiling and decompiling templates.
We have been asked about supporting primitive unions in the past (specifically string | int), which this syntax would allow for. This would also give users a way to declare an any type (type any = (string | int | bool | array | object)?).

Cons

It's easy to create "impossible" types (string & int)
The problem JSON Schema ran into with additionalProperties that necessitated unevaluatedProperties would come up, and we would need to solve that in a way that makes sense for both ARM and Bicep.

Option 2: Use shallow merge (...) operator to apply the properties of a type to another object type
The ... operator could be allowed in object type declarations, where it would mean that the referenced object type's properties should be shallow-merged into the target object type definition. Catch-all (*) matchers and decorators on the referenced object type would not be merged in.
Example
type foo = {
  foo: string
}

type bar = {
  bar: string
}

type foobar = { // <-- equivalent to { foo: string, bar: string }
  ...foo
  ...bar
}

type withOverride = { // <-- equivalent to { bar: string, foo: int }
  ...foobar
  foo: int
}

type withAdditionalProps = { // <-- equivalent to { foo: string, bar: string, *: int }
  ...foobar,
  *: int
}

type withoutAdditionalProps = { // <-- equivalent to { foo: string, bar: string }
  ...withAdditionalProps
}

@secure()
type secureFoobar = { // <-- equivalent to @secure() { foo: string, bar: string }
  ...foobar
}

type nonSensitive = { // <-- equivalent to { foo: string, bar: string }
  ...secureFoobar
}

Prior art
GraphQL fragment inclusion uses a similar syntax for composition. This type syntax has the same meaning as Bicep's existing ... operator (albeit in a new context).
Pros

Unlike &/|, the ... operator wouldn't be able to create unfulfillable type contracts.
No changes required in ARM engine.

Cons

... would almost certainly need to be evaluated and handled at compile time, meaning compiling and then decompiling a template could be a lossy operation.
There is limited prior art here. Bicep would kind of be going out on a limb with this.

+1 on this. It becomes very problematic with @discriminator() types. Sometimes the types differ by only 1-2 parameters and if you have 10 types with 10 parameters and 7 of them the same you need to write the same parameters and descriptions 70 times. In case of changes you need to use replace in vscode and be careful that everything is replaced.

Thanks @jeskew. Had to read into it and I realise there is a lot more to learn on the ARM backend topic 😉. Inheritance doesn't have to be the way to go, it's something I knew from my developer "past".
Both options 1 and 2 do what I was aiming for in my inheritance example, but I would vouch for the intersection solution because this is functional wise easy to understand and read.
A large part of the Bicep users do not have a development background (at least the people I work with), so spread can be harder to understand. Also, it looks like it's technically "easier" to implement than option 2?

I second this. We are trying to implement UDT as a mean of like c# Interfaces. Aka strong typing complex object for your parameters. This will increase the overall resilience of our bicep modules and patterns. The roleAssignmentType is a great example. For every module I would like to have a type that inherits from roleAssignmentType and per module i want to add allowed values for the roleTypeNames. This isn't possible either unfortunately with UDT.
Someday i hope the bicep team would look more into c# and see what powerful mechanisms this would offer. You don't have to reinvent the wheel. Its already been done, for decades with c#. Embrace it, it has been build by your colleagues after all.

Summer is done, checking up on this feature.
If we look at MS AVM we see that types are copied everywhere, wich I don't understand, but thats another discussion.
I really hope inheritance of user defined types is high on prioty as this will really make bicep more modular and type safe.


Unable to create BC21 container using treafik or/and useSSL

Describe the issue
Unable to create BC21 container using treafik or/and useSSL. Getting error Message: The prefix 'http://+:7046/BC/client/' is already registered.. This used to work for earlier version of bc21 dev image. Workaround is to skip using traefik and useSSL.
From Event Log
The description for Event ID 216 from source MicrosoftDynamicsNavServer$BC cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
Server instance: BC
Tenant ID:
Environment Name:
Environment Type:
User:
Type: Microsoft.AspNetCore.Server.HttpSys.HttpSysException
ErrorCode: 183
NativeErrorCode: 183
Message: The prefix 'http://+:7046/BC/client/' is already registered.
StackTrace:
at Microsoft.AspNetCore.Server.HttpSys.UrlGroup.RegisterPrefix(String uriPrefix, Int32 contextId)
at Microsoft.AspNetCore.Server.HttpSys.UrlPrefixCollection.RegisterAllPrefixes(UrlGroup urlGroup)
at Microsoft.AspNetCore.Server.HttpSys.HttpSysListener.Start()
at Microsoft.AspNetCore.Server.HttpSys.MessagePump.StartAsync[TContext](IHttpApplication1 application, CancellationToken cancellationToken)      at Microsoft.AspNetCore.Hosting.Internal.WebHost.<StartAsync>d__26.MoveNext()   --- End of stack trace from previous location where exception was thrown ---      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)      at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start()      at Microsoft.Dynamics.Nav.Service.AspNetCore.AspNetCoreApiHost.Open()      at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartOwinServices()      at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartAllServices(ServerUserSettings settings)      at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)      at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)   --- End of stack trace from previous location where exception was thrown ---      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()      at System.ServiceProcess.ServiceBase.Run(ServiceBase[] services)      at Microsoft.Dynamics.Nav.WindowsServices.DynamicsNavServer.Main(String[] args) Source: Microsoft.AspNetCore.Server.HttpSys HResult: -2147467259 StackTrace:      at Microsoft.AspNetCore.Server.HttpSys.UrlGroup.RegisterPrefix(String uriPrefix, Int32 contextId)      at Microsoft.AspNetCore.Server.HttpSys.UrlPrefixCollection.RegisterAllPrefixes(UrlGroup urlGroup)      at Microsoft.AspNetCore.Server.HttpSys.HttpSysListener.Start()      at Microsoft.AspNetCore.Server.HttpSys.MessagePump.StartAsync[TContext](IHttpApplication1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Start()
at Microsoft.Dynamics.Nav.Service.AspNetCore.AspNetCoreApiHost.Open()
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartOwinServices()
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.StartAllServices(ServerUserSettings settings)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.ServiceProcess.ServiceBase.Run(ServiceBase[] services)
at Microsoft.Dynamics.Nav.WindowsServices.DynamicsNavServer.Main(String[] args)
Scripts used to create container and cause the issue
New-BCContainer             -artifactUrl $artifactUrl
-accept_eula             -accept_outdated
-containerName $ContainerName             -auth NavUserPassword
-useSSL             -memoryLimit $memoryLimit
-multitenant:($type -ieq "Sandbox")             -Credential $Credential
-databaseCredential $DBCredential             -databaseServer host.containerhelper.internal
-databaseName $databaseName             -updateHosts
-shortcuts None             -isolation process
-restart unless-stopped             -useTraefik
-PublicDnsName $PublicDnsName             -addFontsFromPath $addFontsFromPath
-myScripts @($EncryptionKey)
Full output of scripts
BcContainerHelper is version 3.0.12
BcContainerHelper is running as administrator
Hyper-V is Disabled
UsePsSession is True
Host is Microsoft Windows Server 2019 Datacenter - ltsc2019
Docker Client Version is 19.03.12
Docker Server Version is 19.03.12
Removing Session bc21
Removing container bc21
Removing entries from hosts
Removing bc21 from container hosts file
Removing bc21-* from container hosts file
Removing Desktop shortcuts
Removing C:\ProgramData\BcContainerHelper\Extensions\bc21
Fetching all docker images
Fetching all docker volumes
Enabling SSL as otherwise all clients will see mixed HTTP / HTTPS request, which will cause problems e.g. on the mobile and modern windows clients
Using image mcr.microsoft.com/businesscentral:10.0.17763.3287
PublicDnsName is mydomainhidden
Creating Container bc21
Style: sandbox
Multitenant: Yes
Version: 21.0.45833.0
Platform: 21.0.45803.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.17763.3287 (ltsc2019)
Host OS Version: 10.0.17763.3287 (ltsc2019)
Using process isolation
Using locale is-IS
Adding special CheckHealth.ps1 to enable Traefik support
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Additional Parameters:
-e webserverinstance=bc21
-e publicdnsname=mydomainhidden
-l "traefik.protocol=https"
-l "traefik.web.frontend.rule=PathPrefix:/bc21"
-l "traefik.web.port=443"
-l "traefik.soap.frontend.rule=PathPrefix:/bc21soap;ReplacePathRegex: ^/bc21soap(.) /BC$1"
-l "traefik.soap.port=7047"
-l "traefik.rest.frontend.rule=PathPrefix:/bc21rest;ReplacePathRegex: ^/bc21rest(.) /BC$1"
-l "traefik.rest.port=7048"
-l "traefik.dev.frontend.rule=PathPrefix:/bc21dev;ReplacePathRegex: ^/bc21dev(.) /BC$1"
-l "traefik.dev.port=7049"
-l "traefik.snap.frontend.rule=PathPrefix:/bc21snap;ReplacePathRegex: ^/bc21snap(.) /BC$1"
-l "traefik.snap.port=7083"
-l "traefik.dl.frontend.rule=PathPrefixStrip:/bc21dl"
-l "traefik.dl.port=8080"
-l "traefik.dl.protocol=http"
-l "traefik.enable=true"
-l "traefik.frontend.entryPoints=https"
--env customNavSettings=PublicODataBaseUrl=https://mydomainhidden/bc21rest/odata,PublicSOAPBaseUrl=https://mydomainhidden/bc21soap/ws,PublicWebBaseUrl=https://mudomainhidden/bc21
Files in C:\ProgramData\BcContainerHelper\Extensions\bc21\my:

AdditionalOutput.ps1
CheckHealth.ps1
DynamicsNAV.key
MainLoop.ps1
SetupVariables.ps1
updatehosts.ps1
Creating container bc21 from image mcr.microsoft.com/businesscentral:10.0.17763.3287
7e28e90b18d38eb00b3fd3f6d79cfa3a7d0cd80b60dc7f5bd4cc3963886c8e94
Waiting for container bc21 to be ready
Using artifactUrl https://bcinsider.azureedge.net/sandbox/21.0.45833.0/is
Using installer from C:\Run\210-new
Installing Business Central
Installing from artifacts
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
c:\dl\sandbox\21.0.45833.0\platform\ServiceTier\Program Files
c:\dl\sandbox\21.0.45833.0\platform\ServiceTier\System64Folder
Copying PowerShell Scripts
c:\dl\sandbox\21.0.45833.0\platform\WindowsPowerShellScripts\Cloud\NAVAdministration
c:\dl\sandbox\21.0.45833.0\platform\WindowsPowerShellScripts\WebSearch
Copying Web Client Files
c:\dl\sandbox\21.0.45833.0\platform\WebClient\Microsoft Dynamics NAV
Copying ModernDev Files
c:\dl\sandbox\21.0.45833.0\platform
c:\dl\sandbox\21.0.45833.0\platform\ModernDev\program files\Microsoft Dynamics NAV
Copying additional files
Copying ConfigurationPackages
C:\dl\sandbox\21.0.45833.0\is\ConfigurationPackages
Copying Test Assemblies
C:\dl\sandbox\21.0.45833.0\platform\Test Assemblies
Copying Extensions
C:\dl\sandbox\21.0.45833.0\is\Extensions
Copying Applications
C:\dl\sandbox\21.0.45833.0\platform\Applications
Copying Applications.IS
C:\dl\sandbox\21.0.45833.0\is\Applications.IS
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Skipping restore of Cronus database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Installation took 42 seconds
Installation complete
Initializing...
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is bc21
PublicDnsName is mydomainhidden
Using NavUserPassword Authentication
Import Encryption Key
Stopping local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint<PHONE_NUMBER>90F282C57C9A2E7B41AA3B34FA449D
DNS identity mydomainhidden
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting PublicODataBaseUrl to https://mydomainhidden/bc21rest/odata
Setting PublicSOAPBaseUrl to https://mydomainhidden/bc21soap/ws
Setting PublicWebBaseUrl to https://mydomainhidden/bc21
Starting Service Tier
Failed to start service 'Dynamics 365 Business Central Server [BC] (MicrosoftDynamicsNavServer$BC)'.
at , C:\Run\navstart.ps1: line 172
at , C:\Run\start.ps1: line 377
at , : line 1Error
Using artifactUrl https://bcinsider.azureedge.net/sandbox/21.0.45833.0/is
Using installer from C:\Run\210-new
Installing Business Central
Installing from artifacts
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
c:\dl\sandbox\21.0.45833.0\platform\ServiceTier\Program Files
c:\dl\sandbox\21.0.45833.0\platform\ServiceTier\System64Folder
Copying PowerShell Scripts
c:\dl\sandbox\21.0.45833.0\platform\WindowsPowerShellScripts\Cloud\NAVAdministration
c:\dl\sandbox\21.0.45833.0\platform\WindowsPowerShellScripts\WebSearch
Copying Web Client Files
c:\dl\sandbox\21.0.45833.0\platform\WebClient\Microsoft Dynamics NAV
Copying ModernDev Files
c:\dl\sandbox\21.0.45833.0\platform
c:\dl\sandbox\21.0.45833.0\platform\ModernDev\program files\Microsoft Dynamics NAV
Copying additional files
Copying ConfigurationPackages
C:\dl\sandbox\21.0.45833.0\is\ConfigurationPackages
Copying Test Assemblies
C:\dl\sandbox\21.0.45833.0\platform\Test Assemblies
Copying Extensions
C:\dl\sandbox\21.0.45833.0\is\Extensions
Copying Applications
C:\dl\sandbox\21.0.45833.0\platform\Applications
Copying Applications.IS
C:\dl\sandbox\21.0.45833.0\is\Applications.IS
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Skipping restore of Cronus database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Installation took 42 seconds
Installation complete
Initializing...
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is bc21
PublicDnsName is mydomainhidden
Using NavUserPassword Authentication
Import Encryption Key
Stopping local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint<PHONE_NUMBER>90F282C57C9A2E7B41AA3B34FA449D
DNS identity mydomainhidden
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting PublicODataBaseUrl to https://mydomainhidden/bc21rest/odata
Setting PublicSOAPBaseUrl to https://mydomainhidden/bc21soap/ws
Setting PublicWebBaseUrl to https://mydomainhidden/bc21
Starting Service Tier
Failed to start service 'Dynamics 365 Business Central Server [BC] (MicrosoftDynamicsNavServer$BC)'.
at , C:\Run\navstart.ps1: line 172
at , C:\Run\start.ps1: line 377
at , : line 1
New-BCContainer Telemetry Correlation Id: 57192d1b-46b3-4615-b1bc-fac64f1066ce
Initialization of container bc21 failed
At C:\Program Files\WindowsPowerShell\Modules\bccontainerhelper\3.0.12\ContainerHandling\Wait-NavContainerReady.ps1:42 char:17

...             throw "Initialization of container $containerName failed" ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Initialization of container bc21 failed:String) [], RuntimeException
FullyQualifiedErrorId : Initialization of container bc21 failed

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context

does it happen all the time? Yes
did it use to work? Yes

Thank you, that worked !

Shipped in 4.0.3

I am getting the similar error while enabling the SSL for oData or/and SOAP web services, please suggest the solution for this.

@keshavsrivastav please create a new issue with full script + output, which repros the problem you are having


Hi, it's me again and I have a question again. Why censored doesn't work?

I have this little piece of code:
try {
var animess = await client.Animes.GetAnime(new AnimeRequestSettings
{
                order = OrderNow,
                page = pageNow,
                limit = 15,
                kind = Kinder,

            });
            Anime[] ani = animess;
            MessageBox.Show(ani.Length.ToString());
            for (int i = 0; i < 15; i++)
            {
                AnimeEntity anim = new AnimeEntity();
                anim.AnimeID = ani[i].Id;
                anim.StringTextEntity = ani[i].Russian;
                anim.StringImageEntity = ani[i].Image.Original;
                anim.HorizontalAlignment = HorizontalAlignment.Center;
                anim.VerticalAlignment = VerticalAlignment.Center;
                AnimeList.Items.Add(anim);
            }
            canNextPageCatalog = true;
        }
        catch (Exception ex)
        {
            return;
        }

Everything works right, but if I add "censored = true"
everything stops working.
var animess = await client.Animes.GetAnime(new AnimeRequestSettings
{
                order = OrderNow,
                page = pageNow,
                limit = 15,
                kind = Kinder,
                censored = true

            });

There is no error, but the code does not go further than this request. The query itself does not complete.
I need your help.

Hi, will take a look tomorrow. If you want you can trace the error by yourself :)

I tried to look, but nothing could be fixed. Can you please check what the
problem is?
Also if it was not difficult could you tell me what the problem was.
сб, 17 дек. 2022 г., 20:34 JustRoxy @.***>:

Hi, will take a look tomorrow. If you want you can trace the error by
yourself :)
—
Reply to this email directly, view it on GitHub
https://github.com/JustRoxy/ShikimoriSharp/issues/19#issuecomment-1356312463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWAIBNGN2PZE5M6MN4FLTODWNXMQLANCNFSM6AAAAAATB5LZ4U
.
You are receiving this because you authored the thread.Message ID:
@.***>

Should be fixed at this version.
You can check the problem solution at PR's commits
https://www.nuget.org/packages/ShikimoriSharp/1.3.4

Also thanks for the contribution! :100:


Text weirdly spaced on Web

I tried to build an application for web and desktop that has a terminal.
On desktop (windows for me) it works just fine:

But when I try to run the exact same app with the exact same code on web, this is shown:

It's functional and works in general, but looks pretty ugly. I tried it in multiple browsers as well, but it doesn't work.

I have the same problem

So i managed to solve this. turns out its just a font issue:
                    child: TerminalView(
                      terminal,
                      controller: terminalController,
                      autofocus: true,
                      backgroundOpacity: 1,
                      textStyle: TerminalStyle(
                        fontFamily: GoogleFonts.robotoMono().fontFamily!,
                        fontSize: 14,
                      ),
                    ),
                    ```

This makes the trick


Proposal for functions with single callback

With async and await keywords coding becomes a real joy.
I have a proposal for calling function with single callback that can be used in browsers also. And it is easy to implement.
Let's say we have two functions from some library:
function functionOne(param1, next){
    // some action
    next(param1);
}
function functionTwo(param1, param2, next){
    next(param1, param2);
}

Current usage
functionOne(1, (x) => {
    functionTwo(x, 2, (a,b) => {
        console.log(x,a,b);
    });
});

Proposal usage
let x = await functionOne(1, waitfor next);
let [a,b] = await functionTwo(x, 2, waitfor next);
console.log(x,a,b);

which will be compiled to the code above.
There can be only one waitfor keyword per function. So if function have two callbacks that will not be possible.

Anti the TypeScript design goals:

Align with current and future ECMAScript proposals.
Avoid adding expression-level syntax.

If you feel your features are valid, you should consider championing them with the ECMAScript standards body via ESDiscuss.

@LexRiver just curious which library you are trying to emulate / migrate / make easy to work with? :rose:

ESDiscuss is the appropriate channel for this. We really don't want to spec new async features -- it's important the runtime is on board and these kinds of features need to start there.


Reading cache from /usr/local/lib fails with permission denied

I'm trying to cache C shared libraries, that live in usr/local/lib. Writing the cache is working, but reading from it fails because the action is not able to untar the cache in /usr/local/lib. I wasn't able to find a way to specify permissions for this action, so I'm creating an issue for this.
This is my configuration:
- name: Cache Check Library
  id: cache-libcheck
  uses: actions/cache@v3
  with:
    path: /usr/local/lib/libcheck.so.0.0.0
    key: ${{ runner.os }}-libcheck

And the error message:
Run actions/cache@v3
  with:
    path: /usr/local/lib/libcheck.so.0.0.0
    key: Linux-libcheck
Received 82079 of 82079 (100.0%), 1.0 MBs/sec
Cache Size: ~0 MB (82079 B)
/usr/bin/tar --use-compress-program zstd -d -xf /home/runner/work/_temp/ba336f98-3acc-438c-a90c-4196e66cecd3/cache.tzst -P -C /home/runner/work/powertwin/powertwin
/usr/bin/tar: ../../../../../usr/local/lib/libcheck.so.0.0.0: Cannot open: Permission denied
/usr/bin/tar: Exiting with failure status due to previous errors
Warning: Tar failed with error: The process '/usr/bin/tar' failed with exit code 2

This is the job setup:

Current runner version: '2.294.0'
Operating System
  Ubuntu
  20.04.4
  LTS
Virtual Environment
  Environment: ubuntu-20.04
  Version: 20220626.1
  Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20220626.1/images/linux/Ubuntu2004-Readme.md
  Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20220626.1
Virtual Environment Provisioner
  <IP_ADDRESS>-main-20220616-1
GITHUB_TOKEN Permissions
  Actions: write
  Checks: write
  Contents: write
  Deployments: write
  Discussions: write
  Issues: write
  Metadata: read
  Packages: write
  Pages: write
  PullRequests: write
  RepositoryProjects: write
  SecurityEvents: write
  Statuses: write
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:2541b1294d2704b0964813337f33b291d3f8596b)
Download action repository 'actions/cache@v3' (SHA:c3f1317a9e7b1ef106c153ac8c0f00fed3ddbc0d)
Download action repository 'actions/upload-artifact@v3' (SHA:3cea5372237819ed00197afe530f5a7ea3e805c8)

Am I missing anything here or is this really an issue?
Thank you!

@leiferksn if you are using self-hosted runner then please ensure that the runner has access to this file.
For GitHub hosted runner, I tried to cache a random file (I did not see /usr/local/lib/libcheck.so.0.0.0 in there) in /usr/local/lib and it worked for me
    - name: Cache Check Library
      id: cache-libcheck
      uses: actions/cache@v3
      with:
        path: /usr/local/lib/android/sdk/platforms/android-27/data/res/values-bs/strings.xml
        key: ${{ runner.os }}-libcheck

I have the same problem: caching files in /usr/local doesn't work. The error message is the same. @bishal-pdMSFT we should probably reopen this because in your example you cached a file that always exists.
Example build: https://github.com/athenianco/athenian-api/actions/runs/3091205505/jobs/5000988782 (step "cache libsentry")

BTW, this is the workaround. Add the following step before the cache step:
- name: chown /usr/local/lib
  run: sudo chown $(whoami) /usr/local/lib


OpengGL Debug Callback improvement

Good day Dustin,
Following discussion about PR#14 about my though about the status of this OpenGl debug meassage handler, I made the following modifications:

Changes:

The OpengGL Debugger class is now static to allow smooth and safe insertion in any part of the code at runtime.

Removed preprocessor macros SCION_OPENGL_DEBUG_BREAKONERROR & SCION_OPENGL_DEBUG_BREAKONWARNING from from CMakeLists.txt
and replaced by runtime OpenGLDebugger::breakOnError(bool) & OpenGLDebugger::breakOnWarning(bool) to save compile time when option changed (the whole SCION libs are statics).

Added methods OpenGLDebugger::push(id) & OpenGLDebugger::pop(id) to enable or disable warnings on the fly in any part of the code.

Added method OpenGLDebugger::setSeverityLevel(OpenGLDebuggerSeverity::Disable/Notification/Low/Medium/High).

Added possibility to send a list of Ids to ignore at runtime through the OpenGLDebugger::init(std::vector) method.

Other:

Check for a valid OpenGL current context at init time.
Self documented code
Updated README.md

Thanks,

@333fps Hey Ronan,
The changes look good. I like the updates to the readme file and the fact that you added in some more checks. Also adding the settings configurability was a nice touch.
Your work is definitely appreciated.
Approved

Hi Dustin, the idea was also to be able to control the GL debugger from the GUI without needing to recompile.


FileSystemException: Cannot create file, path = 'null' (OS Error: Read-only file system, errno = 30)

download a zip file, but always return a failure:
FileSystemException: Cannot create file, path = 'null' (OS Error: Read-only file system, errno = 30)
`final zipFile = await File(savePath).create(recursive: true);
Dio().download('https://....../20211104.zip'), zipFile);
`

You are trying to save the file somewhere where you are not allowed, the system is preventing you from saving it.
This is not a Dio bug.


Adds hbase_ycsb benchmark.

Adds hbase_ycsb benchmark.
Adds a YCSB executor, result parser, tests.

Also makes starting YARN optional for Hadoop; HBase requires HDFS, but not
YARN.
By default, this runs YCSB workloads A and B against HBase, 32 threads per client VM, with an initial database size of 1GB. Each workload runs for at most 30 minutes.
I have changes ready to convert MongoDB to this framework, and add some other
databases once this PR is in.

(sorry this is enormous).

Nice - some small comments.

@ehankland - thanks. Comments addressed in af1a91b5b709f81e13a8fa67988a408c69e83dc3. Running locally now to test. PTAL.


translate /help/faq/security/#accessing-non-istio-services

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: fleeto
If they are not already assigned, you can assign the PR to them by writing /assign @fleeto in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @trainyao. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

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.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gyliu513
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS [gyliu513]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Ethan: Blacklist crackstream

Ethan requests the blacklist of the keyword crackstream. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

crackstream has been seen in 43 true positives, 0 false positives, and 0 NAAs.

Rejected by Makyen in Charcoal HQ. Reason: 'This doesn't do what's desired, due to bookending. A regex which accounts for the word not ending on 'stream' would be better.'


Add InfluxDB sensors

See docs: https://www.home-assistant.io/integrations/influxdb/
Add data from Proxmox and Telegraf (main server) and create some fancy dancy dashboard for it.

Ideas for system dashboard -> https://mwunderling.com/blog/automations_for_home_assistant.html


Set Metaflow conda library dependencies to be >= version instead of e…

Metaflow specifies very exact library versions. These currently fail with new python version 3.9.7, getting errors like:
Conda ran into an error while setting up environment.:
  Step: start, Error: UnsatisfiableError: The following specifications were found to be incompatible with each other:

  Output in format: Requested package -> Available versions

  Package python conflicts for:
  requests==2.24.0 -> certifi[version='>=2017.4.17'] -> python[version='2.7.|3.5.|3.6.|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.5,<3.6.0a0|>=3.10,<3.11.0a0|<4.0']
  click==7.1.2 -> python
  coverage==4.5.4 -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0']

Changing the dependencies to be >= avoids this problem for now, but may cause failures in the future?

pr #929 resolves this issue


Add code snippets to avoiding_common_attacks.md

Add code snippets to avoiding_common_attacks.md explaining how you did it.
See:
https://github.com/MatricksDeCoder/Fojini-DEX/blob/master/avoiding_common_attacks.md

I've updated avoiding_common_attacks.md. Would do you think of it now?