Error using A2lix as an embedded form

I'm using A2lix Translation Form Bundle and Doctrine Behaviors Translatable in a project where I have two entities: company and files. Company has some translatable fields so I have a CompanyTranslations Entity for that. One company can have one file so Company and file are mapped with an OneToOne unidirectional reference. The company file is translatable so the property is in the CompanyTranslation file.
CompanyTranslation:
class CompanyTranslation
{
    use ORMBehaviors\Translatable\Translation;

    /**
     * @ORM\OneToOne(targetEntity="File", cascade={"persist"})
     * @ORM\JoinColumn(name="translatable_file_id", referencedColumnName="id")
     * @Assert\Valid()
     * @Assert\Type(type="MyApp\CoreBundle\Entity\File")
     **/
    private $translatableFile;

    /**
     * Set translatableFile
     *
     * @param $translatableFile
     */
    public function setTranslatableFile(File $translatableFile = null)
    {
        $this->translatableFile = $translatableFile;
    }

    /**
     * Get translatableFile
     *
     * @return $translatableFile
     */
    public function getTranslatableFile()
    {
        return $this->translatableFile;
    }
}

File:
class File
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    public $filePath;

    /**
     * @Assert\File()
     */
    private $file;

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set filePath
     *
     * @param string $filePath
     */
    public function setFilePath($filePath)
    {
        $this->filePath = $filePath;
    }

    /**
     * Get filePath
     *
     * @return string
     */
    public function getFilePath()
    {
        return $this->filePath;
    }

    /**
     * Set file
     *
     * @param UploadedFile $file
     */
    public function setFile(UploadedFile $file = null)
    {
        $this->file = $file;
    }

    /**
     * Get file
     *
     * @return UploadedFile
     */
    public function getFile()
    {
        return $this->file;
    }
}

File Form Type:
class FileType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('file', 'file', array(
            'label' => false
        ));
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'MyApp\CoreBundle\Entity\File'
        ));
    }

    public function getName()
    {
        return 'file_form';
    }
}

Company Form Type:
class CompanyType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('translations', 'a2lix_translationsForms', array(
                'locales' => $this->languages,
                'form_type' => new FileType(),
                'form_options' => array(
                    'data_class' => 'MyApp\CoreBundle\Entity\File',
                    'required'      => false,
                    'validation_groups' => array('file_upload')
                )
            ));
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        parent::setDefaultOptions($resolver);

        $resolver->setDefaults(array(
            'data_class' => 'MyApp\CoreBundle\Entity\Company'
        ));
    }
}

The error is this one:
The form's view data is expected to be an instance of class MyApp\CoreBundle\Entity\File, but is an instance of class MyApp\CoreBundle\Entity\CompanyTranslation. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms an instance of class MyApp\CoreBundle\Entity\CompanyTranslation to an instance of MyApp\CoreBundle\Entity\File.
I already set the data_class of the File Type Form and the data_class of the field to null but also to MyApp\CoreBundle\Entity\File. Both send me errors. I don't know what's happening.
Could anyone help?
Thanks!

Hello,
Below, here is a solution that I'have done in a project some time ago.
If you want use the a2lix_translationsForms, you need a locale field in your entity.
In fact if you have a Company entity and want some fields translated, you do a CompanyTranslation for translate theses fields (only simple fields, not Entities as your FileEntity), well configured with Knp or whatever strategy.
If you want a full Entity for different language, you add a locale field inside it and it become a "Localize" entity, as FileLocalize bellow. No strategy needed.
You can combine theses two features too and have a Company with a CompanyTranslation and FileLocalize relations.
For creation/edition, "a2lix_translations" will be use for CompanyTranslation and "a2lix_translationsForms" for FileLocalize
class Company
{
....

    /**
     * @ORM\OneToMany(targetEntity="FileLocalize", mappedBy="company", indexBy="locale", cascade={"all"}, orphanRemoval=true)
     * @Assert\Valid()
     * @Assert\Type(type="MyApp\CoreBundle\Entity\FileLocalize")
     **/
    private $files;

    public function __construct()
    {
          $this->files = new \Doctrine\Common\Collections\ArrayCollection();
    }

    public function getFiles()
    {
        return $this->files;
    }

    public function setFiles(\Doctrine\Common\Collections\ArrayCollection $files)
    {
        $this->files = $files;
        return $this;
    }

    public function addFile(FileLocalize $file)
    {
        if ($file->getFilePath()) {
            $this->getFiles()->set($file->getLocale(), $file);
            $file->setCompany($this);
        }
        return $this;
    }

    public function removeFile(FileLocalize $file)
    {
        $this->files->removeElement($file);
    }

....
}

class FileLocalize
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    public $filePath;

    /**
     * @Assert\File()
     */
    private $file;

    /**
     * @ORM\Column(length=10)
     */
    protected $locale;

    /**
     * @var Company $company
     * @ORM\ManyToOne(targetEntity="Company", inversedBy="files")
     */
    protected $company;

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set filePath
     *
     * @param string $filePath
     */
    public function setFilePath($filePath)
    {
        $this->filePath = $filePath;
    }

    /**
     * Get filePath
     *
     * @return string
     */
    public function getFilePath()
    {
        return $this->filePath;
    }

    /**
     * Set file
     *
     * @param UploadedFile $file
     */
    public function setFile(UploadedFile $file = null)
    {
        $this->file = $file;
    }

    /**
     * Get file
     *
     * @return UploadedFile
     */
    public function getFile()
    {
        return $this->file;
    }

    public function getLocale()
    {
        return $this->locale;
    }
    public function setLocale($locale)
    {
        $this->locale = $locale;
        return $this;
    }

    public function getCompany()
    {
        return $this->company;
    }

    public function setCompany(Company $company)
    {
        $this->company = $company;
        return $this;
    }
}

class FileLocalizeType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('file', 'file', array(
            'label' => false
        ));
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'MyApp\CoreBundle\Entity\File'
        ));
    }

    public function getName()
    {
        return 'file_form';
    }
}

class CompanyType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('translations', 'a2lix_translationsForms', array(
                'locales' => $this->languages,
                'form_type' => new FileLocalizeType(),
                'form_options' => array(
                    'data_class' => 'MyApp\CoreBundle\Entity\File',
                    'required'      => false,
                    'validation_groups' => array('file_upload')
                )
            ));
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'MyApp\CoreBundle\Entity\Company'
        ));
    }
}

Hi @webda2l , thanks for your answer!
I just tried your solution and I still get the error with the data_class:
The form's view data is expected to be an instance of class MyApp\CoreBundle\Entity\File, but is an instance of class MyApp\CoreBundle\Entity\CompanyTranslation. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms an instance of class MyApp\CoreBundle\Entity\CompanyTranslation to an instance of MyApp\CoreBundle\Entity\File.

I did exactly what you described and in my CompanyTranslation entity I don't have any relation to the File entity. Do you know what is the problem?
I have also another problem with this solution. First, I wanted the relation between Company and File to be a OneToOne relation. Actually, I can have different properties on Company that are related to File. It already woks for non translatable files like that. I have for example:
/**
 * @ORM\OneToOne(targetEntity="File", cascade={"persist"})
 * @ORM\JoinColumn(name="first_file_id", referencedColumnName="id")
 * @Assert\Valid()
 * @Assert\Type(type="MyApp\CoreBundle\Entity\File")
 **/
private $firstFile;

/**
 * @ORM\OneToOne(targetEntity="File", cascade={"persist"})
 * @ORM\JoinColumn(name="second_file_id", referencedColumnName="id")
 * @Assert\Valid()
 * @Assert\Type(type="MyApp\CoreBundle\Entity\File")
 **/
private $secondFile;

The second problem is that I want to keep this OneToOne relation unidirectional as I will have many entities related to File. I don't want each time to have a reference to these entities on the File entity.
Is it possible to do that with a2lix_translationsForms?
Thank you!

And just another question. When using the FileLocalized as you suggested, should I add a trait to it? I mean the traits from Knp\DoctrineBehaviors like use ORMBehaviors\Translatable\Translatable?

Hi,
For the first part,
it's data_class => 'MyApp\CoreBundle\Entity\FileLocalize' and not data_class => 'MyApp\CoreBundle\Entity\FileLocalized'
===
For the second part, why not think differently, and instead have two differents FileLocalized entities, have only a FilesLocalized entity (or CompanyFilesLocalized or ...) which will have inner $firstFilePath, $firstFile, $secondFilePath, $secondFile, $locale and $company.
If you really don't want keep reference of Company, you will have to come back to the CompanyTranslation solution, well configured with Knp, and directly $firstFilePath, $firstFile, $secondFilePath, $secondFile without kind of File entity. And so use of a2lix_translations instead of a2lix_translationsForms.

Actually, I just wrote it wrong here. In the code, I tried:
data_class => 'MyApp\CoreBundle\Entity\FileLocalize'

I'll think about this other possibilities and I'll let you know. However, I'm still trying to understand why I have this bug with data_class when it should work. If I var_dump $translation, I am sending a FileLocalize object which is the value the program is expecting.

I found it @webda2l ! I was using the annotation @Assert\Type on my $files property. I don't understand why it doesn't accept it (as the object I send is a FileLocalize entity) and if it is a good idea to remove it but the bug comes from here:
/**
 * @ORM\OneToMany(targetEntity="FileLocalize", mappedBy="company", indexBy="locale", cascade={"all"}, orphanRemoval=true)
 * @Assert\Valid()
 * @Assert\Type(type="MyApp\CoreBundle\Entity\FileLocalize")
 **/
private $files;

Did you use this Assert when you did this kind of mapping with A2lix Translation Form Bundle?

Ok fine, you're welcome for the help.
I started last week some rethink about this bundle, and hope push some code soon (no date anyway..). I look to manage your case of a CompanyTranslation with a File association. Will see if I have time to finish and its results.
Otherwise, no I'm not sure to already have use @Assert\Type on entity. Only useful if you fill form by script/command. I advice use php native typecast in add/remove function, as function addFile(FileLocalize $file) however, as always :)

Cool. Let me know if I can help somehow with this File/Company association.
For the typecast, I did it too. I use the Assert\Type because it is on Symfony documentation:
http://symfony.com/doc/current/book/forms.html#embedded-forms
But maybe it's not essential.

hi I am beginner in symfony and i am using a2lix transform bundle . i follow the above step to embed media form in form but  how to handle files array collection in controller to add and update .Please help

i could not solve a like issue.
Now, I'm using EasyAdmin, DoctrineBehaviors Translate and A2Lix
My Config YML:
     form:         fields:           - type: 'group'             css_class: 'col-md-4'           - { property: 'rank', css_class: 'col-md-12' }           - { property: 'nfrkeyCount', css_class: 'col-md-12' }           - { property: 'isVisible', css_class: 'col-md-12' }           - { property: 'isServerCertified', css_class: 'col-md-12' }           - type: 'group'             css_class: 'col-md-8'           - property: 'translations'             type: 'A2lix\TranslationFormBundle\Form\Type\TranslationsType'             label: 'global.translations'             data_class: null             type_options:               data_class: null               required: true               fields:                 title:                   label: 'global.title'                 support:                   label: 'support'                 marketingKickBack:                   label: 'marketingKickBack'                 body:                   field_type: 'App\Form\Type\QuillType'                   label: 'global.body'
Have one record showing this error
'
The form's view data is expected to be an instance of class Proxies_CG_\App\Entity\UserLevelTranslation, but is an instance of class App\Entity\UserLevelTranslation. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms an instance of class App\Entity\UserLevelTranslation to an instance of Proxies_CG_\App\Entity\UserLevelTranslation.
'
I tried many ideas but not solved. please help me :)

I solved but that is not logic
file : A2lix\TranslationFormBundle\Form\EventListener\TranslationsListener

    private function getTranslationClass(FormInterface $form): string
    {

        do {
                $translatableClass = str_replace("Proxies\__CG__\\", "",  $form->getConfig()->getDataClass());

        } while ((null === $translatableClass) && $form->getConfig()->getInheritData() && (null !== $form = $form->getParent()));

        if (method_exists($translatableClass, 'getTranslationEntityClass')) {
            return $translatableClass::getTranslationEntityClass();
        }

        // Gedmo
        if (method_exists($translatableClass, 'getTranslationClass')) {

            return $translatableClass::getTranslationClass();
        }

        return $translatableClass.'Translation';
    }

i change this line :)
str_replace("Proxies\__CG__\\", "",  $form->getConfig()->getDataClass());

How i disabled Proxies entity ?


Cog update

About the PR
Updated the bridge, updated east medbay to make it less cramped, added some atmos alert consoles, and also some other minor changes
Media

Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Changelog

no changelog

Decal is layered wrong in east med

that can be a renderer error

that can be a renderer error

On both the renders?

yes, known error on both map renderer and the map website

in game its fine


improvement: add proper_test_location/1

Contributor checklist

[ ] Bug fixes include regression tests
[x] Features include unit/acceptance tests

Adds Igniter.Code.Module.proper_test_location/1 in order to be able to output test file paths, i.e. MyApp.HelloTest -> test/my_app/hello_test.exs.
Note: I'm not sure if it's a common scenario to have the test file not end with Test in the module name, but I wanted to account for it just in case.

Looks great, got one suggested change 👍

🚀 Thank you for your contribution! 🚀


Code coverage for XQuery doesn't work

As reported by @AirQuick in #28, when the code coverage option is run for XQuery it doesn't work. @AirQuick reported this:

I tested -q -c (XQuery + coverage) with xspec-focus-1.xspec and confirmed that the report HTML was generated. But the HTML content didn't depict the coverage. (Only a cool message, not used.) Since xspec.sh generated the same report, I presume coverage-report.xsl does not currently support XQuery.

When I tried to run it with the batch script I got the following error:
C:\xspec>bin\xspec.bat -q -c tutorial\escape-for-regex.xspec

Creating Test Stylesheet...
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Error on line 59 of generate-query-tests.xsl:
XTTE0590: An empty sequence is not allowed as the value of parameter $except
at xsl:apply-templates (file:/C:/xspec/bin/../src/compiler/generate-query-tests.xsl#101)
processing /x:description
at xsl:apply-templates (file:/C:/xspec/src/compiler/generate-common-tests.xsl#44)
processing /x:description
at xsl:call-template name="x:generate-tests" (file:/C:/xspec/bin/../src/compiler/generate-query-tests.xsl#55)
An empty sequence is not allowed as the value of parameter $except

*** "Error compiling the test suite"

However, when I tried to run the code coverage with the shell script, I got a different error:
$ bin/xspec.sh -q -c test/xspec-focus-1.xspec

Saxon script not found, invoking JVM directly instead.

Creating Test Stylesheet...

Running Tests...
Collecting test coverage data; suppressing progress report...
****************************************
****************************************
****************************************
controller=net.sf.saxon.Controller@bc57b40
controller=net.sf.saxon.Controller@bc57b40

Formatting Report...
passed: 2 / pending: 4 / failed: 2 / total: 8
Error on line 1 column 1 of xspec-focus-1-coverage.xml:
  SXXP0003: Error reported by XML parser: Content is not allowed in prolog.
org.xml.sax.SAXParseException; systemId: file:/home/sandro/Documents/programming/github/xspec/test/xspec/xspec-focus-1-coverage.xml; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.

Start with the shell script and fix the code coverage for XQuery.

There are two problems:

The coverage XML is not well-formed
coverage-report.xsl does not seem to support XQuery. The report HTML says, not used.

As for the first problem (XML is not well-formed) results in this kind of errors:
Formatting Report...
...
  SXXP0003: Error reported by XML parser: Content is not allowed in prolog.

com.jenitennison.xslt.tests.XSLTCoverageTraceListener emits the coverage XML to stderr, but Java and Saxon may also output various messages to stderr. So $COVERAGE_XML's  content is not always well-formed. That happens not only with XQuery but also with XSLT.
The batch script has already implemented a workaround: https://github.com/AirQuick/xspec/blob/8ad3c6cda0c95654808ace7bebd768ea6298cd8b/bin/xspec.bat#L99
How the workaround works is commented: https://github.com/AirQuick/xspec/blob/8ad3c6cda0c95654808ace7bebd768ea6298cd8b/bin/xspec.bat#L75-L87
The second problem (coverage-report.xsl), I haven't investigated at all yet.

As mentioned in https://github.com/xspec/xspec/pull/28#issuecomment-270239480, code coverage needs Java 8 to run successfully (I reminder to myself for the documentation).

So to fix the problem, I can think of two different ways:

Implement the same workaround in the shell script
Improve the way com.jenitennison.xslt.tests.XSLTCoverageTraceListener emits XML

I'll have a look at your implementation in the batch script. As I only have Saxon EE 9.6 available I may be inclined to fix com.jenitennison.xslt.tests.XSLTCoverageTraceListener as you mentioned in https://github.com/xspec/xspec/pull/28#issuecomment-269932187
I'll see how far I can go and keep you posted.

hi, i have developed xquery coverage for saxon in java. there were few issues with it but works for many cases. it is open source so maybe you can reuse it as dependency. available here https://github.com/lizardev/xquery-saxon

@alaczynski, thanks for sharing this, I'd like to give it a go at some point to see how it works.
I may have missed it from the README file but how do you run it? I suppose it's a jar file but could you provide an example to run it from the command line? Thanks.


Add Atterberg plot

create option to select a different plot format and data set.  Plot Liquid Limit vs Plasticity Index for all or select samples in a file.


Multi-block election part 0: Paginated election data provider

This is the first step of #9511 that is being backported to the master branch for review.
Small part of this is extracted as https://github.com/paritytech/substrate/pull/11104.
polkadot companion: https://github.com/paritytech/polkadot/pull/5348
Context
pallet-staking, as it stands now, relies on pallet-bags-list to implement itself as ElectinDataProvider, and service pallet-election-provider-multi-phase with the election data, aka snapshot.
This PR makes ElectinDataProvider become paginated, and allows staking pallet to be able to return multiple pages of snapshot data, namely for voters.
For the time being, we assume that target snapshots need not be paginated.
Impact on chains
All live chains that we know of use a single page snapshot. In other words, type Pages will be 1. In that case, other than for unforeseen errors in my coding, this PR should be absolutely no-logical change.
Impact on users
In case multi-page election snapshot is being created, pallet-staking tracks the last item that it fetched form T::VoterList, and continues iteration in the next call. Whoever this poor voter is, either a validator or a nominator, they cannot chill themselves in any possible way for a period of 1 block when they are the head of the snapshot. This is a very small annoyance for the end users.

This PR is now ready for audit and final review.

Closing and putting into my archive group to revisit someday.


[plugin|tiling] iTerm2 with "No Title Bar" setting enabled won't tile

When I go to Profiles -> Default -> Window -> Style, select "No Title Bar", and relaunch iTerm2, chunkwm will not resize the terminal windows. I feel like this was also an issue with kwm, but I couldn't find discussion about it here. The advanced "Hide iTerm2 from the dock" setting does seem to work (at least sometimes) in chunkwm, interestingly.

Works for me with iTerm2 3.1.beta.3

@oxyc you're right, it's working for me after upgrading to the 3.1 beta:
brew cask uninstall iterm2
brew tap caskroom/versions
brew cask install iterm2-beta

Thanks!

Same issue with alacritty@master. As this was resolved by upgrading iTerm, I suppose the issue needs to be raised against alacritty? Does anyone know what causes it to break; how iTerm fixed it?

The window roles reported by the accessibility API is what causes this.
You can use the window rules system to work around this: https://github.com/koekeishiya/chunkwm/blob/3d6a018222efd1d3b32538380fb6f2c252e3058f/src/plugins/tiling/README.md#window-rules
Typically, something like: chunkc tiling::rule --owner alacritty --state tile
If that causes issue with menus, tooltips? and whatever, you need  to get more specific.
You can run the following commands to figure out more about the window.
First, make sure an alacritty window is open in the active desktop. Then write the following commands:
chunkc tiling::query --desktop windows

# identify the alacritty window, and it should also contain the string: (invalid)
# run the following command replacing <id> with the window id reported by the previous command
chunkc tiling::query --window <id>

Other than this, yes, the developer of alacritty has to make sure the application conforms to the acccessibility standards.

@koekeishiya Many thanks for your reply.
Without title bar:
id: 62770
level: 0
name: ...
owner: Alacritty
role: AXWindow
subrole: AXUnknown
movable: 1
resizable: 0

With title bar:
id: 62707
level: 0
name: ...
owner: Alacritty
role: AXWindow
subrole: AXStandardWindow
movable: 1
resizable: 1

Are 'resizeable' and 'subrole' properties that applications set, or does chunkwm derive them based on something else?

These properties are queried from the macOS accessibility API.
Regarding the subrole, I'm not completely sure how that is set by the applications, but this can be worked around using the rules-system implemented in chunkwm, and is not a big deal.
The real problem here is that the window is not marked resizable. The reason for this is that the windowing toolkit that Alacritty uses does not set the NSWindowResizableMask to the NSWindow's styleMask.
Most frameworks that I've seen have this behaviour (god knows why..) when the window titlebar is disabled. GLFW used by the Kitty terminal had the same issue, however the Kitty developer made the hide_titlebar option re-add the missing NSWindowResizableMask manually. as the GLFW API exposes the underlaying NSWindow if desired.
The author of Alacritty could probably fix this the same way.


sam_e70_xplained: running tests/subsys/logging/log_core failed

Steps to reproduce the behavior:
twister -p sam_e70_xplained --device-testing --device-serial /dev/ttyACM1 -T tests/subsys/logging/log_core
see error
*** Booting Zephyr OS build zephyr-v2.4.0-3601-g7191b64c6f08  ***
Running test suite test_log_list
===================================================================
START - test_log_backend_runtime_filtering
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:65: put: (log_msg_timestamp_get(msg) not equal to exp_timestamp)
Unexpected message index
FAIL - test_log_backend_runtime_filtering
===================================================================
START - test_log_overflow
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:65: put: (log_msg_timestamp_get(msg) not equal to exp_timestamp)
Unexpected message index
FAIL - test_log_overflow
===================================================================
START - test_log_arguments
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:301: test_log_arguments: (8 not equal to backend1_cb.counter)
Unexpected amount of messages received by the backend.
FAIL - test_log_arguments
===================================================================
START - test_log_from_declared_module
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:325: test_log_from_declared_module: (2 not equal to backend1_cb.counter)
Unexpected amount of messages received by the backend.
FAIL - test_log_from_declared_module
===================================================================
START - test_log_strdup_gc
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:352: test_log_strdup_gc: (2 not equal to backend1_cb.counter)
Unexpected amount of messages received by the backend.
FAIL - test_log_strdup_gc
===================================================================
START - test_log_strdup_detect_miss
PASS - test_log_strdup_detect_miss
===================================================================
START - test_strdup_trimming
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:434: test_strdup_trimming: (1 not equal to backend1_cb.counter)
Unexpected amount of messages received by the backend.
FAIL - test_strdup_trimming
===================================================================
START - test_log_msg_dropped_notification
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:449: log_n_messages: (backend1_cb.total_drops not equal to exp_dropped)
Unexpected log msg dropped 24 (expected 0)
FAIL - test_log_msg_dropped_notification
===================================================================
START - test_z_log_get_s_mask
PASS - test_z_log_get_s_mask
===================================================================
START - test_log_panic
Assertion failed at WEST_TOPDIR/zephyr/tests/subsys/logging/log_core/src/log_core_test.c:517: test_log_panic: (2 not equal to backend1_cb.counter)
Unexpected amount of messages received by the backend.
FAIL - test_log_panic
===================================================================
Test suite test_log_list failed.
===================================================================
PROJECT EXECUTION FAILED
Environment (please complete the following information):
OS: Fedora33
Toolchain: zephyr-sdk-0.12.0
Commit ID: 7191b64c6f08

@Zhaoningx Do you have the sam_e70_xplained or the sam_e70b_xplained?  The former fails for me on my E70B, the latter passes.
Look at the big chip.  The E70B has:
     Atmel
  ATSAME70Q21
       AN
        B

@Zhaoningx Do you have the sam_e70_xplained or the sam_e70b_xplained?  The former fails for me on my E70B, the latter passes.
Look at the big chip.  The E70B has:
     Atmel
  ATSAME70Q21
       AN
        B

@Zhaoningx  ping

@Zhaoningx  ping

Hi @nashif  @pabigot , I'm sorry, I have reported this before, and nashif has tested successfully, so I will find another e70 board to test this, so closed first. see https://github.com/zephyrproject-rtos/zephyr/issues/31340

Hi @nashif  @pabigot , I'm sorry, I have reported this before, and nashif has tested successfully, so I will find another e70 board to test this, so closed first. see https://github.com/zephyrproject-rtos/zephyr/issues/31340

The bug is still existing, so re-open this issue.

Are you sure you don't have a sam_e70b_xplained?  That is not the same board as sam_e70_xplained, though that's what it's called.

Hi @pabigot , yep, I have sam_e70_xplained board, it will failed when I run tests/subsys/logging/log_core, and I used another sam_e70_xplained board, the bug is still existing.

Run the same test with sam_e70b_xplained.

You are right, the test is passed using sam_e70b_xplained

@Zhaoningx please confirm what board you have exactly, this is starting to get confusing. I have rev A and the test passes just fine.

Just to clarify, A and B means IC revision and not board revision. So, B IC's fixes some A problems and need look at errata docs.
In fact, you can buy a B LQFP and replace A chip in the DevKit.

to make sure:

Hi @nashif @nandojve , thanks for your comments, it's my mistake and my board is sam_e70b_xplained not sam_e70_xplained, and it passed to test, so closed this.


the play button does not work when there is advertisement in spotify

Describe the bug
A clear and concise description of what the bug is.
When there is an advertisement and you press the play button in the status bar, it does nothing, you need to do it in manually in the spotify app.

ISSUE TYPE

Bug Report

Steps to reproduce

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

Expected behavior
A clear and concise description of what you expected to happen.

ACTUAL RESULTS

Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. macOS]
Plugin version [e.g. Code Time v1.2.1]

Additional context
Add any other context about the problem here.

@Abhishek12345679 thanks for letting us know.
At that moment, what are you expecting the play button to do?   pause Spotify?  or start playing a different song?

i expect it to resume the advertisement so that when it ends the next song comes up, at the moment, if spotify is muted on an ad, the play button does nothing.


Offline environment

Summary
I'm using Watir with webdrivers. When I'm on an environment without internet access I get the following on the client side:

An unhandled lowlevel error occurred. The application logs may have details.

On the server side I can read the following logs:
2023-03-16 13:45:46 +0000 Rack app ("POST /report" - (<IP_ADDRESS>)): #<Webdrivers::ConnectionError: Can not reach https://github.com/mozilla/geckodriver/releases/latest>

The app is just doing something like browser.goto 'http://<IP_ADDRESS>:8080' where of course http://<IP_ADDRESS>:8080 is available.
But it seems that webdrivers try to check for update on internet and fails if can't contact the upstream URL.
https://github.com/titusfortner/webdrivers#version-pinning

You can explicitly trigger the update in your code, but this will happen automatically when the driver is initialized:

Would that be possible to disable the update or not fails if it can't reach https://github.com/mozilla/geckodriver/releases/latest but just display a warning instead.
Debug Info
Please provide the following information for bug reports:

Webdrivers version: 5.2.0
Ruby version: 3.2.1
Operating system / CI Environment: alpine
Browser and version: Firefox 111

By reading https://github.com/titusfortner/webdrivers/blob/main/spec/webdrivers/geckodriver_spec.rb, I understand that I could potentially pre-download the binary for offline use and that would not trigger the ConnectionError?
https://github.com/titusfortner/webdrivers/blob/5b3dc29ff5cdb7bec110de949e78184c789ef63a/spec/webdrivers/geckodriver_spec.rb#L24C11-L32

Hey @noraj, in addition to downloading the driver during Docker build stage, it would also help to pin the version to whatever version is already downloaded. This should do it:
# Set required to currently available version
Webdrivers::Geckodriver.required_version  = Webdrivers::Geckodriver. current_version

That will ensure no network calls are attempted to check for or perform an update at run time. Feel free to close this issue if it solves the problem.


Update: Datronicsoft.SpacedeskDriver.Server version 0.9.1088.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/azp run

This is prompting for a reboot during installation on x86.


docker_builder.sh execute error

docker_builder.sh shows the following error.
Starting >>> isaac_ros_argus_camera_mono
--- stderr: isaac_ros_argus_camera_mono
/opt/isaac_ros_ws/src/isaac_ros_argus_camera/isaac_ros_argus_camera_mono/src/argus_camera_mono_node.cpp:17:10: fatal error: Argus/Argus.h: No such file or directory
 #include <Argus/Argus.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/monocular_node.dir/src/argus_camera_mono_node.cpp.o] Error 1
make[1]: *** [CMakeFiles/monocular_node.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< isaac_ros_argus_camera_mono [14.7s, exited with code 2]

Executing fix_jetson_docker.sh solved this problem.
Maybe this docker patch process can be included in the nanosaur installation script.
Environment
Jetson Nano 4GB + JetPack 4.6
To Reproduce

Install JetPack 4.6
Run sudo apt update && sudo apt -y full-upgrade && sudo apt -y autoremove && sudo apt -y install curl
Run curl https://raw.githubusercontent.com/rnanosaur/nanosaur/master/nanosaur/scripts/nanosaur -o $HOME/nanosaur && chmod +x $HOME/nanosaur && $HOME/nanosaur install dev
Run cd ~/nanosaur_perception/src/nanosaur_perception && bash nanosaur_perception/scripts/docker_builder.sh

Hi @Tiryoh , always thank you
On nanosaur there is a private repo https://github.com/rnanosaur/nanosaur-jetson-runner (now public) only to manage the remote build and the installation on my local jetson.
I think, more than add on the installation script, I will add a note on the wiki readme :-)

On nanosaur there is a private repo https://github.com/rnanosaur/nanosaur-jetson-runner (now public) only to manage the remote build and the installation on my local jetson.

Wow! This is awesome! I'll try it.

I think, more than add on the installation script, I will add a note on the wiki readme :-)

Thanks, It sounds reasonable. I guess people who build their own docker image are "developers", so I think it is enough to be written in the wiki so they can handle it.

Fixed https://github.com/rnanosaur/nanosaur/wiki/Build-docker


deploying

🤦♂ Thanks for the heads up. I looked into the core and Lax is actually the default. I've updated.


500 | Internal Server Error ReferenceError: window is not defined

Hi i want to use vuex-persistedstate but im getting this error.
500 | Internal Server Error
ReferenceError: window is not defined
at module.exports (KawAnime-master/node_modules/vuex-persistedstate/dist/vuex-persistedstate.js:1:398)
Is there any fix for this?

KawAnime is a server-side rendered app, similar to how a nuxt app is working. Thus, in the server context, window is not defined and you get this error.
You can fix that by doing something similar to this file.
let Velocity = null

if (typeof window !== 'undefined') Velocity = require('velocity-animate').default


Good place to put abstracts/paper content?

I drafted an abstract with input from @dabreegster last week. I've got the content in a .md file. Should this live in this repo as a kind of documentation? Also thinking of more stuff, e.g. a blog post for OS/ATE at some point. Is there a natural place for this? Could also set-up an atip-docs repo to keep it clean.

Here's the .qmd version of the abstract for Velo-City in any case:
---
title: "ATIP: A new open source tool for active travel planning"
# format: docx
format: gfm
---

# Abstract (max 300 words)

High quality evidence is key to successful active travel planning.
Better datasets are needed on every aspect of active travel, including on existing infrastructure, behaviour change and benefits.
Lack of data on planned infrastructure is a particularly acute problem in many places, preventing understanding of the level of ambition and coherence of the planned pipeline of schemes at local, regional and national levels.
Even when datasets on plans are available, they tend to be too basic to be useful for meaningful analysis, providing aggregate information on scheme budgets and scheme types, for example.
Even when detailed plans are available, they tend to be in PDF format, making them difficult to analyse at scale and impossible to ‘put on the map’ and compare with other schemes.
To tackle these problems, Active Travel England in collaboration with the Alan Turing Institute, is developing the Active Travel Infrastructure Platform (ATIP).
The session will focus on ATIP’s scheme sketching functionality, which has enabled collection of data on 1000+ schemes nationwide.
ATIP reduces the burden on local authorities submitting bids, by enabling collaboration: people who know the schemes best can input the data.
The resulting files are encoded in the open GeoJSON format to reduce friction throughout the process and enable systematic analysis of data provided in a consistent and customisable schema.

The session will showcase the tool and allow participants to test the tool.
For the benefit of other organisations looking to collect data on planned infrastructure in new places we will outline how to build on the source code, hosted at https://github.com/acteng/atip.
The tool provides a powerful foundation for large scale and decentralised surveys of existing and planned interventions and we hope that at least some participants will deploy the underlying open technology to connect regions, cities and communities worldwide.

There is both an academic and general track: https://www.velo-city-conference.com/en/programme/call-for-abstracts/

Please select one of the four subthemes that will be mainly addressed in your abstract

*Connecting people and communities What session format would you prefer*

Workshop

Please specify how you plan to organise and animate the session

We will organise the session with a very short presentation of the tool, followed by a hands-on session led by staff from Active Travel England where participants can test the tool and ask questions.
The practical session will involve participants getting their hands dirty by testing out the tool either on their own or in groups, to sketch new infrastructure based on a real world case study city.
We will also ask questions of the audience to understand how they might use the tool in their own work and to guide future development of this open tool for use internationally.

docs/papers/ in this repo, or a new repo would get my vote. If the paper needs to be reviewed internally first, then perhaps a private repo before publishing?


[Chore] improve mono-repo release process

Background
flagd is a mono repo containing three core modules: flagd, flagd-proxy & core. And there are cross dependencies as given below,
graph TD;
    flagd-->core;
    flagd-proxy-->core;

Problem
Current release process focus on all three modules [1]. And we need to improve this release process to,

Release both flagd, flagd-proxy whenever there is a change in core

graph TD;
    change:core-->release:flagd;
    change:core-->release:flagd-proxy;

Avoid unnecessary core releases when changes are only focused on core

[1] - https://github.com/open-feature/flagd/blob/main/release-please-config.json#L5

ideally the release notes for flagd and the flagd-proxy would also reflect the respective changes in core, I believe, and may be mistaken but release please will only add the core version bump to the changelog, while accurate personally I think more context in each modules release notes would be nice

https://github.com/googleapis/release-please/issues/1581

I'm assigning this to myself because I'm already talking to the maintainer of release-please about it. I have a proposal I believe will work.

is this still relevant? 🤔
having core releases is a benefit IMHO since it acts as a library release

Closing this for now. What we have isn't perfect, but it's good enough.


explain instalation process better

after this the best would be to delete the composer.json file and delete/abandon the proyect on packagist.

https://github.com/yiisoft/jquery-pjax/issues/34


Clarifications and improvements

The benchmarks should include the project goals (simplicity+portability[nostd] vs performance).
Personally I do see memory lifetimes not as an issue, since one should use arena allocators for performance anyway.
Some other projects that could be compared, whereas libzahl would be a good candidate for a simple project (including possible benchmark extensions) are given here and personally I think libzahl would be a candidate, because its easy to build and use.

I have added a note about no_std.
These other libraries are not Rust libraries. zig-bn is a Zig library, libzahl is a C library.


Exception: ModuleNotFoundError: No module named 'azure.cosmosdb'

Hi,
running my function locally through VSCode works fine but I am getting a HTTP Server 500 when executing it in Azure.
This is what I see in Insights:
Result: Failure
Exception: ModuleNotFoundError: No module named 'azure.cosmosdb'
Stack:   File "/azure-functions-host/workers/python/3.6/LINUX/X64/azure_functions_worker/dispatcher.py", line 242, in _handle__function_load_request
    func_request.metadata.entry_point)
  File "/azure-functions-host/workers/python/3.6/LINUX/X64/azure_functions_worker/loader.py", line 66, in load_function
    mod = importlib.import_module(fullmodname)
  File "/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/site/wwwroot/cities/__init__.py", line 6, in <module>
    from azure.cosmosdb.table.tableservice import TableService

Following is the content of my requirements.txt, which I am using:
azure-common==1.1.24
azure-cosmosdb-nspkg==2.0.2
azure-cosmosdb-table==1.0.6
azure-functions==1.0.8
azure-nspkg==3.0.2
certifi==2019.11.28
cffi==1.14.0
chardet==3.0.4
cryptography==2.8
idna==2.8
pycparser==2.19
python-dateutil==2.8.1
requests==2.22.0
six==1.14.0
urllib3==1.25.8

I am deploying my function including function app, plan and storage account using Pulumi.

I may know what the issue is here. In my Pulumi code I am creating a
new azure.appservice.ArchiveFunctionApp resource which has an archive property. This results in a function app being created which references an archive on blob storage. It looks like with this type of deployment the requirements.txt is never used (as it would be if I would run my func azure functionapp publish command triggering a local or remote build).
Let's assume I can only deploy functions which reference an archive with Pulumi. Would there be a way to construct an archive for a Python function that would be "complete" meaning all the dependencies are added ?
I ran
pip install  --target="<PROJECT_DIR>/.python_packages/lib/site-packages"  -r requirements.txt

to add to the archive but that does not seem to be enough.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:38: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_a9nfi0xfo0/clone/recipe/meta.yaml:38: missing_dev_url: The recipe is missing a dev_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:38: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_1eszud2ohp/clone/recipe/meta.yaml:38: missing_dev_url: The recipe is missing a dev_url
Errors were found


[Bug]: Connection error

Project Version
3.2.3
Platform and OS Version
windows 11
Affected Devices
pc
Existing Issues
No response
What happened?
dosent work
Steps to reproduce

click anything

...
Expected behavior
work
Attachments
No response
Screenshots or Videos
recording.webm
Additional Information
No response

why you're trying to use 3.2.3 version, I assume installing it from scratch, instead of downloading a prebuilt latest version?

use last compiled version


Added a matrix of deployment platforms and config files

Fixes https://github.com/kubeflow/website/issues/1338

This change is

This PR is now ready for review. Applying a hold to allow for multiple reviewers.
/hold

Preview: https://deploy-preview-1467--competent-brattain-de2d6d.netlify.com/docs/started/getting-started/#configuration-quick-reference
/assign @abhi-g

Thanks @sarahmaddox. Overall looks good to me. Is there someone from Azure and IBM Cloud who can confirm their config files to use?
Rows 1 and 3 in the table have colons whereas others don't.
Also Row 1 for Existing K8s cluster configuration kfctl_k8s_istio.0.7.0.yaml does install istio as well.

Thanks @abhi-g! I've updated the doc in response to your comments.
@vjrantal Can you take a look at the config file I've listed for Microsoft Azure? I chose the config file that's used as the example in this doc: https://www.kubeflow.org/docs/azure/deploy/install-kubeflow/
@jinchihe Can you take a look at the config file I've listed for IBM Cloud Private? I chose the config file that's used in this doc: https://www.kubeflow.org/docs/started/cloud/getting-started-icp/
/cc @vjrantal
/cc @jinchihe
Preview: https://deploy-preview-1467--competent-brattain-de2d6d.netlify.com/docs/started/getting-started/#configuration-quick-reference

@sarahmaddox Great thanks!
/lgtm

/hold cancel
@aronchick please would you take a look at this PR on behalf of Microsoft? I think @vjrantal must be away, and I don't have any other contacts.

@abhi-g I'm having trouble finding someone to check the for Microsoft Azure side of things. The matrix shows the config file that's used as the example in this doc: https://www.kubeflow.org/docs/azure/deploy/install-kubeflow/
I could add the words "as an example" in the matrix too, or we can remove the config file from the matrix and just refer to the doc, or was can leave the matrix as is. What do you think?

I'll say we have it a fair try. It's goog to merge as it is. If they find someone who can correct it, they can always submit a PR to update.
/approve


Use MetaMask SDK connector

Replaces the currently used generic "injected" connector with the MetaMask SDK connector.
You can read about the SDK here: https://docs.metamask.io/wallet/concepts/sdk/

Need to update wagmi, numerous mm sdk updates in there


Add support to build for arm64 version

I am running visual studio 2022 arm version with Parallels Desktop. Current build doesn't supporting arm version. Just update the csproj file allow to build for arm version. built locally works.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!


Create React App should throw warnings when an unavailable class in a module is used

This is a feature/enhancement request, although I think it's a must-have-one.
I'm using version: "2.1.1".
When using the built-in module feature for CSS by adding .module to the CSS file and importing the CSS file into a JS variable you won't get a warning or error if the class that you use as the variable's property name is not available (say because you mistyped the class name) .
It is gracefully ignored and no class name is added to the final HTML file.
I think it should properly warn one about such a thing and also allow us to disable/enable such warnings.
BTW, I'm still new to this business, so if there are any problems/ways of improvement to what I've submitted, please educate me.

Hi @kevindelsh, there is some discussion about this amongst our TypeScript users, but we haven't really looked into this for JavaScript yet.
This has been [requested as a css-loader feature[(https://github.com/webpack-contrib/css-loader/issues/326), which would be ideal and I think we can use that if the feature lands.
In the meantime...
If you use TypeScript, you can use an IDE plugin or TypeScript plugin to help with this, but they'll only give errors in your IDE, not during build. The TypeScript team have been asked about this, but don't currently have an API to run plugins during build.
Similarly, with JavaScript, most IDEs have plugins that can do the same for JavaScript. But again, these don't stop builds, they just warn in the IDE.
There's also an ESLint plugin, but I haven't tried this.
https://www.npmjs.com/package/eslint-plugin-css-modules
Let us know how you go! I'll close this off for now, but be assured that we'd love to get this in as soon as there's a good option available.

Hey @mrmckeb, thank you for your prompt, detailed and friendly response.
I understand, create react app uses webpack for the build heavy lifting and should be implemented there (Hope I got it right).
I use JS and VS Code and ended up using a plugin VS Code CSS Modules which enables Intellisense and find definition. That's half the value and good enough for now.
I leave that here. May it help a wanderer in the wild.

Thanks @kevindelsh!

looking for somethink like npmjs.com/package/eslint-plugin-css-modules for tslint :(


upgrade Trusted Issuer List

Steering summary
Spherity has built an Ethereum-based smart contract-based trusted credential issuer registry. In principle, this registry is functional
and ready for use by the intended ecosystem and managed by trusted entities. However, with knowledge gained since its release, we have realized that the existing MVP requires changes based on needs of the ecosystem. This is part of OCI's continuous improvement.

Envisaged improvements
Upgradability

There is no upgrade mechanism for the trusted issuer registry contract. This means that an upgrade will result in a new contract, which represents an inconvenience for implementers regarding data migration and its implications.
The difficult upgrade process of the smart contract also discourages changes to the trusted issuer registry and, thus, slows down its adaptability to future requirements.

Granularity

The registry does not cater for the distinction between different trusted issuers being able to issue different credential types. Such added granularity would help automate the issuer check by the verifier.

Delegation

Meta transactions are not possible, which reduces usage flexibility and user experience. This empowers inexperienced users to manage trusted issuers through web3-enabled platforms. Meta transactions enable an actor to carry out transactions on behalf of someone else's wallet as long as the signer of the transaction can prove they have access to the private key material of the current owner of the identity.

UX

Trusted issuers are represented by machine-readable identifiers, such as Ethereum addresses and DIDs. These are not human readable and aren’t necessarily resolvable to metadata like further blockchain addresses, avatars, descriptions, and more.
improve user experience of MVP’s dApp user interface

Scope of work

[ ] - Define new requirements based on contract limitations and further needs
[ ] - Research alternative smart contract approaches and technological solutions for requirements
[ ] - Develop draft specification and proposal to OCI
[ ] - Creation of new smart contract, libraries, and test suites
[ ] - Finalize smart contract specification, implementation

Impact on ecosystem player & OCI Statekeepers:
Wallet

must do: change API contract address, change ABI (app binary interface) - both copy-paste
probably not needed but possible: if called smart contract function name changes, copy-paste string of new function to update API call

VRS

no impact

Issuer

no impact

Trading Partner

no impact

Statekeeper

voting behaviour changes - existing frontend will be adapted to be more user-friendly (but wanted to make it more user-friendly anyway)

[ ] Is Issue appropriate for OCI Architecture
[ ]  Create Steering-level Summary of request
[ ]  Assign Size
[ ]  Assign Priority
[ ]  Assign Label (if needed)
[ ]  OCI affected Artifacts Identified
[ ]  Assign Triage - Artifact Version Target (v x.x.x Milestone)
[ ]  Assign Triage - Interop Profile Version Target (v x.x.x Milestone)
[ ]  Create sub-project (if needed)

Affected Parties (help determine Sunrise/Sunset):

[ ] Trading Partners
[ ]  Issuers
[ ]  Wallet Solutions
[ ]  PI Verification Solutions

Affected OCI Artifact

[ ] Schema Document
[ ]  Identity Schema
[ ]  ATP Schema
[ ]  Issuer Conformance Criteria
[ ]  Wallet Conformance Criteria
[ ]  VRS Solution Conformance Criteria
[ ]  Wallet API Specification
[ ]  Governance Document
[ ]  Conformance Program
[ ]  OCI Website
[ ]  Internal Process
[ ] trusted issuer list

Change Category (Guides Steering Review)

Steering/Industry Review

[ ]  Business-Level (May affect business operations)

[ ]  OCI Governance, Policy or website feature

Steering/Industry Notification

[ ] Technical-Level (Does not affect business operations)

[ ]  OCI Internal Process or Infrastructure

Communication

[ ] Website
[ ] Newsletter
[ ]  email:
[ ]  Other:

General
Spherity is proposing to enhance the currently implemented MVP. To summarise possible improvements and requirements:

Upgradability: New features and bug fixes can't be made without changing the smart contract address.
Security: The current implementation of the voting procedure for adding statekeepers is custom-written and not audited by a security firm.
Granularity: There is a need to define trusted issuers on a credential type level.
Platform features: Support delegation and meta transactions that allow statekeepers to let another entity take writing actions in their name.
Frontend: Improve usability for statekeepers to make changes on a trusted issuer list.

Spherity has been given a grant by the Ethereum Foundation to create a general specification and library for the Ethereum community for this specific problem. A first draft can be found here. We propose to use this as the basis for an upgraded trusted issuer solution.
Proposed Solution
About the Trusted Hint Registry
The new specification mentioned above describes a trusted hint registry.

A hint is a metadata snippet that describes key attributes related to verifiable data or identities. These
hints provide insights, aiding in the interpretation, reliability, and verifiability of decentralized ecosystem data.
Hints can be used for multiple purposes, like revocation data, timestamping offline data, or trusted issuer information.

In this registry, an Ethereum address (namespace) owns a space of bytes32 hint lists. In those hint lists, any given bytes32 hint key can point to a bytes32 hint value. The structure is visualised below.
hint registry
├─ namespace
│  ├─ hint list 0
│  │  ├─  hint key 0
│  │  │   ├─  hint value
│  │  ├─ hint key x
│  │  │   ├─  hint value
│  ├─ hint list 1
│  │  ├─  hint key 0
│  │  │   ├─  hint value
... ... ... ...

The specification also describes a set of management features:

An Ethereum address can invite other addresses (delegates) to one or more of their hint lists in their namespace.
An Ethereum address can change the ownership of one or more of their hint lists to a new Ethereum address.
A hint list owner/ delegate can use meta transactions to enable a third party to carry out transactions for them.

Apply the Trusted Hint Registry to OCI
To apply this to the OCI needs, we propose to do the following:
1. Swap voting feature for user-friendly multi-signature wallet (user-facing)
Instead of implementing a custom audited voting process, we can resort to user-friendly multi-sig wallets. These wallets allow multiple existing wallets to be part of an organisational wallet. In there, every action, e.g., adding a trusted issuer, needs to reach a certain quorum by the participating wallets (statekeepers) before the multi-sig wallet carries out an action for them. So multiple signatures are needed before an action can be taken, which is comparable to typical internal processes in enterprises.
We propose to use the usage of Gnosis Safe as they provide a user-friendly multi-sig wallet reachable via the web with all the invitation and voting features needed for OCI. OCI statekeepers will still need  hardware wallets to use Safe.

2. Usage of registry data structure (developer-facing)
As described earlier, the data structure is hierarchically organised into namespaces, hint lists, hint keys, and their hint values.

namespace: The namespace should be the address of the multi-sig wallet, as all writing actions shall be carried out by it after voting has happened by the participating statekeeper wallets.
hint list: This can be any arbitrary bytes32 value. We suggest the Keccak-256 hash of the credential schema URL for now. For https://open-credentialing-initiative.github.io/schemas/credentials/IdentityCredential-v1.0.0.jsonld this would be 0x1825a61b3b384c564efb355d7aee9ef08d663bb59b5d308146fcaeaa4a1de1ff.
hint key: This can be any arbitrary bytes32 value. We suggest the Keccak-256 hash of the issuer's DID. We are still actively discussing, if we want to store a bytes representation of the DID instead of its hash to make decoding of the written value possible.
hint value: This can be the bytes32 representation of a boolean indicating if the hint key is trusted or not.

The structure can be visualised like so:
hint registry
├─ 0x..... (OCI address)
│  ├─ 0x1825a61b3b384c564efb355d7aee9ef08d663bb59b5d308146fcaeaa4a1de1ff (https://open-credentialing-initiative.github.io/schemas/credentials/IdentityCredential-v1.0.0.jsonld)
│  │  ├─  68bc8ca5d3b25b356cac4918838a92e284e06653081c2b8fd296250aab79a26f (did:example:example)
│  │  │   ├─  0x0000000000000000000000000000000000000000000000000000000000000001 (true)
... ... ... ...

3. Trusted issuer checks in digital wallets (developer-facing)
We propose to offer two methods that a digital wallet can call:

low-level: getHint(address _namespace, bytes32 _list, bytes32 _key) external view returns (bytes32);
With this one, the digital wallet needs to do the hashing operations outlined above itself to get the trust status of an issuer DID in a specific credential schema URL.

high-level: isTrustedIssuer(address _namespace, string _contextUrl, string _issuerDid) external view returns (bool);
With this one, the digital wallet only needs to provide the OCI multi-sig address, credential schema URL string, and issuer DID string.

With the high-level method, wallets need to change their contract calls from this
const did = "did:example:example";
const isTrustedIssuer = await contract.isTrustedIssuer(did);

to this
const ociAddress = "0x.....";
const schemaUrl = "https://open-credentialing-initiative.github.io/schemas/credentials/IdentityCredential-v1.0.0.jsonld";
const did = "did:example:example";
const isTrustedIssuer = await contract.isTrustedIssuer(ociAddress, schemaUrl, did);

4. Subscribing to registry changes (developer-facing)
The new contract emit events on the blockchain for various actions happening in the registry. One of them is the HintValueChanged event that is being emitted whenever a hint value in the registry changes somewhere.
With an open web socket connection, the digital wallet can subscribe to HintValueChanged events happening in the OCI address namespace and create a local cache of the values inside of it. It can persist the credential type context URL hash (hint list), the DID hash (hint key), and the bytes32 representation of the bool defining if that DID is now trusted or not from now on.
With every incoming verification or generation call, the digital wallet can then generate Keccak256 hashes of the credential type context URL and issuer DID and check against cached values. This way, wallets can spare on further external calls to an Ethereum wallet with every verification or generation, reducing further latency from calls to the wallet APIs.

Approved by Steering 2024-01-29


Create separate compression-specific layer to enable writing gzipped files

Implement the solution described by mpenkov in https://github.com/RaRe-Technologies/smart_open/issues/82#issuecomment-244605151

Is anybody working on this? If not, I'll have a look at it.

@mpenkov You will be very welcome!

@tmylk @piskvorky I've started working on this on a separate branch.
Basically, I rewrote the S3 subsystem using a hierarchy of classes based on the native io library. The S3 subsystem now returns file-like objects that can be passed to other decoders, etc. The existing tests, as well as ones I added, pass; things seem to work well. Almost.
gzip (using the native library) doesn't work with Python 2.6. The 2.6 implementation tries to seek around the file, and AFAIK that just isn't possible with S3 (no random access). This is a real shame, since plugging the gzip library in is a one-liner.
The alternative is to write a separate decoder using the lower-level zlib, which we would use for Python 2.6 only, since gzip is much more powerful. I'm not sure if it's worth bothering for 2.6: AWS EC2 instances have been using 2.7 since last year. I'd like to leave that to you to decide. Please let me know what you think.

👍
This issue is tagged as "easy". Is that true?  Is the @mpenkov branch the best place to start on this?

It's reasonably easy. I don't know how far behind master my branch is, but I imagine it'd be a good place to start.
Working around the gzip issue is pretty much the only thing what's left, if I recall correctly @bgreen-litl

just a nudge, I was bitten by this. It was trivial in my case to just modify the filename so that .gz wasn't at the end. That's good enough for my needs. But this remains an unresolved wart on the smart_open api.

I wonder if this could be used as a backend to the FUSE filesystem library, so that you can "just" mount a smart_open drive as an actual block device (given you have the permission, of course).
Bonus: This would allow any C++ lib to use it as well.

@menshikh-iv Are you actively working on this? I've scheduled some time off in August and may have time to look into it.

@mpenkov you are welcome, feel free to contribute

@menshikh-iv I've had a look at it. The problem can be summarized as:

Python 2's gzip.GzipFile uses seek and tell to detect EOF. More specifically, it seeks to the end of the file to detect EOF. Obviously, this isn't something we can do when streaming from S3.
Python 3's gzip.GzipFile is a bit more clever. It uses zlib's decompressorobj.eof flag to detect EOF, so no seeking/telling is necessary.
It appears that we can't easily backport gzip.GzipFile from Python 3 and bundle it with smart_open, because it depends on a newer version of zlib, which in turn is implemented in C.

The above means that we should continue to use the GzipStreamFile instead of gzip.GzipFile. I'm not sure how well this fits into the design that I proposed at the start of this issue - I need to think about it.
In the meanwhile, can someone please comment on the logic of the above? Is it really impossible to backport Python 3's gzip and bundle it with smart_open?

The other way forward would be to use boto3 (#43), because that's seekable, but we're currently blocked from doing that (#41).

Hi @mpenkov, sorry for late answer (I missed a notification).
For my opinion, boto3 is the best variant (Moreover, we should migrate to boto3), backport of gzip from python3 looks difficult. About #41, how it's blocked boto3 migration?

@menshikh-iv Sorry, I linked the wrong issue, the blocker is #43.
AFAICT, the reason for blocking is that boto3 may not be entirely backwards-compatible with boto, although that was brought up a while ago and the situation may have changed already.

boto3 is absolutely not 'backwards compatible' with boto, their APIs are
substantially different. boto3 however can be used in parallel with boto,
with the intention of gradually shifting all boto calls to boto3
equivalents.
On Mon, Aug 14, 2017 at 9:52 PM, Michael Penkov<EMAIL_ADDRESS>wrote:

@menshikh-iv https://github.com/menshikh-iv Sorry, I linked the wrong
issue, the blocker is #43
https://github.com/RaRe-Technologies/smart_open/issues/43.
AFAICT, the reason for blocking is that boto3 may not be entirely
backwards-compatible with boto, although that was brought up a while ago
https://github.com/RaRe-Technologies/smart_open/issues/43#issuecomment-165165408
and the situation may have changed already.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RaRe-Technologies/smart_open/issues/91#issuecomment-322181776,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHpkgz7LG2ooyJGRApMU7TzaEWIGxQoks5sYEL1gaJpZM4KOcF4
.

--
Mike Cariaso
http://www.cariaso.com

@menshikh-iv OK. I will go ahead and bring in boto3 to implement S3 seeking.

Good luck @mpenkov:+1:


Question: How to add drivers to machine-rancheros.iso?

Wondering how I could add drivers to the rancheros machine iso install process. I'd like to add bluetooth and internet drivers.

0.3.0-rc2 includes a lot more drivers, but I'm sure some are missing.  We don't exactly make it easy to add drivers.  You can create a fully custom build of RancherOS if you want.  You will need to change the kernel config in os-base and then follow the instructions at https://github.com/rancherio/os-base/blob/master/README.md to build RancherOS with a custom os-base.
0.4.0 will focus on making it easier to swap out the kernel.

Would you mind making a guide on how to add a device driver?

Yes I can.  Are you trying to add a device driver that is in the upstream Linux kernel tree or is this a driver from a different source?  The procedure is a bit different.

its a linux driver for the motherboard, sata drives, samsung evo, amd opteron 6272

With #258, this will help with this issue.

Any progress on this guide? I want to add the RAID drivers for my HP raid controller into the build

This will be included in v0.4.0. Thanks for all your patience!

In 0.4 you can easily now build an ISO with a custom kernel.  Additionally we provide the kernel headers so you can build additional kernel modules without building a whole new kernel.  For example DKMS works.

awesome I'll have to go and give this a try, thanks


add window resize listener to webview for resize

Will properly handle window resize for webviews, there are still other problems though.
fixes #698

This will properly handle window resizing, but it won't respond to split screen resizing, viewlet resizing, terminal/output resizing, all which can affect the size of the dashboard. but this isn't limited to webviews, dashboard has this problem regardless.

OK great. Do we have a tracking issue for those other resizing events not being supported? Also for this PR, :shipit: given the explanation. Thanks!


Rewrite Harvest festa! [PCSG01043]

App summary

App name: Rewrite Harvest festa!
App serial: PCSG01043
App version: 1.00

Vita3K summary

Version: v0.1.4
Build number: 2400
Commit hash: https://github.com/vita3k/vita3k/commit/7cf07fb1

Test environment summary

Tested by: Zangetsu38
OS: Windows 10
CPU: AMD Ryzen 9 3900X
GPU: NVIDIA RTX 2070 Super
RAM: 16 GB

Issues

Music and voice is missing, using libatract and call missing PartlyDecode function

Screenshots

Log
vita3k.log

remove audio missing


feat(edit-personal-info): position TextField => Typeahead

Okay so this version is much much nicer, just one small hack left. Reason why I couldn't get something like this to work originally was I had Input component identity change on every render so the input field would lose focus / cursor position all the time


Items are all loaded right away on initialization.

Items are all loaded right away on initialization, without the user having scrolled to the bottom.

Issue resolved.


SIDM-7016 Add saat variable declaration, Environment test.

Notes:
*
*
*

saat should convert to sandbox (I've fixed it)

I wondered why Jenkins spawned two new builds. Thanks


Failed to create driver(unable to resolve this  issue, can anyone help on this, gave full strack trace as well)

Exception in thread "main" java.lang.RuntimeException: Failed to create driver
at com.microsoft.playwright.impl.Driver.ensureDriverInstalled(Driver.java:54)
at com.microsoft.playwright.impl.PlaywrightImpl.create(PlaywrightImpl.java:39)
at com.microsoft.playwright.Playwright.create(Playwright.java:92)
at com.microsoft.playwright.Playwright.create(Playwright.java:96)
at com.practise.playwright.PlaywrightTest.FirstTest.main(FirstTest.java:9)
Caused by: java.io.IOException: Cannot run program "C:\Users\hp\AppData\Local\Temp\playwright-java-13159650593791064633\playwright.cmd": CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1142)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at com.microsoft.playwright.impl.DriverJar.installBrowsers(DriverJar.java:60)
at com.microsoft.playwright.impl.DriverJar.initialize(DriverJar.java:39)
at com.microsoft.playwright.impl.Driver.ensureDriverInstalled(Driver.java:52)
... 4 more
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.base/java.lang.ProcessImpl.create(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:492)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:158)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1109)
... 8 more

As the error reads the file "C:\Users\hp\AppData\Local\Temp\playwright-java-13159650593791064633\playwright.cmd" is not there. On each run Playwright extracts the driver into a temp folder and launches from there. I looks like in you case the file was was removed from there before playwright got a chance to launch it. Could it be that some antivirus kicks in or you have not enough space on the disk? Can you pause the app when such exception is thrown and manually check if the specified path is there? (you need to pause as the temp files are deleted on playwright process exit)


Fixing curriculum issues.

closes #403

CurriculumTest and GradesTest both create a curriculum, which was automatically created once the grade got created.
The other tests failing probably still have the instances from the other tests, which didn't get deleted.


Support AWS CodeBuild

This PR adds support for AWS CodeBuild to find use of public container images in Docker Hub.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWSome!


[Feat]:  Improve Terms and Conditions Page ✔

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Issue Description
Title: Improve Terms and Conditions Page
Type of Issue: Content Improvement
Description:
The current Terms and Conditions page lacks clarity and readability, making it difficult for users to understand the information presented. Enhancing the layout and language will improve user experience and comprehension.
Use Case
Proposed Solution:
I can restructure the content, use clearer language, and implement a more organized layout for the Terms and Conditions page, making it easier for users to navigate and understand the terms.
Labels Request:
Please add the following labels: gssoc, hacktoberfest, and level.
Screenshot:

Benefits
No response
Priority
Low
Agreements

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC contributor
[X] I'm a Hacktoberfest contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

I would love to work on this issue. Consider assigning this to me.

Proceed!

Any update?


bio.tools IDs in Bioconda not in bio.tools

Below is a list of bio.tools IDs from Bioconda recipes that do not point to any bio.tools entries. Some are fixable, case in which I added the new id in parenthesis (needs checking) and some would require adding tools to bio.tools.
bam2fasta (None)
bold-identification (None)
chorus2	(None)
extract_fasta_seq (None)
faqcs (None)
gem_mapper (gemmapper,gem3)
hla-la (None)
ivar (None)
krakenhll (None)
ksw (None)
magicblast (None)
malt (None)
malva (None)
manta9235 (manta_sv)
mgkit
miniax
mutmap
ngmerge
pgcgap
phame
piret
popera
qtlseq
roast
sepp
sepp-refgg138
sepp-refsilva128
slimm
super_distance
taxonomy_ranks
tba
wham6216 (wham-variants)
womtool
xhmm

All of these are in #23, except where explicitly stated:
(bold are additional in #23)
bam2fasta (None)
bold-identification (None)
chorus2 (None)
extract_fasta_seq (None)
faqcs (None)
gem_mapper (gemmapper,gem3)
hla-la (None) - not in #23
ispcr - Bioconda recipe macroes biotools:{{ name }} which is populated from {% set name = "ispcr" %}, also into name: {{ name }}
ivar (None)
krakenhll (None)
ksw (None)
magicblast (None)
malt (None)
malva (None)
manta9235 (manta_sv)
mgkit
miniax
mirtop (mirtop) - fixed in bio.tools! Please keep the ID in and merge into bio-tools/content.
mutmap
ngmerge
pgcgap
phame
phylocsf - still in Bioconda
pirate - Bioconda recipe macroes biotools:{{ name|lower }} which is populated from {% set name = "PIRATE" %}, also into name: {{ name|lower }}
piret
popera
qtlseq
referenceseeker - still in Bioconda
roast - not in #23. It's package multiz (multiz) that for some reason also has 3 biotools IDs stated in Bioconda: multiz, roast, and tba
sepp
sepp-refgg138
sepp-refsilva128
shark - still in Bioconda
slimm
super_distance
taxonomy_ranks
tba - not in #23. It's package multiz (multiz) that for some reason also has 3 biotools IDs stated in Bioconda: multiz, roast, and tba
thesias
wham6216 (wham-variants)
womtool
xhmm


Added tensorboard support for tracking the training process of DTI prediction

Hi @kexinhuang12345,
I added tensorboard support for tracking the training process of DTI prediction. It only works for regression task of DTI prediction. I also added an loss for validation step in order to track if there is an overfitting during training. Hope this additional function helps.
Best,
Ken

Hi Ken, thanks so much for this contribution! Do you have a sample figure for generated loss tracking?

Hi Ken, thanks so much for this contribution! Do you have a sample figure for generated loss tracking?

Hi Kexin, I uploaded a sample figure to my google drive. Please let me know if you have a trouble seeing it.

Hi Kexin, I uploaded a sample figure to my google drive. Please let me know if you have a trouble seeing it.

Looking great, thanks a lot!!

Looking great, thanks a lot!!


[Test] Require asserts for experimental feature.

On non-asserts compilers, the following error is emitted:
<unknown>:0: error: experimental feature '<FEATURE>' cannot be enabled in a production compiler

@swift-ci please smoke test and merge


BF: Update requirements to match those in rich 12.4.1 pyproject.toml

Howdy,
This PR simply the package run-time requirements to match those in the pyproject.toml from rich 12.4.1.
Without these changes it is possible to create a conda environment which contains rich 12.4.1, and typing-extensions <4.0, which results in a run-time error when trying to access pkg_resources entry points. For example (installing rich-cli, as it depends on rich+typing-extensions, and registers an entry point):
conda create -c conda-forge -y  -p ./test.env python=3.8 rich-cli "typing-extensions=3.*"

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: $HOME/test.env

  added / updated specs:
    - python=3.8
    - rich-cli
    - typing-extensions=3

The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-2_gnu
  brotlipy           conda-forge/linux-64::brotlipy-0.7.0-py38h0a891b7_1004
  bzip2              conda-forge/linux-64::bzip2-1.0.8-h7f98852_4
  ca-certificates    conda-forge/linux-64::ca-certificates-2021.10.8-ha878542_0
  certifi            conda-forge/linux-64::certifi-2021.10.8-py38h578d9bd_2
  cffi               conda-forge/linux-64::cffi-1.15.0-py38h3931269_0
  charset-normalizer conda-forge/noarch::charset-normalizer-2.0.12-pyhd8ed1ab_0
  click              conda-forge/linux-64::click-8.1.3-py38h578d9bd_0
  colorama           conda-forge/noarch::colorama-0.4.4-pyh9f0ad1d_0
  commonmark         conda-forge/noarch::commonmark-0.9.1-py_0
  cryptography       conda-forge/linux-64::cryptography-36.0.2-py38h2b5fc30_1
  dataclasses        conda-forge/noarch::dataclasses-0.8-pyhc8e2a94_3
  docutils           conda-forge/linux-64::docutils-0.18.1-py38h578d9bd_1
  future             conda-forge/linux-64::future-0.18.2-py38h578d9bd_5
  idna               conda-forge/noarch::idna-3.3-pyhd8ed1ab_0
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.36.1-hea4e1c9_2
  libffi             conda-forge/linux-64::libffi-3.4.2-h7f98852_5
  libgcc-ng          conda-forge/linux-64::libgcc-ng-12.1.0-h8d9b700_16
  libgomp            conda-forge/linux-64::libgomp-12.1.0-h8d9b700_16
  libnsl             conda-forge/linux-64::libnsl-2.0.0-h7f98852_0
  libuuid            conda-forge/linux-64::libuuid-2.32.1-h7f98852_1000
  libzlib            conda-forge/linux-64::libzlib-1.2.11-h166bdaf_1014
  ncurses            conda-forge/linux-64::ncurses-6.3-h27087fc_1
  openssl            conda-forge/linux-64::openssl-1.1.1o-h166bdaf_0
  pip                conda-forge/noarch::pip-22.1-pyhd8ed1ab_0
  pycparser          conda-forge/noarch::pycparser-2.21-pyhd8ed1ab_0
  pygments           conda-forge/noarch::pygments-2.12.0-pyhd8ed1ab_0
  pyopenssl          conda-forge/noarch::pyopenssl-22.0.0-pyhd8ed1ab_0
  pysocks            conda-forge/linux-64::pysocks-1.7.1-py38h578d9bd_5
  python             conda-forge/linux-64::python-3.8.13-h582c2e5_0_cpython
  python_abi         conda-forge/linux-64::python_abi-3.8-2_cp38
  readline           conda-forge/linux-64::readline-8.1-h46c0cb4_0
  requests           conda-forge/noarch::requests-2.27.1-pyhd8ed1ab_0
  rich               conda-forge/noarch::rich-12.4.1-pyhd8ed1ab_0
  rich-cli           conda-forge/noarch::rich-cli-1.8.0-pyhd8ed1ab_0
  rich-rst           conda-forge/noarch::rich-rst-1.1.7-pyhd8ed1ab_0
  setuptools         conda-forge/linux-64::setuptools-62.2.0-py38h578d9bd_0
  sqlite             conda-forge/linux-64::sqlite-3.38.5-h4ff8645_0
  textual            conda-forge/noarch::textual-0.1.18-pyhd8ed1ab_0
  tk                 conda-forge/linux-64::tk-8.6.12-h27826a3_0
  typing-extensions  conda-forge/noarch::typing-extensions-<IP_ADDRESS>-hd8ed1ab_0
  typing_extensions  conda-forge/noarch::typing_extensions-<IP_ADDRESS>-pyha770c72_0
  urllib3            conda-forge/noarch::urllib3-1.26.9-pyhd8ed1ab_0
  wheel              conda-forge/noarch::wheel-0.37.1-pyhd8ed1ab_0
  xz                 conda-forge/linux-64::xz-5.2.5-h516909a_1
  zlib               conda-forge/linux-64::zlib-1.2.11-h166bdaf_1014

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate $HOME/test.env
#
# To deactivate an active environment, use
#
#     $ conda deactivate

./test.env/bin/python
Python 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:04:10)
[GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pkg_resources
>>> for ep in pkg_resources.iter_entry_points('console_scripts'):
...     ep.load()
...
<function main at 0x7f45a90139d0>
<function main at 0x7f45a90139d0>
<function main at 0x7f45a90139d0>
<function main at 0x7f45a7c88af0>
<function cli_detect at 0x7f45a7c62670>
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "$HOME/test.env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2470, in load
    self.require(*args, **kwargs)
  File "$HOME/test.env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2493, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "$HOME/test.env/lib/python3.8/site-packages/pkg_resources/__init__.py", line 800, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (typing-extensions <IP_ADDRESS> ($HOME/test.env/lib/python3.8/site-packages), Requirement.parse('typing-extensions<5.0,>=4.0.0; python_version < "3.9"'), {'rich', 'textual'})
>>>

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I also have a sneaking suspicion that this problem will affect the textual feedstock as well: https://github.com/conda-forge/textual-feedstock/blob/main/recipe/meta.yaml#L25

@conda-forge-admin, please rerender


Wrong numbers in statistics

Hello.
These numbers are not correct at all
ull-hash-md5-.txt 	4046
full-hash-sha1-.txt 	284
full-hash-sha256-*.txt 	60115
The files content are way less.

Thanks for reporting the issue.
Problem solved.


STM32 Unhandled workspace_loc variable in Touchgfx dual core projects

When generating Touchgfx projects for dual core boards such as STM32H745i disco, the .cproject file for the CM7 processor contains include paths of the form
<listOptionValue builtIn="false" value=""${workspace_loc:/Drivers/BSP/Components/Common}""/>
These end up in st-project,cmake as "$<$<AND:$<CONFIG:Debug>,$<COMPILE_LANGUAGE:ASM>>:${PROJECT_SOURCE_DIR}/build\\${workspace_loc:\\Drivers\\BSP\\Components\\Common}>"
which is a syntax error.
Now, it is not clear why the STM tools add the include path, it seems completely unnecessary as the .cproject also contains the include path
"../../../Drivers/BSP/Components/Common"/>
which is the same. I delete the offending lines from st-project.cmake and everything works, but after every modification in Touchgfx they show up again which quickly gets old ;-)
Generating the "Blank UI" example for STM32H745i disco and importing STM32CubeIDE\CM7\.cproject into VS Code reproduces the error. There is no problem with single core boards, only dual core ones.

Thanks for the report! I can reproduce this issue. We can't easily fix this in the general case, because the ST project import feature has no knowledge of which directory was the workspace root in STM32CubeIDE. That said, I am updating the importer to drop paths that contain Eclipse macros we don't know how to interpret, which should fix the syntax errors you're getting. I'll let you know when this fix is available in the public pre-release channel.

This issue is fixed in pre-release version 0.5.230207001 of the Embedded Tools. You can switch to the pre-release version (which updates nightly) in the VS Code Marketplace. Note that as discussed above, this change does not actually add full support for general ${workspace_loc} macros, but does remove all unknown Eclipse macros.

This change is in version 0.6.0 of the extension, which is now available in the VS Code Marketplace.


Labels running over the date line are being cropped in 2D view

When I mouse over a point I write an identification label to the same location with a small pixeloffset to the right. When the point is near the date line (eg 179' E) at any latitude, the text in the label stops at the date line. I have seen the effect happen between letters or in the middle of a letter, as though the base map on the West side of the line is rendered on top.
I'm in 2D mode and the base map correctly wraps continuously. Browser is Chrome, Cesium is the December '16 release but I believe this is a long term bug.

Thanks @jeffwhitty.  This looks like a duplicate of #3960, so I'm going to close this issue


Risk of buffer overflow in nxd_bsd.c

Discovered as warning when compiling with arm-none-eabi-gcc 13.3Rel1, compile options -Wall -Wextra -Werror:
netxduo/addons/BSD/nxd_bsd.c:5601:18: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
(in my project, an older version of nxd is used, the bug is still present in the current version)
Reading the code confirms the compiler is right:
In nxd_bsd.c line 5893 (in function bsd_number_convert()), the assignment
string[size] =  (CHAR) NX_NULL;
assigns 0 to the byte after the end of  CHAR *string, if the generated string exactly fills the buffer.
Rationale:
The while loop (line 5861) exits after size has been incremented to buffer_len by the increment in line 5885. Line 5893 then is equivalent to string[buffer_len]=0, which is a write access to the byte after the string buffer.

@garin1000, this is correct if the caller doesn't supply a buffer sufficiently big for the trailing NULL.

Well, if supplying a pointer to a buffer and a buffer length to a function, one would expect that you have to give length and not length-1 as parameter. In my opinion that definitely violates the principle of least surprise.

I would agree that this has potential for a buffer overflow and implementation should check for that, rather writing NX_NULL potentially into arbitrary memory.
A suggested implementation would replace
    /* Make the string NULL terminated.  */
    string[size] =  (CHAR) NX_NULL;

    /* Determine if there is an overflow error.  */
    if (number)
    {

        /* Error, return bad values to user.  */
        size =  0;
        string[0] = '0';
    }

with
    /* Determine if there is an overflow error.  */
    if (number || (size >= buffer_len))
    {

        /* Error, return bad values to user.  */
        size =  0;
        string[0] = '0';
    }

    /* Make the string NULL terminated.  */
    string[size] =  (CHAR) NX_NULL;

I agree, I would have made the same change.


Does not open explorer and compile when using custom path

When setting targetDirectory to a custom drive, it does not open a seperate instance of file explorer, and does not compile it either.

This is on pre-release 0.1.9

Now works for compilation, separate issue created for explorer.


1Password prompts for password everytime

Ok, so 1password-cli doesn't seem to like whatever it is we do when we invoke it through api_key_cmd on Arch. It prompts for authorization everytime.
I can op read from that same terminal multiple times and only prompting the first time, however whenever I launch nvim it prompts.
It might be related to plenary.job and the fact that 1Password seems to use the TTY to remember sessions:
37069 ?        Sl     0:00 op read op://Private/openai-api-key/password

vs (when running from shell):
37425 pts/1    Sl+    0:00 op read op://Private/openai-api-key/password

https://developer.1password.com/docs/cli/app-integration-security/#session-credentials

Having the same issue.
Kitty 0.23.1
Fish 3.7.0
MacOS 14.6.1

this works for me on macos: https://github.com/loteoo/ks
api_key_cmd = "ks show openai",

it prompts when the plugin is loaded the first time.
one question I have (maybe related feature request?) can we wait to ask for the key until the first time we use a command? it is a little annoying to type in the prompt every time I open nvim before I use chat gpt


Audio nodes: don't use atomics for interior mutability

[x] AnalyserNode
[x] AudioBufferSourceNode
[x] AudioDestinationNode
[x] BiquadFilterNode
[ ] ChannelConfig
[x] ChannelMergerNode
[x] ChannelSplitterNode
[x] ConstantSourceNode
[x] ConvolverNode
[x] DelayNode
[x] DynamicsCompressorNode
[x] GainNode
[x] IIRFilterNode
[x] MediaElementAudioSourceNode
[x] MediaStreamAudioDestinationNode
[x] MediaStreamAudioSourceNode
[x] MediaStreamTrackAudioSourceNode
[x] OscillatorNode
[ ] PannerNode
[x] StereoPannerNode
[x] WaveShaperNode

Heiho,
How would you like to advance on that? Separate PRs for each node? pushing stuff to this one? Let me know, I can help if needed

I added a monster commit to demo the swamp I am currently in. Will proceed shortly

The previous commits were rather large because I have made the start/stop methods of AudioScheduledSourceNode take &mut. This was necessary to store some state in the AudioBufferSourceNode.
I think the rest of the work will move fast now. I will start from the top of the node list (in the top comment of this PR)
If you would like to help you could maybe move from the bottom up?

If you would like to help you could maybe move from the bottom up?

Yup let's go like that, I'm a bit busy these days but I will try to advance when I find small time slots

Thanks for the contribution. Only the PannerNode is left which I will try to fix today (it's a bit more work)

Ok cool was quite fast indeed

Shall I release a new version first with the stable device-ids? And then merge this part so we can focus on the required node binding changes?

No, I don't think this is needed, don't bother with that

Alright!
/bench

Changing the ChannelConfig may still arrive out of order with other setting changes, I will try to draft something


Implement RAM as API

API access to RAM no shortcut
SRAM SPI Implementation for Arduino

api in ram.h


Bump library version; Add run_exports

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Relates to conda-forge/nvim-feedstock#19

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.
Here's what I've got...
For recipe/meta.yaml:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [20]
The build section contained an unexpected subsection name. build is not a valid subsection name.
requirements: build: cmake >= 3.10 should not contain a space between relational operator and the version, i.e. cmake >=3.10
This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see https://github.com/conda-forge/conda-forge.github.io/issues/2102.

It looks like this needed a more involved fix to switch the Linux/macOS build over to CMake.  Hopefully we'll get this working soon.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


Add Effects for Fury Cocktail

This adds fully automated effects for all options of all three versions of the Fury Cocktail and links them to the equipment items.
I tested all three effects in my dev-world and they all functioned correctly, but this is my first RE PR, so there's probably a lot of improvements that can happen.

Not sure why my link is broken. I linked to the compendium objects and every is working in my dev-world.


Log Analytics azure cli deployment template

Technology: Log Analytics
Documentation Link: https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-quick-create-workspace-cli?toc=/azure/azure-monitor/toc.json#create-a-workspace
Issue:
1. Update deployment template with all available regions
It look like in the portal there are more than 2 regions are available when creating Log Analytics Workspace:
australiasoutheast
canadacentral
centralindia
eastus
japaneast
southeastasia
uksouth
westeurope

2. Update service catalog to include Log Analytics
I'm unable to locate Log Analytics in the service catalog at all:
https://azure.microsoft.com/en-ca/global-infrastructure/services/
3. Azure cli v1 used instead of v2
this: azure group deployment create <my-resource-group> <my-deployment-name> --TemplateFile deploylaworkspacetemplate.json
should be: az group deployment create -g <my-resource-group> -n <my-deployment-name> --template-file deploylaworkspacetemplate.json
as article titled: Create a Log Analytics workspace with Azure CLI 2.0

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

ID: aa28dc85-7097-6005-1a5b-6cfe8a7e9528
Version Independent ID: 842a431e-cdd8-c695-70eb-78294acd80f3
Content: Create a Log Analytics workspace using Azure CLI
Content Source: articles/log-analytics/log-analytics-quick-create-workspace-cli.md
Service: log-analytics
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@choovick
Thanks for your feedback! We will investigate and update as appropriate.

@choovick - To answer your questions - 1)that is correct, there are two new regions available but this isn't related to the article specifically. 2)At Ignite we realigned Log Analytics with Azure Monitor, so if you search for Azure Monitor, you will see Log Analytics listed in the Product table.  3)Yes, I neglected to update the parameters for the CLI command and I just revised/validated the article and it should go live later today.  #please-close as I have addressed the doc bug (item #3).  Thanks!

🎉 Thanks everyone! That was quick.

document still shows using azure CLI 1.0

@hectoralicea - Forgot to fix that, so appreciate bringing this to our attention.  I just addressed it the update will go live later today.  @please-close