Unable to detect certain valid network interfaces in UI

From https://github.com/homebridge/homebridge/issues/2823 by @timdream
Describe The Bug:
I am setting a warning on tap0 being disconnected even though everything works after updating the configuration file.

Instead of running an RPi locally, I run my Homebridge in a docker container (w/ host networking) on a remote VPS, and OpenVPN back to the network. OpenVPN in tap mode is a layer 2 connection so there should be no difference on layer 3. Indeed everything is working. For the latest version yesterday I had to tweak the config with these:
"bridge" {
        "bind": [
            "tap0"
        ],
        "advertiser": "ciao"
}

but after that Homebridge works.
To Reproduce:

Set up a VPS
Set up a tap VPN connection back to home network
Run oznu/homebridge docker image on VPS, with host network.

Expected behavior:

Homebridge should work without any specific bridge.bind config.
tap0 should show up on the interface list in the settings UI.
It should not be reported as disconnected when I set it manually in the config file.

Logs:
Sorry, nothing really relevant in the homebridge log. But here is the output of docker exec -it homebridge ifconfig which shows tap0 in the list.
ifconfig log
br-1f1c3deb2144 Link encap:Ethernet  HWaddr 02:42:45:4F:9E:1C
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:45ff:fe4f:9e1c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3949 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6132 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:194927 (190.3 KiB)  TX bytes:610723 (596.4 KiB)

br-238460e0df82 Link encap:Ethernet  HWaddr 02:42:BF:27:3E:23
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:bfff:fe27:3e23/64 Scope:Link
          <omitted>

br-8e9636623717 Link encap:Ethernet  HWaddr 02:42:27:1D:BE:D2
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:27ff:fe1d:bed2/64 Scope:Link
          <omitted>

br-9c012951c8cf Link encap:Ethernet  HWaddr 02:42:48:71:4C:C9
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:48ff:fe71:4cc9/64 Scope:Link
          <omitted>

br-a5cba590e84f Link encap:Ethernet  HWaddr 02:42:CC:15:55:BB
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:ccff:fe15:55bb/64 Scope:Link
          <omitted>

br-a8aa5a8cdf01 Link encap:Ethernet  HWaddr 02:42:CC:28:1D:50
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:ccff:fe28:1d50/64 Scope:Link
          <omitted>

br-cc3aee1fae88 Link encap:Ethernet  HWaddr 02:42:13:28:C1:E1
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:13ff:fe28:c1e1/64 Scope:Link
          <omitted>

docker0   Link encap:Ethernet  HWaddr 02:42:36:DF:F7:37
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          <omitted>

eth0      Link encap:Ethernet  HWaddr 04:01:6E:8E:E4:01
          inet addr:<retracted>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: <retracted>/64 Scope:Global
          inet6 addr: fe80::601:6eff:fe8e:e401/64 Scope:Link
          <omitted>

lo        Link encap:Local Loopback
          inet addr:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: ::1/128 Scope:Host
          <omitted>

tap0      Link encap:Ethernet  HWaddr 3E:73:20:C4:62:D5
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::3c73:20ff:fec4:62d5/64 Scope:Link
          <omitted>

veth00f2fde Link encap:Ethernet  HWaddr 46:41:18:BA:60:C1
          inet6 addr: fe80::4441:18ff:feba:60c1/64 Scope:Link
          <omitted>

veth3386c7a Link encap:Ethernet  HWaddr 4E:6D:85:69:2A:82
          inet6 addr: fe80::4c6d:85ff:fe69:2a82/64 Scope:Link
          <omitted>

veth34fb2af Link encap:Ethernet  HWaddr 72:00:6A:BC:9A:6B
          inet6 addr: fe80::7000:6aff:febc:9a6b/64 Scope:Link
          <omitted>

veth3bc738f Link encap:Ethernet  HWaddr 0A:60:30:B1:16:2F
          inet6 addr: fe80::860:30ff:feb1:162f/64 Scope:Link
          <omitted>

veth4612441 Link encap:Ethernet  HWaddr 22:CF:31:36:81:14
          inet6 addr: fe80::20cf:31ff:fe36:8114/64 Scope:Link
          <omitted>

veth4942623 Link encap:Ethernet  HWaddr 3E:26:A1:1A:6D:81
          inet6 addr: fe80::3c26:a1ff:fe1a:6d81/64 Scope:Link
          <omitted>

veth73e9d17 Link encap:Ethernet  HWaddr 56:76:85:6C:66:68
          inet6 addr: fe80::5476:85ff:fe6c:6668/64 Scope:Link
          <omitted>

veth89890f6 Link encap:Ethernet  HWaddr BE:E6:5E:9A:AF:5C
          inet6 addr: fe80::bce6:5eff:fe9a:af5c/64 Scope:Link
          <omitted>

veth9d6425f Link encap:Ethernet  HWaddr 4A:9F:6A:28:45:D8
          inet6 addr: fe80::489f:6aff:fe28:45d8/64 Scope:Link
          <omitted>

vethab2d723 Link encap:Ethernet  HWaddr 82:FB:50:51:8C:52
          inet6 addr: fe80::80fb:50ff:fe51:8c52/64 Scope:Link
          <omitted>

vethc0e921b Link encap:Ethernet  HWaddr B6:AA:00:5F:7A:C9
          inet6 addr: fe80::b4aa:ff:fe5f:7ac9/64 Scope:Link
          <omitted>

vethcfe5a80 Link encap:Ethernet  HWaddr F2:08:63:55:29:36
          inet6 addr: fe80::f008:63ff:fe55:2936/64 Scope:Link
          <omitted>

vethd2c875e Link encap:Ethernet  HWaddr C2:7D:AB:83:26:3A
          inet6 addr: fe80::c07d:abff:fe83:263a/64 Scope:Link
          <omitted>

vethe1ce126 Link encap:Ethernet  HWaddr 6E:6A:5A:E8:71:38
          inet6 addr: fe80::6c6a:5aff:fee8:7138/64 Scope:Link
          <omitted>

vethf58269c Link encap:Ethernet  HWaddr 6E:6D:18:F1:C2:AF
          inet6 addr: fe80::6c6d:18ff:fef1:c2af/64 Scope:Link
          <omitted>

Homebridge Config:
See bridge setting above.
Screenshots:
See screenshot above.
Environment:
[2/20/2021, 10:51:25 AM] [HB Supervisor] OS: Linux 5.4.0-65-generic x64
[2/20/2021, 10:51:25 AM] [HB Supervisor] Node.js v14.15.5 /usr/local/bin/node
[2/20/2021, 10:51:25 AM] [HB Supervisor] Homebridge Path: /usr/local/lib/node_modules/homebridge/bin/homebridge
[2/20/2021, 10:51:25 AM] [HB Supervisor] UI Path: /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
[2/20/2021, 10:51:29 AM] [Homebridge UI] Homebridge Config UI X v4.39.0 is listening on :: port 8081
[2/20/2021, 10:51:29 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[2/20/2021, 10:51:29 AM] [HB Supervisor] Started Homebridge v1.3.0 with PID: 1344

Node.js Version: v14.15.5
NPM Version: v6.14.11
Homebridge Version: v1.3.0
Operating System: Docker/Alpine Linux (3.12.3)
Process Supervisor: Docker

Hi @timdream, I've moved your issue to the Homebridge UI repo as that is where the issue is.

The 4.39.1-test.6 test should filter out less network interfaces. Can you check to see if your tap0 interface is now shown?
https://github.com/oznu/homebridge-config-ui-x/wiki/How-To-Test-Upcoming-Changes

Works for me, thanks for the quick turnaround!

Thanks for confirming!


Interface enhancements for cake (#1862)

On the current master, while using an invalid task name produces a simple message, an invalid option (flag) produces a stack trace, because the exception thrown by OptionParser isn't caught (#1862). This pull request corrects that, instead producing, for example:
> cake --help
No such option: "--help"

To see a list of all tasks/options, run "cake"

The other thing this patch does is preface the task list with a message like this:
Cakefile defines the following tasks:

This becomes useful when the relevant Cakefile is in a parent directory (feature introduced by #1687), as it will then say
../Cakefile defines the following tasks:

making things much easier for folks with a hierarchy of Cakefiles.

LGTM

Cool, merging.


Error: invalid node on app "+": "##############"

head -n16 ~/.ssh/config
# General config
Host *
  #ControlPath ~/.ssh/%r@%h:%p
  #ControlPath ~/.ssh/master-%l-%r@%h:%p
  ControlMaster auto
  ControlPersist 1

# Trick to do stuff like:
# ssh -D9999 user1%host1:port1+host2:port2 -l user2
# https://wiki.gentoo.org/wiki/SSH_jump_host
Host *+*
    ProxyCommand ssh $(echo %h | sed 's/+[^+]*$//;s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/;s/:/ -p /') nc $(echo %h | sed 's/^.*+//;/:/!s/$/ %p/;s/:/ /')

##############
# HOME STUFF #
##############

It seems it doesn't like comments (?)

oh, good catch, thanks for the report!


#675 FIX - file upload craches when 'uploads' dir is not writable or …

…absent. #608 FIX - Folder setting does not allow custom structure

Update CHANGELOG with external PRs descriptions


Re-add RHEL reference

Thanks @MikeBazMSFT , your contribution is spot on, we're deliberating internally the best way to present the information you've called out, we'll get back on this in a day or two.

#sign-off


Some fixes

Another PR :

Bump the standard version to 3.9.6
lumina-data should not depends on lumina-desktop since lumina-desktop already depends on lumina-data.

Good catch!


Some small improvements

Cleanup unneeded dependencies
Improve documentation

great, thanks.
merged into 1.1.4


Copy-dbadatabase in newest version (0.9.412) isn't associated with the module along with other commands.

Before submitting a bug report:

[x] Ensure you are able to reproduce it on the latest released version (we release often)
[x] Verified this bug is not already reported in an issue
[x] Verified errors are not related to permissions
[x] Can reproduce in a clean PowerShell session (clean = powershell -NoProfile)

Steps to Reproduce
/*

*/

<#

#>

Expected Behavior
Running copy-dbadatabase should prompt you for a source and running get-help copy-dbadatabase should produce the help for the command.

Actual Behavior
Running Copy-DbaDatabase gives you a command not recognized. Running get-help copy-dbadatabase lists that it is not associated with a module and show no help. This wasn't the only one that was broken either.
Running get-command -module dbatools listed all of the commands and alias' and showed all of them associated with the module.
I just chose to remove the new version and roll back to 0.9.400 and I am not seeing any of the above behavior, I have not tested with any version further than 0.9.400

Environmental data

PowerShell:  5.1.17134.228

SQL Server:  NA

Hi @CJChristensen - unfortunately your repro code has disappeared. Could you add it please so we test it properly

0.9.412 hardcore bombed, my apologies- a character was missing which caused the import to fail. Please download the latest version.


Android works first time Error 0xffffec77

Hi, when I compress on Android it works fine the first time. If I try again later it always fails with response error Error 0xffffec77.
Any ideas? thanks

OK if I wrap it in  Future.delayed(Duration(milliseconds: 300), () async { it seems to work.....

I had the same issue. The problem is I was using the video player while trying to compress the image. What I'm doing is disposing any video player before starting compression.


[pulsar-perf] Introduce number of threads in perf producer program

Motivation
Allow spinning up multiple threads for running the perf-producer.
Modifications

Introduce a new option for configuring multiple threads
Each thread has one separate pulsar client

I am able to push the throughput to the limit when 2~3 threads on my laptop.
1 thread:
bin/pulsar-perf produce -r 1000000 -s 1024 -o 10000 -threads 1 test-topic

result:
00:12:00.464 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 194654.9  msg/s ---   1520.7 Mbit/s --- Latency: mean:  11.303 ms - med:   6.485 - 95pct:  45.137 - 99pct:  68.027 - 99.9pct:  92.922 - 99.99pct:  96.613 - Max:  97.172
00:12:10.532 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 236724.4  msg/s ---   1849.4 Mbit/s --- Latency: mean:  10.805 ms - med:   5.296 - 95pct:  27.571 - 99pct:  99.669 - 99.9pct: 350.171 - 99.99pct: 351.947 - Max: 352.309
00:12:20.653 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 254950.9  msg/s ---   1991.8 Mbit/s --- Latency: mean:   8.138 ms - med:   4.476 - 95pct:  20.667 - 99pct:  38.882 - 99.9pct: 297.731 - 99.99pct: 301.597 - Max: 302.335
00:12:30.678 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 240353.1  msg/s ---   1877.8 Mbit/s --- Latency: mean:  10.532 ms - med:   5.317 - 95pct:  28.446 - 99pct: 157.266 - 99.9pct: 326.325 - 99.99pct: 329.209 - Max: 329.797
00:12:40.705 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 253417.0  msg/s ---   1979.8 Mbit/s --- Latency: mean:   9.085 ms - med:   4.355 - 95pct:  22.979 - 99pct:  57.399 - 99.9pct: 331.955 - 99.99pct: 334.425 - Max: 334.823
00:12:50.730 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 219773.5  msg/s ---   1717.0 Mbit/s --- Latency: mean:  14.533 ms - med:   4.822 - 95pct:  44.289 - 99pct: 223.977 - 99.9pct: 279.707 - 99.99pct: 371.679 - Max: 372.513
00:13:00.768 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 258459.7  msg/s ---   2019.2 Mbit/s --- Latency: mean:   8.126 ms - med:   4.684 - 95pct:  22.018 - 99pct:  38.195 - 99.9pct: 314.801 - 99.99pct: 317.155 - Max: 317.725
00:13:10.793 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 239840.0  msg/s ---   1873.7 Mbit/s --- Latency: mean:  10.509 ms - med:   4.793 - 95pct:  26.751 - 99pct: 154.428 - 99.9pct: 355.123 - 99.99pct: 358.319 - Max: 358.541
00:13:20.817 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 229792.9  msg/s ---   1795.3 Mbit/s --- Latency: mean:  10.516 ms - med:   4.379 - 95pct:  22.080 - 99pct: 255.290 - 99.9pct: 361.119 - 99.99pct: 362.403 - Max: 362.819
00:13:30.837 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 205172.4  msg/s ---   1602.9 Mbit/s --- Latency: mean:  18.843 ms - med:   5.355 - 95pct: 137.392 - 99pct: 308.997 - 99.9pct: 340.997 - 99.99pct: 342.481 - Max: 342.645
00:13:40.880 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 239861.8  msg/s ---   1873.9 Mbit/s --- Latency: mean:   9.853 ms - med:   4.465 - 95pct:  23.468 - 99pct: 115.637 - 99.9pct: 381.907 - 99.99pct: 383.829 - Max: 384.193
00:13:50.901 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 255023.1  msg/s ---   1992.4 Mbit/s --- Latency: mean:   8.785 ms - med:   4.554 - 95pct:  24.120 - 99pct:  37.702 - 99.9pct: 373.729 - 99.99pct: 375.851 - Max: 376.201
00:14:00.923 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 226279.1  msg/s ---   1767.8 Mbit/s --- Latency: mean:  14.535 ms - med:   5.061 - 95pct: 111.297 - 99pct: 134.601 - 99.9pct: 204.177 - 99.99pct: 207.197 - Max: 207.292
00:14:10.972 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 210576.2  msg/s ---   1645.1 Mbit/s --- Latency: mean:  18.282 ms - med:   5.168 - 95pct: 131.245 - 99pct: 242.050 - 99.9pct: 513.205 - 99.99pct: 515.811 - Max: 516.071
00:14:21.022 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 210019.9  msg/s ---   1640.8 Mbit/s --- Latency: mean:  17.970 ms - med:   4.797 - 95pct: 134.668 - 99pct: 238.287 - 99.9pct: 369.191 - 99.99pct: 370.045 - Max: 370.143
00:14:31.074 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 212835.3  msg/s ---   1662.8 Mbit/s --- Latency: mean:  15.993 ms - med:   5.071 - 95pct: 113.417 - 99pct: 146.539 - 99.9pct: 175.021 - 99.99pct: 211.234 - Max: 211.405
00:14:41.122 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 236308.1  msg/s ---   1846.2 Mbit/s --- Latency: mean:  10.882 ms - med:   5.138 - 95pct:  27.675 - 99pct: 147.606 - 99.9pct: 376.239 - 99.99pct: 377.557 - Max: 377.921
^C00:14:47.849 [Thread-1] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated throughput stats --- 41109621 records sent --- 231697.861 msg/s --- 1810.140 Mbit/s

2 threads
bin/pulsar-perf produce -r 1000000 -s 1024 -o 10000 -threads 2 test-topic

results:
00:15:23.119 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 316726.0  msg/s ---   2474.4 Mbit/s --- Latency: mean:  19.858 ms - med:  11.179 - 95pct:  49.611 - 99pct: 353.107 - 99.9pct: 392.813 - 99.99pct: 397.361 - Max: 398.169
00:15:33.217 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 333110.4  msg/s ---   2602.4 Mbit/s --- Latency: mean:  30.618 ms - med:  11.730 - 95pct: 151.895 - 99pct: 288.625 - 99.9pct: 342.355 - 99.99pct: 343.199 - Max: 343.487
00:15:43.351 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 284353.9  msg/s ---   2221.5 Mbit/s --- Latency: mean:  43.095 ms - med:  13.030 - 95pct: 231.816 - 99pct: 351.051 - 99.9pct: 418.729 - 99.99pct: 421.891 - Max: 422.947
00:15:53.444 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 345963.8  msg/s ---   2702.8 Mbit/s --- Latency: mean:  29.335 ms - med:  11.466 - 95pct: 157.086 - 99pct: 346.247 - 99.9pct: 455.489 - 99.99pct: 460.563 - Max: 461.015
^C00:16:02.459 [Thread-1] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated throughput stats --- 15951187 records sent --- 322503.161 msg/s --- 2519.556 Mbit/s

3 threads:
00:16:37.867 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 407660.3  msg/s ---   3184.8 Mbit/s --- Latency: mean:  53.397 ms - med:  51.446 - 95pct:  90.427 - 99pct: 207.051 - 99.9pct: 456.429 - 99.99pct: 457.397 - Max: 457.847
00:16:47.981 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 327646.5  msg/s ---   2559.7 Mbit/s --- Latency: mean:  85.390 ms - med:  58.209 - 95pct: 347.853 - 99pct: 424.205 - 99.9pct: 516.749 - 99.99pct: 518.719 - Max: 519.165
00:16:58.068 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 356509.2  msg/s ---   2785.2 Mbit/s --- Latency: mean:  73.149 ms - med:  55.273 - 95pct: 259.298 - 99pct: 381.965 - 99.9pct: 439.005 - 99.99pct: 442.055 - Max: 442.421
00:17:08.206 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 323249.3  msg/s ---   2525.4 Mbit/s --- Latency: mean:  86.977 ms - med:  56.079 - 95pct: 268.905 - 99pct: 420.713 - 99.9pct: 487.285 - 99.99pct: 490.479 - Max: 491.387
00:17:18.317 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 417818.4  msg/s ---   3264.2 Mbit/s --- Latency: mean:  67.648 ms - med:  58.555 - 95pct:  96.054 - 99pct: 414.709 - 99.9pct: 441.251 - 99.99pct: 446.535 - Max: 447.139
00:17:28.391 [main] INFO  org.apache.pulsar.testclient.PerformanceProducer - Throughput produced: 382491.1  msg/s ---   2988.2 Mbit/s --- Latency: mean:  68.429 ms - med:  53.680 - 95pct: 161.993 - 99pct: 445.171 - 99.9pct: 532.123 - 99.99pct: 533.823 - Max: 535.819
^C00:17:30.293 [Thread-1] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated throughput stats --- 23220081 records sent --- 371416.556 msg/s --- 2901.692 Mbit/s

run java8 tests

Change the Milestone to 2.4.2, because of conflict.


[Link] When set to component="button", fires onSubmit form event

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

Link element fires up onSubmit form event when rerenders.
Expected Behavior 🤔
Not firing up the onSubmit event

Steps to Reproduce 🕹

import React, { useState } from 'react'
import {
  Button,
  TextField,
  Dialog,
  DialogActions,
  DialogContent,
  DialogTitle,
  Link
} from '@material-ui/core'
import { useSnackbar } from 'notistack'
import { AuthActions } from '../../actions'
import { connect, ConnectedProps } from 'react-redux'
import { unwrapResult } from '@reduxjs/toolkit'
import { useForm } from 'react-hook-form'

const mapDispatchToProps = {
  login: AuthActions.login,
  register: AuthActions.register
}

const connector = connect(null, mapDispatchToProps)

type AuthDialogProps = ConnectedProps<typeof connector> & {
  open: boolean
  onClose: () => void
}

type FormData = {
  login: string
  email: string
  password: string
}

const emailRegExp = /^(?:(?:[^<>()\[\]\\.,;:\s@"]+(?:\.[^<>()\[\]\\.,;:\s@"]+)*)|(?:".+"))@(?:(?:\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(?:(?:[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

const AuthDialog = ({
  open,
  onClose,
  login: loginAction,
  register: registerAction
}: AuthDialogProps) => {
  const [registered, setRegistered] = useState(false)
  const [error, setError] = useState('')

  const { enqueueSnackbar } = useSnackbar()
  const { register, handleSubmit, errors, clearError } = useForm<FormData>()

  return (
    <Dialog open={open} onClose={onClose} aria-labelledby="form-dialog-title">
      <form
        onSubmit={handleSubmit(async ({ login, email, password }, e) => {
          if (registered) {
            try {
              const action = await loginAction({ login, password })
              unwrapResult(action)
              enqueueSnackbar('Logged in successfully')
              onClose()
            } catch (e) {
              setError(e.message)
            }
          } else {
            const action = await registerAction({ email, login, password })
            try {
              unwrapResult(action)
              enqueueSnackbar(
                'Registered successfully, confirm your account in a message we sent to the email'
              )
              onClose()
            } catch (e) {
              setError(e.message)
            }
          }
        })}
      >
        <DialogTitle id="form-dialog-title">{registered ? 'Log in' : 'Register'}</DialogTitle>
        <DialogContent>
          {!registered && (
            <TextField
              autoFocus
              margin="dense"
              name="email"
              label="Email Address"
              onChange={() => setError('')}
              type="email"
              error={!!(errors.email || error)}
              helperText={error ? error : errors.email && 'Wrong email format'}
              inputRef={register({ required: true, pattern: emailRegExp })}
              fullWidth
            />
          )}
          <TextField
            autoFocus
            margin="dense"
            name="login"
            label="Login"
            type="login"
            onChange={() => setError('')}
            error={!!(errors.login || error)}
            helperText={error ? error : 'Login needs to have 3-20 symbols'}
            inputRef={register({ required: true, minLength: 3, maxLength: 20 })}
            fullWidth
          />
          <TextField
            autoFocus
            margin="dense"
            name="password"
            label="Password"
            type="password"
            error={!!errors.password}
            helperText="Password needs to have 6-20 symbols"
            inputRef={register({ required: true, minLength: 6, maxLength: 20 })}
            fullWidth
          />
          <Link
            component="button"
            variant="body2"
            onClick={() => {
              clearError('login')
              clearError('password')
              clearError('email')
              setRegistered(!registered)
              setError('')
            }}
          >
            {registered ? 'Not registered? Register now.' : 'Already registered? Login now.'}
          </Link>
        </DialogContent>
        <DialogActions>
          <Button onClick={onClose} color="primary">
            Cancel
          </Button>
          <Button color="primary" type="submit">
            {registered ? 'Login' : 'Register'}
          </Button>
        </DialogActions>
      </form>
    </Dialog>
  )
}

export default connector(AuthDialog)

Context 🔦
I'm trying to achieve seamless register-login form transition, but everytime I switch from register back to login, form fires up onSubmit event, when I removed component out of Link, everything worked fine
Your Environment 🌎

Tech
Version

Material-UI
v4.?.?

React
v16.9.7

Browser
x

TypeScript
v3.7.5

etc.

Thanks for the issue.
Could you create a codesandbox using https://material-ui.com/r/issue-template and explain the steps that reproduces this issue? It's not clear if this is an issue with the other libraries, Material-UI or the integration.

Link element fires up onSubmit form event when rerenders.

How would you know that from the code? Link doesn't have an onSubmit handler.

How would you know that from the code? Link doesn't have an onSubmit handler.

Yeah, you're totally right, but I'm using it inside <form>, and for some reasons, when the component is button, it triggers form's onSubmit, but when it's not a button, it doesn't

https://codesandbox.io/s/priceless-forest-zgde2

Yeah we don't add a type to button in Link which defaults to submit. <Link component="button" type="button" /> would work.
But I don't think we want to overload the Link/Button choice even more. You're want a <button> so why not use a <Button>? Mixing styles with semantics can be very disorienting.

Ok, thanks for clearance!


Tab bar

is it possible to have the line at bottom of the icon and names o be at the top instead?

@Yosiwealth You can customize your way as tabs has datatype of List so you define your widgets your way. You can customize indicator by using indicator properties like indicatorPadding, indicatorColor, indicatorWeight. Please read the documentation for details.
Pasting the code below for reference,
bottomNavigationBar: GFTabBar(
  length: 3,
  controller: tabController,
  indicatorPadding: const EdgeInsets.only(left: 20, right: 20, bottom: 5),
  // indicator: BoxDecoration(
  //   border: Border(
  //     bottom: BorderSide(color: Colors.white, width: 2),
  //   ),
  // ),
  indicatorColor: Colors.white,
  indicatorWeight: 2.0,
  tabs: [
    Tab(
      child: Column(
        children: const [
          Text('Tab1'),
          SizedBox(height: 5),
          Icon(Icons.directions_bus),
        ],
      ),
    ),
    const Tab(
      icon: Icon(Icons.directions_bus),
      child: Text(
        "Tab2",
      ),
    ),
    const Tab(
      icon: Icon(Icons.directions_railway),
      child: Text(
        "Tab3",
      ),
    ),
  ],
),


Oops during registration

I'm unable to register myself at https://www.littil.org - the "Registreren"-button fails to submit, after I have entered my emailaddress. Same after refersing the page. See screenshots.
Browsers:

Chrome
Firefox

Date/time:
~ Sun 1 Oct 2023 @ 21:40

@LDMGN it works; I successfully registered 👍🏻


Can BeauRoutine Sequences, Combine works with DOTween

Hi!
I like this very much and using BeauToutine, I can construct code and logic much easier and clear.
For now, I have some old projects that heavy base on DOTween. So can I have something like adapter/bridge class or function to using DOTween with  BeauRoutine?
I try some method like this
IEnumerator TweentoBeauRoutine(Tween tween)
	{
		yield return tween.WaitForCompletion();
	}

And then using Yield or Then like this
var routine1 = BeauRoutine.Sequence.Create(transform.GetComponent<SpriteRenderer>().FadeTo(1f,1f)).Wait(1)
				.Then(transform.ScaleTo(0.65f,0.2f))
				.Then(transform.ScaleTo( 0.55f,0.1f))
				.Then(transform.ScaleTo(0.65f,0.05f))
				//.Yield(TweentoBeauRoutine(this.Scale(1f,2.0f)))
				.Then(() =>
				{
					print("OK here");
				})
			;

But DoTween is always executed before Routine.Start(this, routine);
Tween in BeauRoutine is awesome too but it takes time to convert all my DOTween functions to BeauRoutine so I am looking for way to wrapper it.
Thanks!

Thanks for your patience. There are two basic approaches I found to this problem.
The first involves minimal integration with BeauRoutine features and looks something like this:
/// Lightweight wrapper for a DOTween.
/// This will simply run the tween once this step is invoked and wait for it to complete.
/// It ignores BeauRoutine timescale, pausing, stopping, etc.
/// </summary>
static public IEnumerator WrapLightweight(DG.Tweening.Tween inTween)
{
    inTween.Pause();
    return LightweightWrapper(inTween);
}

static private IEnumerator LightweightWrapper(DG.Tweening.Tween inTween)
{
    inTween.Play();
    yield return inTween.WaitForCompletion();
}

This pauses the tween immediately and returns a coroutine that will play the tween and wait for it to complete. Doesn't integrate well with BeauRoutine features like pausing, resuming, timescale, and the like, since this still uses DOTween's update loop.
A second approach is more complex, and involves using the tween's Goto method inside of a custom IEnumerator class.
/// Wrapper for a DOTween.
/// This is integrated into BeauRoutine's runtime,
/// including timescale, pausing, stopping, etc.
/// </summary>
static public IEnumerator Wrap(DG.Tweening.Tween inTween)
{
    return new DOTweenRunner(inTween);
}

private class DOTweenRunner : IEnumerator, IDisposable
{
    private enum Stage
    {
        NeedsInitialize,
        Running,
        Done
    }

    private DG.Tweening.Tween m_Tween;
    private float m_CurrentTime;
    private Stage m_Stage;

    public DOTweenRunner(DG.Tweening.Tween inTween)
    {
        m_Tween = inTween;
        inTween.Pause();
        m_Stage = Stage.NeedsInitialize;
        m_CurrentTime = 0;
    }

    public void Dispose()
    {
        if (m_Tween != null)
        {
            if (m_Tween.IsActive())
            {
                m_Tween.Kill(false);
                m_Tween = null;
            }
        }
    }

    public bool MoveNext()
    {
        if (m_Stage == Stage.NeedsInitialize)
        {
            m_CurrentTime = m_Tween.fullPosition;
            if (m_CurrentTime <= 0)
            {
                m_CurrentTime = -m_Tween.Delay();
            }
            m_Stage = Stage.Running;
        }

        if (m_Stage == Stage.Running)
        {
            float dt = Routine.DeltaTime * DOTween.timeScale * m_Tween.timeScale;
            m_CurrentTime += dt;
            if (m_CurrentTime >= 0)
            {
                m_Tween.Goto(m_CurrentTime);
                if (m_Tween.IsComplete())
                {
                    m_Stage = Stage.Done;
                }
            }
        }

        return m_Stage != Stage.Done;
    }

    public object Current
    {
        get { return null; }
    }

    public void Reset()
    {
        throw new InvalidOperationException();
    }

    public override string ToString()
    {
        if (m_Tween != null)
        {
            return "DOTweenWrapper: " + m_Tween.ToString();
        }
        return "DOTweenWrapper: [null]";
    }
}

This is the superior approach if you're looking to make use of pausing, resuming, and timescaling for your BeauRoutines.
I combined both of these approaches into a wrapper class here. Hopefully you find this useful!

Right, that's the intended behavior. Wait() waits for the given routine to finish executing. It doesn't pause until the sequence reaches that point, and that wasn't really a use case that sequence was designed for.
If you just need that behavior, you could write something very similar to the lightweight wrapper I posted earlier, substituting a Routine in place of the DG.Tweening.Tween and yielding a .Wait() instead of a .WaitForCompletion().
Alternately, you could use a .Yield() instead of a .Then(), with something like seq_routine.Yield( () => return moveAnimation.Replace(this, SomeMovementAnim(someArg)) ). That will effectively start the movement animation at that particular point in the sequence, assign it to the appropriate handle, and wait for it to complete.
Let me know if this covers your use case.


Passengers in booking flow

While checking OSDM booking flow, we stumbled upon a few use cases that we would like to have your support clarifying:

Price changes after price locking: If a retailer requests Patch /bookings/{bookingId}/passenger to update one of the passenger details (age, reduction card...), and the update results in a price change, how will the retailer be informed of the price change before confirming the booking through /bookings/{bookingId}/fulfillments
Carriers support setting pax data on different steps (outlined under Requested Information per Process Step in https://osdm.io/spec/processes/ ). We have carriers (such as SBB) that require sending pax data to lock the price and do not allow any pax data updates afterward. How are distributors expected to map Patch /bookings/{bookingId}/passenger in those cases? Should the distributor throw a warning that the operation is not supported by the carrier?

TODO documentation: seguence diagramm on patch passenger and get booking to see price changes
TODO make the documentation on required data more visible

additionally add grammer page to documentation

The grammar is linked here https://osdm.io/spec/processes/#AddingInformation


Add a footer with social media links

Add Telegram, Twitter and GitHub links to ItchySats.
The footer is styled in the similar way to the header and follows the theme changes.
Fixes #518

Can we have a screenshot in the PR? :)

Can we have a screenshot in the PR? :)

sorry about that, UI PRs should have a screenshot indeed! coming right up. 🍸

bors r+

bors retry


Difference for commit-on-blur

What steps will reproduce the problem?
1. Enable IME with lcch (ex, chewing)
2. Do some composition so lcch is not empty (and the setComposition contains
text)
3. Click somewhere else

What is the expected output? What do you see instead?
On ChromeOS, all in setComposition is committed, but the internal lcch is still
hold.
On Chrome, nothing is committed - simply kept in lcch

What version of the product are you using? On what operating system?
ChromeOS ToT / Chrome R28~31

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 6 Oct 2013 at 3:30

ilbchewing is gone so we don't have lcch IMEs for now...


make problem : Out of memory

Hello,
i would like to suggest a warning in the readme file. I had following output while compiling and the problem that my system ran out of memory:
INFO: Analyzed 2 targets (231 packages loaded, 25551 targets configured). INFO: Found 2 targets... ERROR: /home/fze2/tensorflow_cc/tensorflow_cc/build/tensorflow/tensorflow/compiler/mlir/ tensorflow/BUILD:523:11: C++ compilation of rule '//tensorflow/compiler/mlir/tensorflow:tensorflow_ops'  failed (Exit 4): crosstool_wrapper_driver_is_not_gcc failed: error executing  command external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc  -MD -MF bazel-out/host/bin/tensorflow/compiler/mlir/tensorflow/_objs/tensorflow_ops/tf_ops.d  ... (remaining 196 argument(s) skipped) x86_64-linux-gnu-gcc-7: internal compiler error: Killed (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions. INFO: Elapsed time: 1145.477s, Critical Path: 138.38s INFO: 7897 processes: 2456 internal, 5441 local.
I was able to fix the problem by adding swap memory, which is described here :https://stackoverflow.com/questions/30887143/make-j-8-g-internal-compiler-error-killed-program-cc1plus
Could you add a Warning in your read file, that this problem can exist, so others do not have to find the solution by their own, because it took me a while?

I also tried https://github.com/FloopCZ/tensorflow_cc/pull/256 this. I did not effect the usage of memory. My system has 12 threads and 16gb. The process needed around 26gb of ram.
A description how to configure the cmake or whatever, so that maybe only half of the thread count are used, would maybe be also nice.


Bump spotless gradle plugin to 6.23.3

This has lagged behind a lot, but we recently did a major Gradle upgrade.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

project :buildSrc > com.diffplug.spotless:com.diffplug.spotless.gradle.plugin:6.23.3
No matching variant of com.diffplug.spotless:spotless-plugin-gradle:6.23.3 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8,

Spotless gradle plugin dropped Java 8 support: https://github.com/diffplug/spotless/pull/1530

Got it. yes I think I tried this before :-)


Add option for coarse spatial filtering

Enable coarse filtering (by default) for spatial searches. Coarse filtering allows to keep the partitions for the region provided by the user (which is computed lazily) without filtering the data points they contain to the exact region coordinates. The coarse option speeds up searches for all those science cases that only require a rough region filtering. Closes #201.

@smcguire-cmu I agree, I don't find it too intuitive to have the coarse filtering by default. The last time we discussed this I was left with the impression that coarse was the way to go because what most science cases look for is a rough sky region filtering, but I am comfortable doing otherwise. @nevencaplar @hombit do you have any strong preference?

@smcguire-cmu the default filtering strategy has been changed to fine.


Give hint button missing, solution button missing, lost submitted code/streak ,

the “give hint” button is not longer there
the profile page is no longer easly reachable from the top right corner
the portfolio page is missing the “solution” button to re-read the previously submitted solutions (I used that button to go back and read the comments explaining what I have done to reach that solution)
I’ve lost my Streak! I was at over 115 days, now i’m only at 2 :frowning: (I’m sure I didn’t interrupt the streak, and anyway the “longest streak” now is 14 instead of 115 :frowning: )
Linked to point 3 and 4 I’ve lost all my previous solutions :frowning: If i go back to the lessons that I have already completed my code is no longer there :frowning:
The funcion “map” is now replaced with “view the curriculum”… but Map was already placed on the lesson you where following while “view the curriculum” starts always from the beginning of the entire course)

Browser Name: Chrome
Browser Version: Latest
Operating System: macOS latest update

Hi @QuincyLarson can you please point them to a FAQ about common issues.
I am thinking the announcement should include a link a page to an FAQ that has granular details of all the changes that may come as a surprise to a subset of users. Its not clear for many users what's the difference between map and curriculum for example.
I believe instead of responding to thousands of supports requests its best we should consolidate as much as we can on a FAQ.
I understand that many will simply not read the FAQ and we will still answer queries. But that we can enforce a policy around support requests.
From my experience this is some what same as the 'Read-Search-Ask' which has proven to be a great way to handle requests and faster for users and maintainers.

Just wanted to note that the first issue has been solved. Duplicate issue #17431 was posted on June 4, which was closed on July 27. Also, there are duplicates (#17822 , #17743 ) for the fourth issue. Lastly, the fifth issue is a known issue which is currently being worked on as mentioned in a comment on #17317.
We could potentially make new issues for the second and third issue.

@aditijoshi14 Awesome! Thanks for digging through and confirming most of these were duplicates.
@JakeShelterwin regarding points 2 and 3, these are intentional, and are not issues.


Update sbt-unidoc to 0.4.2

Updates com.eed3si9n:sbt-unidoc from 0.4.1 to 0.4.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Codecov Report

Merging #100 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #100   +/-   ##
=======================================
  Coverage   91.64%   91.64%
=======================================
  Files          63       63
  Lines         993      993
  Branches       53       53
=======================================
  Hits          910      910
  Misses         83       83

Continue to review full report at Codecov.

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


before_filter in registration controller

In the past I have created a controller that extends Devise::RegistrationsController and used before_filter :authenticate_user! to prevent unauthenticated users from registering.  After installing Devise 2.0 this doesn't appear to be working anymore.
I have placed a custom method in place of :authenticate_user! that outputs text to the log and it is being called.  For some reason the before_filter :authenticate_user! method does not appear to be redirecting the user back to the login page anymore if they are not logged in.

Simply do rails g scaffold users and use the generated controller to manage the users. You can restrict actions in this controller as you wish with authenticate_user!


Cannot find module 'angular2-meteor-auto-bootstrap'

I've installed the npm module. What typings/ file refers to this module?

Does your tsconfig has moduleResolution set to node for  compilerOptions?

I have the same issue.
I added moduleResolution node. Issue still present.

Which IDE do you use?

Also, do you use Angular2-meteor from NPM or from Atmosphere?

I use sublime and

meteor npm install --save ...

Maybe these related?
https://github.com/Microsoft/TypeScript-Sublime-Plugin/issues/213
https://github.com/Microsoft/TypeScript-Sublime-Plugin/issues/207
I use WebStorm and everything works fine...


[QUESTION] does this project still use terraform-aws-eks community module ?

Please describe your quesiton here
The project mentions in the README.md This project leverages the community terraform-aws-ek) modules for deploying EKS Clusters. I can't seem to see anywhere in the modules/ folder reference to this terraform-aws-eks module.
Is it still the case that this project uses https://github.com/terraform-aws-modules/terraform-aws-eks?
More

[x] Yes, I have checked the repo for existing issues before raising this question

Okay because i saw these modules https://github.com/aws-samples/aws-eks-accelerator-for-terraform/tree/main/modules/aws-eks-managed-node-groups and i can see that it is not using that community module.
I was  abit confused what i should use for my prod eks cluster, this repo or the terraform-aws-modules/eks/aws directly.

Closing the issue with the explanation


Move containerd content to encrypted directory

To ensure encryption of containerd's content store we can use bind mount
from encrypted directory. This PR adds converter to rename (copy for
zfs) old files to encrypted location and mount it to the old location.
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

This seems pretty complex -- is there any reason we're not looking at fixing this at the containerd level @giggsoff ?

Containerd know nothing about our internal logic of encryption and mounting, it just want to have directory on phase of initialization (it do mkdir of several directories). And we start containerd in init, so we will not have encrypted directories available.
Inside PR I just move content to encrypted location (if needed) and mount this location to the expected place, I hope it is not so complex.


run Travis build inside docker container for improved performance

See here for details:
http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/

Closing this.  Please re-open if anyone has an idea how it could be done, or better yet open a PR.


docs: update tachyon vs halo2 benchmarking results

Benchmarking results are updated with Tachyon @ commit 2c6c4c47a0fe249dbefc20eeaa75127197b7dedc

How do you think changing filename to README.md, so that people can see this when they navigate to tachyon/zk/plonk/halo2?


Use different GL bindings to support WebGL/GLES

Instead of using gl for OpenGL bindings, we could switch to something like wgpu-rs or glow, which should improve cross-platform support.

I've started work on moving to glow. Not as easy as I first thought, because:

We now need to pass a context object around everywhere
To maintain backwards compatibility with the GLRenderer::new_for_current_context() API, we'll still need to support the gl bindings, and decide which bindings to use at runtime

Making progress though!

Wgpu is a completely different api. It's inspired by Vulkan but is completely cross-platform. It uses the native API of the platform: DirectX on windows, metal on ios/macOS, Vulkan/OpenGL for Linux/android, and WebGL or native wpgu implementation of browser.
It's harder to use but guarantee that the library is as portable as possible so it may be worth switching to that

Thank you for the info @morr0ne, it does sound like it would be worth making use of wgpu-rs in future, while maintaining support for OpenGL 2.0 using the existing backend.
Since glow is a much smaller (and mostly unrelated) change, I'll finish that for now, and then raise a separate issue for wgpu-rs.

Support for glow is now pushed. I've added a new API GLRenderer::new_for_gl_context() which takes a loader function, and deprecates the old new_for_current_context API which relied on the gl bindings.
To actually make WebGL/GLES work I think there will need to be some minor shader changes. I'll create some sample code for the WebGL target to test it and see what needs changing.

Initial WebGL implementation for GLRenderer now working locally (see image below :)). The API is nice and simple, you can just call GLRenderer::new_for_web_canvas_by_id() with the id of the canvas.
I'm going to try and make it possible to use an existing WindowHandler with a canvas as well. I.e. Speedy2D will automatically hook in all the mouse/keyboard events, given the id of the canvas.

Lots of WindowHandler features working now, including mouse and keyboard input. Still some work left to do to tidy up the remaining features.

Before merging into master I'll be doing some testing of this in various browsers. If anyone wants to give it a go in their own browser, I've uploaded a demo here:
https://redreader.org/s2dweb/

Keyboard events should appear in the web console
Mouse events should be handled (and allow you to click the buttons)
If you zoom in/out (or have a high DPI monitor), the scale of the interface should change and remain high resolution

This is now merged into master, so I'm resolving the ticket. I've spun out #42 to cover GLES support on Android/iOS.

Works perfectly in current Firefox.


addWebpackExternals: react is not defined

Problem：
when i use addWebpackExternals(deps):
addWebpackExternals({
  react: "React",
  "react-dom": "ReactDom"
});

browser occur following error:
external "react":1 Uncaught ReferenceError: react is not defined
    at Object.react (external "react":1:1)
    at __webpack_require__ (bootstrap:789:1)
    at fn (bootstrap:150:1)
    at Module../src/index.tsx (index.less?1e97:45:1)
    at __webpack_require__ (bootstrap:789:1)
    at fn (bootstrap:150:1)
    at Object.1 (web3.js:67:1)
    at __webpack_require__ (bootstrap:789:1)
    at checkDeferredModules (bootstrap:45:1)
    at Array.webpackJsonpCallback [as push] (bootstrap:32:1)
    at main~._e.chunk.js:1:69

how to solve this problem?

Any solution to this problem?
Any temporary solution I found was to add this 2 lines at the top of index.js
import React from 'react';
window.React = React;
Fixes webpack transpile when using custom loader like esbuild-loader, alterative for webpack plugin ProvidePlugin({React: 'react'})

You should introduce React in a CDN manner, otherwise there will be no React during construction


Adding AES implementation in python

Have you read the Contributing Guidelines on Pull Requests?
YES
Description
Adding implementation of AES algorithm in Python
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
AES implementation in Python #2098

Hello @anushkrishnav,
I have added AES implementation in python first using pycrypto and later using pycryptodome since security checks were not successful. Library mentioned in your analysis check is pyca/cryptography for which I will have to implement in a new manner.
can you guide me here or using pycrypto or pycryptodome library is fine.

@atarax665 @anushkrishnav kindly check.

I have pushed requested changes. kindly check @HarshCasper

Hello @HarshCasper ,
please review the requested changes.

Hello @HarshCasper, can you please add the required labels for DWOC?
Thank you.

Hello @HarshCasper, I request you to add levels tags,
Thank you


[HUDI-1035]Remove unused class KeyLookupResult

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Remove unused class KeyLookupResult
Currently, there are two KeyLookupResult classes, which are almost the same:
No.1 -  org.apache.hudi.index.bloom.KeyLookupResult  (not used anywhere)
No.2 - org.apache.hudi.io.HoodieKeyLookupHandle.KeyLookupResult  (using currently)
so the unused one can be removed.
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@yanghua could you please take a look when free? :)


How to use the web-based GUI? How to build the network?

In the paper published on BMC Systems Biology, it is said it provides the web-based GUI, however I cannot find the related information. Can you help me?
Also, how can I build the network using the output txt files? I believe the txt file the shows Boolean relation based on the tree structure, right?

The GUI version can be found here: https://github.com/swoodhouse/SCNS-GUI

I got it, it is in another repository. Sorry.
The link to the GUI version is at https://github.com/swoodhouse/SCNS-GUI

Thank you so much!


Documenting responses to auth API endpoints

Currently the endpoint documentation, just contains the request types and the input parameters. There is no documentation on the response objects. It would be good to have that included too.

Djoser, which is a similar library also has response documentation: https://github.com/sunscrapers/djoser#endpoints

@pramttl Djoser returning not 403 error for unauth user?

Duplicate of https://github.com/Tivix/django-rest-auth/issues/280


Rewrite contributor task using await/async instead of promises

It take me 2 early mornings to rewrote the crappy script that where abusing of promises, to abuse of async/await awesomeness.
This helps to build the website with missing metadata for a potential
new writer (no commit + no author json)
Close #431

c'est quand même plus joli :smile:


Error with the library ListUtil

Describe the bug
Hello,
I have an issue with the Yunohost 12 migrating.
The application can't be start, an error are about the library ListUtil.c are return, I found an issue about this lib with the official Lstu repo. A fix can make with the installer or I look to solved manually the error ?
Logs
Nov 09 10:56:24 carton[4081216]: ListUtil.c: loadable library and perl binaries are mismatched (got first handshake key 0xed00080, needed 0xeb80080)
Nov 09 10:56:24 systemd[1]: lstu.service: Control process exited, code=exited, status=1/FAILURE
Nov 09 10:56:24 systemd[1]: lstu.service: Failed with result 'exit-code'.
Nov 09 10:56:24 systemd[1]: Failed to start lstu.service - Lstu: Shortened URLs service.

Hello,
I have exactly the same problem and it fills the ram and a lot of disk access which freezes the machine.

Solved my issue with the command
sudo yunohost app upgrade lstu -F


scripts: add generate-release-notes scripts

These scripts are used to generate release notes - detailed usage information is included in the README.md. The scripts have been migrated from https://github.com/BethGriggs/release-notes-prototype on the commit 906420d.

@karianna, I believe I've addressed your README comments. I also renamed the output directory to be sample-output for clarity. I still don't mind removing these - but I have found having some sample-output in the git tree useful to manually verify the impact of script changes, such as adding ProblemLists earlier - https://github.com/BethGriggs/release-notes-prototype/commit/575061ad8d9454079b21d1d5574482b13c1296a5.
I applied the fixes directly in https://github.com/BethGriggs/release-notes-prototype rather than here as I'd like this PR to be a clean switchover from the other repository at a specified commit. My plan is to archive the original repository as soon as this lands to avoid any divergence.

@BethGriggs Safe for me to merge this?

I'm going to merge this, update https://ci.adoptopenjdk.net/job/create_release_notes/configure to point to this repo, and run a test on it :-)


Dump last modification date

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


Add GooglePhotosIE from tokune/youtube-dl

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] Searched the bugtracker for similar pull requests
[x] Read adding new extractor tutorial
[x] Read youtube-dl coding conventions and adjusted the code to meet them
[x] Covered the code with tests (note that PRs without tests will be REJECTED)
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/tokune/youtube-dl
https://github.com/ytdl-org/youtube-dl/issues/13889#issuecomment-326045140
What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Fixes https://github.com/ytdl-org/youtube-dl/issues/13889 . Due to tokune's youtube-dl fork being taken down back in 2020, when the "DMCA incident" occurred, I used the SoftwareHeritige archive of it. Thank you Tokune for creating the extractor itself and SoftwareHeritage for archiving GitHub repositories without any cost to access them.

Note to self: There is more info to extract, try and extract it?

Let's merge

I also would wish to have a list of extractors that have been removed due to the site being shut down. I will plan on slowly but surely, porting every feature from that branch to the main youtube-dl, or someone else that has the git program can, as I do not have access to the command line at this time.

Since I have access to Git, I just ran a git diff, and the only difference was that Tokune's branch has Google Photos IE


No longer able to download Quora

Looks like the glory era is over!
I'm running stock Chrome on Ubuntu 19.10. When I clicked the extension to start scraping my data

Unfortunately this is a known issue with the Quora plugin. Quora designed its feed under the hood a while ago, making it very difficult to parse reliably. I'll take one final stab at trying to get it to work again this weekend, and if that doesn't do it, I'll have to disable Quora support for now. :(

Made some good progress today and have been able to locally get at least answer count and answer extraction working again. Still a lot of quirks of the new formatting to work through. Will continue to poke and update this issue when there's further news.

OK, I'm successfully able to download again, though it's likely to be pretty fragile. For now we're at the mercy of Google's review process for the extension update, which has also been a bit of a gauntlet lately. I'll post an update if/when the new version is available.

The new version is live. If you're running 0.6.2, try it again -- it's definitely still brittle, but here's proof of a successfully downloaded answer set:
https://freeyourstuff.cc/view/quora/5f4e84a9b64665ef04de936f

Thanks, @eloquence. Will try out!

Any luck?

Many good greetings Erik,
Unfortunately the extension choked for me after gathering about 130 of my 504 answers. Details in this YouTube video (for demonstrations purposes only; privacy unlisted).
https://www.youtube.com/watch?v=4MxTYtt8c3o


Increase spacing size when text increases

Currently I have my font size/line-height set at 16/24 and my method set to 'ratio'. With this set-up I can use '@include margin-bottom(1);' and it will output the margin-bottom to 24px/1.5rem (as expected). However, when I hit a higher breakpoint and increase my font size to 18 at 1.5 (18/27) the margin-bottom remains at 24px/1.5rem instead of matching the new line-height.
The Rem is correct but the pixel fallback is still 24px. Am I doing something wrong? or is this the expected outcome?

Hey @CGTS that's the expected outcome. It's actually impossible to change that pixel fallback without using a separate media query inside the element. Which kind of defeats the whole purpose changing the html font-size in the first place.
Pixel fallbacks are always going to be limited to this due to their inherent non-relative nature. They are really only supplied for older browsers (IE8 in particular). So when using rems take full advantage of their relative nature and use media queries to scale things as much as you like, just understand that the pixel fallbacks will always be locked to the originally declared $base-line-height.
 That's going to create a whole world of potential issues, especially if you are adopting it mid way on a project.
Sorry it's taken so long to get back to you. My github notifications aren't on for some reason...

Thanks for the reply. I ended up just turning pixel fallbacks off, as IE8 wasn't a requirement.


"Please reduce the length of the messages or completion" on short messages sent in long conversation

This model's maximum context length is 4097 tokens. However, you requested 4295 tokens (3245 in the messages, 1050 in the completion). Please reduce the length of the messages or completion.

Keep getting this error once a conversation has gone on for a period of time. Is this expected or should the text being sent be truncated?

Haha, I'm glad it even bubbles that error up to the user (it's something I built on the last day before publishing). I will make the truncation logic smarter!

I just updated main to fix up the logic here and to now include an "Unlimited" setting, so you should run into this much less frequently!

Thanks @yakGPT, nice fix


Finding Thing(s) given some criteria

Hi there! Hope I'm using the right template for this question 😀
Search terms you've used
query, find
What problem are you trying to solve? Please describe.
Almost every application needs to find data matching some specific criteria (some object containg a string, an integer range, and so on...) and I would like to know what this library will provide in the future? I don't want to retrieve all Thing locally to evaluate some predicate and filter client side and I'm thinking about using SPARQL queries to ask the server to do the hard job for us but maybe there's another nifty way.
I'm aware that, as of now, the support for SPARQL in the Solid spec is already being discussed...
What existing documentation is relevant to your problem, and why is it insufficient?
https://docs.inrupt.com/client-libraries/solid-client-js/tutorial/read-write-data.html#read-data
https://docs.inrupt.com/client-libraries/solid-client-js/api/modules/_thing_get_.html
Additional context
This question arise because I'm building a tiny library depending only on @inrupt/solid-client to make the mapping between my javascript objects and triples easier and more pleasant to work with and making easy and efficient to query for data with specific criteria is a must have.
Constructing and making a SPARQL query against a Solid document works like a charm, I can get back some turtle but since the function turtleToTriples is marked as internal, I can't use it and need to duplicate it on my side and this is why I'm here to see if there's another take on your side for this problem.
I will make the repo public as soon as my public API is done.
Thanks for reading me and this library BTW 👍

Hi @YuukanOO, if I understand this correctly, you want the filtering to happen on the server-side, is that correct?
If so, then we are indeed dependent on support for that in the spec (and, of course, the server). Tracking the spec is an explicit goal, so if this were to be added to the spec, we would certainly look at how we can support that.
But until then, I don't think there is anything we can do for you? If there is, let us know :)
(Also, looking forward to seeing what you are working on!)

Hi @YuukanOO, if I understand this correctly, you want the filtering to happen on the server-side, is that correct?

Exactly 👌 This is the kind of things we always do, whatever the application being developed, when it comes to retrieve data : ask the component who store the data (the server, here the pod) to do the heavy lifting.
Filtering data on the client side is easier but I'm afraid for large datasets performances (but maybe I'm totally biased here since I'm used to traditional databases hosting data for every users).

If so, then we are indeed dependent on support for that in the spec (and, of course, the server). Tracking the spec is an explicit goal, so if this were to be added to the spec, we would certainly look at how we can support that. Until we have more clarity on that, however, there are no concrete plans we can share.

I totally understand.

Until then, I don't think there is anything we can do for you? If there is, let us know :)

So, the current approach is to retrieve all things locally and filter them here?

(Also, looking forward to seeing what you are working on!)

I'm on it 😉
Anyway, thanks for the quick answer!

So, the current approach is to retrieve all things locally and filter them here?

Yes, I'm afraid there's nothing more we can do as a client - best way to deal with that is to spread the data over multiple Resources if it grows unmanageable, at this point in time.

Makes sense! Closing this issue till things evolve on the server side.


EGL does not work with latest version of opengl

pybullet build time: Jan 12 2020 16:31:20
Using EGL Plugin to accelerate rendering
/home/mikew/miniconda3/envs/pybullet/lib/python3.8/site-packages/eglRenderer.cpython-38-x86_64-linux-gnu.so
libEGL warning: DRI2: failed to create dri screen
libEGL warning: Not allowed to force software rendering when API explicitly selects a hardware device.
libEGL warning: DRI2: failed to create dri screen
Loaded EGL 1.4 after reload.
GL_VENDOR=VMware, Inc.
GL_RENDERER=llvmpipe (LLVM 9.0, 256 bits)
GL_VERSION=3.1 Mesa 19.2.1
GL_SHADING_LANGUAGE_VERSION=1.40
Version = 3.1 Mesa 19.2.1
Vendor = VMware, Inc.
Renderer = llvmpipe (LLVM 9.0, 256 bits)
Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

Compile failed:
0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES

GL error 0x501 detected in glGenBuffers
ven = VMware, Inc.
[1]    13441 segmentation fault (core dumped)  python examples/simple_example.py

I've tried to add the flag before running the program, and it works~!


DB address appears as <nil> in the demo environment

After upgrading the demo environment to the new azure subscription, I noticed that in the SAP systems view, we list SID NWP with DB address <nil>

We are seeing similar issues in other deployments with sometimes the DB address appearing while others it doesn't show.

This issue is happening because the SAPDBHOST entry doesn't exist in the SAP profile file.
We use this parameter to know where the DB is, and create the relationship.
There are 2 possibilities here:

There is an issue in the SAP installation itself, and we cannot get the needed information to visualize the attached DB. In this case, the unique thing we could do is to display better that there is some issue in the installation
There is other way to get in the Netweaver site where the database is (some other file, some command, etc). This would require changes in the code.

@abravosuse How we could discard the option 1?

Apparently something went wrong in the installation.
Adding the next values to the DEFAULT.PFL file fixes the issue.
SAPDBHOST = <IP_ADDRESS>
dbms/type = hdb
dbms/name = HDQ
dbs/hdb/dbname = HDQ

But it opens a new. The old sap system entry is not removed, leaving 2 cloned entries in the SAP systems list.

I have tested in our demo environment, and the duplicated system thing doesn't happen.
This was actually fixed some days ago with: https://github.com/trento-project/trento/commit/a3a5118c49320d27e63ed16a3c50bea164ad0aad

@arbulu89 After adding the missing parameters in the DEFAULT profile of system NWQ, I could see duplicated entries in the SAP Systems view for that system. But today, the obsolete entry is gone and only the good one remains: Check http://<IP_ADDRESS>/sapsystems. I guess that after sometime Trento cleans up itself?

Hey @abravosuse ,
Honestly, I don't know how this could happen in your version, as it doesn't have any cleaning mechanism.
Anyway, I vote for closing this ticket as it has a fix already on place

Yes it can be closed. Unfortunately I don't have authorization to do it. Can you please take care of it? Thanks!


Restructure RoomsList to store the list of all_rooms as a HashMap keyed by room ID

The full set/list of all rooms should not be ordered by default, which is what's currently happening implicitly because RoomsList::all_rooms is a Vec.
This is also especially relevant since we have some pending PRs about ordering/sorting/filtering the rooms list, so basically we're already encountering the need to separate the concern of storing the list from the concern of displaying the ordered/filtered list.
That would remove the need for the newly-added additional field RoomScreen::rooms_list_owned_room_id_map too.
Originally posted by @kevinaboos in https://github.com/project-robius/robrix/pull/181#discussion_r1796231692

I am looking at this : )

Our intention is to change Vec to Vec<OwnedRoomID, RoomPreviewEntry>, right?

Btw, I think if we want to use HashMap instead of normal tuple, we should avoid the standard library HashMap, its performance is very poor (not as good as Java), let me see what high-performance HashMap is available on crates.io : )

I am a little pulzz about this, does the OwnedRoomID under RoomPerviewEntry need to be removed?

This has already been self-assigned to me, but sure, you can take a look at it.

Our intention is to change Vec<RoomPreviewEntry> to HashMap<OwnedRoomID, RoomPreviewEntry>, right?

yep. I wouldn't be concerned about performance, even the largest matrix accounts have like ~2000 rooms. Also, don't get swept up in premature optimization. There are other hashmaps, e.g., hashbrown, but std is fine for now.

(its performance is very poor (not as good as Java)

I sincerely doubt that, but it's not important right now.

I am a little pulzz about this, does the OwnedRoomID under RoomPerviewEntry need to be removed?

nope, why? we'd still want easy access to a room's ID from its RoomPreviewEntry. Again, this issue is specifically about changing the choice of data structure to store the list of rooms, so let's restrict the scope to that.

I see. Thanks very much: )

Then, There is no Vec, and the index is not avilibale in HashMap.
So, Should we change rooms_list_map from HashMap<u64, usize> to HashMap<OwnedRoomID, u64> ? (u64 is Widget ID)  :)

One last question, why my pr cannot checks automatically?, thanks :)

what PR are you referring to?  Also we don't have any checks, I removed the old one but will add some basic ones later.


Fix thehiveworks' jumpbar killing wcr

Thehiveworks updated their jumpbar.js script, and renamed their wcr-killer function. Very funny, guys...
This fixes #74 and dumbingofage.com among others.

Haha. Thanks.


Report errors in the execution graph

Fixes #1098
Reviewer checklist

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock

Wrong approach here, will re-open a different thread.


ZEPPELIN-3234. z.show() compatibility with previous release

What is this PR for?
Enhance the ZeppelinContext in IPySparkInterpreter
What type of PR is it?
[Bug Fix | Improvement ]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-3234

How should this be tested?

Unit test is added

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

Ah yes. There is however a bit of fuzzy line with in mixed language mode (ie. Dataset created in Scala and then turn to Python)


V3.0 Released!

After a long time in the freezer WallpaperOS is back! Since V2.0 new image generator models have been released (notably Flux  ) , this has helped create significantly better wallpapers(especially when upscaled to 4k with upscayl. The code was fully reworked ,the application now lives in the system tray and you can open a UI window to configure wallpaper selection. Caching was also implemented to improve responsiveness. Finally the installation process was streamlined ,just run the exe, no need for installers and updaters! With the new codebase old issues are no longer relevant and will be closed.

Download
https://www.mediafire.com/file/7ybpxn8lil1av70/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/7ybpxn8lil1av70/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Old names in the issue template

Summary
Details and comments
Fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 82.178%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6119

Relevant Lines:
7446

💛  - Coveralls


Image transition on How it Works

This PR is just for the image in the "How it Works" section. I added it in the _Static folder for dark mode.

just a single blank line?
yep.
I opened this mini PR for @IvanPombo to configure the image so it would work in both dark and light mode. so, there are no changes from my end.


Extract col in "2.6 Special Kinds of Matrices and Vectors"

Code in Example 8:
col0 = A[:, 0].reshape(A[:, 0].shape[0], 1)
col1 = A[:, 1].reshape(A[:, 1].shape[0], 1)
row0 = A[0, :].reshape(A[0, :].shape[0], 1)
row1 = A[1, :].reshape(A[1, :].shape[0], 1)
can be more simple like:
col0 = A[:, [0]]
col1 = A[:, [1]]
row0 = A[0].reshape(A.shape[1], 1)
row1 = A[1].reshape(A.shape[1], 1)

Thank you ghosthamlet! I just updated the example!


Global routerWillLeave or onLeave hooks

I've been looking into a way of creating a global onLeave hook or have a generic routerWillLeave so I can add a global transition function for when my routes change.
This is mostly so I can tell the browser to scroll all the way up when I change routes. (The current behavior is currently pretty annoying on mobile devices).
Is there any preferred way of doing this?
Thanks in advance :)

For questions and support, please visit our channel on Reactiflux or Stack Overflow. The issue tracker is exclusively for bug reports and feature requests.

I guess this could be a feature request.
I've been thinking about implementing something like this. But I wanted to bounce the idea off before submitting a PR.

Wouldn't that just be https://github.com/rackt/react-router/blob/df446528384c05161e63f5714e32f2ae3a831036/docs/API.md#onupdate?

Oh great! Thank you!
On Fri, Oct 30, 2015 at 6:19 AM Jimmy Jia<EMAIL_ADDRESS>wrote:

Wouldn't that just be
https://github.com/rackt/react-router/blob/df446528384c05161e63f5714e32f2ae3a831036/docs/API.md#onupdate
?
—
Reply to this email directly or view it on GitHub
https://github.com/rackt/react-router/issues/2419#issuecomment-152521795
.


[strong] Disallow fall through in case clauses

This is done by checking the statements of the switch AST after it
has been parsed. This way the last clause does not need an exit
statement which is common in practice.

@rossberg-chromium
There is one TODO here. Traceur does not track labels in the parser so we cannot tell if a break breaks out of the inner switch or an outer switch. This is needed to determine if a switch statement inside a case clause always exits.

PTAL


[IDEA] - Improve frontend !prefix

!prefix

Added in a65a0c0411488ee54b9728b235196c932c86a117
Also now you need ADMIN permissions to change the prefix


Algorithm Viewer

Title and Issue number

Close #1142

Checklist:

[x] I have mentioned the 1142 in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@pranjay-poddar please review my project and merge it.


circle fix

testing for now

Merging because this fixes the previous problem, but our tests are still broken because they're looking for an executable that we no longer produce as a build artifact.

whoops


Updating child record via parent. Works on 2.1, fails on ^2.2.0

OrientDB Version, operating system, or hardware.

v2.0 SNAPSHOT[ ] - .18[ ] .17[ ] .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.1 SNAPSHOT[ ] - .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.2 SNAPSHOT[ ] - .rc1[ ] .beta2[ ] .beta1[ ]

Issue replicated on
2.2.10
2.2.4
2.2.1
Operating System

[ x] Linux
[ ] MacOSX
[ x] Windows
[ ] Other Unix
[ ] Other, name?

Expected behavior and actual behavior

update a parent record and child record from a single command
update child record via an update of the parent class

Steps to reproduce the problem
sample data
create class Users
create property Users.username
create property Users.password

create class Devices
create property Devices.name

insert into Users (username, password) values('johndoe','randompassword')

  update users add Devices = [{
            "@type": "d",
            "@class": "Devices",
            "name": "Note 7"
        }]

Syntax to reproduce

Works in version 2.1.*
Fails in version ^2.2.*

  update users set username = 'johndoethesenior', Devices = [{
            "@type": "d",
            "@rid":   #14:0,
            "@version":1,
            "@class": "Devices",
            "name": "Note 8"
        }] where username = 'johndoe'

Expected behavior

record #14:0 should be updated to "Note 8" on the name property

I've had multiple people confirm this on stack overflow.
Can someone please test it out and confirm it please,

Hi @jterrero
I'd say it's at least a dangerous behavior, you are doing two updates, one to users and another one to devices in a single statement. IMHO it's correct that it fails, even more, an embedded json with a RID should throw an exception.
It's also incorrect because #14:0 could be an invalid or non existing RID, so the behavior could be completely unpredictable.
In short, I consider this change of behavior as a fix.
If you want to do two updates, you should do it with two statements:
update #14:0 set name = 'Node8';
update users set username = 'johndoethesenior', Devices = [#14:0] where username = 'johndoe'

You can also execute it as a script, with a BEGIN and a COMMIT, if you want them to be in the same transaction.
Thanks
Luigi

Wow. Not following the logic.
I have 2 applications in production that are forcing me to stay on 2.1
If i have a parent object, and I add a linked record via an update add .....
I should be able to update that child object the same way that i added it.
Also, can you please point me to the documentation where it says that this was a "fix" in your release notes.  I have reached out to multiple people using orientdb that confirmed it to be a bug. Not a fix, i went through the release notes of 2.1 -> 2.2 and I can't find any references to this being a fix.
Please provide a link where it states so.
Thank you for your time.

Hi @jterrero
I understand your problem, I'll check with the team if we can find a solution for this.
For sure this change of behavior was the side effect of some other change, but I'll try to see if I find a reference on how it changed.
Anyway, my main point remains: when you write a statement to update record A, the semantics of that statement is to update record A, not to update linked records. When you do
Devices = [{
            "@type": "d",
            "@rid":   #14:0,
            "@version":1,
            "@class": "Devices",
            "name": "Note 8"
        }]

the semantics is not clear at all. What should it happen if #14:0 does not exist? What if the version is wrong? What if the type of #14:0 record is not 'd' or the class is not 'Devices'? All this is not defined just because it's not supposed to be supported. Again, I think that statement should throw a parsing exception, the real problem is that it doesn't. There is a straight way to update these two records, that is using two statements.
I'm reopening this issue in the meantime, I'll keep you posted
Thanks
Luigi

Sir,
Thank you extremely much, I really appreciate it.  Given the fact that it's always been part of orientdb, i got accustomed to the feature.  I find it very useful in many instances.
If the version or rid is wrong, the record would not update, but those are things that have to be part of a, good programming (orientjs/nodejs stack) and b, using other functions of odb to make sure you are properly using the correct content in your syntax / update statement.

Hi, @jterrero,
just curious, do you need embedded record to be updated too?
I agree to @luigidellaquila, this not intuitive and there is still the question what should happen, if record #14:0 is absent (which record shouldn't be updated)?
Moreover, inconsistency for users class, where embedded device with a name "Note 7" has not any link to a real object, while updated 'johndoethesenior' has 'Note 8' and it is somehow connected, just a little bit confusing.

Hi Ata,
If 14:0 is absent, then only the parent record should be available to be
updated, since it has been calidated by the where clause. The child record
is not validated.
You did have error checking on the version of the child linked record. Some
sort of additional error checking on your end would be great. However,
since it was never available up till v2.1, extra error checking on our end
is included into our development efforts.
There are multiple reasons why this makes sense. Transaction cost /
performance and in my opinion it is intuitive. Its one of the main reasons
Ive chosen orientdb on multiple projects.
I want to be able to add a linked record to any document without having to
create the record and then link it.
Update users add devices = [{ "@type": "d", "@class": "Devices", "name":
"Note 8" }] where username = 'johnt'
Is very intuitive if i want to add a linked record to an object without
needing to create a record and then link it.
Updating that record via the same manner, using set instead of add, keeps
the work flow constant. All your doing is using the rid of the linked child
as your where clause, the parent set is already verified with the parent
where clause.
If this was removed purposely, please let me know why and show me release
notes.
Im still not unserstanding your argument. Its not making any sense. No
offense.
I have 2 production applications that will be stuck on 2.1, and another
that has suffered a development setback as a result.
If i wanted to update records in a traditional relational manner, i would
have stuck with any of the rdbms. Small features like this is what makes
orient special.
Please pardon if i come off as irritated. Theres also the possibility that
you may not be understanding my use case because i a, not properly
expressing myself. I am going to prepare a video and give you the
production version of the data set being affected. What i submitted was a
sample for the ease of replicating.
On Thursday, September 22, 2016, Ata Annamamedov<EMAIL_ADDRESS>wrote:

Hi, @jterrero https://github.com/jterrero,
just curious, do you need embedded record to be updated too?
I agree to @luigidellaquila https://github.com/luigidellaquila, this
not intuitive and there is still the question what should happen, if record
#14:0 is absent (which record shouldn't be updated)?
Moreover, inconsistency for users class, where embedded device with a
name "Note 7" has not any link to a real object, while updated
'johndoethesenior' has 'Note 8' and it is somehow connected, just a little
bit confusing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orientechnologies/orientdb/issues/6729#issuecomment-248978528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIM8J5TYNA7-JRfGK0h-GfgB6wJ-74KCks5qssEWgaJpZM4KCt8-
.

--
[image: Dora's Naturals] http://www.dorasnaturals.com/
John Terrero / Information Technology, Director
<EMAIL_ADDRESS>/<PHONE_NUMBER>
Dora's Naturals
Office:<PHONE_NUMBER>, ext: 36 / Fax:<PHONE_NUMBER>
21 Empire BlvdSouth Hackensack, NJ 07606
www.dorasnaturals.com
[image: Facebook] https://www.facebook.com/SapOnTap [image: Google +]
https://plus.google.com/104674139169876692317/photos [image: LinkedIn]
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB8QFjAAahUKEwjjtKjm3PfHAhWEKh4KHYnmDBA&url=https%3A%2F%2Fwww.linkedin.com%2Fpub%2Fjohn-terrero%2F35%2F205%2F558&usg=AFQjCNFzfVDbDIekIHoOw-hH7AoTK237Kw
[image: Skype]<EMAIL_ADDRESS>[image: Github] https://github.com/DorasNaturals [image: Maps]
https://www.google.com/maps/place/21+Empire+Blvd,+Moonachie,+NJ+07074/@40.8317741,-74.0446782,17z/data=!3m1!4b1!4m2!3m1!1s0x89c2f83a60cbd6cd:0x6bcbc59d8b036f96
This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Dora's Naturals
is not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely
those of the author and do not necessarily represent those of the company.

John, hi!
First of all, no offence from my side too. Just curious what kind of scenario it might be useful for.
I'm not affiliated with ODB, by the way.
What is worrying me is that OrientDB will have to check all records in Devices array if they have @RID, then check, if those having @RID exist, and then update them as well. You are saying that this gains performance in your code, while I see that ODB will have to spend extra time for every direct, or included in list embedded record even for less demanding and more common scenarios.
Moreover, what is looking strange for me in your example - is the fact, that records in Devices list of Users class objects are inconsistent in terms of having different behaviour - sometimes they are just embedded records and sometimes they represent real objects of Devices class.
Anyway, I might get this issue wrong and miss something important, so I eagerly looking forward to having the video, or any other kind of demo.
Best regards,
Ata

Hi @jterrero
It was a tough one, but we managed to fix it. The fix was pushed on 2.2.x branch and will be released with 2.2.11
Thanks
Luigi

Wow.. Beyond awesome.. this is great news.
If you may, what was the issue?
On Wed, Sep 28, 2016 at 9:50 AM, luigidellaquila<EMAIL_ADDRESS>wrote:

Closed #6729 https://github.com/orientechnologies/orientdb/issues/6729.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orientechnologies/orientdb/issues/6729#event-805466242,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIM8JxKaq9rX9-tgSv3xSxOqd5H7-B-Yks5qunCwgaJpZM4KCt8-
.

--
[image: Dora's Naturals] http://www.dorasnaturals.com/
John Terrero / Information Technology, Director
<EMAIL_ADDRESS>/<PHONE_NUMBER>
Dora's Naturals
Office:<PHONE_NUMBER>, ext: 36 / Fax:<PHONE_NUMBER>
21 Empire BlvdSouth Hackensack, NJ 07606
www.dorasnaturals.com
[image: Facebook] https://www.facebook.com/SapOnTap [image: Google +]
https://plus.google.com/104674139169876692317/photos [image: LinkedIn]
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB8QFjAAahUKEwjjtKjm3PfHAhWEKh4KHYnmDBA&url=https%3A%2F%2Fwww.linkedin.com%2Fpub%2Fjohn-terrero%2F35%2F205%2F558&usg=AFQjCNFzfVDbDIekIHoOw-hH7AoTK237Kw
[image: Skype]<EMAIL_ADDRESS>[image: Github] https://github.com/DorasNaturals [image: Maps]
https://www.google.com/maps/place/21+Empire+Blvd,+Moonachie,+NJ+07074/@40.8317741,-74.0446782,17z/data=!3m1!4b1!4m2!3m1!1s0x89c2f83a60cbd6cd:0x6bcbc59d8b036f96
This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Dora's Naturals
is not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely
those of the author and do not necessarily represent those of the company.

Hi @jterrero
In v 2.1 a record.save() inspected the record itself and the linked records to find changes. This is an expensive operation and involves a lot of complexity and memory overhead to avoid cycles.
In v 2.2 we replaced this logic with a new component called DirtyManager. The DirtyManager keeps track of all the changes that occur on a record tree, so that when you do a save() operation you do not have to do any calculation to know which records have to be saved in cascade.
The issue was related to a wrong workflow of creation and merging of dirty managers for records created from a parsed JSON.
The fix actually was a single line of code, consisting in the early creation of the dirty manager in some particular situations, but the mechanisms involved are definitely complex
Thanks
Luigi

Thank you so much, for me, it's an invaluable feature.
I'm not going to say it's the main reason I have started an overhaul of my data environment to move to OrientDB, but it had major influence in the decision making process.
When is 2.2.11 scheduled to be released ?

Hi @jterrero
2.2.11 will be out in next 24/48 hours at most
Thanks
Luigi


HMR with parcel in 1.2.6

Parcel with 1.2.5 works great with HMR. With the update to 1.2.6 for some reason HMR is broken and I have to restart the app every time I save something?

@knipferrc I'd like to get to the bottom of this and find a fix if there's really an issue. I have a similar problem with parcel, but only when developing Hyperapp, not with Hyperapp. Could you investigate more?

@knipferrc What's the error message by the way?
I'm seeing this a lot (almost every time I change Hyperapp source code), not my app's code.

Cannot read property '__esModule' of null

Yeah sure I can investigate. I actually dont get any errors.

Honestly I have no idea what I did but it seems to be working now for some reason.

Actually, same here, true story. Very odd. 😆

Same here, writing garbage code do trigger the error overlay but once fixed or on adding new lines of code HMR does not seem to trigger the page reload. Reloading manually the page still show the updates though. Hope this feedback helps as I can't investigate any further.

@aminnairi I haven't had the same error again. I can edit apps, as well as Hyperapp's source—which I'm modifying a lot as I prepare to release 2.0α—and everything works like a charm.
I can't suggest anything concrete since I don't know what fixed things for me, but try removing parcel's cache, node_modules/ and reinstalling dependencies again.

I've tried removing the cache, using the --no-cache option, removing the node_modules folder and ran yarn again with no luck. Everything seems to be working except the live reloading which is just a minor inconvenience. I guess this will be fixed when the 2.x.x.

Thanks, @aminnairi. To clarify, you do mean parcel 2.x?

No, I'm currently using the version 1.9.2 from Parcel. I added it with yarn add --dev parcel-bundler. I'll try with version 2 if I can add it to my packages.

@aminnairi Ah, okay. I meant when you commented:

I guess this will be fixed when the 2.x.x

You mean parcel 2.x.x and not Hyperapp 2.x.

Oh yes I meant parcel 2 !

3rd attemp now working
Okay, I think i've an idea of why it was not working. I always tried to manually install hyperapp when it should be automatically installed by parcel-bundler (I guess there are some hooks, not really sure as I haven't digged into the core of parcel-bundler). The --no-cache could have helped also (not really 100% sure).
So now, everything is working fine, even the live reloading.
Package.json
{
  "name": "ultra-secret-ultimate-package-final-extend-premium-deluxe-edition-final-v2",
  "version": "1.0.0",
  "main": "index.js",
  "repository": "git@github.com:aminnairi/...",
  "author": "Amin NAIRI<EMAIL_ADDRESS>  "license": "MIT",
  "scripts": {
    "start": "parcel --no-cache index.html"
  },
  "dependencies": {
    "hyperapp": "^1.2.6", <--- Automatically installed by parcel
    "parcel-bundler": "^1.9.2"
  }
}

Thanks, @aminnairi!

So now, everything is working fine, even the live reloading.

Great! 🎉


wt: 4.0.4 -> 4.0.5

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/wt/versions.
meta.description for wt is: '"C++ library for developing web applications"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.0.5 with grep in /nix/store/1dc7ihlqadfqq4fa3db3nkk2h3vsa7xn-wt-4.0.5

directory tree listing: https://gist.github.com/3205fbc291300772752b8f270d71f940

du listing: https://gist.github.com/59336b5a718e34ce2ef66af4a040bb42

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)
2 package rebuild(s)
2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
wt
wt4

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1dc7ihlqadfqq4fa3db3nkk2h3vsa7xn-wt-4.0.5 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A wt https://github.com/r-ryantm/nixpkgs/archive/c3d181fa349d80da752cab7a6540fef5d6897482.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1dc7ihlqadfqq4fa3db3nkk2h3vsa7xn-wt-4.0.5
ls -la /nix/store/1dc7ihlqadfqq4fa3db3nkk2h3vsa7xn-wt-4.0.5/bin

cc @juliendehos @willibutz for testing.

@GrahamcOfBorg build wt4


Value Entity example for the docs

Following the example for Java developed here:
https://github.com/lightbend/akkaserverless-java-sdk/pull/11
This is the translation for JS.

@andreaTP, there are some minor change requests from Enno. Feel free to merge once addressed.


Fixed send retry policy in TCPDataSender #2198

Fixed retry policy in TCPDataSender is not working properly.
Changed log level

ping @emeroad

Current coverage is 40.52% (diff: 50.79%)

Merging #2199 into master will decrease coverage by <.01%

@@             master      #2199   diff @@
==========================================
  Files          1597       1597
  Lines         55377      55424    +47
  Methods       10883      10891     +8
  Messages          0          0
  Branches       7630       7638     +8
==========================================
+ Hits          22444      22458    +14
- Misses        32933      32966    +33
  Partials          0          0

Powered by Codecov. Last update 9471f72...dc0dbeb


[Philemon]v1.4 UG general update

Added introduction section
Added interface guide section
Restructured both under the new Getting started section

Coverage remained the same at 78.931% when pulling 31b1bbb2bcac006b9dd39b6ce360d79c95a6c5ad on philemontan:v1.4_UG_general into 3a7e777f0aa460bdc05491566690dc326c0ad827 on CS2103AUG2017-T11-B1:master.


Trunk/bindings test

What is this pull request?
Merge bindings into develop

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@e9b6f5f). Click here to learn what that means.
The diff coverage is 45.4%.

@@            Coverage Diff             @@
##             develop     #820   +/-   ##
==========================================
  Coverage           ?   31.42%
==========================================
  Files              ?      464
  Lines              ?    13669
  Branches           ?     8707
==========================================
  Hits               ?     4296
  Misses             ?     1518
  Partials           ?     7855

Impacted Files
Coverage Δ

libs/generator/generator.hpp
80% <ø> (ø)

libs/common/types.hpp
75.4% <ø> (ø)

shared_model/interfaces/common_objects/account.hpp
0% <ø> (ø)

...le/irohad/validation/stateless_validation_test.cpp
23.25% <ø> (ø)

shared_model/builders/protobuf/unsigned_proto.hpp
27.27% <ø> (ø)

shared_model/interfaces/common_objects/asset.hpp
0% <ø> (ø)

shared_model/builders/protobuf/transaction.hpp
81.08% <ø> (ø)

...st/module/libs/converter/string_converter_test.cpp
7.69% <ø> (ø)

shared_model/bindings/model_query_builder.hpp
100% <ø> (ø)

..._model/backend/protobuf/common_objects/account.hpp
0% <0%> (ø)

... and 27 more

Continue to review full report at Codecov.

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