Regarding flyout.js

I'm just wondering why this file is requested here:
https://github.com/mit-cml/appinventor-sources/blob/master/appinventor/blocklyeditor/ploverConfig.js#L63
It isn't located in Blockly source code 😕

If you are looking at the Google master branch, you are correct. The Google team refactored the Flyout into multiple parts. When you use the git submodule update command it checks out the specific version we need (circa Feb 2017), which still has the singular flyout.js. I am working on an update that brings us back in line with the latest Blockly, but it will take some time because a number of internals that we rely on have changed.

On Dec 2, 2017, at 17:58, Diego Barreiro<EMAIL_ADDRESS>wrote:
I'm just wondering why this file is requested here:
https://github.com/mit-cml/appinventor-sources/blob/master/appinventor/blocklyeditor/ploverConfig.js#L63
It isn't located in Blockly source code 😕
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

So, why do I get this error?
BlocklyCompile:
     [java] Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: /home/travis/build/barreeeiroo/Makeroid/appinventor/blocklyeditor/../lib/blockly/core/flyout.js (No such file or directory)
     [java] 	at org.plovr.JsSourceFile.getCode(JsSourceFile.java:24)
     [java] 	at org.plovr.AbstractJsInput.processProvidesAndRequires(AbstractJsInput.java:113)
     [java] 	at org.plovr.AbstractJsInput.getProvides(AbstractJsInput.java:83)
     [java] 	at org.plovr.Manifest.getProvideToSource(Manifest.java:214)
     [java] 	at org.plovr.Manifest.getInputsInCompilationOrder(Manifest.java:196)
     [java] 	at org.plovr.Manifest.getCompilerArguments(Manifest.java:177)
     [java] 	at org.plovr.CompileRequestHandler.compile(CompileRequestHandler.java:94)
     [java] 	at org.plovr.cli.BuildCommand.runCommandWithOptions(BuildCommand.java:58)
     [java] 	at org.plovr.cli.BuildCommand.runCommandWithOptions(BuildCommand.java:31)
     [java] 	at org.plovr.cli.AbstractCommandRunner.runCommand(AbstractCommandRunner.java:41)
     [java] 	at org.plovr.cli.Command.execute(Command.java:47)
     [java] 	at org.plovr.cli.Main.mainWithExitCode(Main.java:56)
     [java] 	at org.plovr.cli.Main.main(Main.java:30)
     [java] Caused by: java.io.FileNotFoundException: /home/travis/build/barreeeiroo/Makeroid/appinventor/blocklyeditor/../lib/blockly/core/flyout.js (No such file or directory)
     [java] 	at java.io.FileInputStream.open0(Native Method)
     [java] 	at java.io.FileInputStream.open(FileInputStream.java:195)
     [java] 	at java.io.FileInputStream.<init>(FileInputStream.java:138)
     [java] 	at com.google.common.io.Files$1.getInput(Files.java:105)
     [java] 	at com.google.common.io.Files$1.getInput(Files.java:102)
     [java] 	at com.google.common.io.ByteStreams.toByteArray(ByteStreams.java:249)
     [java] 	at com.google.common.io.Files.toByteArray(Files.java:197)
     [java] 	at com.google.common.io.Files.toString(Files.java:223)
     [java] 	at org.plovr.io.Files.toString(Files.java:12)
     [java] 	at org.plovr.JsSourceFile.getCode(JsSourceFile.java:22)
     [java] 	... 12 more

Nvm, it was caused because I was using the wrong branch 😅

I'll keep this issue open, because I'm waiting for the Blockly update 👍

You can view the sources that get checked out as part of the git submodule update command on [out fork of Block]y(https://github.com/mit-cml/blockly/tree/mitmaster).

This error still exists until now.


chore(data-planes): expands test coverage

chore(data-planes): expands test coverage
Expands the test coverage for data plane views.

chore(api): parameters incorrectly being optional

chore: removes non-standard public/private fields

please resolve conflicts :)

please resolve conflicts :)

@slonka Done.


bridge wlan0 to local host server

How can I get traffic/requests on the WiFi hostapd to forward to a server on localhost and not be forwarded to eth0?

You must do it the same way VPN servers are doing it. You must create a TAP interface inside your server and then bridge it via create_ap.

You can also use socat to create the TAP interface and forward the data to server port.
In the following example I create a TAP interface named tap0, I set its IP to <IP_ADDRESS> and I forward whatever goes through it to <IP_ADDRESS>:4444
socat tun:<IP_ADDRESS>/24,tun-name=tap0,tun-type=tap,iff-no-pi,iff-up tcp:<IP_ADDRESS>:4444

Ofcourse If I bridge it with create_ap it then the clients need to put static IPs in <IP_ADDRESS>/24 range and they will not have Internet access, unless if your server replies back.
Actually is this what you want? If not, then please rephrase your question.

The clients are Kobo e-readers that I'm using as display boards via their
built in WiFi and browser. The server I have is a node.js that answers to
localhost. This works OK if I use an external router with access to the
internet and the trouble is if the Kobo ereader can't access a specific
page on the internet it thinks that there is no internet service and turns
off the WiFi. I want to get that page request and send it back to the
e-reader client so it thinks it has a connection to the outside world.
After that all requests are to pages created by my node.js server.
Ideally if anyone connects to my WiFi access point then they get the
default page from the node.js http server.
Thanks
On Tue, Apr 21, 2015 at 1:19 PM, oblique<EMAIL_ADDRESS>wrote:

You can also use socat to create the TAP interface and forward the data
to server port.
In the following example I create a TAP interface named tap0, I set its
IP to <IP_ADDRESS> and I forward whatever goes through it to
<IP_ADDRESS>:4444
socat tun:<IP_ADDRESS>/24,tun-name=tap0,tun-type=tap,iff-no-pi,iff-up tcp:<IP_ADDRESS>:4444
Ofcourse If I bridge it with create_ap it then the clients need to put
static IPs in <IP_ADDRESS>/24 range and they will not have Internet
access, unless if your server replies back.
Actually is this what you want? If not, then please rephrase your question.
—
Reply to this email directly or view it on GitHub
https://github.com/oblique/create_ap/issues/72#issuecomment-94926591.

So, do you want to redirect all http connections to your local server? Or do you want a specific IP/domain?

I could live with all http traffic sent to the server. I have a bunch of
NMEA data on RS232 ports that the server processes and serves to the
e-readers via http & WiFi.
If all traffic present on wlan0 were sent to the server then I could easily
have a proxy on the server that routes some domains to eth0 allthough the
proxy thing is a distant 2nd issue for me because most of the time I won't
have a cable connected to eth0.
On Wed, Apr 22, 2015 at 5:38 AM, oblique<EMAIL_ADDRESS>wrote:

So, do you want to redirect all http connections to your local server? Or
do you want a specific IP/domain?
—
Reply to this email directly or view it on GitHub
https://github.com/oblique/create_ap/issues/72#issuecomment-95159078.

I didn't test it but this should work:
iptables -t nat -A PREROUTING -s <IP_ADDRESS>/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 4444

It redirects the packet to port 4444 on localhost if the source IP is in <IP_ADDRESS>/24 subnet and the destination port is 80. So, you can have an http server on port 4444.
If you want to redirect the connection only for a specific destination IP (in my example <IP_ADDRESS>) then you must add -d <IP_ADDRESS>.
If you want to redirect all destination ports, then you must use TAP interface as I said before.

I'm trying the iptables approach.

To see the rule you need to run iptables -t nat -L.
In my case it works. All http (not https) from my AP subnet is redirected to my local http server. I get all the requests but of-course my server response with 404.
Make sure that you put the correct subnet in the iptables rule and make sure that your request is not an https request (probably this is the problem). Also, if you have firewall then probably you need to use -I instead of -A in the iptables rule.

Yes, it is working now...cool. The iptables -t nat -L shows a bunch of redundant entries that I made which iptables --flush didn't flush.
From the WiFi any domain + the fileName gets the file, however an https request gets routed through the eth0 network. That's OK.
From a computer on the eth0 network I need ipaddress:4444/fileName and that works to get to my http server too.
Well then, thank you for you assistance. :+1:

You must read a bit about iptables. The -t option tells iptables which table to use. If you notice in my above commands I use the nat table, so if you want to flush it then you must do: iptables -t nat -F.
A tutorial to understand iptables is: https://wiki.archlinux.org/index.php/Iptables
And then read this: https://wiki.archlinux.org/index.php/Simple_stateful_firewall
If you don't want anything to be routed to eth0 then just run create_ap without Internet sharing. You can do that with:
create_ap -n wlan0 MyAccessPoint MyPassPhrase

I have discovered a problem with this that I haven't been able to solve. The line in the iptables works if at boot the eth0 cables is plugged in and gets set up by a ethernet router. I don't understand why that should cause the wlan0 traffic to not route properly.
 iptables -t nat -A PREROUTING -s <IP_ADDRESS>/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 4444

Without the eth0 connected to a router the wlan0 clients asking for <IP_ADDRESS> works but some domain name does not. However with a router connected to eth0 then if a client asks for http://whatever.com will have the request forwarded to <IP_ADDRESS>:444
I found out about this problem late in the game and now I'm desparate.

This is because you need a connection to the internet if resolve the whatever.com domain. But there is a solution for this also: You can tell to dnsmasq to resolve all domains to a specific IP instead of forwarding them to DNS server.
To do this you need to edit create_ap. Open create_ap and search for dhcp-option=option, after that line you will see the EOF, put the following line before EOF:
address=/#/${GATEWAY}

After this restart create_ap.
Probably I will add a new option to make this easier without editing the script.

Well, I am happy to report that your suggestion worked. I wish I was more comfortable in my understanding of why it works but I get the part about the DNS request needing to be handled. I now need to get a tcp data connection on port 2947 working for a remote opencpn chartplotter ---> done, that works now too. Thanks for your help :)

No problem :)

I have a new issue with this set up that I don't understand. Now the
server's hotspot is accessible from other computers just fine and all tcp
requests are forwarded to the server. However on the server it'self a
request by a browser to local host or to <IP_ADDRESS> go unanswered. Those
requests on other computers logged into the hotspot work fine.
Any thoughts?
On Sat, May 30, 2015 at 1:14 AM, oblique<EMAIL_ADDRESS>wrote:

No problem :)
—
Reply to this email directly or view it on GitHub
https://github.com/oblique/create_ap/issues/72#issuecomment-107007317.

Probably this is because we forward everything to port 4444. If you want the IPs in the network not be affected with forwarding then you need to add ! -d <IP_ADDRESS>/24 in the iptables command.
So you can replace the above iptables command with this:
iptables -t nat -A PREROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 4444

With this all clients in <IP_ADDRESS>/24 network are redirected from port 80 to port 4444 if and only if the destination IP is not an IP from <IP_ADDRESS>/24 network.


customSchemaFiles not loading module during startup

Reference: https://github.com/bitnami/containers/issues/69669
Describe the bug
customSchemaFiles not loading module during startup
Logs
init-tls-secret -----                                                                                │
│ Stream closed EOF for dit/openldap-0 (init-tls-secret)                                                                                │
│ openldap-stack-ha  03:49:58.38 INFO  ==> ** Starting LDAP setup **                                                                                │
│ openldap-stack-ha  03:49:58.69 INFO  ==> Validating settings in LDAP_* env vars                                                                                │
│ openldap-stack-ha  03:49:58.88 INFO  ==> Initializing OpenLDAP...                                                                                │
│ openldap-stack-ha  03:49:58.88 DEBUG ==> Ensuring expected directories/files exist...                                                                                │
│ openldap-stack-ha  03:49:59.08 INFO  ==> Using persisted data                                                                                │
│ openldap-stack-ha  03:49:59.18 INFO  ==> ** LDAP setup finished! **                                                                                │
│ openldap-stack-ha                                                                                │
│ openldap-stack-ha  03:49:59.38 INFO  ==> ** Starting slapd **                                                                                │
│ openldap-stack-ha 66a079e7.17211c94 0x7f162e23d740 @(#) $OpenLDAP: slapd 2.6.3 (Jan 17 2023 16:44:38) $                                                                                │
│ openldap-stack-ha     @a34c3898a374:/bitnami/blacksmith-sandox/openldap-2.6.3/servers/slapd                                                                                │
│ openldap-stack-ha 66a079e7.22c15252 0x7f162e23d740 slapd starting                                                                                │
│ openldap-stack-ha 66a079e9.11f28293 0x7f162ca83700 conn=1000 fd=14 ACCEPT from IP=<IP_ADDRESS>:57204 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a079e9.12012cc7 0x7f1627fff700 conn=1000 fd=14 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a079fd.11d8e154 0x7f162ca83700 conn=1001 fd=14 ACCEPT from IP=<IP_ADDRESS>:50598 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a079fd.11d9a42c 0x7f1627fff700 conn=1002 fd=16 ACCEPT from IP=<IP_ADDRESS>:50600 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a079fd.11e03394 0x7f1626ffd700 conn=1001 fd=14 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a079fd.11e1693a 0x7f1627fff700 conn=1002 fd=16 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a07.11d27fcf 0x7f162ca83700 conn=1003 fd=14 ACCEPT from IP=<IP_ADDRESS>:55720 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a07.11d3180e 0x7f16277fe700 conn=1004 fd=15 ACCEPT from IP=<IP_ADDRESS>:55718 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a07.11d50574 0x7f1626ffd700 conn=1003 fd=14 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a07.11d6700e 0x7f1626ffd700 conn=1004 fd=15 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a11.11dcf363 0x7f162ca83700 conn=1005 fd=14 ACCEPT from IP=<IP_ADDRESS>:60384 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a11.11dd5e9f 0x7f16277fe700 conn=1006 fd=16 ACCEPT from IP=<IP_ADDRESS>:60368 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a11.11e1270f 0x7f1627fff700 conn=1005 fd=14 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a11.11e3e094 0x7f1626ffd700 conn=1006 fd=16 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a1b.11d97867 0x7f162ca83700 conn=1007 fd=14 ACCEPT from IP=<IP_ADDRESS>:35806 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a1b.11db26fd 0x7f16277fe700 conn=1008 fd=15 ACCEPT from IP=<IP_ADDRESS>:35808 (IP=<IP_ADDRESS>:1389)                                                                                │
│ openldap-stack-ha 66a07a1b.11dd6ead 0x7f1627fff700 conn=1007 fd=14 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a1b.11e19946 0x7f1626ffd700 conn=1008 fd=15 closed (connection lost)                                                                                │
│ openldap-stack-ha 66a07a1c.10b6477b 0x7f162ca83700 conn=1009 fd=14 ACCEPT from PATH=/opt/bitnami/openldap/var/run/ldapi (PATH=/opt/bitnami/openldap/var/run/ldapi)                                                                       │
│ openldap-stack-ha 66a07a1c.10b88b82 0x7f16277fe700 conn=1009 op=0 BIND dn="" method=163                                                                                │
│ openldap-stack-ha 66a07a1c.10ba3063 0x7f16277fe700 conn=1009 op=0 BIND authcid="gidNumber=0+uidNumber=1001,cn=peercred,cn=external,cn=auth" authzid="gidNumber=0+uidNumber=1001,cn=peercred,cn=external,cn=auth"                         │
│ openldap-stack-ha 66a07a1c.10bb1ae5 0x7f16277fe700 conn=1009 op=0 BIND dn="gidNumber=0+uidNumber=1001,cn=peercred,cn=external,cn=auth" mech=EXTERNAL bind_ssf=0 ssf=71                                                                   │
│ openldap-stack-ha 66a07a1c.10bbc81d 0x7f16277fe700 conn=1009 op=0 RESULT tag=97 err=0 qtime=0.000028 etime=0.000292 text=                                                                                │
│ openldap-stack-ha 66a07a1c.10beee4c 0x7f1627fff700 conn=1009 op=1 SRCH base="cn=config" scope=2 deref=0 filter="(objectClass=olcModuleList)"                                                                                │
│ openldap-stack-ha 66a07a1c.10bf8db3 0x7f1627fff700 conn=1009 op=1 SRCH attr=olcModuleLoad                                                                                ││ openldap-stack-ha 66a07a1c.10c10f47 0x7f1627fff700 conn=1009 op=1 SEARCH RESULT tag=101 err=0 qtime=0.000018 etime=0.000239 nentries=1 text=                                                                                │
│ openldap-stack-ha 66a07a1c.10c3c0f1 0x7f1626ffd700 conn=1009 op=2 UNBIND                                                                                │
│ openldap-stack-ha 66a07a1c.10c4795b 0x7f1626ffd700 conn=1009 fd=14 closed

Name and Version
bitnami/openldap:2.6.3
What architecture are you using?
amd64
What steps will reproduce the bug?

In value file, add the following block

customSchemaFiles:
  00-argon2-setup.ldif: |-
    dn: cn=module{0},cn=config
    changetype: modify
    add: olcModuleLoad
    olcModuleLoad: /opt/bitnami/openldap/lib/openldap/argon2.so

    dn: olcDatabase={-1}frontend,cn=config
    changetype: modify
    add: olcPasswordHash
    olcPasswordHash: {ARGON2}

Verified that ldif is created

However, when i run ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config -LLL -Q '(objectClass=olcModuleList)' olcModuleLoad it doesn't appear as module loaded.
Manually running the ldif will load the module ldapmodify -Y EXTERNAL -H ldapi:/// -f /opt/bitnami/openldap/etc/schema/00-argon2-setup.ldif

What is the expected behavior?
The ldif defined in customSchemaFiles should be executed during OpenLDAP startup
What do you see instead?
The ldif is doesn't appear to be triggered at all
Additional information
dit root(k8s: minikube) $ minikube version
minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d
dit root(k8s: minikube) $ docker --version
Docker version 24.0.7, build 24.0.7-0ubuntu2~20.04.1
dit root(k8s: minikube) $ helm version
version.BuildInfo{Version:"v3.15.2", GitCommit:"1a500d5625419a524fdae4b33de351cc4f58ec35", GitTreeState:"clean", GoVersion:"go1.22.4"}

Hi @wwjnufc ,
First of all thank you for this very well described issue :)
I ran your values on my side only using :
customSchemaFiles:
  00-argon2-setup.ldif: |-
    dn: cn=module{0},cn=config
    changetype: modify
    add: olcModuleLoad
    olcModuleLoad: /opt/bitnami/openldap/lib/openldap/argon2.so

    dn: olcDatabase={-1}frontend,cn=config
    changetype: modify
    add: olcPasswordHash
    olcPasswordHash: {ARGON2}

And after openldap-0 startup I ran
I have no name!@openldap-0:/$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config -LLL -Q '(objectClass=olcModuleList)'
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /opt/bitnami/openldap/libexec/openldap
olcModuleLoad: {0}pw-sha2.so
olcModuleLoad: {1}/opt/bitnami/openldap/lib/openldap/argon2.so

dn: cn=module{1},cn=config
objectClass: olcModuleList
cn: module{1}
olcModulePath: /opt/bitnami/openldap/lib/openldap
olcModuleLoad: {0}syncprov.so

So it seems to work.
One thing I noticed of your log is the line
openldap-stack-ha  03:49:59.08 INFO  ==> Using persisted data indicating that it's not the first start of the pod.
Make sure you install the chart in a clean namespace or remove all pvc related to openldap.
Especially when you debug customSchemaFiles as files will only be applied the first time.

Hi @jp-gouin thanks for your prompt feedback!
I retested by doing a helm delete, pv & pvc delete to clean everything and indeed it is showing up now.
<<K9s-Shell>> Pod: dit/openldap-0 | Container: openldap-stack-ha
I have no name!@openldap-0:/$ ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config -LLL -Q '(objectClass=olcModuleList)'
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModuleLoad: {0}syncprov
olcModuleLoad: {1}/opt/bitnami/openldap/lib/openldap/argon2.so
olcModuleLoad: {2}/opt/bitnami/openldap/lib/openldap/ppolicy.so

That means, from what I what understand of customSchemaFiles is it

will always create the ldif file
will only ldapadd/modify it during startup of a clean install

If point #2 is the case, then what is the suggestion to add more modules to openldap during startup?
I have a requirement to add new modules to an existing OpenLDAP cluster but I am hoping perform it with a less destructive method to avoid downtime (e.g take backup, delete the pvc then reload from backup).

Glad to hear.
You are right, customSchemaFiles is only applied during the first startup of openldap
This is a limitation of the container not the chart.
To add module during the first startup, then you should use customSchemaFiles and add all your module in there.
After that , you have to connect into one openldap pod and run ldapadd -Y EXTERNAL -H ldapi:/// ... your_module.ldif
Assuming you have replication, it'll be replicated to all other nodes

Ok, understand now. Thought there would be a more programmatic method to load the modules post first startup.
I shall explore other methods (e.g. post startup cron) to try and achieve something similar.
Thanks!

You might want to take a look at https://github.com/bitnami/containers/issues/44545 as someone already tried to build something to fix that limitation


Are we safe? Amazon Cloud Drive

I mean could be there the same scenarion that they disable rclone app from amazon? or does the rclone handle it other way than acd_cli did?
ACD_CLI weird:
https://github.com/yadayada/acd_cli/pull/562 - "I created this pull request only to ask what happend to acd_cli's issues page?! It just vanished! "

It is always a possibility.  However I've had various email conversations with the amazon developers in the past and I don't think they would do that without a dialogue first.

I was distressed to see on that thread a discussion of how to use rclone's keys to restore service.  Please don't do this - it will likely lead to rclone being banned in the same way.

So, apparently there's a workaround for acd_cli using rclone's application id and secret.  Won't this cause a negative effect on rclone?

Edit 2: Now that stuff on ACD is encrypted using rclone, I'm worried that we won't be able to retrieve and decrypt the backup. :(

Provided you can retrieve the files somehow, you can decrypt them with rclone locally very easily.

Provided you can retrieve the files somehow, you can decrypt them with rclone locally very easily.

You are right.  But it would still require downloading the whole directory just to get one file, right?
Because we will no longer be able to rclone lsl remote-crypted:directory
Nevertheless, it's still a peace of mind that there's still a way.
Thank you.

Do you have a clue of why acd_cli key has been forbidden ?
API hammer or ToS issues or that thing about being able to access other people drive ?

You are right. But it would still require downloading the whole directory just to get one file, right?
Because we will no longer be able to rclone lsl remote-crypted:directory

Assuming that there existed another tool that could mount acd, then you could set it up so the above would work just fine.

Just an update about acd_cli and amazon reply:
https://github.com/yadayada/acd_cli/pull/562#issuecomment-301816928

Thank you for providing more information.

We investigated the security issue you reported regarding Amazon Drive (reference HGXXXXXXX).

Our investigation did not reveal any incorrect handling of session tokens in our systems. However, we also reviewed the source code of a third-party application used to authenticate to Amazon Drive (https://tensile-runway-92512.appspot.com/src) and think that there is a concurrency issue present in their code which could result in a customer receiving incorrect authentication tokens.

To ensure our customers safety, we have disabled access to Amazon Drive from the third-party application "acd_cli_oa”.

We appreciate you reporting this security issue.

@scriptzteam .. So..  Does it mean that another (abusing?) app was using acd_cli's security tokens, and thus acd_cli was banned because of it?  I'm a bit lost here.

@unnfav No, https://tensile-runway-92512.appspot.com/src is acd_cli’s default authentication server.  Amazon’s investigation indicates that it’s buggy and can sometimes leak tokens to the wrong user.

@Rufflewind .. Thanks for the clarification.

@Rufflewind wrote

No, https://tensile-runway-92512.appspot.com/src is acd_cli’s default authentication server. Amazon’s investigation indicates that it’s buggy and can sometimes leak tokens to the wrong user.

Just so everyone is clear, rclone doesn't use an external authentication server - it is all done on your computer.  That is why the signup for Amazon Drive (and all the oauth providers like Google etc) is a little awkward.
I didn't want to have the responsibility of other people's credentials going through my server so I deliberately crafted rclone so that wasn't necessary.   That is why the signup for Amazon Drive (and all the oauth providers like Google etc) is a little awkward.
I didn't want to have the responsibility of other people's credentials going through my server so I deliberately crafted rclone so that wasn't necessary. Your credentials never leave your computer!"

I think they also removed the rclone key:
2017/05/18 06:43:17 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017/05/18 06:43:17 DEBUG : HTTP REQUEST (req 0x10fea400)
2017/05/18 06:43:17 DEBUG : GET /drive/v1/account/endpoint HTTP/1.1
Host: drive.amazonaws.com
User-Agent: rclone/v1.36
Authorization: XXXX
Accept-Encoding: gzip

2017/05/18 06:43:17 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2017/05/18 06:43:17 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2017/05/18 06:43:17 DEBUG : HTTP RESPONSE (req 0x10fea400)
2017/05/18 06:43:17 DEBUG : HTTP/1.1 429 Too Many Requests
Cache-Control: no-store
Connection: keep-alive
Content-Type: application/json
Date: Thu, 18 May 2017 06:43:17 GMT
Pragma: no-cache
Server: Server
Vary: User-Agent
X-Amzn-Errortype: TooManyRequests:http://internal.amazon.com/coral/com.amazon.clouddrive.service/
X-Amzn-Requestid: xxxxx

I have contacted amazon and they told me that rclone was disabled today :(

Sadly, I can also confirm that rclone is no longer working now.  :((

2017/05/18 16:40:40 Failed to create file system for "remote:[redacted]": failed to get endpoints: HTTP code 429: "429 Too Many Requests": response body: "{"message":"Rate exceeded"}"

😢

If it was disabled, why is it still in Third Party Apps in Amazon Drive account settings? acd_cli was removed from there for me without me doing anything, rclone is still there. Seems to suggest some kind of api limit was reached perhaps?

Same here. 429s, 429 everywhere. It's sad because after acd_cli's downfall (and subsequent unusual silence) I'd decided to move to B2, except now that's going to be extremely difficult given rclone was my choice of tool to move between the two services! 😢

I think maybe rclone's quota has been reduced.  I'm contacting Amazon to find out what is happening.

Good luck ncw 👍

Having the "429 Too Many Requests" posts as well.
When typing # rclone lsd ACD:ACD_Encrypted in terminal I get:
2017/05/18 11:24:30 Failed to create file system for "ACD:ACD_Encrypted": failed to get endpoints: HTTP code 429: "429 Too Many Requests": response body: "{\"message\":\"Rate exceeded\"}"

Problems started for me two days ago, files could not be uploaded correctly (error 400) even after 10 tries and uploading over 800GB for the bin.
Since this morning I also face the 429 too many requests message. Sad 👎

User on the Rclone forum reporting that Amazon Support have told them that its a ban on rclone and its permanent :/
Shall wait to see what @ncw says after talking with Amazon :(

Is it because rclone spam amazon api for processing?

"banned"?!?
I sure hope not, but let's see what @ncw can report back with.

@Em31Et It'll likely be because all the acd_cli users moved over to rclone when the former was banned from the ACD API, and sounds like rclone is going in a similar direction (although @ncw isn't radio-silence, which I ❤ , cheers @ncw!)

Just wait for ncw's answer. It wouldn't be the first time that Amazon support gave wrong info and certainty not the first time someone would make something up.

@jdrydn
acd_cli users is the reason, but I think the main reasons is because of rclone's implementation.
rclone do not have cache and keep on trying the api calls.

its possible to make a own rclone app and register with acd ?
i thought there was too much hits from one app.

@gdomod
No, amazon do not accept new apply anymore.

and now how i get my data back ? there is no more linux client avail ?

Please let's all wait for info from @ncw

and now how i get my data back ? there is no more linux client avail ?

https://www.cloudhq.net/
What do you think, it safe?

@lorenzoferrarajr has it right - let's wait for @ncw to get back to us with the 411
@gdomod @vampywiz17 From what I can tell there's nothing else for linux, but plenty for Win/Mac to do a migration to another service (but depending on speeds it might take a while!). I do hope I'm wrong however, because that's a major PITA!

@jdrydn I would hope that somebody writes something up for ACD - then again I've read Amazon aren't accepting new Apps at this time so presume that would cause issues :(

@gdomod it is a service not a app, but i don't want to add my personal account to a third party... It is my question, this services, that sync two cloud drive is safe or not?

@vampywiz17 can you stop spamming this issue. this is not a forum and your discussion is not related.

While I do appreciate the design decision to have rclone do the oauth dance the way it does currently, that does mean everybody using the app effectively needs access to the application key and secret (right there in amazonclouddrive.go). And as the acd_cli guys went on using rclone's credentials, this likely (to be confirmed) caused rclone to get banned too, realizing ncw's fear.
Can we somehow come up with a way of keeping user credentials off a centralized server, while at the same time not sharing the application credentials as they currently are?

@drvdijk Remove keys from Git History and current files. Use new keys and dont check them in. Obfuscate binaries.

rclone seems to be banned. good bye acd

Can we please stop speculating and wait for a reply.

Can we please stop speculating and wait for a reply.

We got reply with amazon. You able to read it on forum.

Again, that is from a front line support agent at amazon who might as well be talking about faeries. wait for @ncw's response.

@vampywiz17 .@ncw Did not get a reply. For now, do not believe anything that is said anywhere, unless Nick himself posted it on a official channel (e.g. right here).
Anything else is speculation.

We also got  a reply from a German supporter, which answeres are correct most of the time, cause as a german you still have access to a wide range of native 1. and 2. level supporters on the fly (main business time)
And the supporter was german Edith Schwarz

Please stop speculating. We don't have any confirmation until ncw posts back to this thread. If you have comments to make, please make them on the forum. https://forum.rclone.org/t/acd-429-too-many-requests/1792/307

Just finished call with customer support and they told me that from today rclone will not be supported anymore.

An employee of Amazon Germany just told me on the phone that they are making changes to their services and infrastructure and that rclone probably needs to be updated accordingly.

Sie nutzten für den Zugriff auf Amazon Drive ein "Rclone" von 2P. Rclone wurde jedoch ab heute deaktiviert. Daher ist kein Zugang zu Amazon Drive über Rclone mehr möglich. Es wird in Zukunft auch nicht möglich sein den Zugang über Rclone zu aktivieren.
Same answer - I specifically asked if they plan to fix it in the future and they told me no they dont

Guys, seriously. Please stop spamming the issue and use the forum.

@Webreaper I understand your inclination for make believe right now but those customer support exchanges are useful and pertinent to the issue, not speculation by any measurement (these are official company reps). Several users have reported similar exchanges already so they are credible. Now, is the ban written in stone? I hope not but in the meantime those tech support comments are informative about the current situation regarding this issue.

It's not about my inclination to 'make believe'. It's about the fact that we're all well aware of how misleading commentary from cust serv reps can be, and that situations change fast (this only happened a few hours ago). Given that ncw regularly communicates with Amazon and has done through the development of rclone, nothing is certain yet. But my key point is, whatever the outcome here, or the facts, repeatedly posting the same stuff to the github issue is pointless and just generates spam - when that's exactly what the forum is for.

@Webreaper it's common for people to post similar reports about the same thing on any given issue in order to confirm it so why should this issue be any different? It's expected that that will happen with this issue too. Tech support comments are only inaccurate (not misleading: they are all saying the same thing right now) if the situation changes in the future, in the meantime and until we get further answers they are giving us the company line: which is useful and informative for this issue.

Sure, knock yourself out and keep posting speculation and repeated/potentially inaccurate information while we wait for something concrete from ncw. Fine by me, I'll just unsubscribe from the issue. :)

Title of this bug should be updated. I only found it through Google search. I'm a brand new user of rclone and was having the issue 429 Too Many Requests. I had no idea what this error meant and it appears to be related to ACD disabling the rclone app, is that correct? Reading all of the replies - it also appears that we are waiting for an official response from the developer/maintainer of rclone? I've subscribed to this issue so please keep us updated.

"Title of this bug should be updated" ?? Why? i created it 3 days before, amazon "disabled" rclone just today, my subject WAS about asking if WE ARE SAFE? SO ARE WE NOW? N.O.T. :)
//meanwhile you all are waiting i just got business GDRIVE and enjoing it :D

The title should be more self-explanatory. You need to properly adhere to Github's bugs rules. It's not a forum. The rule is "I am having XYZ problem" Something like "Did Amazon disable the rclone app?"

It's not a forum? Well, blow me down - with the anecdotal comments about customer service conversations and arguments about issue titles, you could have fooled me. ;-D

Blah blah, i asked "IF WE ARE SAFE" nothing else! undertstand me?

@Webreaper should've unsubscribed before asking users to stop posting useful information. And I do hope you're right and it ends up being inaccurate information but in the meantime it is not: it's the company line and pertinent to this issue.

FFS stop spamming and fighting, lets wait patiently.

Does Google offer an unlimited plan? If not, what are other options that I can use? Looking to go with a yearly plan but will also consider a monthly fee. I have about 10TB I need to backup from an Unraid box and that storage capacity is likely to grow. Looking for offsite backup.

Not unlimited but interesting pricing https://www.backblaze.com

@bugs181 A little complicated, but actually a good deal - 120$/year:
https://www.reddit.com/r/DataHoarder/comments/47cln1/til_you_can_buy_an_unlimited_google_drive_account/d4i93zf/

@Miladiir I'm out of my trial but I'm going to chase for a refund - this is shocking!
@henryford Thanks for sharing that!

hmm..it seems not that hard to find alternate client_id and secret keys in other software(there's quite a few ya?) that can access acd. this information is usually left in plaintext in compiled code(or you can just inspect network packets to obtain it). You only need to know 3 fields client_id,secret_key and redirect_uri and then manually execute the login procedure to get auth token and rclone will be in business again. this is probably just a temp measure to help move data before this approach is blocked again, though effectively blocking this method of "borrowing" other software access info may not be that easy. Hope it helps.

@zawlin I'd advise against that. At this current point I'd wager that they'd disabled access for rclone presicely because acd_cli clients used it to connect. I think it still says something that rclone is still showing up on the access page on acd.

Right  The fact they haven't flat out told ncw straigth no and it is still on the access page are good signs.  No need to do anything to antagonize them.

I'd advise against that. At this current point I'd wager that they disabled access for rclone precisely because acd_cli clients used its credentials to connect

Yea I agree but we all know acd_cli guys will rip other app keys until amazon bans them all :/

@ajkis I'm one of the "acd_cli guys" and we care about the outage just as much as you do. The difference in time between our outage and yours was short enough that blaming things on malice seems hasty.
On our side of the fence we have a few users who kindly donated white-listed security profiles, but we're waiting to see what the official response is in case they get banned straight away.
We're waiting for word from @yadayada and you should wait for @ncw, and when one gets word we can all benefit.
In the mean time the only real protest is to set your acd subscription to not renew and hope they notice.

chiming in with a 429 error code when listing directories via rclone.
i just got off with ACD help desk, she told me Amazon banned rclone. in asking why Amazon wouldn't notify users or developers, her response from 'leadership' was that they actually weren't clear who (ACD or rclone) killed it.
just gonna sit on my hands and monitor this thread for an update from @ncw

@itsrainingben: @ncw has given an update via twitter https://twitter.com/njcw/status/865319897580097537

@techknowlogick appreciate that

Several people have reported getting refunds on their ACD subscriptions, and I can confirm I just got mine. That seems to imply that ACD is burned for rclone. It may be an idea to start looking at pruning the bug list of ACD specific issues/features, and looking at removing the ACD back-end from rclone.

@gordan-bobic Amazon almost never denies a refund so this is hardly indicative of anything. @ncw hasn't received an answer from ACD team yet so removing anything ACD related from rclone is premature. His most recent tweet related to the issue: https://twitter.com/njcw/status/865583044870189056

I don't know if it has been already mentioned, and i'm not in any relation with it, i'm just a customer, but for me the alternative service that i'm using to sobstitute my ACD storage i was using with rclone until few days ago is Hubic, the OVH cloud storage: 50 eur/year for 10 terabyte of storage and it works great with rclone.

Hubic is speed capped to just 10mbps.
It's in the fine print.
On Mon, 22 May 2017 at 9:51 am, Franco (nextime) Lanza <
<EMAIL_ADDRESS>wrote:

I don't know if it has been already mentioned, and i'm not in any relation
with it, i'm just a customer, but for me the alternative service that i'm
using to sobstitute my ACD storage i was using with rclone until few days
ago is Hubic, the OVH cloud storage: 50 eur/year for 10 terabyte of storage
and it works great with rclone.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ncw/rclone/issues/1409#issuecomment-302971752, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAQgwAx2hMcY8kVA6BtHI4Su9muMP_Aeks5r8M3jgaJpZM4Nbiqz
.

--
Artur Bodera
<EMAIL_ADDRESS>http://thinkscape.pro

@Thinkscape is correct, I've just checked the Hubic "General conditions of use":

The bandwidth is limited to 10 Mbit/s upstream and downstream. The connection speed also depends on the quality of the Customer's internet connection.

And

OVH cannot guarantee that files exceeding 5 GB will be deposited. In the event of needing to put a file of this size online, OVH asks the Customer to contact the technical support team in order to find out the most effective method of carrying out this operation.

🤦♂

So is there a cli on Ubuntu other than acd_cli and rclone?

What should we use now?

Google Drive and HubiC seems to be what most people I know are migrating to.
Last I checked there were no fuse-mountable alternatives to acd_cli and rclone.

Any change in situation?

Google Drive and HubiC seems to be what most people I know are migrating to.
Last I checked there were no fuse-mountable alternatives to acd_cli and rclone.

I thinking HubiC... It is fast?

HubiC is sluggish and sometimes has auth issues randomly for no reason. I am currently paying < $5/mo for its 10T service, and treat it as a 'once I get data there, it is good' service not a 'I will wet my pants if I cannot get data uploaded 3s after I want it there' service.  I'd really prefer Amazon Drive (which is the same storage mechanism as Amazon Photo Storage, free unlimited photos with amazon prime), but of course the current fiasco of rclone being banned will have to be sorted.  If I can help I hope to figure out how.  In the mean time, it would be nice to consolidate all the duplicate issues .. #1429, #1420, #1417, #1415 ...

@toddfries from what I can tell, Amazon revoked app keys from many apps, not just rclone and acd_cli, and from what I hear, they are not going to be issuing any new app keys. So I think ACD is gone for good as a useful cloud storage service.
I suspect that they underestimated both the popularity of the service and the amount of space abusers of the "unlimited" storage capacity were using.

Should be noted that AWS still works (for now???)

@toddfries What exactly do you mean? AWS != ACD.

AWS-Amazon Web Services which spans the gamut from individual users to very large enterprise clients.  ACD-Amazon Cloud Drive (much like Google Drive).
ACD is built on the AWS framework but is a separate entity.  AWS access is different and will depend on each organization using a published and accepted API.  I would think there are commercial clients as well.
ACD has a limited number of acceptable clients, and the last time I talked to Amazon, eventually only clients publish by amazon will be available. This may not be true; just what they told me.

@gordan-bobic

What exactly do you mean? AWS != ACD.

I think @toddfries meant Amazon S3.

I'm going to close this issue now - for the resolution see https://forum.rclone.org/t/rclone-has-been-banned-from-amazon-drive/

@ncw Hi! Is the resolution essentially "rclone can no-longer be used with Amazon Cloud Drive?"
(That thread was quite long and Discourse does not make it very easy to search or navigate)

@marvinpinto there is an update in the first post, you don't have to scroll the entire thread.


Request for Minium

Is it possible to create a box for Minium (http://minium.vilt.io/).  I have tried to do it myself but I am failing know how to uncompress a file to a workspace directory like is outlined in the directions for installing Minium properly.
Thanks

looks like Google Chrome is required for minium, currently it is not possible to start Google Chrome in a Codio box.

ahh dang thanks for looking into it so quick


[QUESTION] Emit broadcasting events when logging model events

Is it possible to extend the Class to emit broadcasting events when activity model events happen?
I would like to listen for a specific channel which alerts app users about new activities.
I was thinking about such a handle function which dispatches a specific event as per activity model.

The easiest way would be an observer that observes the activity model and dispatches your wanted events.
https://laravel.com/docs/5.8/eloquent#observers
https://stackoverflow.com/a/46461789/4907524

OK, that sounds good, but anyway I need to create a model that extends the ActivityLog model right?
Unfortunately, I'm not sure how to do it. This is not working so far, the observer is not being triggered:

namespace App;
use Illuminate\Database\Eloquent\Model;

class ActivityLog extends Model
{
    protected $table = 'activity_log';
}

I've also tried this, but no luck

namespace App;

use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\Models\Activity as ActivityModel;

class ActivityLog extends ActivityModel
{
    protected $table = 'activity_log';
}

I found out how to proceed on this. For those who are facing the same issue, here is how I did it:

Create the ActivityLog observer that uses Spatie\Activitylog\Models\Activity as model

<?php

namespace App\Observers;

use Spatie\Activitylog\Models\Activity as ActivityLog;

class ActivityLogObserver
{
    /**
     * Handle the activity log "created" event.
     *
     * @param  \App\ActivityLog  $activityLog
     * @return void
     */
    public function created(ActivityLog $activityLog)
    {
        //
        \Log::debug('ActivityLog observer triggered!');
    }

    /**
     * Handle the activity log "updated" event.
     *
     * @param  \App\ActivityLog  $activityLog
     * @return void
     */
    public function updated(ActivityLog $activityLog)
    {
        //
    }

    /**
     * Handle the activity log "deleted" event.
     *
     * @param  \App\ActivityLog  $activityLog
     * @return void
     */
    public function deleted(ActivityLog $activityLog)
    {
        //
    }

    /**
     * Handle the activity log "restored" event.
     *
     * @param  \App\ActivityLog  $activityLog
     * @return void
     */
    public function restored(ActivityLog $activityLog)
    {
        //
    }

    /**
     * Handle the activity log "force deleted" event.
     *
     * @param  \App\ActivityLog  $activityLog
     * @return void
     */
    public function forceDeleted(ActivityLog $activityLog)
    {
        //
    }
}

Add the ActivityLog observer to the  AppServiceProvider.php boot and use Spatie\Activitylog\Models\Activity as ActivityLog; as the model

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Spatie\Activitylog\Models\Activity as ActivityLog;
use App\Observers\ActivityLogObserver;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        ActivityLog::observe(ActivityLogObserver::class);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

That's it. Every time ActivityLog stores a new record in the DB, you will have a new line in laravel log: ActivityLog observer triggered!
Thanks a lot for your guidance @Gummibeer !!!

No problem, just for completion: you have to "register" your custom model in the package config.

Hi @Gummibeer , sorry to insist on this. I wanted to implement my custom model despite the previous solutions that I've posted works fine.
I created a new Model ActivityLog with this content:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\Contracts\Activity;

class ActivityLog extends Model
{
    //
    protected $table    = 'activity_log';
}

Then in activitylog.php config file I've defined the model as
'activity_model' => App\ActivityLog::class,
But I'm getting this error

The given model class App\ActivityLog does not implement Spatie\Activitylog\Contracts\Activity or it does not extend Illuminate\Database\Eloquent\Model

Any idea about what's wrong? Using any non-existent model like App\ActivityLogQwerty throws the same error message, so I'm guessing that something is wrong in config file.
Thanks in advance

You already have the use but not the implement. 😉
https://github.com/spatie/laravel-activitylog/blob/master/src/Contracts/Activity.php
But the easiest is to extend the original Activity model and just add/change what you want. This prevents you from writing all the interface methods your own.


Resource Sharing Optimization

Implement a Futil optimization that reduces resource usage by reusing components

To do this, we need to decide #53 first.

Moved to #197


Add plugin displaying smelting info bar.

Addresses issue #8418
This new plugin keeps track of the amount of bars/cannonballs smelted for the current session.
With the plugin, it will look something like this:

If no cannon balls were smelted during the session, it will only display bars smelted and vice versa. Likewise, if the player smelted both cannon balls and bars, then it will display both.

Aside from some minor codestyle violations this seems fine to me.


elastic search migration util

Adding functions to allow migrating elastic search to an new index.

Delete the unneeded pull request.


Remove "unmaintained" banner for 2.5.0

What type of PR is this:

/kind documentation
What does this PR do / why we need it:
Removes the "unmaintained" part of website when it refers to 2.5.0
Which issue(s) this PR fixes:

N/A
How to test changes / Special notes to the reviewer:
Signed-off-by: Charlie Drage<EMAIL_ADDRESS>

Why are we removing this banner? I thought it was the way to alert the user they had landed in the "wrong" documentation section. Without this banner, it is not straightforward to distinguish between v2.5 and v3 pages

Unfortunately Docusaurus automatically adds a "unmaintained" banner if the version number is lower than the most current one.
So instead, I have disabled the banner and enabled the "badge" so that the version will always show (with a label for stable)

/lgtm


Create private method in IGListStackedSectionController to get relative index

Changes in this pull request
Adds relativeIndexForSectionController: fromLocalIndex: method to add index to offset.
Refactors all index + offset to use the method.
Closes #272
Should I add tests? I figured the current tests would cover this change.
Pull request checklist

[x] All tests pass. Demo project builds and runs.
[x] I added tests, an experiment, or detailed why my change isn't tested.
[x] I have reviewed the contributing guide

Woot! That was fast. @bmeverett mind rebasing and updating the offset + index in e5afb5b4d0cfc70a2736b02279b6bc239ddf1e5d as well?

@rnystrom hopefully that's what you wanted

@bmeverett ack, it looks like the commits got out of sync in the rebase and it pulled in @jessesquires's commit here. You might be able to fix everything by doing:
$ git rebase -i master HEAD~3

Then move Jesse's commit ahead of your two. We want this PR to be just your commits and not a mix of others.

💯
Alternatively -- sometimes it's easier to just open a new PR 😅

@rnystrom will I have to do a force push after rebase then?
Sorry guys, but what should I do?

@bmeverett no worries! I'm going to close this one and we'll use #275

Coverage increased (+0.006%) to 94.122% when pulling fcc60cbf3d191cd64e1c50ca1a9bf02a0218c2f9 on bmeverett:get-rel-index into e5afb5b4d0cfc70a2736b02279b6bc239ddf1e5d on Instagram:master.


Release app through Google Play

We could think about releasing the app through Google Play to make it easier for anyone to try it out.

Yes, and/or F-droid

I second an F-Droid package, don't care about Google Play at all.


[BUG] First level .Include(...) doesnt matter

Version
I am using LiteDB 5.0.21 on Windows 11 and .NET 6.
Describe the bug
I am familiar with Entity Framework and when I query for one table I will receive data from this single table no matter how many references this table has. Unless I use .Include(...).
With LiteDB it is different and I am not sure if this is a bug or a feature.
Code to Reproduce
This is very easy example to reproduce.
Data structure is very simple.
-> Level1 collection
--> Level2 collection
---> Level3 collection
----> Level4 collection
Each collection refer to list of level n+1 collection except the last one (level 4)
Just paste this code to console application.
using LiteDB;
using System.Diagnostics;

Console.WriteLine("LiteDB DbRef Test");
Console.WriteLine("This example refer to https://www.litedb.org/docs/dbref/");

var filename = Path.GetTempFileName();
using (var db = new LevelDatabase(filename))
{
    Console.WriteLine("Fill with some dummy data");
    var l1 = new Level1 { Name = "Level 1" };
    var l2 = new Level2 { Name = "Level 2" };
    var l3 = new Level3 { Name = "Level 3" };
    var l4 = new Level4 { Name = "Level 4" };
    // relations
    l1.Children.Add(l2);
    l2.Children.Add(l3);
    l3.Children.Add(l4);
    // insert
    db.Level1.Insert(l1);
    db.Level2.Insert(l2);
    db.Level3.Insert(l3);
    db.Level4.Insert(l4);
}

Console.WriteLine("Stop here for a minute");
Console.WriteLine($"Open LiteDB Studio and preview this file: {filename}");
Debugger.Break();

Console.WriteLine("Reopen the same db file");
using (var db = new LevelDatabase(filename))
{
    Console.WriteLine();
    Console.WriteLine("TEST #1");
    Console.WriteLine("Lets query same data WITHOUT using include");
    var l1 = db
        .Level1
        .Query()
        // I do NOT include any level 1 Children property here
        .Single();
    Console.WriteLine($"How many children has l1? {l1.Children.Count} (WRONG?)");
    var l2 = l1.Children.Single();
    Console.WriteLine($"How many children has l2? {l2.Children.Count} (CORRECT)");
    Debugger.Break();

    Console.WriteLine();
    Console.WriteLine("TEST #2");
    Console.WriteLine("Lets do the same using include");
    l1 = db
        .Level1
        .Query()
        // I do include level 1 Children property here
        .Include(xl1 => xl1.Children)
        // but I do NOT include level 2 Children property here
        .Single();
    Console.WriteLine($"How many children has l1? {l1.Children.Count} (CORRECT)");
    l2 = l1.Children.Single();
    Console.WriteLine($"How many children has l2? {l2.Children.Count} (WRONG)");
    Debugger.Break();

    Console.WriteLine();
    Console.WriteLine("TEST #3");
    Console.WriteLine("Lets do the same using another include");
    l1 = db
        .Level1
        .Query()
        // I do include level 1 Children property here
        .Include(xl1 => xl1.Children)
        // and I do include level 2 Children property here
        .Include(xl1 => xl1.Children.Select(xl2 => xl2.Children))
        .Single();
    Console.WriteLine($"How many children has l1? {l1.Children.Count} (CORRECT)");
    l2 = l1.Children.Single();
    Console.WriteLine($"How many children has l2? {l2.Children.Count} (CORRECT)");
    var l3 = l2.Children.Single();
    Console.WriteLine($"How many children has l2? {l3.Children.Count} (WRONG)");
    Debugger.Break();

    Console.WriteLine();
    Console.WriteLine("TEST #4");
    Console.WriteLine("Lets make it even more weird");
    l1 = db
        .Level1
        .Query()
        // I do NOT include level 1 Children property here
        // and I do include level 2 Children property here
        .Include(xl1 => xl1.Children.Select(xl2 => xl2.Children))
        .Single();
    Console.WriteLine($"How many children has l1? {l1.Children.Count} (WRONG)");
    l2 = l1.Children.Single();
    Console.WriteLine($"How many children has l2? {l2.Children.Count} (WRONG)");
    Debugger.Break();

    Console.WriteLine("Conclusion:");
    Console.WriteLine("It doesn't matter if i declare .Include(...) or not on level 1 deep.");
    Console.WriteLine("It will always get level 2 children anyway.");

    Console.WriteLine();
    Console.WriteLine("And the question is:");
    Console.WriteLine("HOW CAN I GET Level 1 collection ONLY?");
    Debugger.Break();
}

Console.WriteLine("End of test");
Console.ReadKey();

#region Model

public class LevelDatabase : LiteDatabase
{
    public LevelDatabase(string connectionString)
        : base(connectionString)
    {
        this.OnCreateModel();
    }

    public ILiteCollection<Level1> Level1 => this.GetCollection<Level1>();
    public ILiteCollection<Level2> Level2 => this.GetCollection<Level2>();
    public ILiteCollection<Level3> Level3 => this.GetCollection<Level3>();
    public ILiteCollection<Level4> Level4 => this.GetCollection<Level4>();

    private void OnCreateModel()
    {
        this.Mapper
            .Entity<Level1>()
            .DbRef(x => x.Children);
        this.Mapper
            .Entity<Level2>()
            .DbRef(x => x.Children);
        this.Mapper
            .Entity<Level3>()
            .DbRef(x => x.Children);
    }
}

public class Level1
{
    [BsonId]
    public Guid Id { get; set; } = Guid.NewGuid();
    public string Name { get; set; }
    public IList<Level2> Children { get; set; } = new List<Level2>();
}

public class Level2
{
    [BsonId]
    public Guid Id { get; set; } = Guid.NewGuid();
    public string Name { get; set; }
    public IList<Level3> Children { get; set; } = new List<Level3>();
}

public class Level3
{
    [BsonId]
    public Guid Id { get; set; } = Guid.NewGuid();
    public string Name { get; set; }
    public IList<Level4> Children { get; set; } = new List<Level4>();
}

public class Level4
{
    [BsonId]
    public Guid Id { get; set; } = Guid.NewGuid();
    public string Name { get; set; }
}

#endregion

Expected behavior
In my opinion framework should give me full control over my database model.
So when I want to get data from ONLY one collection/table, I should be able to do it.
And based on the documentation here I understand this as expected.

Did you look at what is contained in these children? With DbRef, if you do not do the Include, you'll still get the Object, but it contains just the Id, nothing more. Then, to set a child, you don't have to look up the child, you just instantiate a new child with the right Id and LiteDB figures out the rest.
LiteDb stores object type and Id of a DbRef - and auto-hydrates it - but it doesn't really read the child, it just instantiates the object and fills the Id, and that's it.
Yes if feels weird coming from EF (I took the same path), and I had to adapt my workflow a bit, but in the end, it's just one of those things that are different between SQL and NoSql. I've been working with MongoDB and RavenDB recently and they have their own different way of handling these things - they don't auto-hydrate but their way of handling DbRefs is in the end even more different from EF (and not in a good way imho).

Great, I see now.
All Name properties are NULL when I don't use .Include(...).
And with .Include(...) it contains inserted string.
So now I am sure its not a bug but a feature :)
Thanks for explanation


feat: add startup and liveness probes for bootstrapped nodes

This pr adds extra startup probe and liveness probe for octez node.
The reason for this is we that observe in prod that pods that failed readiness check cannot get itself back after it is marked unready and not serving traffic anymore. The best way to remediate it is to manually restart the pod.
The liveness probe would restart the pod in this case to avoid additional manual work. To avoid liveness probe killing the pod in initial snapshot download and syncing stage the startup probe is added here also.
The startup probe has failure Threshold 180 * 10 s without initialDelaySeconds with these scenario in consideration:

a node needs to download the snapshot and get fully sync.
a node with persistent storage without the need to download snapshot and would be faster to get sync after restart.

Can we make failureThreshold and periodSeconds configurable in values.yaml please?
Similar to this:
https://github.com/ethpandaops/ethereum-helm-charts/blob/master/charts/nethermind/values.yaml#L129-L136
So we can make adjustments later if needed without forking the chart.

saw the issue on midl cluster again and pods are killed and restarted


Improve nullness annotations

This pull request removes some warning suppressions, puts others in a smaller scope, and improves formatting by putting type annotations right before types instead of before method modifiers.

Thanks!
Very nice indeed. Also thanks for using separate commits making it possible to revert individual changes.
The annotation/modifier order calls for a separate checkstyle / PMD rule, but I could not find an existing one.

To enforce correct annotation/modifier order, a tool needs to know which annotations are declaration annotations and which annotations are type annotations.
I use the scripts at https://github.com/plume-lib/run-google-java-format to format the entire source code, which includes the type annotations.


When opened in SUI, Command Palette is full of actions that can't be used in the SUI

The only complaint I have is that the command palette is filled with some actions that don't do anything (i.e. "split pane"). It'd be nice to filter out the ones that don't do anything, but that's definitely complicated enough to be a follow-up. Mind filing that?

This is me filing that.
We've previously discussed at length having a "context" for where actions are applicable. E.g.

copy/paste/find are "control" actions
togglePaneZoom is a "pane" or Page level action
newTab is a Page? Tabs? level action
closeWindow would be a page? level action

So we might need a way of knowing when an action is applicable, so we only show the applicable ones. may also help for code synthesis - for an action that's control level, we may be able to have some common code template for "in the context of the active control, do the thing".

Do i hear my favorite hobby horse, "a static enum of action scopes", trotting somewhere in the middle distance?

Do i hear my favorite hobby horse, "a static enum of action scopes", trotting somewhere in the middle distance?

yes that's this one


Fix mysql name in helm and Docker in v1.1

Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:

[X] Read the contribution guide
[X] Commands include options for Linux, MacOS, and Windows within codetabs
[ ] New file and folder names are globally unique
[ ] Page references use shortcodes instead of markdown or URL links
[ ] Images use HTML style and have alternative text
[ ] Places where multiple code/command options are given have codetabs

In addition, please fill out the following to help reviewers understand this pull request:
Description
Fix helm name for mysql so it installs, otheriwse get error:
$ helm install dapr_mysql bitnami/mysql
Error: create: failed to create: Secret "sh.helm.release.v1.dapr_mysql.v1" is invalid: metadata.name: Invalid value: "sh.helm.release.v1.dapr_mysql.v1": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

Changed docker container name for consistency.
Issue reference

@artursouza - should this be also fixed in the current v1.0?

@artursouza - should this be also fixed in the current v1.0?

Nevermind - I now see it was fixed in v1.0 and was picked up by #1287 so this PR in no longer needed.


Allow for injection of code in post header

The Ghost Admin UI has a section for embedding script tags in both the header and footer. The normal Casper handlebars theme has support for this, but our Next implementation does not. This adds some naive functionality to enable that. The specific use case was for this post: /benchmarking-rust-code-using-criterion-rs so that the author can correctly display math equations. MathML is not supported enough, so a third party library was necessary.
The other option here is to have the author to supply images for the equations. Thoughts on this approach?

Blast, I just realized that this doesn't work when the user is linked to the post from the home page - the injected script never runs.

Blast, I just realized that this doesn't work when the user is linked to the post from the home page - the injected script never runs.

Sorry I didn't notice you were asking for opinions in the original review. Is there any way to avoid this code injection completely? What about the author supplying some styles we could integrate into the project?

I think the author supplying images might be the best bet since this is a step above styling. MathML would be the next best option but Chrome and Edge doesn't support it.

Ok, that sounds fine to me. I'm all for keeping things simple.
Just out of curiosity, are there any libraries beyond MathML with better support? Quick google came up with MathJax.

Yeah that's exactly the library the author is trying to include via Ghost! I haven't seen how it affects bundle size if we include it in the whole project, but I'd love to figure out a way to make this on a per-post basis in case another author wants to do something similar with a different library.

Closing this PR as this solution is just too brittle. I'll ask that the post author supply SVGs as  tags


Implement round(number, digits) for digits != 0

For most cases uses rust's round function to round via:
round(number, decimals) = round(number * 10^decimals) / 10^decimals

skips rounding if rounding would not affect digits within double precision (also covers cases where the above implementation would overflow the f64 exponent)
also handles arbitrarily negative values for decimals

Thanks for contributing! Will you add some test cases about new code? There are python test snippets about float in tests/snippets/floats.py.

Will do. Might be a few days though as I won't be home before wednesday

Found some time to write a few tests and also noticed a range of input values where it wasn't working properly yet. Fixed.


Duplicated files opened, breakpoints not visible

Issue Type: Bug

Connect through SSH to ubuntu machine
Set breakpoint in first line of main()
"Start Debugging"

Duplicated file is opened where:

Breakpoints are not visible (but execution stops in set breakpoint)
File path with prepended "/mnt"

VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T16:36:23.138Z)
OS version: Windows_NT x64 10.0.19041
Remote OS version: Linux x64 4.15.0-96-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.73GB (17.50GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: <IP_ADDRESS>

OS
Linux x64 4.15.0-96-generic

CPUs
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (8 x 900)

Memory (System)
62.77GB (2.62GB free)

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

remote-ssh
ms-
0.51.0

remote-ssh-edit
ms-
0.51.0

remote-wsl
ms-
0.44.2

cmake-tools
ms-
1.3.1

cpptools
ms-
0.27.1

@weinand , what extension? How are you determining that?

cpptools, the C++ extension.


Support Zsh completion autoload

With this, you can just dump the script in your Zsh fpath and it will be loaded as needed by the completion system
Related pnpm/pnpm#8232
cc @KSXGitHub

@segevfiner I replaced "Fixes" in your comment with "Related" because merging this PR alone is not sufficient. pnpm must be update with the latest version of tabtab in a separate commit.


Do not require environment variables for generate

This CLI should fail on environment on a must-have basis. For example,

For prisma introspect and prisma lift <command>, the database URL is a must have: https://github.com/prisma/specs/tree/master/schema#introspect-behavior
While, prisma generate can proceed without fulfilling the environment variables: https://github.com/prisma/prisma2/issues/593

For prisma introspect and prisma lift <command>, the database URL is a must have: prisma/specs:schema@master#introspect-behavior

This is not really how prisma2 introspect works, and if it would be I would definitely ask for this to be revised. I am confused why normal parameters should not work there.

@janpio Normal parameters should work, this is the scenario where prisma introspect is called without parameters and schema file contains an env var for DB URL. In this case, to resolve the DB path, the environment variable should be available as a concrete value.

(We need a spec for the actual Introspection command, this is only slightly to not at all connected to the schema)

prisma2 generate fails if the DB variable is not fulfilled, hence, keeping this issue open and marking it as a candidate for quick discussion
<EMAIL_ADDRESS>binary version: 3c4da1d6caa0c40a0210a346ec982c77f74e18c7
divyendusingh [next-prisma2]$ prisma2 generate
Error: Schema parsing
error: Environment variable not found: PG_URL.
  -->  schema.prisma:7
   |
 6 |   provider = "postgresql"
 7 |   url      = env("PG_URL")
 8 | }
   |

Currently, prisma2 generate fails in now build as it requires a special -b flag to have the env vars there

@pantharshit00 https://github.com/prisma/photonjs/issues/326 was closed prematurely.

The error isn't a result of a missing environment variable
POSTGRES_URL does exist in a .env file
prisma does recognize it when you run prisma2 generate

The postinstall command - which automatically runs when you run npm install - is the cause of the error. The original log provided here by @ctrlplusb illustrates that: https://github.com/prisma/photonjs/issues/326#issue-537085896
And the screenshot I provided here shows how prisma2 generate works as expected despite previously being told that an environment variable missing while postinstall calls node scripts/generate.js

You should post that in the closed issue then.

Internal Note: Dropping from current sprint, and picking up later.

@narciero I think for the moment defining something like ENV DB_URL "" in your Dockerfile so that prisma2 generate runs should be fine.

@akoufatzis yea I ended up putting RUN export POSTGRES_URL= && prisma2 generate

Also requested by users:
https://github.com/prisma/prisma2/issues/1679
https://github.com/prisma/prisma2/issues/1716#issue-571482205

done in: https://github.com/prisma/prisma-engines/pull/541


Laravel Modules 3.0 and Lumen 5.6 do not Work Out of the Box, Or do They?

I think, I followed installation tutorial at https://nwidart.com/laravel-modules/v3/introduction from "Introduction" to "Creating a module".
I ran my Lumen web application with cd public && php -S localhost:8080 and opened my browser to http://localhost:8080. From the official step-by-step tutorial to set Laravel Modules and Lumen, I encoutered this error:
(1/1)  Error  Class 'Config' not found
--
in HelloWorldServiceProvider.php line 74

I solved this error with adding use Illuminate\Support\Facades\Config; into the uppermost HelloWorldServiceProvider.php ("HelloWorld" is my module name). And, I need to change \Config into Config.
However, after I did what I mentioned above, I encouneterd new error:
(1/1)  RuntimeException  A facade root has not been set.
--
in Facade.php line 218

At this point I am convinced that both Laravel Modules 3.0 and Lumen 5.6 are not working out of the box. Or, at least there might be configurations steps that you or I missed.
What do I miss in order to make Lumen 5.6 and Laravel Module 3.0 works?

Sorry I've never used lumen so I can't help you here. I'm sure there's documentation available on the lumen site though to install packages. Or by googling the error.

There is this documentation on how to setup Lumen with Laravel Modules here: https://nwidart.com/laravel-modules/v2/lumen
Was it made by you or other contributor?
So, it is not recommended to use Lumen with Laravel Module, in regard on how simple Laravel Module is to setup with?
I will try to work with Laravel + Laravel Modules to see if we aregoing to use Laravel Modules as a long term solution.
We are currently in the middle of refactoring old monolithinc application. Microservice is not an option due to lack of developers. Hence, we are considering Lumen with HMVC approach. We think your Laravel Modules will help us  in making HMVC Lumen application.

It works with lumen, as people are using it on lumen.

im working with laravel-modules in lumen its just want to make each module as a micro-services and there is also 3 modules which i want to make them as a single micro-service!? is that even possible ?


Fixed failing tests due to jQuery removal - contextual menu

Solves #123
5 failing tests were fixed.

Manually merged to branch jQueryTests


group shows what monitor it is.

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
API
🔖 Feature description
So you know when a monitor in a group goes down it will just say Child inaccessible but you won't really know which one. i'm thinking of putting like (MonitorName) / Child inaccessible or something like that.
✔ Solution
I want it to tell me what monitor is down in a group instead of Child inaccessible and no details.
❓ Alternatives
No response
📝 Additional Context
No response

Anybody?

I was excited to see groups/dependancies that I revisited this project but without this important feature it seems I need to wait longer.

Can we get this implemented please.

@kokofixcomputers @itc-steve
Please refrain from posting +1 / requests for updates things on issues, as this makes issue-management harder.
Issues are for discussing what needs to be done how by whom.
Some maintainers use 👍🏻 on issues to prioritise their work.
If you want to contribute a fix via a pull request, here is the contribution guide


chore: update-naming

JIRA Ticket

Description

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


"Can't open dynamic library. No nativescript_init in "res://addons/godotsteam/win64/godotsteam/win64/godotsteam.dll" found"

Describe the bug
On one of my computers the GodotSteam plugin works with no problem and I can verify this by having tested activating/deactivating achievements. On my other computer however, the exact same project crashes with the errors below which means that the steam game can only launch on some computers but not others with GodotSteam enabled.
open dynamic library: Can't open dynamic library: "/addons/godotsteam/win64/godotsteam.dll, error: Error 126: The specified module could not be found
get symbol: No valid library handle, can't get symbol from GDNative object
init_library: No nativescript_init in "res:/addons/godotsteam/win64/godotsteam.dll" found
To Reproduce
Install the GodotSteam GDNative plugin and run the project after adding a valid SteamAppId and SteamGameId. However, it doesn't happen on all computers.
Expected behavior
The project should not crash with the errors above when you launch it.
Desktop
On the computer where it's working: Windows 11
On the computer it's not working: Windows 10
I have no more computers to verify if this may have something to do with it or is irrelevant.
Version of Godot:
3.5.0
Version of GodotSteam:
I'm using the plug-in. Version 3.21.3. If I try to use the modules instead I still get the problem.
Additional context
Any ideas would be helpful, I'm getting quite stuck on this.

As, my old nemesis GDNative.  That's odd it works on one system and not another.  Someone else had a similar problem.  I'm not sure if it is a compiling issue or what.  Are there any major differences between those two computers?  Using the same redistributable packages, etc.?  Have you tried a previous version of the GDNative plug-in?
And yes, I always recommend the pre-compiled modules over the plug-ins as they never have any weird issues like this.  But it would be good to figure out why this happened.

I've tried several of the pre-compiled modules and getting the same error.
The computer it's working on is a more modern gaming pc and the one it's not working on is a more casual laptop so there may be some system differences.
I wonder if what's said in this thread could provide any clue: https://ask.godotengine.org/28809/cant-get-gdnative-plugin-to-load

Hmm, you shouldn't be getting that error with the pre-compiled modules nor should you be using the plug-in and the module at the same time.  If using the pre-compiled module, you must uninstall or delete any plug-in files from your project.
In that post, the original poster is mentioning a problem with 32-bit but GDNative is 64-bit only.  There haven't been any other reports of this issue yet.  And you've tried earlier versions of the plug-in as well as pre-compiled modules?

I've tried both the plugin as well as varius precompiled modules including previous versions, and tried it separatedly and not at the same time. It does work on one of my computers though so the setup is ok, it just can't be launched from all computers. Both are 64bit I'm just a bit at loss what may be causing this and a bit hesitant to use this without solving it because what if every x person won't be able to launch the game from steam since everyone have different computers. The only alternative to godotsteam is giving a very similar error

Well, there is absolutely zero way the pre-compiled modules would give you that error.  That is purely something with GDNative.  You are talking about the pre-compiled modules we provide in our Release section, right?  If you are getting that error with the pre-compiles then you haven't uninstalled the plug-in completely.
If you are using the pre-compiled module without the plug-in installed or remnants of it existing and are getting an error, what is it?
You mention you are using vanilla Godot 3.5.0, which shouldn't be an issue as it works on one machine.
If older versions of the plug-in give you the same error, as do the alternatives to GodotSteam like Steam Godot API, then it is most likely isolated to your machine.  It may be a lack of certain Microsoft redistributables, maybe; I'm not entirely sure.  I've not heard of that before but weird things happen.  There are so many different configurations on machines, it is hard to isolate what the cause may be sometimes.
The compiling process for these things are pretty basic and we do the same thing pretty much every time.

All of that being said, get back to me about the points in my message and I'll investigate some other possible leads!

Any updates on your end?  I just found out that installing through the  in-editor Asset Library has a weird and different behavior from installing via downloading the plug-in from Github's release section.  At least for GDExtension.  I have no idea why that would be but it may be a lead...
Still investigating things but wanted to check in.

Hi! I was completly busy today, apologies for a bit late reply.
There should be no remnants of the plugin from when I tried the pre-compiled modules but I just started a complete fresh project now, with the pre-compiled modules that are the same as you linked, and I still get the same error (but only on one of the computers still).
This is a screenshot of the error:

I'ts late here now but I'll try to properly dig into this tomorrow again and see if I can figure out something more of what may be causing this.

All good!  Real-life stuff is always more important!
Hmm, yeah, if you still get those errors with the pre-compiled modules then something is still hanging around somewhere.  That being said, you don't need that preload line and shouldn't have that steam.gd script anymore.
I don't know it is a hardware issue on the laptop but more a software issue.  Hard to say.  We should get the pre-compiles working first then come back to this.

 I think the things I've been getting and testing from github is the plugin versions and not the modules. I'll give this a shot again tomorrow

Ah, all good!  At least we got that cleared up; sorry if I wasn't clear enough.  Yeah, get some rest and check it out when you have time.  I'll be around!

It works perfectly now, using the pre-compiled modules. I'm using this one specificly: https://github.com/CoaguCo-Industries/GodotSteam/releases/tag/g35-s155-gs3171 Horray!
At least it may be useful info that if someone uses a plugin version of godotsteam, some computers may not be able to launch the game from steam or the editor afterwards caused by the error above

Ayyyyy!  Glad it is working!  The pre-compiled modules always do.
That being said, I still need to figure out what plug-in thing and if it is really isolated.  I assume that it is because otherwise someone else would have brought this up, as they always do.  I will try a VM of Windows 10 and see what I can see.

Same issue occurring for me on Godot 4.1.3 stable. With the version downloaded from the asset library. Tried deleting and reinstalling several times to no avail. The file exists but I don't know what else to do. Device is windows 11 and I was exporting from a bash script. I tried running --export-release and --export-debug with the preset empty as described in the documentation.
Please advise.

My internet is down at home so I am on and offline whenever I can get WiFi, so my apologizes with late replies!
Have you tried the pre-compiled module version? It should work flawlessly.  I am still investigating this issue but it is hard with no internet.
Will report back when I get online next.

@Vennnot I decided after having set everything up to make a tutorial on godot + steam because I think it would be useful if there was some more learning resources on it. One thing I'm showing is how to setup godotsteam using the precompiled module verion.

OK, my internet is back and a new version of the GDNative plug-in exists.  I compiled the Windows portion locally since Github Actions fails to find cl.exe during compile.
The GDExtension version is almost ready for update / release.

Annnnnnnnnnd GDExtension ones went up!

Should this issue still be open?

OK, I will close this unless it is still an issue; in which case we can reopen it!

Yes, thank you. I forgot to reply. Thank you for the hard work everyone.

All good!  Just double-checking.  And welcome!  Thank you for letting me know about the issue!


broken url on this page

This url  on this page is dead. . Is there an updated url ? https://docs.microsoft.com/en-us/microsoft-365/enterprise/monitor-connectivity?view=o365-worldwide

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

ID: 78f903b4-8b86-70f6-8495-e8a9905ceb03
Version Independent ID: 57fd3cc7-af0e-8d08-40c7-a5e070c1a237
Content: Monitor Microsoft 365 connectivity - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/monitor-connectivity.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@ps959 Thank you for your feedback. We have removed the broken URL on this document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/4993 as the blog is no longer active.
There is no replacement URL available, however, the guide is available when you download the System center management Pack for o365.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @ps959 Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Comments do not work with Excel 2010

My code:
wb = p.workbook
wb.add_worksheet(:name => 'comments') do |sheet|
  sheet.add_row ['Can we build it?']
  sheet.add_comment :ref => 'A1', :author => 'Bob', :text => 'Yes We Can!'
end```

Tested with Axlsx 1.3.4 & 1.3.5

Why was this closed exactly?
I'm generating comments that work in some versions of excel and numbers but do not work in 2010 at all.  Excel doesn't see them at all.
Is this a compatibility issue?

This is a duplicate to #170. Any further discussion should be in #170.


First project setup.

Link to project repo: https://github.com/blueberry1312/react-group-project
Note: Two members group.

Hi @blueberry1312 and @kkolade,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
Kindly provide the link to the Kanban board, not repo
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Link to Github project: https://github.com/blueberry1312/react-group-project/projects/1
Note: Two members group.

Hi @blueberry1312 @kkolade
Your project is complete  👍 💯   There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 👏🏻
✔ Good Job for provide the link to their GitHub project.
✔ Good Job for Provide information about the number of people in their group
✔ Good Job for Setup  React group project: set up your Kanban board
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Upgrade to daisyUI 4

daisyUI is currently at version 4.7.3.
They have an upgrade guide for 3 to 4.
Would you accept a PR to upgrade to daisyUI v4.x?

Sounds like a great PR. Nothing in the migration doc is too concerning.
Hardest part will likely be the sanity check each page works on desktop and mobile still.


Automated Latest Dependency Updates

This is an auto-generated PR with latest dependency updates. Please do not delete the latest-dep-update branch because it's needed by the auto-dependency bot.

RtD hanging--I've noticed this on PRs before, will retrigger tests!


There  is a BUG in Timer.cpp,Update Timer.cpp

There is a bug in the Timer. IF maney threads want to stop a timer, it maybe joinable, and then they will join at one time ,so it will crash.
There lack a lock.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @tjyuanxi - we appreciate you bringing this to our attention.  We are now looking at this internally.


feat: sync unit test impl

- What I did

Write sync unit tests on the at_secondary_server.

- How I did it

Analyze the sync unit tests and write pre-conditions and assertions
Implement the unit tests in line with preconditions and assertions

- How to verify it

The sync unit tests should pass.
The unit tests should cover the sync functionality

- Description for the changelog

fix: Add unit tests for sync

TODO: There are 4 tests pending to implement. Out of which two tests need code refactoring and two need a discussion on the expected behaviour.
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

Is this still draft, or is it ready for review?

@sitaram-kalluri As per discussion the other day, I was happy for this to be merged after the review we had once all the TODOs have been added etc.
Sadly, you just did a force-push which means I need to re-review the whole PR, or can you summarize for me what the actual changes were please?

@gkc: The commit is to pull the latest merges of the trunk into this branch. Going forward I will avoid force push to the branch.


General propensity needs underscored parameters, also rules.

General propensity needs parameters with underscores in its rate law while other propensities can be created without this. Same thing for rules equations.
Is there a way to implement this so that this is no longer the case? I realize that for both of these things we are using underscores to differentiate between parameters and species but this kinda creates a confusing user interface..

I think we should definitely try to make an implementation that doesn't use this frustrating convention. Here is a proposal:
All CRN species are given in the species list and defined with the CRN (via SBML or the API). If something isn't in the Species list, it is a parameter, by default.
In order to make this change, we will have to work on the sympy formula parsing code in particular - and ideally make it fast.
We will also need to add checks when getting species and reactions from propensities and rules to make sure all the returned species are in Model.species. If they are not, an error needs to be thrown to ensure that models load correctly without having to backtrack and re-instantiate things.


Cleaned up desiredApp selection

I don't think you need to initialize desiredApp as a random string - instead you can just put the pids set line inside the if-if/else block.

Thanks, but the initialization handles the case when the script is not invoked with any arguments.


Comparing go-waku vs nwaku performance under different traffic load

Here are the results of comparing nwaku vs gowaku performance under different traffic load in a network with the following characteristics:

Simulation ran using waku-simulator using this branch
50 nwaku nodes with statusteam/nim-waku:v0.18.0-rc.0
50 gowaku nodes with statusteam/go-waku:v0.7.0
Just relay protocol is enabled and discv5 is enabled
Connected peers per node and rx messages/size are shown to ensure the experiment is valid.
Different traffic loads:

scenario1 rate: 10msg/second, size_per_msg: 1kB = 10kB/s
scenario2 rate: 10msg/second, size_per_msg: 5kB = 50kB/s
scenario3 rate: 30msg/second, size_per_msg: 3kB = 90kB/s
scenario4 rate: 30msg/second, size_per_msg: 6kB = 180kB/s
scenario5 rate: 100msg/second, size_per_msg: 3kB = 300kB/s
scenario6 rate: 10msg/second, size_per_msg: 50kB = 500kB/s

Legend is.

🔵 nwaku
🔴 gowaku

scenario1
10msg/second, size_per_msg: 1kB = 10kB/s

All nwaku nodes consume less in and out bandwidth.
All gowaku nodes consumes more cpu and more memory

scenario2
scenario2 rate: 10msg/second, size_per_msg: 5kB = 50kB/s

nwaku nodes consume more in traffic. Quite interesting since in the previous scenario it was the opposite
gowaku consumes more cpu and memory but remains stable. nwaku memory increased a bit compared to previous scenario.

scenario3
scenario3 rate: 30msg/second, size_per_msg: 3kB = 90kB/s

nwaku consumes more in bandwidth. gowaku consumes more out bandwidth, 6 times more.
nwaku and go waku cpu consumption gets closer
nwaku memory increases with respect to previou scenario but still less than gowaku.

scenario4
scenario4 rate: 30msg/second, size_per_msg: 6kB = 180kB/s

similar to previous scenario

scenario5
scenario5 rate: 100msg/second, size_per_msg: 3kB = 300kB/s

nwaku nodes consume more in bandwidth, 4x times more
go waku consumes ore out bandwidth, 4x more.
nwaku consumes now more cpu and memory than go waku.
messages per second fluctuate a lot. There might be some messages lost. Note that in this simulation we are not measuring amout of dropped messages.

scenario6
scenario6 rate: 10msg/second, size_per_msg: 50kB = 500kB/s

similar patterns in in/out bandwidth as previous scenarios
nwaku consumes way more cpu and memoru than gowaku
some issues with the connections, both nwaku and gowaku amount of connections dropped every now and then. Unsure if its related to nwaku or gowaku.

overview
All the previous 6 scenarios in one plot.

conclusions

With low traffic load, up to 200 kB/s injected in the network, nwaku perform better than gowaku in terms of cpu and memory usage.
We can observe huge differences in the in/out bandwdith consumed by nwaku and gowaku, which can't explain. Both metrics were taken from cadvisor (which should count all traffic in/out of the node). The metrics are container_network_receive_bytes_total for in and container_network_transmit_bytes_total for out.
With traffic loads of more than 300 kB/s, gowaku performs better than nwaku in terms of cpu and memory. gowaku also shows a more stable memory consumption.
In some cases with high traffic load (>300kB/s) we can observe some drops in the amount of connected peers.

These are very useful simulations. Thanks!
Some initial comments:
(1) I think this was commented elsewhere, but nwaku's in seems to be mainly determined by go-waku's out and vice versa.
(2) huge increase in nwaku memory usage at high rates possibly related to send queues. In any case, a good reminder to see if we can improve when and how often garbage collection is triggered.
Great work.

Thanks! Will redo the experiment once https://github.com/waku-org/go-waku/pull/590 is merged. This seems to fix the issues causing gowaku to use a lot of bandwidth (seems it wasnt related to gossipsub). With this fix in place comparing nwaku/gowaku should be more fair.