help improvement suggestion

minor help text improvement suggestion:
current:
     --reload=FILE      Reload if any of these files change (defaults to
                        none)
     --restart=FILE     Restart the command if any of these files change
                        (defaults to .ghci or .cabal)

suggestion:

replace FILE by PATH
replace (defaults to .ghci or .cabal) by (defaults to .ghci and .cabal)
replace any of these files (that let one think that we can pass several files space separated using shell expansion) by something like given file or folder files or { given file | files in given folder } (no strong opinion on specific wording, but current one seems to imply I can pass --reload="foo foro/bar baz" which doesn't work

     --reload=PATH      Reload when { given file | files in given folder } change (defaults to
                        none)
     --restart=PATH     Restart the command when given file or folder files change
                        (defaults to .ghci and .cabal)

I'd rather avoid something like { ... | ...} - it seems to imply a deeper semantics than is really there. How about:
--reload=PATH    Reload when the given file or directory contents change (defaults to none).
--restart=PATH    Reload when the given file or directory contents change (defaults to .ghci and any .cabal file)

I agree. English reads better
(I used both {|} and plain english above just to see how it looks like / raise possible alternatives)

I went with:
 --reload=PATH      Reload when the given file or directory contents
                    change (defaults to none)
 --restart=PATH     Restart the command when the given file or directory
                    contents change (defaults to .ghci and any .cabal file)


Buffer ReverseProxy use http.ReverseProxy + XForwarded

Merge serveBufferHTTP and serveStreamHTTP to both use the http.ReverseProxy (as http.ReverseProxy without flushInterval works in "buffer" mode)
Fix XForwarded because some parts are in http.ReverseProxy

I close because I need to resolve a problem with ErrHandler


[sw, mubi] mubi software header locations

Related to the hardware package, we also need to add corresponding software headers such that the values can be easily reused.
After some discussions, it was determined that the best place for such code would be
sw/device/lib/base/multibits.h
let me know if there are any objections to this.

we have decided to place the headers in sw/lib/base/multibits.h.
thanks everyone.


Allow .text additions with first text already set

Something was weird when i edited the last one, so here it is revised

Is this the same as the second commit of #37, as that's what it looks like. It looks good to me, but I only checked briefly.

@MiniDigger he calls the 'then' function so that the text is not changed on the current element, but is appended as a new element to the chain.

I think that would be misleading. If you call the method you expect to write the text. If there already is a text, you did something wrong and you should get a notification about that (the exception)
If it just calls then, you may wonder why your text appears at the wrong place with wrong formatting etc.

@MiniDigger I was documenting his code (and I sent a PR to him), and I agree. I found this documentation (which I think I wrote) on the FancyMessage class:

This class follows the builder pattern, allowing for method chaining. It is set up such that invocations of property-setting methods will affect the current editing component, and a call to then() or then(Object) will append a new editing component to the end of the message, optionally initializing it with text. Further property-setting method calls will affect that editing component.

Considering this, and looking through the current code, the text method is the only method that is not consistent with this doc. IMHO the best way to do this would be to not care if the current element has text, but just change the current text. For existing plugins, if they work, nothing would change in terms of usage, as the method currently throws an exception in that case. For new plugins, they would know that every method changes the current element and the current element only. The component would only change when they call then.

That would make sense. I think you just need to remove https://github.com/mkremins/fanciful/blob/master/src/main/java/mkremins/fanciful/FancyMessage.java#L114-L116 and https://github.com/mkremins/fanciful/blob/master/src/main/java/mkremins/fanciful/FancyMessage.java#L124-L126.
This would make the class consistent with the doc. I doesn't realy make sense to disallow the user to change the text but allow him to change the color, extras etc after the initial assignment.

@MiniDigger I agree. I checked, and I wrote the doc after those methods were implemented. I clearly missed that, however I think that a change that does that would be good. I created PR #55 for this change.

So this can be closed, right?

I think so.

Closing this in favor of #55.


docs: explanation on WebRTC setup

I had a big trouble to get it right :) Because I was under impression I only need to change camera.front => camera.NAME. Maybe such description will help someone else save some time?

thanks for the contribution


Many warnings when running

After installing with npm i and embeding the code in the example in my react app, I get many warnings like the following:
Failed to parse source map from<EMAIL_ADDRESS>file: Error: ENOENT: no such file or directory, open<EMAIL_ADDRESS>

I get this as well


Unable to install C extension on PHP 5.5.20

Both sudo pecl install functional-0.6.0 and sudo pear upgrade -f pecl/functional end with ERROR: make' failed`.
Based on the stack trace, I think it's incompatabilities with the new PHP ZendEngine. The log filtering for 'error':
/tmp/pear/temp/functional/functional.c:451:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:451:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:492:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:492:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:539:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:539:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:585:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:585:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:629:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:629:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:675:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:675:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:719:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:719:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:777:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:777:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:830:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:830:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:880:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:880:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:941:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:941:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:999:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:999:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1045:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1045:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1098:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1098:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1153:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1153:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1200:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1200:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1333:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1333:4: error: void value not ignored as it ought to be
/tmp/pear/temp/functional/functional.c:1554:4: error: too many arguments to function ‘zend_user_it_get_current_key’
/tmp/pear/temp/functional/functional.c:1554:4: error: void value not ignored as it ought to be

I can post the full logs if you want.

Full logs would be appreciated. It’s really weird since travis tests are working: https://travis-ci.org/lstrojny/functional-php/jobs/46633089. Could you try installing master (not much change in the C extension anyway).

I was able to install using phpize, but how can I try using it?
<?php
$a = ['one' => 1, 'two' => 2, 'three' => 3];
F::pick($a, 'one');
F\pick($a, 'one');

And here are the full traces for the pear/pecl installs: https://gist.github.com/tonglil/c8cc3432e60525e583aa

Won’t fix as the C extension will be removed in 1.2


Crash with ansible in become from root to user

When I run the following task, ansible in pull mode fails badly with the following stackdump when using mitogen.
- name: Create first configuration
  shell: "echo '{{ gitolite_admin_key }}' > '{{ gitolite_path }}/adminkey.pub' && env -u PERL5LIB gitolite setup -pk '{{ gitolite_path }}/adminkey.pub' && rm '{{ gitolite_path }}/adminkey.pub'"
  args:
     creates: "{{ gitolite_path }}/.gitolite/conf/gitolite.conf"
  become: True
  become_method: su
  become_user: "{{ gitolite_user }}"

# gitolite : Create first configuration ***********************************************************************************
  * tschil                     - FAILED!!! ------------------------------------------------------
    Unexpected failure during module execution.
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 140, in run
        res = self._execute()
      File "/usr/lib/python2.7/dist-packages/ansible/executor/task_executor.py", line 612, in _execute
        result = self._handler.run(task_vars=variables)
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/mixins.py", line 121, in run
        return super(ActionModuleMixin, self).run(tmp, task_vars)
      File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/shell.py", line 27, in run
        result = command_action.run(task_vars=task_vars)
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/mixins.py", line 121, in run
        return super(ActionModuleMixin, self).run(tmp, task_vars)
      File "/usr/lib/python2.7/dist-packages/ansible/plugins/action/command.py", line 24, in run
        results = merge_hash(results, self._execute_module(task_vars=task_vars, wrap_async=wrap_async))
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/mixins.py", line 364, in _execute_module
        timeout_secs=self.get_task_timeout_secs(),
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/planner.py", line 573, in invoke
        kwargs=planner.get_kwargs(),
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 451, in call
        return self._rethrow(recv)
      File "/etc/ansible/plugins/mitogen/ansible_mitogen/connection.py", line 437, in _rethrow
        return recv.get().unpickle()
      File "/etc/ansible/plugins/mitogen/mitogen/core.py", line 963, in unpickle
        raise obj
    CallError: exceptions.OSError: [Errno 13] Permission denied: '/root/.ansible/pull/tschil.ethgen.de'
      File "<stdin>", line 3669, in _dispatch_one
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/target.py", line 422, in run_module
        return impl.run()
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/runner.py", line 440, in run
        self.setup()
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/runner.py", line 851, in setup
        super(NewStyleRunner, self).setup()
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/runner.py", line 623, in setup
        super(ProgramRunner, self).setup()
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/runner.py", line 374, in setup
        self._setup_cwd()
      File "master:/etc/ansible/plugins/mitogen/ansible_mitogen/runner.py", line 384, in _setup_cwd
        os.chdir(self.cwd)

~> ansible --version
ansible 2.7.5
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516]

Let me say that the file already exists so the shell command is not meant to run in this play.
And the mitogen version is v0.2.9.

Tested it with the current master but the same result.

Can you try these tasks? I'm curious on where it's going to fail. Your error is during Mitogen's setup, where it tries to change into the current working directory. Something about your run can't access the /root/.ansible/pull/tschil.ethgen.de dir, and this should pinpoint it hopefully 🤞 :
---
- name: Create first configuration
  shell: echo "foo"

- name: Create first configuration
  shell: echo "foo"
  args:
     creates: "{{ gitolite_path }}/.gitolite/conf/gitolite.conf"

- name: Create first configuration
  shell: echo "foo"
  become: True

- name: Create first configuration
  shell: echo "foo"
  args:
     creates: "{{ gitolite_path }}/.gitolite/conf/gitolite.conf"
  become: True

- name: Create first configuration
  shell: echo "foo"
  become: True
  become_method: su

- name: Create first configuration
  shell: echo "foo"
  args:
     creates: "{{ gitolite_path }}/.gitolite/conf/gitolite.conf"
  become: True
  become_method: su

- name: Create first configuration
  shell: echo "foo"
  become: True
  become_method: su
  become_user: "{{ gitolite_user }}"

- name: Create first configuration
  shell: echo "foo"
  args:
     creates: "{{ gitolite_path }}/.gitolite/conf/gitolite.conf"
  become: True
  become_method: su
  become_user: "{{ gitolite_user }}"

As expected, the first su to the non-root user fail
The directory /root/.ansible is mode 700. It was automatically created by ansible and this should not be a factor as the chdir should happen before the su happen. For security it makes sense to chdir to / before any rights (de)escalation.
How does ansible itself solves that?
TASK [gitolite : Create first configuration] ****************************************************************************************************************************
changed: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "cmd": "echo \"foo\"", "delta": "0:00:00.004260", "end": "2020-07-26 10:09:48.075647", "rc": 0, "start": "2020-07-26 10:09:48.071387", "stderr": "", "stderr_lines": [], "stdout": "foo", "stdout_lines": ["foo"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
ok: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "cmd": "echo \"foo\"", "rc": 0, "stdout": "skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists", "stdout_lines": ["skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
changed: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "cmd": "echo \"foo\"", "delta": "0:00:00.004058", "end": "2020-07-26 10:09:48.343395", "rc": 0, "start": "2020-07-26 10:09:48.339337", "stderr": "", "stderr_lines": [], "stdout": "foo", "stdout_lines": ["foo"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
ok: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "cmd": "echo \"foo\"", "rc": 0, "stdout": "skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists", "stdout_lines": ["skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
changed: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "cmd": "echo \"foo\"", "delta": "0:00:00.005166", "end": "2020-07-26 10:09:48.717165", "rc": 0, "start": "2020-07-26 10:09:48.711999", "stderr": "", "stderr_lines": [], "stdout": "foo", "stdout_lines": ["foo"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
ok: [tschil] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "cmd": "echo \"foo\"", "rc": 0, "stdout": "skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists", "stdout_lines": ["skipped, since /home/gitolite/.gitolite/conf/gitolite.conf exists"]}

TASK [gitolite : Create first configuration] ****************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was:     os.chdir(self.cwd)
fatal: [tschil]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}

Ansible makes shell calls to run lots of things, compared to Mitogen which does most of its things with native Python.
You state ...this should not be a factor as the chdir should happen before the su happen; this is what is happening 😅
The chdir can't happen though if permissions don't allow it to. It's similar to this:
$ sudo mkdir ownedByRoot
$ sudo chmod 700 ownedByRoot/
$ cd ownedByRoot/
-bash: cd: ownedByRoot/: Permission denied

Can you run the playbook I posted before without Mitogen? I would think it should still fail because of this block here:
become: True
become_method: su
become_user: "{{ gitolite_user }}"

This block ^^^ is telling Ansible/Mitogen to run a task via su as the {{ gitolite_user }}, but Ansible/Mitogen can't check the creates: part because the {{ gitolite_user }} can't access a root dir that has perms 700.

Sure I can do it. But I don't expect something new. the playbook worked before I migrated to mitogen.
Let me tell you, that I even added a chdir: / to the now broken task but without any success.
When I use ansible-pull, I have no influence, which rights /root/.ansible would have as that is controlled by ansible itself.
So, in between the playbook above run without problem commenting out mitogen from ansible.cfg.
Your use case doesn't meet in that case. Remember, ansible-pull is run by root and does (in this case) a deescalation to a unprivileged user. Further more, I don't see why the check for existence should also be done after the su (even if it should be safe to do so to support the other way around, changing to root).
 There is no explicit chdir into the directory with no rights. And the gitolite_user has also full rights to gitolite_path. Remember, I speak about the chdir, done before executing (or checking) in the shell module. Eventually explicit given as described above but at least to /.
Let me summary that:

The playbook is run by ansible-pull by root (via cron)
The directory /root/.ansible is created by ansible with mode 0700.
It doesn't matter if I add args: {chdir: /}
With plain ansible the playbook run without complaining
With mitogen, it error out with the su (I expect there to be some implicite chdir into that directory)
We talk about an deescalation, so the transition is from root to gitolite_user, not the way around as it would be when  using ansible by ssh to an unprivileged user.

Sorry that I cannot dive into the python code. My python knowledge is very limited. I came from the perl side. ;-)

Thanks for this info! It's definitely a bug in Mitogen if it works in Ansible without Mitogen. I think there's enough info here to reproduce the problem on my end; I'll try to get to this issue in a week or two if it hasn't been picked up by someone else in that time (currently banging my head on trying to get #723 to work)

@mowgli do you have a simple standalone playbook I could use to replicate the issue? I tried replicating the issue but I don't use ansible-pull so am not sure how you ran things.
Here's what I tried running inside a container:
Centos8 OS
Ansible 2.7.5
Python 2
- name: make dir owned by root
  become: True
  file:
    path: /root/.ansible
    state: directory
    mode: '0600'
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

- name: create new test user in container
  become: True
  user:
    name: dummy
    shell: /bin/bash
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

- name: run something as a different user
  shell: echo "foo"
  become: True
  become_method: su
  become_user: dummy
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

but it worked because the container doesn't have anything in the /root/.ansible dir.

Hi Steven,
Am So den 16. Aug 2020 um  7:28 schrieb Steven Robertson:

@mowgli do you have a simple standalone playbook I could use to replicate the issue? I tried replicating the issue but I don't use ansible-pull so am not sure how you ran things.
Here's what I tried running inside a container:
Centos8 OS
Ansible 2.7.5
Python 2
- name: make dir owned by root
  become: True
  file:
    path: /root/.ansible
    state: directory
    mode: '0600'
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

- name: create new test user in container
  become: True
  user:
    name: dummy
    shell: /bin/bash
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

- name: run something as a different user
  shell: echo "foo"
  become: True
  become_method: su
  become_user: dummy
  vars:
    ansible_python_interpreter: "/usr/libexec/platform-python"

but it worked because the container doesn't have anything in the /root/.ansible dir.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dw/mitogen/issues/734#issuecomment-674486183

I suggest the following script as root:
#! /bin/sh
if [ $LOGNAME != "root" ]
then
   echo "The script has to run as root"
   exit 1
fi

mkdir -p /root/.ansible/tmp /root/.ansible/pull
chmod 700 /root/.ansible /root/.ansible/tmp
cd /root/.ansible/pull
[ -e test ] && rm -fr test

git clone /tmp/testansible.bundle test

cd test
ansible-playbook -i hosts test.yaml

Where you put a bundle /tmp/testansible.bundle of your test playbook to.
Alternativelly replace the git clone with a tar or something that
creates the test directory with the playbook.
This should replicate the behaviour of ansible-pull.
 So it will
never use the /root/.ansible directory. But this is the key point. The
playbook is run as root and /root/.ansible/pull/<hostname> holds the
git clone of your playbook.
Ah yes, I looked into the ansible-pull script where you see the
following:
        b_ansible_dir = os.path.expanduser(os.path.expandvars(b"~/.ansible"))
        try:
            os.mkdir(b_ansible_dir, 0o700)
        except OSError as exc:
            if exc.errno != errno.EEXIST:
                display.warning("Failed to create the directory '%s': %s"
                                % (to_text(b_ansible_dir, errors='surrogate_or_replace'),
                                   to_text(exc, errors='surrogate_or_replace')))
        else:
            display.debug("Created the '%s' directory" % to_text(b_ansible_dir, errors='surrogate_or_replace'))

Regards
Klaus
Klaus Ethgen                                       http://www.ethgen.ch/
pub  4096R/4E20AF1C 2011-05-16            Klaus Ethgen<EMAIL_ADDRESS>Fingerprint: 85D4 CA42 952C 949B 1753  62B3 79D0 B06F 4E20 AF1C

@mowgli thanks so much for the repro steps! :D
I'll need to put this on hold until Ansible 2.10/collections support is finished: https://github.com/dw/mitogen/pull/715#issuecomment-674349925 , but will resume this after that point. If you'd like to take a look in the meantime, you could play around with this: https://github.com/dw/mitogen/blob/master/ansible_mitogen/runner.py#L384
Here's how I test Mitogen patches: https://github.com/s1113950/mitogen-test and what I was doing to try and get yours to work:

Also sorry for closing, was a misclick when I meant to hit comment 😅


Cannot override Neo4J Log Folder setting

It looks like we are no longer able to override the value of where neo4j stores it log files. Originally we had this mapped to a folder located on the host using the environment variable "NEO4J_dbms_directories_logs"
Image Tag: neo4j:3.5.8-enterprise
Docker Version: 19.03.2
Operating System: Windows 10
Steps to reproduce:

Create a docker-compose.yml
Setup an environment variable called NEO4J_dbms_directories_logs as shown in attached
Run docker-compose and observe

Expected behavour:
Log files to be stored in given folder specified by environment variable.
Actual Behaviour:
Default of "/logs/" always used.
Docker-Compose.txt

OK it looks as though this broke between 3.5.2 and 3.5.3 which was 21st Jan to 11th Feb. This is around the time I merged #161 which was a load of changes to the /logs mounting. That's probably what broke it.
There's a 3.5.10 release coming tomorrow ish, so I'll try get a fix in before then.


Fix for issue #20 - Not compatible with Bot Builder 3.5.9

Updated the Microsoft.Bot.Builder NuGet packages to the latest (<IP_ADDRESS>) - See issue #20 for more info.

@jamesmcroft,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks for your help!

I'll update the Nuget shortly


An Idea. Magnet. Take consideration?

Understanding the ideal you want to keep the elements low, I do wish to ask for one type of element that can be used to interact with other elements. The element is Magnet. It will look like a shiny stone element with a smooth textured look. The idea is that it will be able to attract nearby magnetic materials.
The Magnet should be able to interact with a repulse and an impulse rate. This means a specific material would have to be touching the magnet at the time to make it determine either it is pulling/repelling or not. An example element of a switch would be lava, as lava is a heat source it may be used to power the magnet.
The magnet should be limited on pull range, this should only be 40-60 pixels from its location, this is to keep it from beings game breaking.
Possible attractable materials would be and are included as Stone, Dust(this is because dust(s) have an electric charge), gas, and maybe sand.
I believe this element will allow the user to be able to make interactive auto inventions, this can include factories and or cycles of variations of elements across a board, or even SORTERS! I really hope that this can come to mind and spark an interest. I am sure the community would love to have a magnet as an element. Thank you!
-AutoBackNeck

(side note) If you do not think this idea would work, or the idea would be too complicated, you can always narrow it down to a similar element. Since magnetic material is consider biological(which biological elements seem to be the main element genre in game) I would think this would be a great addition!
-AutoBackNeck

very interesting idea! thanks for writing it up


Fix colorscale

Pull in https://github.com/Yelp/terraform-provider-signalform/pull/36
r? @sjung-stripe
cc @choo-stripe @stripe/observability

your pr is merging into master, needs to be merging into stripe-master


Sass 430 2

Made to replace SASS-430

Tests are failing where tax year the tax year is not equal 2022


Transition VW camera and radar traffic from CAN1 to CAN2

The current VW port uses CAN0 for extended CAN/GW and CAN1 for extended CAN/devices (such as ACC radar, camera, rear radar, etc). Comma standard, per rbiasini's comment on https://github.com/commaai/panda/pull/165, is to have that CAN1 stuff on CAN2 and reserve CAN1 for other future uses, like potential radar/camera sensor fusion. Will need to write some autodetect code or have a flag-day for users of the port.

Done and merged into comma/master.


Study Break Dates

Review proposal in application. Date Ranges
Question:  What are the dates of your offering (enter dates)?
Question:  Please provide the dates of any breaks in study during this offering.  (allow for multiple break periods)
Validation Rule:  Add the total number of break days and divide by the total number of days in the offering.  IF less than 10% proceed if more than 10% throw warning (Be advised that your breaks in study exceed the allowable percentage as per SABC policy.)
If Yes,  then
If No, then  throw a warning and

Related to #737

decision captured in 737


chore: better error handling on search screen

Description
This PR brings some improvement to the way we handle errors in the search screen inspired by @gkartalis comments on Slack. This includes:

Using the new middleware for the search screen - this means that failure in the different rails, won't lead to the search tab failing
Use better error messages when the search query fails
Only show the retry button once to retry the query, the goal behind that is to avoid having the user blocked in infinite cycle of refreshing

https://github.com/artsy/eigen/assets/11945712/6a49dc41-18f9-4b04-b1ed-7d76344bbf41

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

better error handling on search screen - george, mounir

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (better error handling on search screen - george, mounir)

  Generated by :no_entry_sign: dangerJS against be64292ae9203929a981618674d84f132b65d049


System.IO.IOException occurs when running Azure object detection project.

System Information (please complete the following information):

Windows 10 Enterprise, Version 20H2
ML.Net Model Builder (Preview): <IP_ADDRESS>5505
Microsoft Visual Studio Enterprise 2019: 16.9.3
.Net: 5.0.201

To Reproduce
Steps to reproduce the behavior:

Create new console app with .Net 5.0;
Add model builder by right click on the project;
Select "Object detection" scenario and set up workspace;
Input the data and trained successfully;
Add a solution on consume page;
Run the sample console app project;
See error: System.IO.IOException: The filename, directory name, or volume label syntax is incorrect.

Expected behavior
No error during running the project.
Screenshots

Additional context
Data (labeled and exported by using VOTT) from this tutorials: :https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/object-detection-model-builder

I'm not seeing the problem anymore

Yes, also not occurs on latest main branch: <IP_ADDRESS>7401


Reference File

I apologise for the clumsiness but I'm new to using Prolif and I have to use it to generate an interaction fingerprint.
Can you kindly explain the input parameters if possible?
I can't understand what is to be input as the reference file.
Thank You.

Hi,
What I call the "reference" is typically a ligand that was co-cristallized with the protein you're interested in, or a docking pose of a ligand that is known to interact with your protein. This reference is used for 2 things here:

Automatically identify protein residues that are close to your ligand. The list of residues will then be used for generating interaction fingerprints (IFP). You can provide your own list of residues to bypass this step.
Calculate a similarity score (usually a Tanimoto score) between your reference and any other molecule in your virtual screening library. The Tanimoto score will be computed based on the IFPs of your reference and a molecule.

For example, if you're interested in this protein, the isobutyryl-CoA could be used as your reference. The resulting command would be something like
prolif	--protein 6MFD_protein.mol2 \
	--reference 6MFD_isobutyryl-CoA.mol2 \
	--ligand 6MFD_docking-output/*.mol2

If you're only interested in generating an IFP and not in the similarity score, you can use the following python code to get an IFP:
from prolif.ligand import Ligand
from prolif.protein import Protein
from prolif.fingerprint import Fingerprint

# create the fingerprint generator
fp = Fingerprint()
# load your protein
protein = Protein('my_protein.mol2', residueList=['C12', 'E29', 'K88'])
molecule = Ligand('my_ligand.mol2')
fp.generateIFP(molecule, protein)
print(molecule.IFP)

If needed you can customize which type of interactions you want for your IFP, and also provide custom parameters to optimize the way these interactions are detected. This is done by calling fp = Fingerprint(json_file='your_parameters.json', interactions=['HBdonor','HBacceptor']). The default JSON parameters file is here.
Please keep in mind that this is a work in progress, so I haven't got the time to fully optimize the parameters or run extensive tests yet.
Don't hesitate if you have other questions.
Cédric

Thank you so much, I'm just interested in generating the IFP for now.
I tried running the code that you provided to me for a "1hyv.mol2" protein and "tta.mol2" ligand but however I'm getting a 0 length IFP returned with a message saying
Set centroid to 6.352 46.005 -10.864

Is there something that I'm doing wrong here?

"Set centroid" is just a bad phrasing from my part. I replaced it to "Ligand centroid was detected as" in the current GitHub version, and did a few bugfixes as well. You can install the current github version with pip install git+https://github.com/cbouy/ProLIF.git
Here the problem is that the ligand you're using is quite special. The phenyl rings don't have other aromatic residues to interact with, and for the arsenic atom you would probably have to compute accurate charges if you want to see some electrostatic interactions. The parameters for ionic and metallic interactions might also have to be tweaked as I said previously.


Unreal Engine Installed Build fix does not work on Unreal 5.2

PlayFabParty.uplugin does not contain a WhitelistPlatforms key in the version supplied in Unreal 5.2. Adding a BlacklistPlatforms key to the modules section as shown produces many compiler errors when building OnlineSubsystemPlayFab. Leaving the key out produces an error that WinGDK\Party.dll is configured to be staged from multiple locations, which is probably the error the fix is trying to correct.

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

ID: b4e7dac9-3f81-eedb-67de-a09971732ba7
Version Independent ID: 546ab4b2-856c-3e1f-3a05-15de1283727c
Content: PlayFab Online Subsystem (OSS) Quickstart - PlayFab
Content Source: playfab-docs/features/multiplayer/networking/party-unreal-engine-oss-quickstart.md
Service: playfab
GitHub Login: @PushpadantK
Microsoft Alias: pkacha

The issue is fixed in https://github.com/MicrosoftDocs/playfab-docs-pr/pull/2199, and PR has been merged to main branch. Should be live in the next week.


inject registration yaml into an existing ISO

I am wondering if it is somehow possible to inject a registration yaml to an already existing ISO, so we could release ISOs and prevent users of having to build its own ISO.
xorriso -boot_image any keep -dev myimage.iso -map <pathtofile>/registration.yaml /livecd-cloud-config.yaml

Adds the yaml file into the ISO however, it breaks the boot image somehow. Boot image options in xorriso are endless and I am wondering to what extend it is possible to append a fine keep the boot bits alive, so the ISO is still bootable after appending some extra bits.
If we manage to achieve such a thing then it would be simple to relay on released ISOs in order to bootstrap clusters and make the ISO creation process way lighter.

Hi,
i am the developer of xorriso. Your xorriso run is supposed to keep the
boot equipment of myimage.iso as is. So i wonder what goes wrong for you.
Be invited to discuss this on the<EMAIL_ADDRESS>mailing list or
in private with me via<EMAIL_ADDRESS>.
It would be helpful if i had the ISO image which is base of your experiment.
Consider to give me a link.
Have a nice day :)
Thomas

i am the developer of xorriso. Your xorriso run is supposed to keep the boot equipment of myimage.iso as is. So i wonder what goes wrong for you.

@scdbackup it is really cool and appreciated you contacted us, thanks much. We create the EFI only ISO with the following command:
xorriso -volid COS_LIVE -padding 0 -outdev elemental.iso -map <path_to_root_tree> / -chmod 0755 --
  -append_partition 2 0xef <path_to_efi_image_file>
  -boot_image any cat_path=/boot/boot.catalog
  -boot_image any cat_hidden=on
  -boot_image any efi_path=--interval:appended_partition_2:all::
  -boot_image any platform_id=0xef
  -boot_image any appended_part_as=gpt
  -boot_image any partition_offset=16

and with the resulting image we call
xorriso -boot_image any keep -dev elemental.iso -map <pathtofile>/registration.yaml /livecd-cloud-config.yaml

to include a new file and the image is created, however xorriso complains with
xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE : 12 nodes read in 1 seconds
libisofs: WARNING : Found hidden El-Torito image. Its size could not be figured out, so image modify or boot image patching may lead to bad results.
xorriso : NOTE : Detected El-Torito boot information which currently is set to be kept unchanged
Drive current: -dev 'elemental.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR protective-msdos-label cyl-align-off GPT
Media summary: 1 session, 307400 data blocks,  600m data, 51.5g free
Volume id    : 'COS_LIVE'
xorriso : UPDATE : 1 files added in 1 seconds
Added to ISO image: file '/livecd-cloud-config.yaml'='<local_path>/livecd-cloud-config.yaml'
xorriso : NOTE : Keeping boot image unchanged
libisofs: NOTE : Cannot arrange content of data files in surely reproducible way
libisofs: FAILURE : Appended partition which shall serve as boot image does not exist
libisofs: MISHAP : File "BOOT CATALOG" can't be opened. Filling with 0s.
libisofs: NOTE :  > Caused by: Trying to use an invalid file as boot image
ISO image produced: 30 sectors
Written to medium : 192 sectors at LBA 307424
Writing to 'elemental.iso' completed successfully.

xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE

To me it feels like there is some inconsistency in the former ISO creation. I am far from an expert regarding ISOs so I struggle to find the proper settings.

Hi,
David Cassany Viladomat wrote:

@scdbackup [github.com] it is really cool

I don't doubt that and do not try to lure people or discussions away from
it. It's just that it's obviously about a potential xorriso problem and
that i am used to discuss those via mail. My favorite workstation is old
and does not play well with the buttons and menus of github web interface.

We create the EFI only ISO with the following command:
xorriso  ...
append_partition 2 0xef <path_to_efi_image_file>

An ISO with appended partition is not really suitable for adding another
session. At least the size of the ISO filesystem will get expanded over
the size of its partition 1 and include the range of partition 2.
Therefore i would advise to let xorriso create a new ISO which uses the
old one as base but will not change it.
Regrettably your old xorriso version 1.4.6 is not able to perform the job
properly unless you give it the original boot options and an EFI image on
disk. See below at the end of this mail.

xorriso -boot_image any keep -dev elemental.iso -map /registration.yaml /livecd-cloud-config.yaml

So my advice for the current release xorriso-1.5.4 translates to:
test -e new.iso && rm new.iso
xorriso -indev elemental.iso -outdev new.iso
-map /registration.yaml /livecd-cloud-config.yaml
-boot_image any replay
Note that the -boot_image "replay" command has to be given after -indev.
"keep" is a setting which may be defined before -indev or -dev.
"replay" is an action which depends on what was detected during action
-indev.

xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.

That's causing nostalgic feelings in me. Released 6 years ago when the world
was quite a different one ...
There were bugs in -boot_image "replay" which only showed up, wenn the
distro packagers began to give up the old isohybrid layout of ISOLINUX.
Consider to get the current release 1.5.4 as standalone source tarball
https://www.gnu.org/software/xorriso/xorriso-1.5.4.pl02.tar.gz
or the development snapshot
https://www.gnu.org/software/xorriso/xorriso-1.5.5.tar.gz
Installation instructions are in
https://www.gnu.org/software/xorriso/README_xorriso
Essentially:
cd ...somewhere...
tar xzf xorriso-1.5.4.pl02.tar.gz
cd xorriso-1.5.4
./configure --prefix=/usr
make
First sign of life would then be the output of this run
xorriso/xorriso -version
which should say something like
GNU xorriso 1.5.4.pl02 : RockRidge filesystem manipulator, libburnia project.
...
Version timestamp :  2<IP_ADDRESS>001
Build timestamp   :  -none-given-
libisofs   in use :  1.5.4  (min. 1.5.4)
libjte     in use :  2.0.0  (min. 2.0.0)
libburn    in use :  1.5.4  (min. 1.5.4)
libburn OS adapter:  internal GNU/Linux SG_IO adapter sg-linux
libisoburn in use :  1.5.4  (min. 1.5.4)
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
...
The listed libraries are statically linked into the xorriso binary and will
not interfere with the locally installed older lib*.so.* .
You may run the binary from where it was built
...somewhere.../xorriso-1.5.4/xorriso/xorriso
or you may replace the local older /usr/bin/xorriso by it.
A classic
make install
as superuser is possible, too. You'd first have to uninstall the older
xorriso, in order not to confuse your distro's package management.
Vice versa you'd need to uninstall GNU xorriso before letting your
package management install its own xorriso package.

libisofs: FAILURE : Appended partition which shall serve as boot image does not exist
libisofs: MISHAP : File "BOOT CATALOG" can't be opened. Filling with 0s.
libisofs: NOTE :  > Caused by: Trying to use an invalid file as boot image

Yep. I get these too with xorriso-1.4.6 and ubuntu-22.04-desktop-amd64.iso
as base ISO:
cp ubuntu-22.04-desktop-amd64.iso test.iso
xorriso -boot_image any keep
-dev test.iso
-map /...some.path... /...some.path... \
The result still has a recognizable EFI partition for booting from USB stick
but a damaged El Torito boot catalog for booting from CD/DVD/BD media.
(I did not check whether content of the EFI partition is undamaged.
Chances are not too bad, though.)

The same run with xorriso-1.5.4 reports no FAILURE or MISHAP errors.
Inspection of the resulting ISO by xorriso-1.5.4 looks encouraging:
xorriso -indev test.iso -report_system_area plain -report_el_torito plain
yields
...
MBR partition table:   N Status  Type        Start       Blocks
MBR partition      :   1   0x00  0xee            1      7138587
...
GPT partition name :   2<PHONE_NUMBER>0065006e006400650064003200
GPT partname local :   2  Appended2
GPT partition GUID :   2  b8b29da0f6b5ae43afb191e0a90189a1
GPT type GUID      :   2  28732ac11ff8d211ba4b00a0c93ec93b
GPT partition flags:   2  0x0000000000000000
GPT start and size :   2  7129428  8496
...
El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4         697
El Torito boot img :   2  UEFI  y   none  0x0000  0x00   8496     1782357
El Torito img path :   1  /boot/grub/i386-pc/eltorito.img
El Torito img opts :   1  boot-info-table grub2-boot-info
El Torito img blks :   2  2124
So xorriso still recognizes the GPT and the EFI partition in it.
The partition's range is also recognized as El Torito EFI boot image
(ISO 9660 LBA is in blocks of 2048 bytes, GPT counts in blocks of 512.)
fdisk still recognizes GPT and EFI partition:
/sbin/fdisk -l test.iso
yields
GPT PMBR size mismatch (7138587 != 7140095) will be corrected by w(rite).
Disk test.iso: 3.4 GiB,<PHONE_NUMBER> bytes, 7140096 sectors
...
Disklabel type: gpt
...
Device       Start     End Sectors  Size Type
test.iso1       64 7129427 7129364  3.4G Microsoft basic data
test.iso2  7129428 7137923    8496  4.2M EFI System
test.iso3  7137924 7138523     600  300K Microsoft basic data
The protest about size is mainly a consequence of adding a session to an
ISO with appended partition. Smaller size deviations stem from zero
padding at the end of the ISO image file.

Above proposal to create a new ISO from the old one by
test -e new.iso && rm new.iso
xorriso -indev ubuntu-22.04-desktop-amd64.iso -outdev new.iso
-map /...some.path... /...some.path...
-boot_image any replay
yields a result that causes slightly different numbers in the report:
MBR partition table:   N Status  Type        Start       Blocks
MBR partition      :   1   0x00  0xee            1      7136955
...
GPT partition name :   2<PHONE_NUMBER>0065006e006400650064003200
GPT partname local :   2  Appended2
GPT partition GUID :   2  8c780e0b5f985345bb0d15c582b0c36a
GPT type GUID      :   2  28732ac11ff8d211ba4b00a0c93ec93b
GPT partition flags:   2  0x0000000000000000
GPT start and size :   2  7128396  8496
...
El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4         436
El Torito boot img :   2  UEFI  y   none  0x0000  0x00   8496     1782099
El Torito img path :   1  /boot/grub/i386-pc/eltorito.img
El Torito img opts :   1  boot-info-table grub2-boot-info
El Torito img blks :   2  2124
fdisk is still complaining about a smaller mismatch of partitioned size
and image file size. This comes from padding up to full blocks of 64 KiB
and from the default padding to protect the ISO's end from the Linux
TAO CD Readahead bug.
Nevertheless, in this case the ISO filesystem does not reach over the
end of its partition 1 and there is no meaningful data after partition 2.
So i deem it better than the result of -boot_image "keep".

As stated above, xorriso-1.4.6 has bugs with -boot_image "replay" on
appended partitions. If you need to stay with that version, try:
test -e new.iso && rm new.iso
xorriso -indev elemental.iso -outdev new.iso
-map /registration.yaml /livecd-cloud-config.yaml
-append_partition 2 0xef <path_to_efi_image_file>
-boot_image any cat_path=/boot/boot.catalog
-boot_image any cat_hidden=on
-boot_image any efi_path=--interval:appended_partition_2:all::
-boot_image any platform_id=0xef
-boot_image any appended_part_as=gpt
-boot_image any partition_offset=16
If you don't have <path_to_efi_image_file> any more, then you would have
to extract it by dd, according to the numbers e.g. shown by fdisk -l on
the elemental.iso.
With the ubuntu ISO above that would be:
dd if=ubuntu-22.04-desktop-amd64.iso bs=512 skip=7129428 count=8496
of='<path_to_efi_image_file>'
Have a nice day :)
Thomas

Hi,
i sent this by mail yesterday but it does not show up on the web page:
David Cassany Viladomat wrote:

I also removed the
partitions from my ISO as I noted they are no longer necessary, I think they
just stayed there from a time we attempted to build BIOS & EFI capable
images bootable from a block storage.

EFI specs demand an EFI partition with VFAT filesystem for booting from
USB stick or hard disk.
From CD, DVD, or BD media it is supposed to work via an El Torito catalog
entry which advertises a VFAT filesystem image as boot image.
Usually in a modern bootable ISO, partition table and El Torito catalog
mark the same storage area for EFI. Your shown xorriso run does this by
-append_partition 2 0xef <path_to_efi_image_file>
...
-boot_image any efi_path=--interval:appended_partition_2:all::
The virtual machine EFI OVMF is known to be too liberal by booting via
El Torito from virtual hard disk and by partition table from virtual DVD.
So better do not take success on a virtual machine as reliable prediction
of success on real hardware.
Have a nice day :)
Thomas

After several tests and the insides discussed here it is clear that safe way to go is rewriting the ISO with xorriso. This can simply be done with something like:
time xorriso -indev elemental.iso -outdev elemental_modified.iso -map overlay/livecd-cloud-config.yaml /livecd-cloud-config.yaml -boot_image any replay
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

xorriso : NOTE : Loading ISO image tree from LBA 0
xorriso : UPDATE :      12 nodes read in 1 seconds
libisofs: NOTE : Found hidden El-Torito image for EFI.
libisofs: NOTE : EFI image start and size: 307386 * 2048 , 8192 * 512
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded
Drive current: -indev 'elemental.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR protective-msdos-label cyl-align-off GPT
Media summary: 1 session, 309450 data blocks,  604m data,  297g free
Volume id    : 'COS_LIVE'
Drive current: -outdev 'elemental_modified.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data,  297g free
xorriso : UPDATE :       1 files added in 1 seconds
Added to ISO image: file '/livecd-cloud-config.yaml'='/home/deivit/work/elemental-cli/overlay/livecd-cloud-config.yaml'
xorriso : NOTE : Replayed 16 boot related commands
xorriso : NOTE : Copying to System Area: 32768 bytes from file '--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:elemental.iso'
xorriso : UPDATE : Writing:      16384s    5.3%   fifo 100%  buf  50%
xorriso : UPDATE : Writing:      90592s   29.3%   fifo  99%  buf  50%  121.7xD
xorriso : UPDATE : Writing:     159840s   51.6%   fifo  99%  buf  50%  102.2xD
xorriso : UPDATE : Writing:     229376s   74.1%   fifo 100%  buf  50%  102.6xD
xorriso : UPDATE : Writing:     298464s   96.4%   fifo 100%  buf  50%  102.0xD
ISO image produced: 309403 sectors
Written to medium : 309584 sectors at LBA 48
Writing to 'elemental_modified.iso' completed successfully.

real    0m5.035s
user    0m1.851s
sys     0m2.333s

The new ISO was created with 5seconds on my laptop (not high end box). So  I believe the way to proceed to actually release ISOs and adapt our elemental-build-iso script to actually download a release and run the above command to produce a new one adding the custom yaml file.
Closing this card  and creating specific follow up issues

Hi,
David Cassany Viladomat wrote:

I also removed the
partitions from my ISO as I noted they are no longer necessary, I think they
just stayed there from a time we attempted to build BIOS & EFI capable
images bootable from a block storage.

EFI specs demand an EFI partition with VFAT filesystem for booting from
USB stick or hard disk.
From CD, DVD, or BD media it is supposed to work via an El Torito catalog
entry which advertises a VFAT filesystem image as boot image.
Usually in a modern bootable ISO, partition table and El Torito catalog
mark the same storage area for EFI. Your shown xorriso run does this by
-append_partition 2 0xef <path_to_efi_image_file>
...
-boot_image any efi_path=--interval:appended_partition_2:all::
The virtual machine EFI OVMF is known to be too liberal by booting via
El Torito from virtual hard disk and by partition table from virtual DVD.
So better do not take success on a virtual machine as reliable prediction
of success on real hardware.
Have a nice day :)
Thomas


SingletonFunction is not supported for the addLambdaFunctions method.

I have a SingletonFunction in my cdk codebase to handle migrations. The typing for the addLambdaFunctions method as it is now does not support this construct because it does not inherit from the plain lambda.Function, it implements the lambda.IFunction interface.
It would be good if addLambdaFunctions could support it with:
public addLambdaFunctions(
   lambdaFunctions: (lambda.Function | lambdaNodejs.NodejsFunction | lambdaPython.PythonFunction | lambda.SingletonFunction)[],
 )

or some similar implementation.
What do you guys think?

After a quick look it seems like SingletonFunction is missing some critical properties & methods we need in order to add instrumentation to the Lambda functions.
Properties:
  public readonly runtime: Runtime;
  public readonly logGroup: logs.ILogGroup;

Methods:
  public addEnvironment(key: string, value: string, options?: EnvironmentOptions): LambdaFunction
  public addLayers(...layers: ILayerVersion[]): void

I've created an issue in the aws-cdk repo to see if there is a reason these were omitted. If we can add them to the SingletonFunction class, then we can go ahead and add support for SingletonFunction in addLambdaFunctions.

This was fixed and released in AWS-CDK v1.133. Closing the issue now.


All the workflow timestamps is showing 12:00 AM

Thank you for reporting the issue!
The fix hasn't been officially released yet, however it is available in the latest docker image: docker pull temporalio/web:latest
Here is a screenshot just in case

I would suggest running this image with the latest version of server as well (tagged as :latest, not 0.21.1)

Will keep the issue open until there is an official release

The latest docker shows 13 INTERNAL: Failed to parse server response, not working

The latest docker shows 13 INTERNAL: Failed to parse server response, not working
it might not work against the older versions of server as there have been updates in grpc contract. Works against the latest server.

These changes will be included in our next release, we will try to get it out later this week.

Pushed new release v0.23.0 that contains the fix docker pull temporalio/web:0.23.0

Pushed new release v0.23.0 that contains the fix
docker pull temporalio/web:0.23.0


Adds support for docutils 0.19

Fixes #1323
Blocked by https://github.com/readthedocs/sphinx_rtd_theme/pull/1304 (also contains this PR)
Release notes of docutils 0.19 look good: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05
Noting "Drop support for Python 2.7, 3.5, and 3.6."

Some Sphinx versions do not put an upper bound on their docutils dependency. This PR requires a full understanding of which Sphinx versions without this upper bound that will also break.

From docutils release notes

Docutils 0.18.x is the last version supporting Python 2.7, 3.5, and 3.6.

On Read the Docs, this means the number of projects with old versions of Sphinx that will also have docutils 0.19 are limited to those that have chosen "CPython 3.x" which currently creates environments with Python 3.7. This comments about affect docutils 0.18 projects already how the set of affected projects is quite limited: https://github.com/readthedocs/sphinx_rtd_theme/pull/1304#issuecomment-1266924478

Some Sphinx versions do not put an upper bound on their docutils dependency. This PR requires a full understanding of which Sphinx versions without this upper bound that will also break.

We can probably find a lot of assertions in the CI test matrix, which should contain these combinations of Sphinx>=1.6...3.5.6+docutils 0.19 and assure that they work (needs verification).
Looking forwards to dropping some backwards compatibility in future versions of sphinx-rtd-theme :innocent:

Oh :see_no_evil:  It'd be nice to have just docutils 0.19 introduced in one release, and then move to docutils 0.20 for the next one. Recalling the fallout of docutils 0.18 support, it's nice to limit the scope of Q&A'ing as well as subsequent troubleshooting.

I QAed all the current supported versions by running these commands:
Open all the pages built with Docutils 0.19 (this PR)
gh pr checkout 1336
tox run -r -x "tox.envlist=py310-sphinx{53,62,72}-qa"
# Open all the versions with firefox
firefox file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx72-qa/tmp/html/demo/demo.html file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx62-qa/tmp/html/demo/demo.html file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx53-qa/tmp/html/demo/demo.html

Then, open the same pages built with Docutils 0.18.1 (current master)
git checkout master
tox run -r -x "tox.envlist=py310-sphinx{53,62,72}"
# Open all the versions with firefox
firefox file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx72/tmp/html/demo/demo.html file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx62/tmp/html/demo/demo.html file:///home/humitos/rtfd/code/sphinx_rtd_theme/.tox/py310-sphinx53/tmp/html/demo/demo.html

I compared page by page, tab by tab, and I didn't find any visual difference. I'd say we are ready to move forward here. I think it would be good to publish a 2.1rc0 first and ask some users to see how it goes.


Windows installation doesn't work. The download URL should contain .exe

tgenv install 0.50.14
[INFO] Installing Terragrunt v0.50.14
[INFO] Downloading release tarball from https://github.com/gruntwork-io/terragrunt/releases/download/v0.50.14/terragrunt_windows_amd64
curl: (22) The requested URL returned error: 404
tgenv: tgenv-install: [ERROR] Tarball download failed
The correct URL is https://github.com/gruntwork-io/terragrunt/releases/download/v0.50.14/terragrunt_windows_amd64.exe

@ssemichev actually TGenv doesn't supports Windows native installation because the maintainers use Mac or Linux. I think so in WSL2 you are able to install the linux version.


Revert PRs 7667 and 7807

Motivation:  In a production system that was configured to chase redirects, we noticed a dramatic increase in aborts and began caching (and serving) the intermediate 302 response instead of chasing the redirect.
Possible Fix: Revert PRs #7667 and #7807.
PR #7807 could leave the  HTTP State machine in a INACTIVE state.
For example, if state_cache_open_read is rescheduled in an error using the below code.
case CACHE_EVENT_OPEN_READ_FAILED:
    if ((intptr_t)data == -ECACHE_DOC_BUSY) {
      // Somebody else is writing the object
      if (open_read_tries <= master_sm->t_state.txn_conf->max_cache_open_read_retries) {
        // Retry to read; maybe the update finishes in time
        open_read_cb = false;
        do_schedule_in();
      } else {

This code will return to event system leaving the state machine in a INACTIVE state and results in an abort.
  if (captive_action.cancelled == 1) {
    return VC_EVENT_CONT; // SM gave up on us
  }

This can be easily reproduced by setting proxy.config.http.number_of_redirections greater than zero.(https://docs.trafficserver.apache.org/en/8.1.x/admin-guide/files/records.config.en.html#proxy-config-http-number-of-redirections)
Although I like the idea behind #7667, I am proposing reverting #7667 along with #7807 as there were concerns about the crashes with 7667. I am yet to look at PRs #8423 and #8443

(Modified the description to link issues mentioned)

We can leave PRs #8423 and #8443 in the code for future use.

Talking to Bryan and VJ, we'll hold off on this until we have more testing, and reviews. But this is a showstopper for a 10.0.0 release. We will revert this for 9.2.x though which will go out into v9.2.1.

We applied these changes to fix asserts before h2 to origin as well.  Perhaps those asserts were only seen in the Yahoo environment? Perhaps we should push forward and fix the issue with the stalled/inactive HttpSMs?

[approve ci centos cmake]


Have extremely smooth scrolling disabled.

On Windows, with ungoogled chromium vs brave (chromium-based browser), it seems to have this rediculas smooth scrolling where when I am scrolling, it feels so slow and delayed, whereas with Brave it is quick and snappy while still smoothly scrolling. This is the exact same issue with Google Chrome and Firefox and I am not too sure why is this setting enabled by default.

Is this still an issue? If so, please file this issue with the corresponding platform repo: ungoogled-software/ungoogled-chromium-windows


Warning message: A number of scheduled tasks overdue.

Warning: WordPress has a number (4) of scheduled tasks which are overdue. Unless this is a development site, this probably means that the scheduler in your WordPress install is not working. Read this page for a guide to possible causes and how to fix it.
To recreate this problem, install the UpdraftPlus plugin and schedule automatic backups.
(I'm using Digital Ocean droplet and your docker-wordpress-letsencrypt.)
I'm guessing the issue is crons. I'm going to check to see if what this article says to do works: https://www.tring-web-design.co.uk/2016/02/wordpress-has-a-number-of-scheduled-tasks-which-are-overdue/
It says to add define('ALTERNATE_WP_CRON', true); to wp-config.php
I'll let it run for a day and then report back here to let you know if it fixed the problem.

Hello @xtjoeywx!
I quiet did not understand the issue... I am running 18 WordPress sites behind our proxy and never had any issue with it.
What task did you have problem?
What was the error message?
It´s probably some plugin you are using not really this environment...
The wordpress cron tasks works smothly once it uses regular php services and the container itself comes from WordPress and has all php extension included. So, please, if you can, explain a little better what is this issue about.
Thanks!

After adding define('ALTERNATE_WP_CRON', true); to wp-config.php the problem is still there.
Please see the following screenshot to understand better about what I mean.

Hello @xtjoeywx,
As I expected this is not an issue with the image neither the proxy itself... this plugin you are using it needs some requirements that it´s not standard to the wordpress image itself. You must open a ticket with the plugin to understand that this is, and might help if you check logs in your wp container to see what this plugin is trying to do...
I also would suggestion you to inform the plugin that you are using the latest wordpress image on docker hub.
If you find the solution and could post it here, might help other to solve it.
Thanks!

It seems to be only a warning... so your backup has probably being done corerctly... can you confirm that as well?

Thank you for your help. I’ll be sure to reach out to UpdraftPlus to talk to them about what guy said regarding the latest WordPress image.
Yes, backups complete if I manually click the backup button.
No, automatic backups are not working as they should.
Thanks for your help and also for making this these amazing tools.


Requesting VRR refresh rate can be displayed in real time.

Requesting VRR refresh rate can be displayed in real time.

Can you clarify what you mean by that?

DDXDB, do you mean like the FPS Counter that's already in the program? Or something else entirely?

The current FPS Counter is completely wrong for me (200+FPS, how is that possible), I'm not sure how it judges FPS. A Variable refresh Rate-based Counter should be more accurate.

That is a known issue with it (as mentioned in the repo's Readme).


Error Gpy Translator

How is this error solved? the bot won't let me translate anything
Expecting value: line 1 column 1 (char 0)

The error from what I found out is that google banned my ip, is there any way to solve this from the code?

How is this error solved? the bot won't let me translate anything
Expecting value: line 1 column 1 (char 0)

lol

I'm closing this shittissue


Fix Bedrock LLMs

Description
This PR fixes Bedrock LLMs.
Since https://github.com/run-llama/llama_index/pull/9388, Bedrock+Anthropic doesn't work anymore because the completion is used instead of the chat and the completion has an incorrect format (it passes the completion prompt as-is without adding the Human: /Assistant:  prefixes)
This change does the following:

set is_chat_model for CHAT_ONLY_MODELS
create Provider classes to group behaviors
use messages_to_prompt and completion_to_prompt to convert to prompt. The order of resolution is:

user-defined ones
provider specific ones
generic ones

Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

I could test manually with ai21, cohere, meta and anthropic.
I should also be able to test with amazon tomorrow.

I could test manually with ai21, cohere, meta and anthropic.
Also tested successfully with Amazon Titan.


GH-1593: Fix Typesetting misplacement

This may be caused by the functionality of the asciidoc generation plugin, which needs to be escaped at build time. But I didn't find the relevant script and code content, so I modified it directly on javadoc.

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1609   +/-   ##
=========================================
  Coverage     59.51%   59.51%
  Complexity      930      930
=========================================
  Files           144      144
  Lines          4720     4720
  Branches        659      659
=========================================
  Hits           2809     2809
  Misses         1602     1602
  Partials        309      309

Impacted Files
Coverage Δ
Complexity Δ

...loud/stream/function/StreamFunctionProperties.java
100% <ø> (ø)
9 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Create benchmarks for common libraries

Create a script that generates a report like:

Library
Input
Atomized
Input (gzip)
Atomized (gzip)
Savings
Errors

Bootstrap 2.1.0
100KB
20KB
50KB
30KB
60%-80%
0

Bootstrap 5.2.1
200KB
NA
100KB
NA
NA
50

Where the savings is computed by the percent of of the raw and gzip'd improvements. Not all CSS is compatible yet, so if it fails to atomize, then it should show the amount of errors it hit before bailing.

https://github.com/red-perfume/red-perfume-benchmarks


add optional labels support

and show a page with validation error before a redirect

it can be solved by title


Fixed list of charged attacks for Venonat (#3548) + BaseDefense/BaseStamina info fix

Fixed error #3548

Sorry @amal. Can you include this fix in a revert of the revert?

Lol

@TheSavior ok :)

@TheSavior revert of revert added + fixes
Also removed exception in case of unknown movest – added fallback variant and error message in log

:+1:


Pressure reading is wrong

Hi,
I am using your library to calculate the pressure, but its always wrong.
The other values produced by the device are correct.
I have set my device to the recommended settings per some of your examples.
I am not seeing why my pressure readings would be off by so much.
Perhaps you can help?
I'm using Debian on an ARM BeagleBone chip.
Here's the code:
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>
#include <stdio.h>
#include <unistd.h>
#include "read_data.h" /* I2C functionality */
#include "bme280_.h" /* Constants & read & write I2C wrappers */
#include "bme280.h" /* Bosh Sensortec driver header */
#include "bme280_defs.h" /* Bosh Sensortec driver header */

int main()
{
	/* Using Bosh driver and my own code */
	struct bme280_dev device;
	int8_t rslt = BME280_OK;

	/* Set device settings */
	device.dev_id = BME280_I2C_ADDRESS; // 0x77
	device.intf = BME280_I2C_INTF;
	device.read = read_reg_bosh;
	device.write = write_reg_bosh;
	device.delay_ms = delay_bosh;

	/* Desired device settings that are needed to be set */
	device.settings.osr_p = BME280_OVERSAMPLING_16X;
	device.settings.osr_t = BME280_OVERSAMPLING_2X;
	device.settings.osr_h = BME280_OVERSAMPLING_1X;
	device.settings.filter = BME280_FILTER_COEFF_16;
	device.settings.standby_time = BME280_STANDBY_TIME_62_5_MS;

	rslt = bme280_init(&device);
	if (rslt != BME280_OK)
	{
		printf("Error occurred!\r\n");
		printf("result: %d\r\n", rslt);
	}

	/* Set sensor settings */
	uint8_t sensor_settings = BME280_OSR_PRESS_SEL; /* Set which settings to set.  Set to 'indoor navigation' as per README.md. */
	sensor_settings |= BME280_OSR_TEMP_SEL;
	sensor_settings |= BME280_OSR_HUM_SEL;
	sensor_settings |= BME280_STANDBY_SEL;
	sensor_settings |= BME280_FILTER_SEL;
	rslt = bme280_set_sensor_settings(sensor_settings, &device);
	if (rslt != BME280_OK)
	{
		printf("Error writing sensor settings\r\n");
		return -1;
	}

	/* Sensor settings are written to device->settings */
	rslt = bme280_get_sensor_settings(&device);
	if (rslt != BME280_OK)
	{
		printf("Error reading sensor settings\r\n");
		return -1;
	}

	/* Print settings */
	printf("Pressure oversampling: %x\r\n", device.settings.osr_p);
	printf("Temperature oversampling: %x\r\n", device.settings.osr_t);
	printf("Humidity oversampling: %x\r\n", device.settings.osr_h);
	printf("Filter: %x\r\n", device.settings.filter);
	printf("Standby Time: %x\r\n", device.settings.standby_time);

	/* Turn on device in normal mode */
	rslt = bme280_set_sensor_mode(BME280_NORMAL_MODE, &device);
	if (rslt != BME280_OK)
	{
		printf("Error during power on\r\n");
		printf("result %d\r\n", rslt);
	}

	uint8_t buff = 0;
	rslt = bme280_get_sensor_mode(&buff, &device);
	if (rslt != BME280_OK)
 	{
		printf("Error during read reg\r\n");
		printf("result %d\r\n", rslt);
 	}

	if (buff == BME280_NORMAL_MODE)
 	{
		printf("Device Powered On\r\n");
	}

	/* Delay while sensor completes measurement. */
	device.delay_ms(70);

	/* Read sensor data & compensate data from sensor */
	uint8_t sensor_comp = BME280_ALL; /* Which values to compensate */
	struct bme280_data comp_data;
	rslt = bme280_get_sensor_data(sensor_comp, &comp_data, &device);
	if (rslt != BME280_OK)
	{
		printf("Error reading sensor data\r\n");
		return -1;
	}

	/* Output data */
	printf("Pressure: %f\r\n", comp_data.pressure);
	printf("Temperature: %f\r\n", comp_data.temperature);
	printf("Humidity: %f\r\n", comp_data.humidity);
	return 0;
}

Here's the output:
Pressure oversampling: 5
Temperature oversampling: 2
Humidity oversampling: 1
Filter: 4
Standby Time: 1
Device Powered On
Pressure: 67893.217459
Temperature: 22.481205
Humidity: 58.589021

Hi @TonyTheLion,
Is this the case for all the readings? Can you also print out the calibration parameters from bme280_dev struct? You can find it under device.calib_data.dig_.

Hi,
Yes all readings of pressure are pretty much the same value you see.
Calibration Parameters:
dig_T1: 28333
dig_T2: 26573
dig_T3: 50
dig_P1: 37362
dig_P2: -10666
dig_P3: 3024
dig_P4: 7253
dig_P5: 50
dig_P6: -7
dig_P7: 9900
dig_P8: -10230
dig_P9: 4285
dig_H1: 75
dig_H2: 352
dig_H3: 0
dig_H4: 343
dig_H5: 0
dig_H6: 30
t_fine: 115103

In fact, looking at this again, it seems that all three values (Pressure, Humidity, Temperature) are always the same.
Today the temperature in the room where this device lives (per my thermostat) is 21 C, the BME device still shows it to be 22.481.

@TonyTheLion,
Which breakout board of the BME280 are you using?

@BoschSensortec,
https://www.adafruit.com/product/2652

Hi @BoschSensortec,
Any more updates on this issue?

Hi @TonyTheLion,
We haven't been able to duplicate the issue yet.
In the meanwhile, can you send us your build options?
Thank you.

Hi,
I am using meson to build my little test program, so I'm going to just give you the commands that ninja -t commands gives me.  Hope that is helpful
Currently only doing a debug build.
Compiler flags:
cc  -Itest/bme280_test@exe -Itest -I../test -Iinclude -I../include -I. -I../ -Icerts -I../certs -I/usr/local//include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -O0 -g -MMD -MQ<EMAIL_ADDRESS>-MF<EMAIL_ADDRESS>-o<EMAIL_ADDRESS>-c ../test/bme280_test.c
Linker flags:
:cc  -o test/bme280_test<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>-Wl,--no-undefined -Wl,--as-needed
I have recently gotten a new physical BME device, but it still gives me the wrong pressure.  So it seems likely that either I'm doing something wrong, or there's an error in the software somewhere.

Hi @TonyTheLion,

If the readings are not changing between calls,

The wait period is too little between read outs
The settings haven't been set correctly to the sensor

If the readings are changing between calls but the values are not accurate,

It seems to be an issue with how the compiler interprets the shifts and typecasts in the compensation equations. You will have to compare results between integer and floating point to see if they match.

Hi,
I have the exact same issue with a Raspberry Pi 3. The problem seems to be link with the use of these two functions:
rslt = bme280_set_sensor_mode(BME280_NORMAL_MODE, &dev);
rslt = bme280_set_sensor_settings(settings_sel, &dev);

If I first use a python code provided here to to configure the sensor and the run the c program without the two lines it works perfectly.
It seems that when configuring the sensor, it is not set in measuring mode as values stay constant with the two above functions.

Hi @BoschSensortec,
I tried your code but I have still the same issue.
Any other ideas?
Thanks

@ThomasLeMezo,
What your build options?

@BoschSensortec
I don't think it is an issue with the compiler build option. The sensor seems to stay in SLEEP_MODE after using bme280_set_sensor_settings or bme280_set_sensor_mode.
I'm compiling the code for a ROS node so I use the default option provided (gcc, CMake).

@TonyTheLion,
Thanks for the feedback, it seems it solves the issue!


Correct use of eot_token_id in eval_adapter

Replace the undefined use of _eos_token_id with _eot_token_id
in the eval_adapter.

Hi @StellaAthena , do I need to take any action to complete the "workflow approval"? Thanks!


Build fails on Matrix4 Name Conflict while running Flutter 3.3

Building on Windows 10 in latest Android Studio for any target (Web, Windows, Android) with all dependencies updated I upgraded to Flutter 3.3 and build immediately fails with
/D:/pault/Tools/flutter/.pub-cache/hosted/pub.dartlang.org/three_dart-0.0.11/lib/three3d/loaders/MaterialLoader.dart(224,45): error G2A256DBA: 'Matrix4' is imported from both 'package:vector_math/vector_math_64.dart' and 'package:three_dart/three3d/math/index.dart'. [D:\AndroidStudioProjects\flutter_three_dart\build\windows\flutter\flutter_assemble.vcxproj]
D:\Program Files\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for 'D:\AndroidStudioProjects\flutter_three_dart\build\windows\CMakeFiles\e6089758533f32596e11ebdaf060e0f1\flutter_windows.dll.rule;D:\AndroidStudioProjects\flutter_three_dart\build\windows\CMakeFiles\a6c6cc4e386a0a14fcca9d2b3ff72fc2\flutter_assemble.rule' exited with code 1. [D:\AndroidStudioProjects\flutter_three_dart\build\windows\flutter\flutter_assemble.vcxproj]
Exception: Build process failed.
I tried this on several projects including the three_dart example and got the same error on all target platforms.
Flutter Doctor returns
D:\pault\Tools\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel stable, 3.3.0, on Microsoft Windows [Version 10.0.19043.1889], locale en-US)
• Flutter version 3.3.0 on channel stable at D:\pault\Tools\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ffccd96b62 (9 days ago), 2022-08-29 17:28:57 -0700
• Engine revision 5e9e0e0aa8
• Dart version 2.18.0
• DevTools version 2.15.0
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at C:/Users/pault/AppData/Local/Android/sdk
• Platform android-31, build-tools 30.0.3
• ANDROID_HOME = C:/Users/pault/AppData/Local/Android/sdk
• Java binary at: c:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.1)
• Visual Studio at D:\Program Files\Microsoft Visual Studio\2019\Community
• Visual Studio Community 2019 version 16.11.31613.86
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 2021.1)
• Android Studio at C:\Program Files\Android\Android Studio1
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
[√] Android Studio (version 2021.2)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
[√] Android Studio
• Android Studio at c:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = c:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
[√] IntelliJ IDEA Community Edition (version 2019.2)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1
• Flutter plugin version 38.2.4
• Dart plugin version 192.6459
[√] Connected device (4 available)
• AOSP on IA Emulator (mobile) • emulator-5554 • android-x86    • Android 9 (API 28) (emulator)
• Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.19043.1889]
• Chrome (web)                 • chrome        • web-javascript • Google Chrome 103.0.5060.114
• Edge (web)                   • edge          • web-javascript • Microsoft Edge 105.0.1343.27
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
Pubspec.yaml contains
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
three_dart: ^0.0.10
three_dart_jsm: ^0.0.5
dev_dependencies:
flutter_test:
sdk: flutter
Using aliases on imports do not seem to avoid this error
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gl/flutter_gl.dart';
import 'package:three_dart/three_dart.dart' as THREE;
import 'package:three_dart_jsm/three_dart_jsm.dart' as THREE_JSM;
Let me know whether you need additional files or information.

Easy to duplicate on Flutter 3.3 in Windows 10 in Android Studio.  Create a new Flutter Project with any target environment.  On that new project, follow the install process for three_dart.  In Main.dart add the import statement for three_dart.  Build the app.  Error happens quickly and build ends.  I also submitted an issue for Flutter (111155), but they already closed it saying this was a package plugin issue.

import 'package:flutter/foundation.dart' hide Matrix4;
import 'package:three_dart/three_dart.dart'

or
import 'package:flutter/foundation.dart';
import 'package:three_dart/three_dart.dart' as THREE;

@wasabia sorry fot bothering you. I need this library for a project in my startup. I tried this library and three model viewer but both doesn't work. You suggest two import but its all useless 'cause the problem is in the library u made and not in the example code. You have to update the library. This library (resolved this problem) works for android and ios?

Here is additional information.  I downgraded Flutter to get back my builds.  Before I did, all of my three_dart imports were aliased as in your 2nd example (as THREE) and I still got this error.
Paul Allard
206-679-6315

From: SerJoG @.>
Sent: Friday, September 9, 2022 1:15:27 AM
To: wasabia/three_dart @.>
Cc: Paul Allard @.>; Author @.>
Subject: Re: [wasabia/three_dart] Build fails on Matrix4 Name Conflict while running Flutter 3.3 (Issue #72)
@wasabiahttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=wTeHF%2ByKsaBFN21w2kySe1%2BckDDigTKm76yudfX3aFM%3D&reserved=0 sorry fot bothering you. I need this library for a project in my startup. I tried this library and three model viewer but both doesn't work. You suggest two import but its all useless 'cause the problem is in the library u made and not in the example code. You have to update the library. This library (resolved this problem) works for android and ios?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia%2Fthree_dart%2Fissues%2F72%23issuecomment-1241653896&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XWjr2jRCIpk7kX%2FXX7c4ENKuHjP%2B07HVdOwG0Jnytn8%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNKIMHG32T7KS3HYKSNUX3V5LWZ7ANCNFSM6AAAAAAQG7DBBI&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=gozDm%2BXi8%2BbsellNGwR4qI0dqbQcOngt%2BXQlIcVFHUc%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

try hide Matrix4 in main.dart
import 'package:flutter/material.dart' hide Matrix4;
import 'ExampleApp.dart';

void main() {
  runApp(const ExampleApp());
  // runApp(MaterialApp(home: multi_views(fileName: 'multi_views'),));
}

@paultallard  @SerJoG

@wasabia I already tried to downgrading and hide but it doesn't work. The problem is not in my code, I hate repeat things.

Hi @SerJoG
I tried Flutter 3.0.5 can't reproduce.
Flutter 3.3.0 it's reproduce

Hi @SerJoG
I tried Flutter 3.0.5 can't reproduce.
Flutter 3.3.0 it's reproduce

https://github.com/wasabia/three_dart/blob/main/lib/three3d/loaders/index.dart#L25
fixed

you updated the repo but did you update the flutter package on pub.dev? 'cause i still have this issue.

Your issue is not in math.dart but in Matrix4, u have to change the name and then all works without hide or something similar.

Matrix4 is also used elsewhere, but only one problem here。Confuse 😄

if you tested it and it works, could you please update this:

https://pub.dev/packages/three_dart
Done.

Question:  Do the import aliases have to be upper case as in import 'package:three_dart/three_dart.dart' as THREE;
I switched to lower case because the linter doesn’t like upper case aliases.  Probably a silly question, but lower case was not working and I am avoiding Flutter 3.3 without a better idea.
Paul Allard
206-679-6315
From: Paul Allard @.>
Sent: Friday, September 9, 2022 7:59 AM
To: @.>; @.>
Cc: @.>
Subject: Re: [wasabia/three_dart] Build fails on Matrix4 Name Conflict while running Flutter 3.3 (Issue #72)
Here is additional information.  I downgraded Flutter to get back my builds.  Before I did, all of my three_dart imports were aliased as in your 2nd example (as THREE) and I still got this error.
Paul Allard
206-679-6315
From: SerJoG @.>
Sent: Friday, September 9, 2022 1:15:27 AM
To: wasabia/three_dart @.>
Cc: Paul Allard @.>; Author @.>
Subject: Re: [wasabia/three_dart] Build fails on Matrix4 Name Conflict while running Flutter 3.3 (Issue #72)
@wasabiahttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=wTeHF%2ByKsaBFN21w2kySe1%2BckDDigTKm76yudfX3aFM%3D&reserved=0 sorry fot bothering you. I need this library for a project in my startup. I tried this library and three model viewer but both doesn't work. You suggest two import but its all useless 'cause the problem is in the library u made and not in the example code. You have to update the library. This library (resolved this problem) works for android and ios?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia%2Fthree_dart%2Fissues%2F72%23issuecomment-1241653896&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XWjr2jRCIpk7kX%2FXX7c4ENKuHjP%2B07HVdOwG0Jnytn8%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNKIMHG32T7KS3HYKSNUX3V5LWZ7ANCNFSM6AAAAAAQG7DBBI&data=05|01||00df620ad94746cabe6c08da923b74c9|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637983081312256714|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=gozDm%2BXi8%2BbsellNGwR4qI0dqbQcOngt%2BXQlIcVFHUc%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

The Hide command worked.  May I ask another question?
How should I populate BufferGeometry?  Currently I use setAttribute from Float32Arrays as in the following.
My issue is how to define the Float32Arrays?  These do not appear to be in three_dart.  I currently get them from package:flutter_gl.dart
I converted this code from Java where I used Float32Arrays directly with OpenGL.  I am building for a Windows target.
import 'package:three_dart/three_dart.dart' as three;
import 'package:flutter_gl/flutter_gl.dart' as GL;
…
three.BufferGeometry geometry = three.BufferGeometry();
…
GL.Float32Array positions = GL.Float32Array(vertexCount * posLength);
GL.Float32Array normals = GL.Float32Array(vertexCount * normLength);
GL.Float32Array colors = GL.Float32Array(vertexCount * colorLength);
GL.Float32Array texCoords = GL.Float32Array(vertexCount * texLength);
for (var vertex in vertexData) {
positions.set(vertex['pos'] as List, posIdx);
normals.set(vertex['norm'] as List, normIdx);
colors.set(vertex['color'] as List, colorIdx);
texCoords.set(vertex['tex'] as List, texIdx);
posIdx += posLength;
normIdx += normLength;
colorIdx += colorLength;
texIdx += texLength;
}
// Set Buffer Attributes from Typed Arrays
geometry.setAttribute('position',
three.Float32BufferAttribute(positions, posLength));
geometry.setAttribute('normal',
three.Float32BufferAttribute(normals, normLength));
geometry.setAttribute('color',
three.Float32BufferAttribute(colors, colorLength));
geometry.setAttribute('uv',
three.Float32BufferAttribute(texCoords, texLength));
Can you help me with that question?
Paul Allard
206-679-6315
From: @.>
Sent: Thursday, September 15, 2022 11:45 PM
To: @.>
Cc: Paul @.>; @.>
Subject: Re: [wasabia/three_dart] Build fails on Matrix4 Name Conflict while running Flutter 3.3 (Issue #72)
Closed #72https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia%2Fthree_dart%2Fissues%2F72&data=05|01||293fecf424594cafaa7808da97aefc62|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637989075067742051|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=ZfRS3Sr3ygkILirG%2FJ3a6eWgNdbEGc9RxAlATBG%2BKFc%3D&reserved=0 as completed.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwasabia%2Fthree_dart%2Fissues%2F72%23event-7400512061&data=05|01||293fecf424594cafaa7808da97aefc62|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637989075067742051|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=w1Y9XCr%2FWwu1OtOPe3U1uVjLoZARW1TB07GtigGdIew%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFNKIMGWAD4UEQ3Y4GRDCGLV6QJO5ANCNFSM6AAAAAAQG7DBBI&data=05|01||293fecf424594cafaa7808da97aefc62|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637989075067742051|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=SjE%2F0FFu6BlE9OF%2BFjeosgbbEiYwW6%2FPUTimM0l%2FsYE%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>