Docs feedback.

From initial setup i got a few points of feedback:

On Installation steps  it should be clear it is a OR 1 then 2 feels like you are supposed to do both.
The actual name of the CLI is centralied-relay and not crly, can be renamed for start or during the move step. Also move step depends on installation method.
No guide to deploy contracts, might be useful to give a example of deploying the contracts for each chain type.
Start height explanation in cfg, 0 means from latest i would assume?
What is concurrency in EVM?
Why no password on ICON?
For the configs display and explain all possible values.
Test configs and commands are not the same, mumbai then fuji for other steps. Would be easier to follow if done for same chains all through setup.
Example config for EVM has a ICON contract address

To add the docs in general looks and feels great, Good work! This is a product that could become really good as we keep developing it

Why no password on ICON?

There is password for icon too, password is not actually used on configuration rather encrypted when creating or importing and saved as file which is automatically restored when starting.

Here i got few feedback during installation:
Installation step 1:

make install

After make install centralized-relay command is not directly available as shell-command
After make install, 'go' directory is created in home directory of user. it includes bin directory and inside bin directory we have "crly" executable binary
Executing sudo mv ~/go/bin/crly /usr/local/bin command allows to execute crly as shell-command

keystore

Doc mentions to use "create" command in order to create new keystore. But "new" is being used to create keystore
Password flag is required to execute crly keystore use but not mentioned in the doc
When using crly keystore use with password flag, it throws an error message: "Error: unknown flag: --password"

Installation step 2:

Invalid filename "tar -xvf centralized-relay_0.0.1-alpha4_linux_amd64.tar.gz". correct file name -> "centralised-relay_0.0.1-alpha4_linux_amd64.tar.gz"

General

"centralized-relay" & "crly" is not consistently being used in installation and docs

One thing to add - it isn't clear that this is using xcall or how messages are passed, unless I am missing something.

One thing to add - it isn't clear that this is using xcall or how messages are passed, unless I am missing something.

Can you elaborate more on this?
We are not using xcall to pass message between chains rather receiveMessage method of connection contract to pass messages between chains.

https://github.com/icon-project/centralized-relay/pull/134


Want a style keep php block

at first thank you to this good extension.
my code e.g.:

<?php
foreach($data as $v){
?>

<?=$v?>

<?php
}
?>

do keep it.
don't want to be this as default :

	<?php
foreach($data as $v){
?>

		<?=$v?>

	<?php
}
?>

because my style of php indent follow by <?php . not with the html.
each time
"<?php" is in first ,no has space before.
so you can watch the php code clearly.
and that cause no the space-fill line change the output.
<?= is as a word mixed in html .

So your looking to have the initial PHP tag not move itself out to the current indentation on the first HTML tag?
You can demo how the library works here as well - https://beautifier.io/
Personally I would write it like this

	<?php foreach($data as $v){ ?>

<?=$v?>

	<?php } ?>

Hi,
I would add another example of this problem:

<?php
    print "
This is a list
\n";
    print "
with two items
\n";
?>

This code generates the following html

This is a list

with two items

But if I format the php file using Format HTML in PHP, the program is now:

  <?php
    print "
This is a list
\n";
    print "
with two items
\n";
?>

Notice that the <?php has been indented two spaces
This code generates the following html

This is a list

with two items

Notice that the first  has 4 spaces instead of 2.
A configuration option like indent-php-tag: true/false could solve this issue.
Thanking you in advance,


Better visualization for big AMR graph

The visualization helps a lot. Thanks for releasing this useful tool.
I may have a small suggestion when dealing with big AMR graphs derived from long sentences.
In https://github.com/bjascob/amrlib/blob/dadb5c4cfba0b4fb0cf4aac9f34ecb28b0086d00/amrlib/graph_processing/amr_plot.py#L12
I was wondering if we could change format="png" -> format="pdf", since the image quality of pdf is better than png when zooming the image.
I tried pdf on my own mac laptop, it works well. Anyway, it is just my personal preference.
Best,
Jiaying

I'll see what it looks like on Windows and Linux and at least add a parameter so it can be modified easily.

commit d10c97349e5679bc61c2ac092a7ae52af2c89d18 changes the default to 'pdf" and adds a parameter "format" that allows the user to set it.


Fix grammar for template task

Fix template task syntax. The old one doesn't work well now.

What's the problem with the : syntax? Why does it not work well?

@soupdiver I don't know. It just doesn't work. But the = works.

Tested with current master
ansible --version
ansible 1.9.4
  configured module search path = None

vagrant up
Bringing machine 'anxs' up with 'virtualbox' provider...
==> anxs: Importing base box 'ubuntu/trusty64'...
==> anxs: Matching MAC address for NAT networking...
==> anxs: Checking if box 'ubuntu/trusty64' is up to date...
==> anxs: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> anxs: have version '20151105.0.0'. The latest is version '20160119.0.0'. Run
==> anxs: `vagrant box update` to update.
==> anxs: Setting the name of the VM: mysql_anxs_1453381327042_77836
==> anxs: Clearing any previously set forwarded ports...
==> anxs: Fixed port collision for 22 => 2222. Now on port 2200.
==> anxs: Clearing any previously set network interfaces...
==> anxs: Preparing network interfaces based on configuration...
    anxs: Adapter 1: nat
    anxs: Adapter 2: hostonly
==> anxs: Forwarding ports...
    anxs: 22 (guest) => 2200 (host) (adapter 1)
==> anxs: Booting VM...
==> anxs: Waiting for machine to boot. This may take a few minutes...
    anxs: SSH address: <IP_ADDRESS>:2200
    anxs: SSH username: vagrant
    anxs: SSH auth method: private key
    anxs:
    anxs: Vagrant insecure key detected. Vagrant will automatically replace
    anxs: this with a newly generated keypair for better security.
    anxs:
    anxs: Inserting generated public key within guest...
    anxs: Removing insecure key from the guest if it's present...
    anxs: Key inserted! Disconnecting and reconnecting using new SSH key...
==> anxs: Machine booted and ready!
==> anxs: Checking for guest additions in VM...
    anxs: The guest additions on this VM do not match the installed version of
    anxs: VirtualBox! In most cases this is fine, but in rare cases it can
    anxs: prevent things such as shared folders from working properly. If you see
    anxs: shared folder errors, please make sure the guest additions within the
    anxs: virtual machine match the version of VirtualBox you have installed on
    anxs: your host and reload your VM.
    anxs:
    anxs: Guest Additions Version: 4.3.10
    anxs: VirtualBox Version: 5.0
==> anxs: Setting hostname...
==> anxs: Configuring and enabling network interfaces...
==> anxs: Mounting shared folders...
    anxs: /vagrant => /Volumes/Projects/mysql
==> anxs: Running provisioner: ansible...
    anxs: Running ansible-playbook...

PLAY [all] ********************************************************************

GATHERING FACTS ***************************************************************
ok: [anxs.local]

TASK: [mysql | MySQL | Load the os specific variables] ************************
ok: [anxs.local]

TASK: [mysql | MySQL | Add APT repository] ************************************
skipping: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL packages are installed] ************
changed: [anxs.local] => (item=mysql-server,mysql-client,python-mysqldb)

TASK: [mysql | MySQL | Ensure MySQL is running] *******************************
ok: [anxs.local]

TASK: [mysql | MySQL | Update the my.cnf] *************************************
changed: [anxs.local]

TASK: [mysql | MySQL | Test whether the root password has already been changed (external hostname).] ***
failed: [anxs.local] => (item=anxs) => {"failed": true, "item": "anxs"}
msg: unable to connect to database, check login_user and login_password are correct or ~/.my.cnf has the credentials
...ignoring
failed: [anxs.local] => (item=<IP_ADDRESS>) => {"failed": true, "item": "<IP_ADDRESS>"}
msg: unable to connect to database, check login_user and login_password are correct or ~/.my.cnf has the credentials
...ignoring
failed: [anxs.local] => (item=::1) => {"failed": true, "item": "::1"}
msg: unable to connect to database, check login_user and login_password are correct or ~/.my.cnf has the credentials
...ignoring
failed: [anxs.local] => (item=localhost) => {"failed": true, "item": "localhost"}
msg: unable to connect to database, check login_user and login_password are correct or ~/.my.cnf has the credentials
...ignoring

TASK: [mysql | MySQL | Changing the root password (external hostname).] *******
changed: [anxs.local] => (item=anxs)
changed: [anxs.local] => (item=<IP_ADDRESS>)
changed: [anxs.local] => (item=::1)
changed: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Test whether the root password has already been changed (local hostname).] ***
skipping: [anxs.local] => (item=<IP_ADDRESS>)
skipping: [anxs.local] => (item=::1)
skipping: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Changing the root password (local hostname).] **********
skipping: [anxs.local] => (item=<IP_ADDRESS>)
skipping: [anxs.local] => (item=::1)
skipping: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Configure MySql for easy access as root user] **********
changed: [anxs.local]

TASK: [mysql | MySQL | Remove anonymous MySQL server user] ********************
ok: [anxs.local] => (item=anxs)
ok: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Remove the MySQL test database] ************************
ok: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL databases are present] *************
skipping: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL users are present] *****************
skipping: [anxs.local]

TASK: [mysql | MySQL | (Monit) Copy the mysql monit service file] *************
skipping: [anxs.local]

NOTIFIED: [mysql | restart mysql] *********************************************
changed: [anxs.local]

PLAY RECAP ********************************************************************
anxs.local                 : ok=13   changed=5    unreachable=0    failed=0

Please provide more information about your setup because I can't reproduce

@soupdiver my vagrant up works well. But vagrant provision doesn't work.

ansible 1.8.2

Still unable to reproduce
vagrant provision
==> anxs: Running provisioner: ansible...
    anxs: Running ansible-playbook...

PLAY [all] ********************************************************************

GATHERING FACTS ***************************************************************
ok: [anxs.local]

TASK: [mysql | MySQL | Load the os specific variables] ************************
ok: [anxs.local]

TASK: [mysql | MySQL | Add APT repository] ************************************
skipping: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL packages are installed] ************
ok: [anxs.local] => (item=mysql-server,mysql-client,python-mysqldb)

TASK: [mysql | MySQL | Ensure MySQL is running] *******************************
ok: [anxs.local]

TASK: [mysql | MySQL | Update the my.cnf] *************************************
ok: [anxs.local]

TASK: [mysql | MySQL | Test whether the root password has already been changed (external hostname).] ***
ok: [anxs.local] => (item=anxs)
ok: [anxs.local] => (item=<IP_ADDRESS>)
ok: [anxs.local] => (item=::1)
ok: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Changing the root password (external hostname).] *******
skipping: [anxs.local] => (item=anxs)
skipping: [anxs.local] => (item=<IP_ADDRESS>)
skipping: [anxs.local] => (item=::1)
skipping: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Test whether the root password has already been changed (local hostname).] ***
skipping: [anxs.local] => (item=<IP_ADDRESS>)
skipping: [anxs.local] => (item=::1)
skipping: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Changing the root password (local hostname).] **********
skipping: [anxs.local] => (item=<IP_ADDRESS>)
skipping: [anxs.local] => (item=::1)
skipping: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Configure MySql for easy access as root user] **********
ok: [anxs.local]

TASK: [mysql | MySQL | Remove anonymous MySQL server user] ********************
ok: [anxs.local] => (item=anxs)
ok: [anxs.local] => (item=localhost)

TASK: [mysql | MySQL | Remove the MySQL test database] ************************
ok: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL databases are present] *************
skipping: [anxs.local]

TASK: [mysql | MySQL | Make sure the MySQL users are present] *****************
skipping: [anxs.local]

TASK: [mysql | MySQL | (Monit) Copy the mysql monit service file] *************
skipping: [anxs.local]

PLAY RECAP ********************************************************************
anxs.local                 : ok=12   changed=0    unreachable=0    failed=0

TASK: [ANXS.mysql | MySQL | Update the my.cnf] ********************************
<<IP_ADDRESS>> ESTABLISH CONNECTION FOR USER: vagrant
<<IP_ADDRESS>> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/lepture/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=2222 -o IdentityFile="/Users/lepture/workspace/xtjp/ansible-lelouch/.vagrant/machines/default/virtualbox/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 <IP_ADDRESS> /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962 && echo $HOME/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962'
<<IP_ADDRESS>> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/lepture/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=2222 -o IdentityFile="/Users/lepture/workspace/xtjp/ansible-lelouch/.vagrant/machines/default/virtualbox/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 <IP_ADDRESS> /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via ansible, key=aiwqffurbwonbznyfcjibmhxbzppjphp] password: " -u root /bin/sh -c '"'"'echo SUDO-SUCCESS-aiwqffurbwonbznyfcjibmhxbzppjphp; rc=flag; [ -r "/etc/mysql/my.cnf" ] || rc=2; [ -f "/etc/mysql/my.cnf" ] || rc=1; [ -d "/etc/mysql/my.cnf" ] && rc=3; python -V 2>/dev/null || rc=4; [ x"$rc" != "xflag" ] && echo "${rc} /etc/mysql/my.cnf" && exit 0; (python -c '"'"'"'"'"'"'"'"'import hashlib; print(hashlib.sha1(open("/etc/mysql/my.cnf", "rb").read()).hexdigest())'"'"'"'"'"'"'"'"' 2>/dev/null) || (python -c '"'"'"'"'"'"'"'"'import sha; print(sha.sha(open("/etc/mysql/my.cnf", "rb").read()).hexdigest())'"'"'"'"'"'"'"'"' 2>/dev/null) || (echo "0 /etc/mysql/my.cnf")'"'"''
<<IP_ADDRESS>> PUT /tmp/tmpgGd4TT TO /home/vagrant/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962/file
<<IP_ADDRESS>> EXEC ssh -C -tt -vvv -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/lepture/.ansible/cp/ansible-ssh-%h-%p-%r" -o StrictHostKeyChecking=no -o Port=2222 -o IdentityFile="/Users/lepture/workspace/xtjp/ansible-lelouch/.vagrant/machines/default/virtualbox/private_key" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=30 <IP_ADDRESS> /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via ansible, key=uprjcrxpjzivoodcsodnbgeeqevmzeyk] password: " -u root /bin/sh -c '"'"'echo SUDO-SUCCESS-uprjcrxpjzivoodcsodnbgeeqevmzeyk; LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962/file; rm -rf /home/vagrant/.ansible/tmp/ansible-tmp-1453386470.88-112232842829962/ >/dev/null 2>&1'"'"''
failed: [default] => {"failed": true, "gid": 0, "group": "root", "mode": "0777", "owner": "root", "path": "/etc/mysql/my.cnf", "size": 24, "src": "etc_mysql_my.cnf.j2", "state": "link", "uid": 0}
msg: src file does not exist, use "force=yes" if you really want to create the link: /etc/mysql/etc_mysql_my.cnf.j2

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/Users/lepture/local.retry

default                    : ok=5    changed=0    unreachable=0    failed=1

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

@soupdiver Maybe it is because I am using ansible 1.8.2

Yeah that could be possible. Any reason why you stay on 1.8?

@soupdiver 1.9.4 works.


Allow uploading of CSVs of test grades

Format would be:
Need to take the scores for each question, put them into an array, use
$pgArray = DatabaseUtils::fromPHPToPGArray($question_array)
to get the proper postgres array format for the questions, then do something like:
Database::query("INSERT INTO grades_tests (test_id, grade_test_user_id, student_rcs, grade_test_questions, grade_test_value, grade_test_text) VALUES (1, ?, ?, ?, ?, ?)", array(User::$user_id, $student_rcs, $pgArray, $test_grade, "")
and do this for every line in the file.

Works :)
Eventually want to have more sanity checks:
Is this the right course?  Do all of the users exist?
Is this the right exam #?  If there are are scores for the students, do most of them match (just some minor regrades?
And add an "undo" feature.


Time courses code

Prof Lee, I don't have write access to the base branch. Can you please merge the changes?


Subsequent writes to an object reset the stream status

A piece of code is worth a thousand words.
This piece of code succeeds but should fail.
auto os = client->WriteObject(bucket_name, object_name, IfGenerationMatch(0),
    NewResumableUploadSession());
os.exceptions(std::ios_base::failbit);
os << some_data;
os << some_data;  // assume this fails
// ASSERT_STATUS_OK(os.metadata());  - had this been here, it would have failed
os << some_data;
ASSERT_STATUS_OK(os.metadata());

It is also an interesting question, why an exception is not thrown.
I will shortly provide a reproducer. This bug was actually found while injecting errors in order to fix #2950.
I haven't searched for the reasons yet.

My understanding is:

std::ios_base::failbit is set if there are problems formatting data.
In contrast std::ios_base::badbit is set if there are errors writing data.

The error you got was a write error, not a formatting error. But once that bit is set, I think the stream should not accept more data, so this is still a bug.

Actually, the scenario is easy:

you keep injecting errors, which makes a write fail until the retry policy is exhausted
you then either close or destroy the stream (which closes it under the hood), which runs this code with already exhausted retry policy

This is not reproducible. Most likely I was using metadata() on a stream which wasn't closed.
A different problem exists, though: #3002


Add just (https://just.systems/)

Just is a command runner.
https://just.systems
Include the conventional justfile and module names
Include the interpreter heuristic: https://just.systems/man/en/chapter_59.html?highlight=scrips#just-scripts

please search for duplicates

@asottile Apologies, I did search and found https://github.com/pre-commit/identify/pull/300 but I'm not clear on why it was closed. It seemed like it might have been due to staleness.


Nodes won't start in IL2CPP / WebGL builds - CSVReader throws InvalidOperationException

What is the current behavior?

Using develop branch, cannot load Yarn dialogue in WebGL or IL2CPP builds - error thrown when using CSVReader.
Please provide the steps to reproduce, and if possible a minimal demo of the problem:

Open Yarn Develop branch in new project in Unity 2020
Build to WebGL
See the following error:

InvalidOperationException: No public parameterless constructor found.
at CSVHelper.ReflectionHelper.CreateInstanceDelegate

Screenshot:

Please tell us about your environment:

Yarn Spinner Version: Develop branch
Unity Version: 2020.1.4f1

I solved this issue with the below approach:
Background
CSVHelper's GetRecords uses Expression.Lambda which gets stripped by IL2CPP [1]. Managed code stripping for IL2CPP, even on 'Low' mode, is too aggressive and not smart enough to know what reflection it shouldn't strip [3].
Failed Solution
A link.xml telling IL2CPP to not strip out Linq.Expressions.Interpreter.LightLambda doesn't work because CSVHelper's use of Lambda is not interpretable by IL2CPP [2].
Successful Solution
Using JoshClose's suggestions in [4], [5], I replaced StringTableEntry.cs 's 'ParseFromCSV' with:
public static IEnumerable<StringTableEntry> ParseFromCSV(string sourceText)
        {
            using (var stringReader = new System.IO.StringReader(sourceText))
            using (var csv = new CsvReader(stringReader, GetConfiguration()))
            {
                /*
                Do the below instead of GetRecords<T> due to incompatibility with IL2CPP
                See more: https://github.com/JoshClose/CsvHelper/issues/1337
                */
                var records = new List<StringTableEntry>();
                csv.Read();
                csv.ReadHeader();
                while (csv.Read())
                {
                    var record = new StringTableEntry
                    {
                        Language = csv.GetField<string>("language"),
                        ID = csv.GetField<string>("id"),
                        Text = csv.GetField<string>("text"),
                        File = csv.GetField<string>("file"),
                        Node = csv.GetField<string>("node"),
                        LineNumber = csv.GetField<string>("lineNumber"),
                        Lock = csv.GetField<string>("lock"),
                        Comment = csv.GetField<string>("comment"),
                    };
                    records.Add(record);
                }

                return records;
            }
        }

And removed the [Name('_')] attributes in the StringTableEntry struct.
References:
[1] https://github.com/JoshClose/CsvHelper/issues/1304
[2] https://forum.unity.com/threads/are-c-expression-trees-or-ilgenerator-allowed-on-ios.489498/#post-3665089
[3] https://docs.unity3d.com/Manual/ManagedCodeStripping.html
[4] https://github.com/JoshClose/CsvHelper/issues/1337
[5] https://github.com/JoshClose/CsvHelper/issues/1304

Thank you!
Can you please file a pull request with this change against the develop branch?

Sure thing! Glad to help https://github.com/YarnSpinnerTool/YarnSpinner-Unity/pull/38

Edited to add - sometimes it seems the casing on columns is inconsistent with this method; in that case, I do a really hacky if check.
  public static IEnumerable<StringTableEntry> ParseFromCSV(string sourceText)
        {

            using (var stringReader = new System.IO.StringReader(sourceText))
            using (var csv = new CsvReader(stringReader, GetConfiguration()))
            {
                /*
                Do the below instead of GetRecords<T> due to incompatibility with IL2CPP
                See more: https://github.com/JoshClose/CsvHelper/issues/1337
                */
                var records = new List<StringTableEntry>();
                csv.Read();
                csv.ReadHeader();
                while (csv.Read())
                {
                    StringTableEntry record;
                    if (!csv.TryGetField<string>("id", out string id))
                    {
                        // continue;
                        record = new StringTableEntry
                        {
                            Language = csv.GetField<string>("Language"),
                            ID = csv.GetField<string>("ID"),
                            Text = csv.GetField<string>("Text"),
                            File = csv.GetField<string>("File"),
                            Node = csv.GetField<string>("Node"),
                            LineNumber = csv.GetField<string>("LineNumber"),
                            Lock = csv.GetField<string>("Lock"),
                            Comment = csv.GetField<string>("Comment"),
                        };
                    }
                    else
                    {
                        record = new StringTableEntry
                        {
                            Language = csv.GetField<string>("language"),
                            ID = csv.GetField<string>("id"),
                            Text = csv.GetField<string>("text"),
                            File = csv.GetField<string>("file"),
                            Node = csv.GetField<string>("node"),
                            LineNumber = csv.GetField<string>("lineNumber"),
                            Lock = csv.GetField<string>("lock"),
                            Comment = csv.GetField<string>("comment"),
                        };
                    }
                    records.Add(record);
                }

                return records;
            }
        }


Immediate status request after armed alarm

Hello and thank you for this integration!
it would be useful that when the alarm is armed / disarmed, a request for the status of the alarm is immediately made to understand whether it has actually been activated or not.
At this moment if I armed the alarm, but there are open zones and it does not activate, HA shows the status only after the pooling time set in the configuration.

Hi, thanks for the feedback! I understand the problem.
Currently if something unnexpected happens during arm/disarm API call, the new status is still set to state. So this is definetly a bug.
I will make a fix after a weekend.

Fixed in #2

You can not request status immediately after arm/disarm action. To complete action need time and must wait status from cloud. For better performance use 10 or 15 sec pool time.


add host feature to jolt-core

When I comiple the jolt-core to wasm:
   Compiling jolt-core v0.1.0 (https://github.com/a16z/jolt#6083da83)
error[E0432]: unresolved import `tokio::runtime::Runtime`
  --> /Users/flyq/.cargo/git/checkouts/jolt-6b856340b98daf0c/6083da8/jolt-core/src/host/toolchain.rs:12:5
   |
12 | use tokio::runtime::Runtime;
   |     ^^^^^^^^^^^^^^^^^^^^^^^ no `Runtime` in `runtime`

error[E0433]: failed to resolve: could not find `time` in `tokio`
   --> /Users/flyq/.cargo/git/checkouts/jolt-6b856340b98daf0c/6083da8/jolt-core/src/host/toolchain.rs:49:24
    |
49  |                 tokio::time::sleep(std::time::Duration::from_millis(timeout)).await;
    |                        ^^^^ could not find `time` in `tokio`
    |
note: found an item that was configured out
   --> /Users/flyq/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/lib.rs:549:13
    |
549 |     pub mod time;
    |             ^^^^
    = note: the item is gated behind the `time` feature

error[E0603]: module `runtime` is private
   --> /Users/flyq/.cargo/git/checkouts/jolt-6b856340b98daf0c/6083da8/jolt-core/src/host/toolchain.rs:12:12
    |
12  | use tokio::runtime::Runtime;
    |            ^^^^^^^ private module
    |
note: the module `runtime` is defined here
   --> /Users/flyq/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/lib.rs:522:5
    |
522 |     pub(crate) mod runtime;
    |     ^^^^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `chunk` found for struct `Response` in the current scope
   --> /Users/flyq/.cargo/git/checkouts/jolt-6b856340b98daf0c/6083da8/jolt-core/src/host/toolchain.rs:120:42
    |
120 |         while let Some(chunk) = response.chunk().await.unwrap() {
    |                                          ^^^^^ method not found in `Response`

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
   --> /Users/flyq/.cargo/git/checkouts/jolt-6b856340b98daf0c/6083da8/jolt-core/src/host/toolchain.rs:120:19
    |
120 |         while let Some(chunk) = response.chunk().await.unwrap() {
    |                   ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `[u8]`
note: required by a bound in `std::prelude::v1::Some`
   --> /Users/flyq/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:571:17
    |
571 | pub enum Option<T> {
    |                 ^ required by this bound in `std::prelde::v1::Some`
...
579 |     Some(#[stable(feature = "rust1", since = "1.0.0")] T),
    |     ---- required by a bound in this tuple variant

Some errors have detailed explanations: E0277, E0432, E0433, E0599, E0603.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `jolt-core` (lib) due to 5 previous errors

tokio and reqwest are not friendly to wasm, and only the host mod depends on them. So I added host features to achieve conditional compilation

What are you trying to do with wasm specifically?

My current goal is to compile jolt's verify function into wasm(on chain). verify depends on jolt-core. Tokio and reqwest in jolt-core prevent verify from being compiled into wasm.

Wouldn't you need access to the host code if your trying to generate proofs in wasm?

I generate the proof locally, and  only verify the proof in wasm. Yes, I don't need host-related code, so my dependencies are set up like this to avoid introducing host-related logic:
jolt-core = { git = "https://github.com/zkp-learning/jolt", default-features = false, features = [
    "multicore",
] }


add support for qemu (RDT-261)

It would be nice if qemu was available as a command in the docker image (or separate action)

@greenaddress It's an excellent idea. I cannot tell you an exact timeline for this, but we are considering implementing it. So let's keep this issue open

thanks @kumekay
If it helps, this is how we compile qemu optimized for esp32 use and size:
https://github.com/Blockstream/Jade/blob/master/Dockerfile#L19

Hi @greenaddress
Xtensa QEMU was added to the docker file recently: https://github.com/espressif/esp-idf/blob/cfef24863f1acd4418227a727dbb6e356438a385/tools/docker/Dockerfile#L92-L102


Automate release process

At the moment, publishing a release on GitHub will not automatically upload artifacts to Maven Central.
We could set up a GitHub Actions workflow to take care of that.
See: https://github.com/OpenRefine/OpenRefine/pull/6185

Thinking out loud.
Why don't we merge Butterfly with OpenRefine at this point?

It's definitely a possibility… I guess the only downside I can think of is that it would be making the OpenRefine repo a bit bigger (with longer build times, and so on) but arguably it would be a more faithful representation of the reality, letting us upgrade dependencies only once and use the same release schedule.
@tfmorris thoughts?

I support automated publishing of releases, but bundling seems to go counter to recent moves towards finer grained modularity (and discussion of replacing Butterfly's module system). Logically Butterfly and OpenRefine are very different things.


Not able to build Index on a Reference Database

Command used: nohup ./metabidx build -refseq /home/arpit/2021_12_human_bact_arch_fungi_vir.fa  -save /home/arpit/new.bin  -k 7 -n 2 -p 15 > output_metabidx_3_april_new.log
When I to do build a index out of reference database
I get following error:
Build index with params:
- Reference folder: /home/arpit/2021_12_human_bact_arch_fungi_vir.fa
- K-mer length: 7
- Number of hash function: 2
- Number of locks: 50000
- Filter length: 32768
Build filter...
Start scanning /home/arpit/2021_12_human_bact_arch_fungi_vir.fa
runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc049e50378 stack=[0xc049e50000, 0xc069e50000]
fatal error: stack overflow
runtime stack:
runtime.throw({0x6406fb?, 0x200000008?})
/usr/local/go/src/runtime/panic.go:1077 +0x5c fp=0x7f7333ffecc0 sp=0x7f7333ffec90 pc=0x43893c
runtime.newstack()
/usr/local/go/src/runtime/stack.go:1107 +0x5ac fp=0x7f7333ffee70 sp=0x7f7333ffecc0 pc=0x452ccc
traceback: unexpected SPWRITE function runtime.morestack
runtime.morestack()
/usr/local/go/src/runtime/asm_amd64.s:593 +0x8f fp=0x7f7333ffee78 sp=0x7f7333ffee70 pc=0x46b72f
The complete output log file is here
output_metabidx_3_April (1).log
Any solution ?

@arpit20328 thanks for your interest in using MetaBIDx.
Could you try ./metabidx build -refseq /home/arpit/ -save /home/arpit/new.bin -k 7 -n 2 -p 15, the refseq path should be a path to your reference folder. If it still doesn't work, could you share the fasta file so I can try to replicate the error using your input?

@pdtrang ok.. will try your given input....and also by tomorrow I will share the fasta file too.. thanks..

@pdtrang Hi ... I was not able to build index out of the command that you suggested....
Here is the google drive link : https://drive.google.com/drive/folders/1q1btJCxtU15XXqfA-iCyNwgKgQq0SrG4
Here the .fa file is "2021_12_human_bact_arch_fungi_vir.fa.gz" (in compressed form)
let me know if you can build this .fa file index..

@arpit20328 I will try your fa file and get back to you soon.

@arpit20328 I have tried your fa file and here is my answer:

In your command, the value for parameter p is too small for an index. p=15 means the index size is 2^15 bytes. I suggest to use a bigger value, such as p = 32 (~4GB), or p = 33 (~8GB) or p = 34 (~16GB).
Our tool currently doesn't use taxonomy to separate the reference genomes from different species in a fa file. MetaBIDx considers all reference genomes in one fa file belong to one species. For example, if you have 100 fa files, there will be 100 species in the index. Therefore, users have to process the fa file before using MetaBIDx.

I suggest to split your huge fa file into multiple fa files, each file contains reference genome for a species. In your fasta file, you can group the reference genomes based on the header.
For example:
From sequences in your fa file:
...
>CP016232.1_Trichoderma_reesei_QM6a_chromosome_I__complete_sequence
[DNA sequence]
>CP016233.1_Trichoderma_reesei_QM6a_chromosome_II__complete_sequence
[DNA sequence]
>CP016234.1_Trichoderma_reesei_QM6a_chromosome_III__complete_sequence
[DNA sequence]
>CP016235.1_Trichoderma_reesei_QM6a_chromosome_IV__complete_sequence
[DNA sequence]
>CP016236.1_Trichoderma_reesei_QM6a_chromosome_V__complete_sequence
[DNA sequence]
>CP016237.1_Trichoderma_reesei_QM6a_chromosome_VI__complete_sequence
[DNA sequence]
>CP016238.1_Trichoderma_reesei_QM6a_chromosome_VII__complete_sequence
[DNA sequence]
>CP017553.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1A__complete_sequence
[DNA sequence]
>CP017554.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1B__complete_sequence
[DNA sequence]
>CP017555.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1C__complete_sequence
[DNA sequence]
>CP017556.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1D__complete_sequence
[DNA sequence]
>CP017557.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1E__complete_sequence
[DNA sequence]
>CP017558.1_Yarrowia_lipolytica_strain_CLIB89_W29__chromosome_1F__complete_sequence
[DNA sequence]
>NC_014222.1_Methanococcus_voltae_A3__complete_genome
[DNA sequence]
>NC_002607.1_Halobacterium_salinarum_NRC_1__complete_sequence
[DNA sequence]
>NC_002754.1_Saccharolobus_solfataricus_P2__complete_sequence
[DNA sequence]
>NC_003901.1_Methanosarcina_mazei_Go1__complete_sequence
[DNA sequence]
>NC_003551.1_Methanopyrus_kandleri_AV19__complete_sequence
[DNA sequence]
....

can be splited to 7 fa files at strain level:

Trichoderma_reesei_QM6a (contains 7 sequences)
Yarrowia_lipolytica_CLIB89_W29 (contains 6 sequences)
Methanococcus_voltae_A3 (contains 1 sequence)
Halobacterium_salinarum_NRC_1 (contains 1 sequence)
Saccharolobus_solfataricus_P2 (contains 1 sequence)
Methanosarcina_mazei_Go1 (contains 1 sequence)
Methanopyrus_kandleri_AV19 (contains 1 sequence)
and similar to other sequences.

Sorry for the unclear instruction, I will update the Readme with an instruction on how to prepare reference genomes for MetaBIDx. Please let me know if you still have any question.

@pdtrang thanks for the reply.. will get back to you soon.

So I used one of bacterial fasta file (.fa file) build by emu data base for building index via metabidx
The file is here: https://drive.google.com/file/d/1cdRzkYBEEN3dM2PdiTIVRINJA_hQp2Rx/view?usp=sharing
Command line 1 used: ./metabidx build -refseq /home/arpit/species_taxid_bacteiral.fa -save emu_bacterial_metabidx.bin
Command line 2 used: ./metabidx build -refseq /home/arpit/species_taxid_bacteiral.fa -save emu_bacterial_metabidx.bin -p 34
In both command lines error was: 2024/04/08 09:48:55 bufio.Scanner: token too long
Could you help in this regard ?

@arpit20328 I'll look into it and get back to you soon.

@arpit20328 Thanks for reporting this error, I just fixed the it and published a new release. Could you download the latest version v2.1.1 and try again? I was able to build the index using your fa file. Also, as suggested above, your fa file should be separated into multiple files so that MetaBIDx can recognizes species correctly. And refseq is a path to folder, not a path to fa file.
Let me know if you have any other issues.

@pdtrang great.. thanks..


Can not use Article Editor

Issue:
I can not edit an article, either newly created or previously existing.
Actions to reproduce:
Go to the ‘Article’ tab
Created a new article
Click the ‘edit’ button
At this point an error popped up Error Failed to create article at 'articles/title.html'.

Note:
When first opening a model in Voyager Story an info box pops up in the lower right hand corner which says Failed to create folder 'articles' in '/6c424d70-78fd-41a2-b303-b98662858bbf/.'

There was a minor configuration bug with WebDAV. Issue has been fixed and is ready for testing on the test server.


always translate according to annotation + unit test to verify

This solves https://github.com/mongodb/morphia/issues/1123.

Why didn't you just accept the pull request instead of copying the code and committing it yourself?

i moved the test to PathTargetTest and reused one of the test entities.


Failure to parse a single resource.json should Not abort resource enumeration

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest version
[X] Search the existing issues.

Steps to reproduce
Create a .resource.json with non-compliant syntax, then run:
dsc.exe resource list
Expected behavior
all valid resources are listed;

Actual behavior
PS C:\DSCv3> dsc.exe resource list
Error: Manifest: C:\DSCv3\bin\debug\testresource.resource.json
JSON: unknown field `customfield`, expected one of `manifestVersion`, `type`, `version`, `description`, `get`, `set`, `test`, `validate`, `provider`, `exitCodes`, `schema` at line 6 column 27

Error details
No response
Environment data
any

Version
1.0
Visuals
No response

Fixed


Generic Global and Local Keyboard Handling

Mostly Solved in #320

With #320 merged, this can be considered done too.


Can't install olm "no matches for kind "OLMConfig" in version "operators.coreos.com/v1"

Bug Report

I am following the instructions on the HELM quickstart tutorial https://sdk.operatorframework.io/docs/building-operators/helm/
I  have also tried many other combos of operator-sdk and olm.
I have also tried to install olm manually ( https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/install/install.md) but the links e.g. deploy/upstream/quickstart/crds.yaml dont work
What did you expect to see?
INFO[0000] Fetching CRDs for version "latest"
INFO[0000] Fetching resources for resolved version "latest"
I0302 14:26:13.947244   61268 request.go:682] Waited for 1.041225333s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>:63693/apis/flowcontrol.apiserver.k8s.io/v1beta2?timeout=32s
INFO[0006] Creating CRDs and resources
INFO[0006]   Creating CustomResourceDefinition "catalogsources.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "clusterserviceversions.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "installplans.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "olmconfigs.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "operatorconditions.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "operatorgroups.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "operators.operators.coreos.com"
INFO[0006]   Creating CustomResourceDefinition "subscriptions.operators.coreos.com"
INFO[0006]   Creating Namespace "olm"
INFO[0006]   Creating Namespace "operators"
INFO[0006]   Creating ServiceAccount "olm/olm-operator-serviceaccount"
INFO[0006]   Creating ClusterRole "system:controller:operator-lifecycle-manager"
INFO[0006]   Creating ClusterRoleBinding "olm-operator-binding-olm"
INFO[0006]   Creating OLMConfig "cluster"
INFO[0009]   Creating Deployment "olm/olm-operator"
INFO[0009]   Creating Deployment "olm/catalog-operator"
INFO[0009]   Creating ClusterRole "aggregate-olm-edit"
INFO[0009]   Creating ClusterRole "aggregate-olm-view"
INFO[0009]   Creating OperatorGroup "operators/global-operators"
INFO[0009]   Creating OperatorGroup "olm/olm-operators"
INFO[0009]   Creating ClusterServiceVersion "olm/packageserver"
INFO[0010]   Creating CatalogSource "olm/operatorhubio-catalog"
INFO[0010] Waiting for deployment/olm-operator rollout to complete
INFO[0010]   Waiting for Deployment "olm/olm-operator" to rollout: 0 of 1 updated replicas are available
INFO[0021]   Deployment "olm/olm-operator" successfully rolled out
INFO[0021] Waiting for deployment/catalog-operator rollout to complete
INFO[0021]   Deployment "olm/catalog-operator" successfully rolled out
INFO[0021] Waiting for deployment/packageserver rollout to complete
INFO[0021]   Waiting for Deployment "olm/packageserver" to rollout: 0 of 2 updated replicas are available
INFO[0032]   Deployment "olm/packageserver" successfully rolled out
INFO[0032] Successfully installed OLM version "latest"
NAME                                            NAMESPACE    KIND                        STATUS
catalogsources.operators.coreos.com                          CustomResourceDefinition    Installed
clusterserviceversions.operators.coreos.com                  CustomResourceDefinition    Installed
installplans.operators.coreos.com                            CustomResourceDefinition    Installed
olmconfigs.operators.coreos.com                              CustomResourceDefinition    Installed
operatorconditions.operators.coreos.com                      CustomResourceDefinition    Installed
operatorgroups.operators.coreos.com                          CustomResourceDefinition    Installed
operators.operators.coreos.com                               CustomResourceDefinition    Installed
subscriptions.operators.coreos.com                           CustomResourceDefinition    Installed
olm                                                          Namespace                   Installed
operators                                                    Namespace                   Installed
olm-operator-serviceaccount                     olm          ServiceAccount              Installed
system:controller:operator-lifecycle-manager                 ClusterRole                 Installed
olm-operator-binding-olm                                     ClusterRoleBinding          Installed
cluster                                                      OLMConfig                   Installed
olm-operator                                    olm          Deployment                  Installed
catalog-operator                                olm          Deployment                  Installed
aggregate-olm-edit                                           ClusterRole                 Installed
aggregate-olm-view                                           ClusterRole                 Installed
global-operators                                operators    OperatorGroup               Installed
olm-operators                                   olm          OperatorGroup               Installed
packageserver                                   olm          ClusterServiceVersion       Installed
operatorhubio-catalog                           olm          CatalogSource               Installed
What did you see instead? Under which circumstances?
FATA[0012] Failed to install OLM version "latest": failed to create CRDs and resources: no matches for kind "OLMConfig" in version "operators.coreos.com/v1"
Environment

operator-lifecycle-manager version:

operator-sdk v1.288.1
olm v0.24.0

Kubernetes version information:

v1.24.3

Kubernetes cluster kind:

Possible Solution

Additional context
Add any other context about the problem here.

It is a local cluster. It uses vagrant and this repo https://github.com/mmumshad/kubernetes-the-hard-way


Fix Helpful-Material

fixed

hmm you seemed to have some merge stuff left in the code ;) check our video about merge conflict on the website :)

fixed

hmm still seems like you have a lot of ==== in the code

resolved all conflict :grin:

Great work :) merging it now


Never shows task chooser, but shows working in footer bar

Hi,
I have installed sublime-gulp into the latest version of Sublime 3 (3114) but it what I select it from the Sublime menu I do not get shown the task chooser yet the Gulp: Working is shown in the footer with the progress indicator moving. Not sure what is wrong. Running the latest version of OSX on a new MacBook

Hm that's weird, did you take a look at Troubleshooting section?

*. First of all, could you paste here the contents of the . sublime-gulp.cache file ?
*. Next, do you see a sublime-gulp.log file ?
*. Lastly, could you try in a stripped down example ?, by that I mean a gulpfile.js like this:
var gulp = require('gulp');

gulp.task('simple', function() {
  console.log('Hey!')
});

to see what happens

cache file contents:
{"/Users/mjohnston/projects/styleglide/gulpfile.js":{"sha1":"c68a41a181776df813089b40763ca87f155b28e0","tasks":{"svgsprite":{"name":"svgsprite","dependencies":"images"},"images":{"name":"images","dependencies":""},"sourcecss":{"name":"sourcecss","dependencies":""},"specs":{"name":"specs","dependencies":""},"css":{"name":"css","dependencies":"specs"},"default":{"name":"default","dependencies":"specs css"}}}}
There is no log file created. :(

When I try to run with the basic gulfile.js I get:

Wen I run arbitrary task and put simple it it runs.

So Just noticed in that dialog It is looking for "Projects", I had since named my folder to "projects", arghhh. Any idea how I can safely change this to "projects" and not have Sublime Gulp break?

Seems after rejigging I now have it working with "projects" it's a bit of a gotcha though if somebody renames a folder. not sure if others have run into it or it need a note describe the issue.

First of all, thanks a lot for the followup, I can't believe this issue didn't come up sooner!.
I'm going to do the following:

Write a warning on the README pointing to this issue (so if you don't mind leave it open so it acts as a reminder)
See if the package can perform a little check to verify the path stored on the cache and at least throw a warning

Again thanks a lot for your help and I'm glad you got it working

Thank you, it was that last step of where I saw the case difference on the path in the dialog which triggered the thought.
Sent from my iPhone

On 1 Jun 2016, at 1:46 PM, Nicolás Santángelo<EMAIL_ADDRESS>wrote:
First of all, thanks a lot for the followup, I can't believe this issue didn't come up sooner!.
I'm going to do the following:
Write a warning on the README pointing to this issue (so if you don't mind leave it open so it acts as a reminder)
See if the package can perform a little check to verify the path stored on the cache and at least throw a warning
Again thanks a lot for your help and I'm glad you got it working
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The notice is up! thanks again for the help


Fix the install roadmap diagram

Signed-off-by: nannanli<EMAIL_ADDRESS>Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[ ] If the changes in this PR is part of the next future release, make this pull request against the docs-staging branch which will be published at the next release boundary. If the changes in this PR are part of the current release, use the default base branch, master. For more information about branches, see https://github.com/zowe/docs-site/tree/master#understanding-the-doc-branches.

[ ] If this PR relates to GitHub issues in docs-site or other repositories, please list in Description, prefixed with close, fix or resolve keywords.

fixes #1938
Description (including links to related git issues)
Please describe your pull request.
:heart:Thank you!

look good to me :)

Great! Thank you, Ashley :)


mWeb - Characters length exceeds the max input length

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click on your avatar
Click on profile option
Click on personal details
Click on home address
Click on Zip / Postcode
Enter more than 10 characters

Expected Result:
Input should not allow the user to enter more than 10 characters
Actual Result:
Input allows the user to enter more than 10 characters but it remove them after pressing space or next
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.39-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/86826510-13bd-4bb5-8d4f-ac178d535317
https://github.com/Expensify/App/assets/93399543/ac9a1f09-01ee-48a0-8511-4cb9b398381b
Expensify/Expensify Issue URL:
Issue reported by: @mejed-alkoutaini
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689085405429119
View all open jobs on GitHub

@chiragxarora I believe this bug needs a physical device to reproduce

I also cannot recreate on a physical device. Could you upload another recording showing the latest version and confirm your android version too @mejed-alkoutaini?

@twisterdotcom on another android device
https://github.com/Expensify/App/assets/79811973/a05a635a-50f2-4e35-a159-5298d3bb967e


Fix release build

Make some Swift functions public so that the linker can see them when linking CEcho.
If they're not public, release builds would fail with undefined symbols errors:
Undefined symbols for architecture arm64:
  "_lookupSection", referenced from:
      __loadImageFunc in CEcho.o
  "_registerProtocolConformances", referenced from:
      __loadImageFunc in CEcho.o
  "_registerProtocols", referenced from:
      __loadImageFunc in CEcho.o
  "_registerTypeMetadata", referenced from:
      __loadImageFunc in CEcho.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Fixes #54 and fixes #60 (cc @NSExceptional @stephencelis).

Hell yeah, nice work!

I should add: I tested this on macOS 12.4, Xcode 13.4 (Swift 5.6.1), Apple Silicon. When these functions are internal, release builds fail with the abovementioned linker errors. Making the functions public fixes it.
I don't know enough about the linker to see why that is. Does the optimizer remove these functions in release builds because nobody is calling them from Swift? If so, does that mean there is a less invasive fix than making them public?


Upgrade babel-plugin-flow-react-proptypes

Fixes #1577
How to test: run yarn build and inspect the output at dist/es/Grid/Grid.js:1267:
// before
"\"aria-label\"": PropTypes.string.isRequired,

// after
"aria-label": PropTypes.string.isRequired,

published! https://www.npmjs.com/package/react-virtualized/v/9.22.1 thank you for all your contributions!


google_maps_flutter 0.5.28+1 on Android - Unhandled Exception: PlatformException(error, Trying to create a platform view of unregistered type: plugins.flutter.io/google_maps, null)

Hi guys, I'm facing this error in google_maps_flutter. And the issue is I can able to get maps in Debug mode but I can't get it in Release mode. Here are the outputs of both modes. when I tried running the release mode with debug console opened I found this issue there
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: plugins.flutter.io/google_maps

Debug Mode

Release Mode

I hope someone will give me the answer for this. I have uploaded the flutter doctor -v
result
 PS C:\Users\yaswa> flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-2.0.pre.65, on Microsoft Windows [Version 10.0.20170.1000], locale en-IN)
    • Flutter version 1.21.0-2.0.pre.65 at C:\src\flutter
    • Framework revision 09dfca6f5d (18 hours ago), 2020-07-17 14:26:03 -0700
    • Engine revision d327828632
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\yaswa\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30225.117
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.47.2)
    • VS Code at C:\Users\yaswa\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.12.2

[✓] Connected device (1 available)
    • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.20170.1000]

• No issues found!

and here is AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.aaida.Aaida">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- io.flutter.app.FlutterApplication is an android.app.Application that
         calls FlutterMain.startInitialization(this); in its onCreate method.
         In most cases you can leave this as-is, but you if you want to provide
         additional functionality it is fine to subclass or reimplement
         FlutterApplication and put your custom class here. -->
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="Aaida"
        android:icon="@mipmap/ic_launcher">
        <meta-data android:name="com.google.android.geo.API_KEY"
               android:value="AIzaSyClgqb1ok06hMYuQBKJJGuHbxb3jhA0EsA"/>

gradle.properties
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

Let me know any more things I need to add here.
Thanks in advance

@yahu1031
https://github.com/flutter/flutter/issues/54557#issuecomment-660338657

@imeDevelopers but I love this plugin and it's easy use thing😔

Hi @yahu1031
Are you using normal flutter app or flutter module into an existing native app?
I can reproduce this issue in release mode in normal Flutter app using official example on google_maps_flutter: ^0.5.28+1, app loads fine
Can you please provide yourflutter run --verbose` and a complete reproducible minimal code sample
Thank you

@TahaTesser I'm using flutter app should I add my repo too?
It works fine in debugging mode but when I try release version it gives a blank instead of maps!

@TahaTesser as you asked I'm attaching output.log file here as the text is very huge. And I'm building normal flutter app and you can refer to my repo here.
this is the way I have use the widget
@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      children: <Widget>[
        GoogleMap(
          zoomControlsEnabled: false,
          zoomGesturesEnabled: true,
          myLocationButtonEnabled: true,
          myLocationEnabled: true,
          minMaxZoomPreference: MinMaxZoomPreference(2, 50),
          initialCameraPosition: _myLocation,
          onMapCreated: (GoogleMapController controller) {
            _controller.complete(controller);
          },
        ),
        Row(
          children: <Widget>[
            SafeArea(
              child: Padding(
                padding: EdgeInsets.all(20.0),
                child: GestureDetector(
                  onTap: () {
                    print('Menu');
                    logout();
                  },
                  child: Container(
                    padding: EdgeInsets.all(10),
                    decoration: BoxDecoration(
                      color: Colors.white,
                      borderRadius: BorderRadius.circular(50),
                    ),
                    child: Image.asset(
                      'assets/images/menu.png',
                      color: Colors.black,
                      scale: 4.5,
                    ),
                  ),
                ),
              ),
            ),
          ],
        ),
        Padding(
          padding: EdgeInsets.fromLTRB(0, 100.0, 0, 50),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              GestureDetector(
                onTap: () {
                  Navigator.pushNamed(context, SearchBar.id);
                },
                child: Container(
                  child: Hero(
                    tag: 'search',
                    // child: SearchField(
                    //   autofocus: false,
                    // ),
                    child: Padding(
                      padding: EdgeInsets.symmetric(horizontal: 20.0),
                      child: Container(
                        padding: EdgeInsets.symmetric(
                            horizontal: 20, vertical: 10),
                        height: 6 * SizeConfig.heightMultiplier,
                        width: 90 * SizeConfig.widthMultiplier,
                        decoration: BoxDecoration(
                          color: Colors.white,
                          borderRadius: BorderRadius.circular(10),
                        ),
                        child: Center(
                          child: Scaffold(
                            backgroundColor: Colors.transparent,
                            body: Row(
                              children: <Widget>[
                                Icon(
                                  Icons.search,
                                  color: Colors.grey,
                                ),
                                SizedBox(width: 10),
                                Text(
                                  'Search',
                                  style: GoogleFonts.montserrat(
                                    color: Colors.grey,
                                    fontSize: 18,
                                  ),
                                ),
                              ],
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                ),
              ),
              SingleChildScrollView(
                scrollDirection: Axis.horizontal,
                physics: BouncingScrollPhysics(),
                child: Container(
                  padding: EdgeInsets.all(10),
                  color: Colors.transparent,
                  child: Row(
                    // mainAxisAlignment: MainAxisAlignment.center,
                    children: interns
                        .map((interns) => internsTemplate(interns))
                        .toList(),
                  ),
                ),
              ),
            ],
          ),
        ),
      ],
    ),
  );
}

Hi @yahu1031
Using code sample (commenting some missing code), same permissions, i cannot reproduce the issue in release mode on latest master

Code Sample
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  Completer<GoogleMapController> _controller = Completer();

  static final CameraPosition _kGooglePlex = CameraPosition(
    target: LatLng(37.42796133580664, -122.085749655962),
    zoom: 14.4746,
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          GoogleMap(
            zoomControlsEnabled: false,
            zoomGesturesEnabled: true,
            myLocationButtonEnabled: true,
            myLocationEnabled: true,
            minMaxZoomPreference: MinMaxZoomPreference(2, 50),
            initialCameraPosition: _kGooglePlex,
            onMapCreated: (GoogleMapController controller) {
              _controller.complete(controller);
            },
          ),
          Row(
            children: <Widget>[
              SafeArea(
                child: Padding(
                  padding: EdgeInsets.all(20.0),
                  child: GestureDetector(
                    onTap: () {
                      print('Menu');
                      // logout();
                    },
                    child: Container(
                      padding: EdgeInsets.all(10),
                      decoration: BoxDecoration(
                        color: Colors.white,
                        borderRadius: BorderRadius.circular(50),
                      ),
                      child: Icon(
                        Icons.menu,
                        color: Colors.black,
                      ),
                    ),
                  ),
                ),
              ),
            ],
          ),
          Padding(
            padding: EdgeInsets.fromLTRB(0, 100.0, 0, 50),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: <Widget>[
                GestureDetector(
                  onTap: () {
                    Navigator.pushNamed(context, '');
                  },
                  child: Container(
                    child: Hero(
                      tag: 'search',
                      // child: SearchField(
                      //   autofocus: false,
                      // ),
                      child: Padding(
                        padding: EdgeInsets.symmetric(horizontal: 20.0),
                        child: Container(
                          padding: EdgeInsets.symmetric(
                              horizontal: 20, vertical: 10),
                          height: 50,
                          width: double.infinity,
                          decoration: BoxDecoration(
                            color: Colors.white,
                            borderRadius: BorderRadius.circular(10),
                          ),
                          child: Center(
                            child: Scaffold(
                              backgroundColor: Colors.transparent,
                              body: Row(
                                children: <Widget>[
                                  Icon(
                                    Icons.search,
                                    color: Colors.grey,
                                  ),
                                  SizedBox(width: 10),
                                  Text(
                                    'Search',
                                    style: GoogleFonts.montserrat(
                                      color: Colors.grey,
                                      fontSize: 18,
                                    ),
                                  ),
                                ],
                              ),
                            ),
                          ),
                        ),
                      ),
                    ),
                  ),
                ),
                SingleChildScrollView(
                  scrollDirection: Axis.horizontal,
                  physics: BouncingScrollPhysics(),
                  child: Container(
                    padding: EdgeInsets.all(10),
                    color: Colors.transparent,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      // children: interns
                      //     .map((interns) => internsTemplate(interns))
                      //     .toList(),
                      children: [
                        for (var i = 0; i < 6; i++)
                          Padding(
                            padding: const EdgeInsets.all(8.0),
                            child: Card(
                              shape: RoundedRectangleBorder(
                                  borderRadius: BorderRadius.circular(10)),
                              color: Colors.white,
                              child: Padding(
                                padding: const EdgeInsets.all(8.0),
                                child: Image.network(
                                    'https://i.imgur.com/QCNbOAo.png',
                                    height: 150),
                              ),
                            ),
                          )
                      ],
                    ),
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-2.0.pre.83, on Mac OS X 10.15.6 19G73, locale en-GB)
    • Flutter version 1.21.0-2.0.pre.83 at /Users/taha/Code/flutter_master
    • Framework revision 9e658bc3d5 (6 hours ago), 2020-07-21 03:56:07 +0200
    • Engine revision dcc9a4048d
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (4 available)
    • SM M305F (mobile) • 32003c30dc19668f • android-arm64  • Android 10 (API 29)
    • macOS (desktop)   • macos            • darwin-x64     • Mac OS X 10.15.6 19G73
    • Web Server (web)  • web-server       • web-javascript • Flutter Tools
    • Chrome (web)      • chrome           • web-javascript • Google Chrome 84.0.4147.89

• No issues found!

Can you please try new project with same configuration and code sample i have provided here Also if possible try different device
Thank you

@TahaTesser yeah sure lemme check with the other devices and with your code too and I will update with new build.

@TahaTesser your code works, but may I know the reason? why my code is not working and why yours work?

If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size.
    To generate an app bundle, run:
        flutter build appbundle --target-platform android-arm,android-arm64,android-x64
        Learn more on: https://developer.android.com/guide/app-bundle
    To split the APKs per ABI, run:
        flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi
        Learn more on:  https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split
Running Gradle task 'assembleRelease'...
Removed unused resources: Binary resource data reduced from 216KB to 193KB: Removed 10%
Running Gradle task 'assembleRelease'...                           90.6s
Γ£ô Built build\app\outputs\apk\release\app-release.apk (16.8MB).

Release build image

@TahaTesser, when I use flutter build apk even your code is not working
apk after using flutter build apk is here
P.S: use own login credentials please and check
and here is the picture of installed apk
and I have a doubt that authentication is causing this issue. I tried without authentication then it works and when I tried with authentication this gives me error. If yes please let us know to resolve this issue. Here is my Repo
Thanks in advance.

Hi @yahu1031
Running your apk, i can notice the issue but when running minimal code sample in a new project with flutter build apk, has no issues.
On further investigation, replaced your main.dart in your repository code with minimal code sample, i can reproduce the issue. This indicates an issue with your project itself,  your projects have androidx errors when running it could be one of them reason, you might want to androidx
Please same minimal code sample in new project and build apk, it should work fine.

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-2.0.pre.94, on Mac OS X 10.15.6 19G73,
    locale en-GB)
    • Flutter version 1.21.0-2.0.pre.94 at /Users/taha/Code/flutter_master
    • Framework revision adc9dde3ba (9 hours ago), 2020-07-21 16:17:23 -0700
    • Engine revision 5a73d4dc25
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 84e5eeaea4)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (5 available)
    • SM M305F (mobile)      • 32003c30dc19668f          • android-arm64  •
      Android 10 (API 29)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      13.6
    • macOS (desktop)        • macos                     • darwin-x64     • Mac
      OS X 10.15.6 19G73
    • Web Server (web)       • web-server                • web-javascript •
      Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 84.0.4147.89

• No issues found!

@TahaTesser I have a doubt that authentication is causing this issue. I tried without authentication then it works and when I tried with authentication this gives me error. even your code gives be a blank page(scaffold). just make sure of this point please. Anyhow, lemme try with AndroidX Migration.

@TahaTesser Sir, I have tried to AndroidX Migration but it says no usage found in the project
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

Hi @yahu1031
This doesn't look like it's an issue with google_maps_flutter itself,  as metioned https://github.com/flutter/flutter/issues/61824#issuecomment-662313205 earlier. I cannot reproduce the issue with google_maps_flutter code sample and it only occurs in your project.
Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with google_maps_flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

@TahaTesser I agree sir. But can I know have you tried your code with authentication page? And did that work? And I already asked in r/FlutterDev discord server but sadly no help I got. I will try stackoverflow and you too please check twice with using authentication page. 🙏🏻🙏🏻🙏🏻

yup issue was resolved might be because I used
com.Aaida

the capital letter. I recreated the file with small letters and it worked thanks for the help @TahaTesser sir.  I realized late.


[Sign in] There is no Scroll-bar on the “Sign-in” modal window after clicking on “My cabinet” button

Environment: macOS High Sierra 10.13.16, Google Chrome 81.0.4044.129 (64-bit), Firefox 76.0
Reproducable: always
Build found: commit 7439e88
Preconditions:
Go to GreenCity url: https://ita-social-projects.github.io/GreenCityClient/#/welcome;
Steps to reproduce

Click on 'My cabinet' button;
Press F12;
Verify that scroll-bar is present on the “Sign-in” modal window after page resizing (e.g. set 50 %, 150%).

Actual result
There is no Scroll-bar on the “Sign-in” modal window on browser Chrome 81.0.4044.129 and Firefox 76.0.
Expected result
Scroll-bar is present on the “Sign-in” modal window.
User story: #551
Attached files: modal window on Google Chrome 81.0.4044.129 (64-bit) and Firefox 76.0

not relevant


Add Mk2Esstentials

Metadata for Mk2Esstentials from curse

You need to put this file into a folder named after the identifier and add the version number to the .ckan file.
Basically this file should be named Mk2Essentials-5.ckan and be put into the folder Mk2Essentials

OK let me kix this and resubmit.  is there a better way of doing it than that?


A Tail of Two Cats is red when using an overgrown cat

The "A Tail of Two Cats" helper whows red when using an overgrown cat

Hi @LewisJohnson would you happen to know what colour overgrown cat you had when it was showing red?


Updated app to show address book's file name on main window

#14

Doesn't seem to have any problems.


feat: First WIP attempt at Neo4j MCP Server

It supports the following tools:

get-neo4j-schema
read-neo4j-cypher
write-neo4j-cypher

Description
GH Issue: https://github.com/modelcontextprotocol/servers/issues/58
Server Details

Server: neo4j
Changes to: added 3 initial tools (get-neo4j-schema, write-neo4j-cypher, read-neo4j-cypher)

Motivation and Context
We want to enable people to access Neo4j knowledge graphs from Claude.ai, it's actually quite impressive what it can do out of the box with just a neo4j conenction, by generating the cypher statements (see screenshots below)
How Has This Been Tested?
I tested it with claude.ai and a neo4j test database, see screenshots below.
Also tested some error conditions, then claude recovered and tried a different approach.
Breaking Changes
No, because this is an initial server contribution.
Types of changes

[X] New MCP Server
[X] New features
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation update (Readme)

Checklist

[X] I have read the MCP Protocol Documentation
[X] My server follows MCP security best practices
[X] I have updated the server's README accordingly
[X] I have tested this with an LLM client
[X] My code follows the repository's style guidelines
[X] New and existing tests pass locally
[X] I have added appropriate error handling
[X] I have documented all environment variables and configuration options

Additional context
Screenshots from configuring the server with a demo database and readonly user and usage of that database with claude.ai desktop client

Ping @dsp-ant  :) (if you're not in the US otherwise happy thanksgiving 🦃 )

Thank you for taking the time to build this! We've now made some changes to how we'll manage the servers repo going forward.
TLDR: We're restructuring the MCP servers repository to focus on reference implementations only. New server implementations should be developed in separate repositories and can be added as links to our README, rather than submitted as PRs to this repository.
In line with that new approach, I'll close out this PR, but we would love to include a link to this server once it's in its own repo. Please do submit a new PR when it's ready!


CLI hangs indefintiely and linking fails after entering auth code from Dropbox on Raspbian 12

Describe the bug
This bug occurs on a Raspberry Pi running Raspbian 12. I'm encountering it both on an install inside of a venv and on an install using --break-system-packages, both with --user and without --user.
When attempting to authenticate using auth link or start from the CLI, when I paste the auth code back into the CLI prompt (? Enter the auth code:) and press enter, the code turns grey and the CLI hangs indefinitely without any output or message. I've allowed it to sit overnight (~12 hours) and it does nothing. After ctrl-Cing out of the hang, my account isn't linked, and maestral seems to be in a bit of an incoherent authentication state:

maestral auth status shows an entry for my account with email and account type filled in, but Dropbox ID blank
maestral auth unlink asks me if I'd like to unlink, but when I say yes, it responds ! No Dropbox account linked. Please link an account using the GUI or CLI.
maestral config-files shows me a configuration for the email address I tried to link (but that .ini file also doesn't contain my Dropbox ID, that line says account_id = )
maestral auth link just follows the linking flow again, with the same bug occurring

To Reproduce

Install maestral on a Raspberry Pi running Raspbian 12 using pip install --user --break-system-packages maestral, sudo pip install -break-system-packages maestral, or by creating a virtual environment and installing it in the venv with pip install maestral
maestral auth link or maestral start
When asked ? How would you like to you link your account?, select Print auth URL to console
Copy auth URL and put it in the browser
Click "Allow"
Copy the code
Paste it at the CLI's prompt asking ? Enter the auth code: and press enter.

Expected behaviour
My Dropbox account should be linked. (Or at least I should get an error message saying what went wrong)
System:

Maestral version: 1.8.0
Python version: Python 3.11.2
OS: Raspberry Pi Debian 12
Desktop environment: n/a, headless Raspberry Pi (I think it might have a desktop environment installed and running, but I've only been accessing it via ssh)
PyQt version (for Linux GUI): n/a, but 5.15.9

Note that I'm not using the GUI at all and didn't install it with the GUI enabled. Haven't tried the option for opening the auth link in the browser, since the machine is headless.
Additional context
I'm occasionally encountering something similar to #967, where something looking like ANSI escape codes (e.g., ^[[48;24R) get printed out in the middle of doing something else with the CLI (e.g., one of the commands above), which locks up the CLI and forces me to ctrl-C out. This happens seemingly at random, though it maybe happens more on a new configuration or fresh install? It happened only occasionally on the --user and venv installs, but I had a streak of it happening on every command for like 5-6 commands in a row on my non --user global install attempt.

Thanks for the detailed report and apologies for the slow response time.
Hanging indefinitely is not a great UX, maybe this could be solves by printing some message to the terminal notifying the user to unlock their keychain if not already done.
The interactions with the system keychain are handled by the keyring package and it does fall back to a plain text keyring (with an appropriate warning to the user) if no keychain can be accessed. The issue in your case I believe is the synchronous blocking until it's unlocked, which is not directly detectable to Maestral and possibly not at all from Python.
Still, I can imagine some pre-emptive message suggesting to ensure that the keyring is unlocked, which might help.


Pay Respect Button Doesn't Work

As the title said, I couldn't get the Pay Respect button to do anything. Not sure what the reason is.
Yesterday or several days ago, it worked.
I suspect it has to wait for the video to completely downloaded. But I'm not sure.

Lmao git gud


RPI5: add sdhc driver and sd-card support

Add Broadcom BCM2712 SDHC driver which implements SD Host Controller v3.0.
Only removable SD-card interface is supported and tested with FAT
file-system.
Supported/tested:

only SD Card support verified;
bus power ON/OFF;
only 3.3V bus voltage;
bus width 1,4;
clock rate 40KHz, 25MHz, 50MHz;
timings Legacy/SDR12, SDR25, DDR50;
signal voltage 3.3V and 1.8V with DDR50;
PIO transfer;
SDMA transfer;
only polling transfer.

Not supported/tested:

no IRQ support
ADMA;
no tuning;
SDR50 can be enabled, but no tuning;
SDR104

Tested with samples/subsys/fs/fs_sample:
west build -b rpi_5 -p always samples/subsys/fs/fs_sample
with CONFIG_FILE_SYSTEM_SHELL enabled.
Tested with tests/drivers/sdhc:
west build -b rpi_5 -p always tests/drivers/sdhc/

PASS - [sdhc.test_card_if_cond] duration = 1.503 seconds
PASS - [sdhc.test_card_presence] duration = 0.001 seconds
PASS - [sdhc.test_host_props] duration = 0.001 seconds
PASS - [sdhc.test_reset] duration = 0.002 seconds
PASS - [sdhc.test_set_io] duration = 0.008 seconds

@oleksiimoisieiev @dsemenets @xakep-amatop I'd appreciated for review

Updated with Kconfig option to support GPT with FATFS

Added tags. Added Kconfig option to enable multi-partition support in FATFS module.

For the last commit (fs/fatfs: Add CONFIG_FS_MULTI_PARTITION):
Reviewed-by: Volodymyr Babchuk<EMAIL_ADDRESS>

got warnings while building on top of your branchs:
mmc_warns.txt

got warnings while building on top of your branchs: mmc_warns.txt

What branch are you using exactly - the current code is differ:

Regulator warning is not my problem - it's upstream issue.

The second warning caused by my debug code. so please ignore it. But first one looks like you have redefined ret

Acked-by: Mykola Kvach<EMAIL_ADDRESS>for all commits after introducing appropriate fixes (or by explaining that we don't need the fixes, along with the reason), except for e77e238caf91751c9632902e0fcde34d15ceaa19.

The review is finished, and I believe I found a few issues. Please fix them if you agree, or explain why not.
Unfortunately, the review is poor because I don't have the hardware manual for the registers of the RPI 5 board.


MacID <IP_ADDRESS> -> 1.3.3

FYI:
Also, check out cask-repair, it makes Cask updates like this quite easy (details in CONTRIBUTING)

That would help, a little too much.

Thank you for the contribution. It was merged directly as e392f29d5295681b9688568769ea11c2a3413757 to keep commit history cleaner. Your contribution is still credited to you.


How does the evaluation of RL baselines is performed?

Hi! I trained my DD-PPO model on a single custom environment, but I created 4 different json episodes files to run the computation on 4 processes. Now I want to evaluate it but after few episodes the process seems to freeze and if I try to brutally stop it with ctrl-c I can see that the evaluation stopped in:
habitat_baselines/common/base_trainer.py", line 102, in eval
    time.sleep(2)  # sleep for 2 secs before polling again
KeyboardInterrupt
I've found that in habitat_baselines/rl/ppo/ppo_trainer.py the "env" is paused if the scene_id and the episode_id was already evaluated:

for i in range(n_envs):
                if (
                    next_episodes[i].scene_id,
                    next_episodes[i].episode_id,
                ) in stats_episodes:
                    envs_to_pause.append(i)

then a new process starts and it repeats the evaluation process resetting the n. of evaluations already performed by the previous process. After the 4th process has been paused none of them restart.
It seems I'm not getting how the eval process works. Could someone explain me how can I evaluate my model correctly?
P.S. I see that all the saved checkpoints are taken into account during evaluation. If I wish to evaluate on just the last one, is it ok to delete all the others?
Thanks in advance!

I solved the issue replicating my only environment file (mesh) n times to exploit the parallelization over n processes also during test time. Doing so I can assign n_test_episodes/n test episodes to each env, specifying the different env names in the test json file.
About the checkpoints used to evaluate performances, TEST_EPISODE_COUNT episodes will be evaluated for each checkpoint in the directory, so to just evaluate the last one I simply deleted all the others.


Python EventHubs test code revamp

This PR has only test code.
Added offline unittest for EventData as a starter
Put all live test under folder "livetest"

Can one of the admins verify this patch?

Wrong PR. Should be merge to eventhubs_preview4 instead of master


1925-scrolling-down-the-dropdown-menu-also-scrolls-the-plugin-screen

https://github.com/tokens-studio/figma-plugin/assets/25951419/bd1f92f5-5540-44e5-9378-04b1c6a9fa24

I also dont think the max height fix alone solves the problem 🤔 did you try on different window sizes?


[BUG] Ticketsystem reply is white

the support agent's answers have a white background and white writing, which makes the answers difficult to read

You should use
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.


Tag integration tests using fragments, id and decimal types

I tried splitting the update all expression syntax test in two, but what left wasn't testing anything other than the other tests do.

Typo corrected.


Ellipse Detection (Edge Grouping) Feasibility

@BradLarson , I'm pretty fresh to gpu programming, do you think that the algorithm discussed here http://enstar-robotcup-2012.googlecode.com/git-history/d2b3c01a7d9b8bad5f75d2e360c5d6318c61568a/CDDetector/ellipse-detection.pdf : could viably be implemented on a gpu?  If you think its feasible, I'm happy to give it a shot, especially if you have some tips on getting started. If, like Hough Circles, see #601, its not, I'll just do it on the CPU and use GPUImage for preprocessing.
Either way, awesome work.

I honestly don't know. I unfortunately don't have the time to fully review that paper, but I can't tell if what they describe is parallelizable enough to have run on a vertex or fragment shader. The Hough transform line detector implementation I use is based on one that was explicitly written to be a parallel operation and to rely on GPU capabilities.
If something similar could be done in parallel coordinate space for ellipses, perhaps it could be built off of what I have here so far.


Check for blank property values while deserializing.

@akshaydewan - I removed the check for tag while checking if the json needs to be deserialized to buildFileArtifactPlanConfig. Just check for whether the Image is present. Is that alright?


Dead lock issue with DisconnectAsync()

Hello,
While using this library we have sometimes a dead lock situation while calling Device.DisconnectAsync().
We tried to ignore this by avoiding to await on this function but in this case, the dead lock occurs later while trying to force the Adapter to remove the device from it's internal list (Adapter.RemoveDeviceAsync(Device)).
It seems to be an issue related to bluez since if we kill our software and try to manually remove or disconnect the device with bluetoothctl, we get a "org.bluez.Error.Busy" (in fact each commands return this error).
Did you already see such dead lock behavior ?
Thanks by advance and best regards.
Antoine

@agardiol, may I ask, if your application is doing anything else during this call to Disconnect?
I ask because the only time it happened to me was when we were performing a lot of advertisement calls in a fast-running loop and didn't stop other operations and BlueZ itself was overloaded.

Thanks for your answer.
As far as I know, we did not do anything asynchronously. I will check with my colleague asap (but he is out of the office for 4 days).

Hello @DamianSuess, I am working with @agardiol and I can confirm that we make sure to avoid doing anything asynchronously during this DisconnectAsync() call.
For info, we are working on multiple Raspberry Pi 4, all with BlueZ 5.66. One thing we noticed is that it seems to happen more often on devices with the latest Linux 6.6.20 installed than on older devices with Linux 6.1.0. But we're not sure if it's really linked.

@agardiol and @5CoVK
I updated the package to use the latest Tmds.DBus (v0.20).
Give it a shot and let me know if you're still running into this issue.


SyntaxError: TypeScript validation check failed.   You can look around, make experimental

6

changes and commit them, and you can discard any commits you make in this

7

state without impacting any branches by switching back to a branch.

8

If you want to create a new branch to retain commits you create, you may

9

do so (now or later) by using -c with the switch command.  Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.

116

2024-09-10T11:09:58.310Z [WARNING]: npm WARN deprecated<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.

117

2024-09-10T11:09:58.479Z [WARNING]: npm WARN deprecated<EMAIL_ADDRESS>Use @eslint/config-array instead

118

2024-09-10T11:09:58.501Z [WARNING]: npm WARN deprecated<EMAIL_ADDRESS>Rimraf versions prior to v4 are no longer supported

119

2024-09-10T11:09:58.827Z [WARNING]: npm WARN

120

2024-09-10T11:09:58.827Z [WARNING]: deprecated<EMAIL_ADDRESS>Use @eslint/object-schema instead

121

2024-09-10T11:09:58.839Z [WARNING]: npm

122

2024-09-10T11:09:58.840Z [WARNING]: WARN deprecated<EMAIL_ADDRESS>Glob versions prior to v9 are no longer supported

123

2024-09-10T11:09:58.849Z [WARNING]: npm WARN deprecated<EMAIL_ADDRESS>Glob versions prior to v9 are no longer supported

124

2024-09-10T11:09:58.905Z [WARNING]: npm WARN deprecated

125

2024-09-10T11:09:58.905Z [WARNING]<EMAIL_ADDRESS>This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.

126

2024-09-10T11:10:02.576Z [WARNING]: npm WARN deprecated<EMAIL_ADDRESS>Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

127

2024-09-10T11:10:12.219Z [WARNING]: npm

128

2024-09-10T11:10:12.224Z [WARNING]: WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

129

2024-09-10T11:10:14.785Z [INFO]: added 1213 packages, and audited 1340 packages in 35s

130

2024-09-10T11:10:14.786Z [INFO]: 171 packages are looking for funding

131

run `npm fund` for details

132

2024-09-10T11:10:14.787Z [INFO]: found 0 vulnerabilities

133

2024-09-10T11:10:14.820Z [INFO]: # Executing command: npx ampx pipeline-deploy --branch $AWS_BRANCH --app-id $AWS_APP_ID

134

2024-09-10T11:10:21.105Z [INFO]:

135

2024-09-10T11:10:27.093Z [INFO]: amplify/backend.ts(3,10): error TS2305: Module '"./data/resource"' has no exported member 'data'.

136

2024-09-10T11:10:27.132Z [INFO]:

137

2024-09-10T11:10:27.132Z [WARNING]: ampx pipeline-deploy

138

Command to deploy backends in a custom CI/CD pipeline. This command is not inten

139

ded to be used locally.

140

Options:

141

--debug Print debug logs to the console [boolean] [default: false]

142

--help Show help [boolean]

143

--branch Name of the git branch being deployed [string] [required]

144

--app-id The app id of the target Amplify app [string] [required]

145

--outputs-out-dir A path to directory where amplify_outputs is written. If no

146

t provided defaults to current process working directory.

147

[string]

148

--outputs-version Version of the configuration. Version 0 represents classic

149

amplify-cli config file amplify-configuration and 1 represe

150

nts newer config file amplify_outputs

151

[string] [choices: "0", "1", "1.1"] [default: "1.1"]

152

--outputs-format amplify_outputs file format

153

[string] [choices: "mjs", "json", "json-mobile", "ts", "dart"]

154

2024-09-10T11:10:27.132Z [INFO]: SyntaxError: TypeScript validation check failed.

155

Resolution: Fix the syntax and type errors in your backend definition.

156

Cause: Command failed with exit code 2: npx tsc --noEmit --skipLibCheck --project amplify

157

2024-09-10T11:10:27.261Z [ERROR]: !!! Build failed

158

2024-09-10T11:10:27.262Z [ERROR]: !!! Error: Command failed with exit code 1

159

2024-09-10T11:10:27.262Z [INFO]: # Starting environment caching...

160

2024-09-10T11:10:27.262Z [INFO]: # Uploading environment cache artifact...

161

2024-09-10T11:10:27.333Z [INFO]: # Uploaded environment cache artifact

162

2024-09-10T11:10:27.333Z [INFO]: # Environment caching completed

163

Reproduction steps
I upload the code from a github repo produced in visual studio code. My backend path C:\Users\Denise\Documents\amplify-social-room\amplify\backend\api\MyAppSyncAPI\build\schema.graphql only has one file schema.graphql
This is my backend-config.json file
{
"api": {}
}
There are no ts files. What am I missing?

Hey @DeniseJames, just to ensure is this a Amplify Gen 1 application?
if yes, I would suggest switching the deploy command npx ampx pipeline-deploy --branch $AWS_BRANCH --app-id $AWS_APP_ID on the amplify.yml in the build setting or if present in your repository to amplifyPush --simple

@ykethan This is a Gen 2 application.

Hey @DeniseJames, could you provide some information on how the application was setup?
as files such as schema.graphql and backend-config.json specific to Amplify Gen 1 which follows a different paradigm in creating your backend resources.

I found the one syntax error by running this
/npx tsc --noEmit --skipLibCheck --project amplify
/