Not able to connect SQL Server

I have created the module and deploy to the device, but i am not able to connect to the SQL Server. is their any specific setting which i am missing? i am following the same steps which are mentioned in the tutorial.
is their any connection string related setting ? or password related setting? i am getting below error when i tried to see the logs of my sql module.
azureadmin@mneu-d-a-edge04:~$ iotedge logs sql
2020-05-04 05:53:59.07 Server      Microsoft SQL Server 2017 (RTM-CU13) (KB44664                                                                             04) - 14.0.3048.4 (X64)
Nov 30 2018 12:57:58
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 16.04.5 LTS)
2020-05-04 05:53:59.08 Server      UTC adjustment: 0:00
2020-05-04 05:53:59.08 Server      (c) Microsoft Corporation.
2020-05-04 05:53:59.08 Server      All rights reserved.
2020-05-04 05:53:59.08 Server      Server process ID is 4124.
2020-05-04 05:53:59.08 Server      Logging SQL Server messages in file '/var/opt                                                                             /mssql/log/errorlog'.
2020-05-04 05:53:59.08 Server      Registry startup parameters:
-d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e /var/opt/mssql/log/errorlog
2020-05-04 05:53:59.08 Server      SQL Server detected 1 sockets with 1 cores pe                                                                             r socket and 2 logical processors per socket, 2 total logical processors; using                                                                              2 logical processors based on SQL Server licensing. This is an informational mes                                                                             sage; no user action is required.
2020-05-04 05:53:59.09 Server      SQL Server is starting at normal priority bas                                                                             e (=7). This is an informational message only. No user action is required.
2020-05-04 05:53:59.09 Server      Detected 6348 MB of RAM. This is an informati                                                                             onal message; no user action is required.
2020-05-04 05:53:59.09 Server      Using conventional memory in the memory manag                                                                             er.
2020-05-04 05:53:59.12 Server      Machine supports memory error recovery. SQL m                                                                             emory protection is enabled to recover from memory corruption.
2020-05-04 05:53:59.28 Server      Buffer pool extension is already disabled. No                                                                              action is necessary.
2020-05-04 05:53:59.39 Server      InitializeExternalUserGroupSid failed. Implie                                                                             d authentication will be disabled.
2020-05-04 05:53:59.39 Server      Implied authentication manager initialization                                                                              failed. Implied authentication will be disabled.
2020-05-04 05:53:59.40 Server      Successfully initialized the TLS configuratio                                                                             n. Allowed TLS protocol versions are ['1.0 1.1 1.2']. Allowed TLS ciphers are ['                                                                             ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM                                                                             -SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256                                                                             -SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:AES256-GCM-SHA384:AES128-G                                                                             CM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!DHE-RSA-AES256-GCM-                                                                             SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA'].
2020-05-04 05:53:59.44 Server      The maximum number of dedicated administrator                                                                              connections for this instance is '1'
2020-05-04 05:53:59.44 Server      Node configuration: node 0: CPU mask: 0x00000<PHONE_NUMBER>3:0 Active CPU mask: 0x0000000000000003:0. This message provides a des                                                                             cription of the NUMA configuration for this computer. This is an informational m                                                                             essage only. No user action is required.
2020-05-04 05:53:59.45 Server      Using dynamic lock allocation.  Initial alloc                                                                             ation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an infor                                                                             mational message only.  No user action is required.
2020-05-04 05:53:59.46 Server      In-Memory OLTP initialized on lowend machine.
2020-05-04 05:53:59.54 Server      Database Instant File Initialization: enabled                                                                             . For security and performance considerations see the topic 'Database Instant Fi                                                                             le Initialization' in SQL Server Books Online. This is an informational message                                                                              only. No user action is required.
ForceFlush is enabled for this instance.
2020-05-04 05:53:59.54 Server      Query Store settings initialized with enabled                                                                              = 1,
2020-05-04 05:53:59.55 spid5s      Starting up database 'master'.
2020-05-04 05:53:59.57 Server      Software Usage Metrics is disabled.
ForceFlush feature is enabled for log durability.
2020-05-04 05:54:00.18 spid5s      Resource governor reconfiguration succeeded.
2020-05-04 05:54:00.18 spid5s      SQL Server Audit is starting the audits. This                                                                              is an informational message. No user action is required.
2020-05-04 05:54:00.20 spid5s      SQL Server Audit has started the audits. This                                                                              is an informational message. No user action is required.
2020-05-04 05:54:00.38 spid5s      SQL Trace ID 1 was started by login "sa".
2020-05-04 05:54:00.42 spid5s      Server name is 'bc8d136d6c32'. This is an inf                                                                             ormational message only. No user action is required.
2020-05-04 05:54:00.44 spid21s     Always On: The availability replica manager i                                                                             s starting. This is an informational message only. No user action is required.
2020-05-04 05:54:00.45 spid9s      Starting up database 'mssqlsystemresource'.
2020-05-04 05:54:00.46 spid21s     Always On: The availability replica manager i                                                                             s waiting for the instance of SQL Server to allow client connections. This is an                                                                              informational message only. No user action is required.
2020-05-04 05:54:00.48 spid5s      Starting up database 'msdb'.
2020-05-04 05:54:00.48 spid9s      The resource database build version is 14.00.                                                                             3048. This is an informational message only. No user action is required.
2020-05-04 05:54:00.52 spid9s      Starting up database 'model'.
2020-05-04 05:54:00.75 spid19s     A self-generated certificate was successfully                                                                              loaded for encryption.
2020-05-04 05:54:00.76 spid19s     Server is listening on [ 'any' <ipv4> 1433].
2020-05-04 05:54:00.77 Server      Server is listening on [ <IP_ADDRESS> <ipv4> 143                                                                             4].
2020-05-04 05:54:00.78 Server      Dedicated admin connection support was establ                                                                             ished for listening locally on port 1434.
2020-05-04 05:54:00.80 spid19s     SQL Server is now ready for client connection                                                                             s. This is an informational message; no user action is required.
2020-05-04 05:54:01.11 spid9s      Polybase feature disabled.
2020-05-04 05:54:01.11 spid9s      Clearing tempdb database.
2020-05-04 05:54:02.56 spid9s      Starting up database 'tempdb'.
2020-05-04 05:54:02.87 spid9s      The tempdb database has 1 data file(s).
2020-05-04 05:54:02.88 spid21s     The Service Broker endpoint is in disabled or                                                                              stopped state.
2020-05-04 05:54:02.88 spid21s     The Database Mirroring endpoint is in disable                                                                             d or stopped state.
2020-05-04 05:54:02.89 spid21s     Service Broker manager has started.
2020-05-04 05:54:02.93 spid5s      Recovery is complete. This is an informationa                                                                             l message only. No user action is required.
2020-05-04 05:56:18.66 Logon       Error: 18456, Severity: 14, State: 8.
2020-05-04 05:56:18.66 Logon       Login failed for user 'SA'. Reason: Password                                                                              did not match that for the login provided. [CLIENT: <IP_ADDRESS>]
2020-05-04 05:57:10.24 Logon       Error: 18456, Severity: 14, State: 8.
2020-05-04 05:57:10.24 Logon       Login failed for user 'SA'. Reason: Password                                                                              did not match that for the login provided. [CLIENT: <IP_ADDRESS>]
2020-05-04 05:59:02.69 spid52      Using 'dbghelp.dll' version '4.0.5'
2020-05-04 05:59:05.08 spid52      Attempting to load library 'xplog70.dll' into                                                                              memory. This is an informational message only. No user action is required.
2020-05-04 05:59:05.14 spid52      Using 'xplog70.dll' version '2017.140.3048' t                                                                             o execute extended stored procedure 'xp_msver'. This is an informational message                                                                              only; no user action is required.
I am trying to connect my Local SQL Server by providing <Ip_address/InsatnceName>
Please let me know if i am doing anything wrong.

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

ID: 9f033d3a-7af4-53ce-e7da-4ac7444520ce
Version Independent ID: 1f2f6875-6f69-83f7-1181-ea3e01946813
Content: Tutorial - Store data with SQL module using Azure IoT Edge
Content Source: articles/iot-edge/tutorial-store-data-sql-server.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@sharadrumane Thanks for the question. Login failed due to password mis match. Could please verfiy the sqlFunction.cs file and make sure you added the correct Connection string with correct password?
The SQL Server module comes with a default password set in the environment variables of the deployment manifest. Any time that you create a SQL Server container in a production environment, you should change the default system administrator password.

@AshokPeddakotla-MSFT below is my connection string:
const string str = "Data Source=tcp:sql,1433;Initial Catalog=MeasurementsDB;User Id=SA;Password=Strong!Passw0rd;TrustServerCertificate=False;Connection Timeout=30;";
it is the same connection string provided in the tutorial and i am using same password while login to my Iotedge device and i am to login as well.

@sharadrumane What is the result when you run /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Strong!Passw0rd'  command?
Are you able to successfully login?

@sharadrumane I followed the same steps and unable to repro your issue.  Please double check the steps and try again.  Make sure you are able to connect SQL server with correct username and password.

@AshokPeddakotla-MSFT Thanks for your reply and valuable time. i resolved the issue,SimulatedTemperatureSensor module was not sending data to edge database so i restated the module and it worked as expected so i am closing the ticket.

Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


Support for Wildfly 31.0.0

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 7.28.0-1jammy
Ruby:
Distribution: Ubuntu 22.04
Module version: 'puppet-wildfly', '3.1.0', 'jethrocarr-initfact', '1.0.1

How to reproduce (e.g Puppet code you use)
class { 'wildfly':
version           => '31.0.0',
install_source    => 'https://github.com/wildfly/wildfly/releases/download/31.0.0.Final/wildfly-31.0.0.Final.tar.gz',
install_cache_dir => '/tmp',
java_home         => '/usr/lib/jvm/java-21-openjdk-amd64',
dirname           => '/data/wildfly',
}
What are you seeing
Wildfly fails to start through systemd. journalctl -u wildfly.service says:
systemd[1]: wildfly.service: Failed with result 'exit-code'.
And systemctl says:
● wildfly.service - WildFly application server      Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)      Active: activating (auto-restart) (Result: exit-code) since Thu 2024-02-15 15:52:44 PST; 10s ago     Process: 2192950 ExecStart=/data/wildfly/bin/launch.sh ${WILDFLY_MODE} ${WILDFLY_CONFIG} (code=exited, status=1/FAILURE)    Main PID: 2192950 (code=exited, status=1/FAILURE)         CPU: 1.648s
If I run the service manually (outside of systemd) by exporting the variables defined in /etc/wildfly/wildfly.conf, after fixing WILDFLY_CONFIG's quoting issues, I am able to start the service successfully.
What behaviour did you expect instead
Output log
Any additional information you'd like to impart
/etc/wildfly/wildfly.conf has this defined, but I'm not sure the quoting is correct here:
# The configuration you want to run WILDFLY_CONFIG="'standalone.xml -P /data/wildfly/jboss.properties'"
Wildfly 30.0.0 works fine if I swap that in instead of 31.0.0.

True for me, too. But it also does not work with Wildfly 10.


Chrome on the Windows/Linux intermittently produces different rendering results

The Windows/Linux bots were found not to run the latest version of Chrome anymore. When we fixed that, some reference tests started failing intermittently. In particular the FBF tests were causing trouble because makeref would fail on that.
Once Chrome stabilizes, we should revert #11510 to bring the bots back in their original state.

Closing since this is now tracked in #12371 together with the same problem for Windows.


Update Black Hat Sender glossary entry

On https://sendgrid.com/docs/Glossary/black_hat_sender.html, change
"A black hat sender is a sender/company who sends email to recipients who either send to recipients who have not given permission to senders to send to them."
to
"A black hat sender is a sender or company who sends email to recipients that didn't specifically requested to get emails from that sender. It is somebody that delivers unsolicited emails to recipients that never requested them."

I'd like to take this one :)

@thepriefy sorry had my eyes on it already. :)

@thepriefy can confirm, @kaysiz already has a pull request for this one. We really appreciate you're willingness to contribute though! Please check out our other easy issues here: https://github.com/sendgrid/docs/labels/difficulty%3A easy


Broken links (data-manipulation-with-python)

images on the web version of the tool are broken (data-manipulation-with-python).
https://www.mit.edu/~amidi/teaching/data-science-tools/study-guide/data-manipulation-with-python/

Thanks for surfacing the issue! It should be solved now.


Firefox 46 Emitter Pool not visible

I noticed the emitter pool examples doesnt work with the latest Firefox 46.0 (on windows) anymore.
In particular these examples:
http://squarefeet.github.io/ShaderParticleEngine/examples/explosion.html
http://squarefeet.github.io/ShaderParticleEngine/examples/fog.html
http://squarefeet.github.io/ShaderParticleEngine/examples/pool.html
No particles visible, and no errors in the console. Im using Threejs R76 previously without problems, doesnt work there too.
Probably something mozilla has to look after, this issue is for keeping track of it.

I don't have any issue with Firefox 46.0.1 and those examples.
You need to provide more details about your system (OS, graphics card, etc)

System spec
Windows 10
Firefox 46.0.1
Geforce GTX 970
Test case
Three.js r76
SPE 1.0.5
All the examples in my first post dont show particles,
and also older demos ive build that were working before.
In Chrome and Edge everything is still working.

Please test this benchmark with Firefox 46:
http://necromanthus.com/Test/html5/testA.html
You should see 4 particle emitters: 2x steam, fire and smoke

Fire and smoke is visible, steam is not.

Fire and smoke is visible, steam is not.

Very hard to believe.
The smoke and the steam share the same resources (including the texture).

Any update on this @weiserhei?

Firefox 47.0.1 here, problems "disappeared" on my demos. Closing this now.


Refactor code generator / Improve usage of AST classes

Compilation units now only include the AST classes they use.
It essentially required the code generator to create one C++ header file per AST node.
It led to a refactoring of src/language/code_generator.py:

do not use global variables
split the procedural code into functions
use object oriented paradigms
do no change working directory during execution to ease file management
Improve dependency managements of Jinja tasks.
A task is now considered out of date is the output file is missing or
if one of its dependencies has changed:

the Jinja template(s)
the python files used by this program
the YAML files describing the NMODL language

Code genearator now create C++ headers in BUILD_DIR/ast/, one file per AST node
Code generator creates a new file: src/language/code_generator.cmake
It defines a set CMake variables to be used elsewhere in the CMake
project to manipulate inputs and outputs of the code generator.
This file is updated by the code generator if a Jinja template is added
or removed, or is a NMODL AST class is added for instance.
The file is added to revision control on purpose to break the cyclic dependency
but is not meant to be edited manually.
Some existing output files have been changed:

rename build_dir/src/ast/ast.hpp to build_dir/src/ast/all.hpp
build_dir/src/ast/ast.hpp now only provide nmodl::Ast class declaration

Ast nodes: move the definition get_node_name and set_name methods in
compilation units to avoid providing child class definitions in header file.
These methods were not inlined anyway because virtual.
Fix typos in nmodl.yaml

Along the way:

More const& for parameters and return types
More std::move essentially in constructors
More const noexcept for member methods
Prefer references for Ast node parameters instead of pointers when possible
Hide some visitors visit_* methods that should not be called directly.
Use brackets to include catch2 header
Use std::vector::reserve when possible
Remove useless header inclusions
CodegenCompatibilityVisitor:

unhandled_ast_types_func member variable is now a const static std::map.
Move definition in .cpp to avoid including headers in .hpp that are
specific to the implementation
update visibility of some member methods to private

As briefly discussed last week, I build this PR on MacBook pro laptop:
# Master Branch
[100%] Built target nmodl
real	3m1.734s

# This PR
[100%] Built target nmodl
real	2m49.733s

So about ~7% improvement with the current changes. Obviously any improvement for the build time is good but this still doesn't address yet the main problem (coming from pybin11d module compilation?).

One improvement I can think of is to generate one additional header for every group of classes > under Ast with a maximum depth of 1 or 2 i.e:
ast/expressions.hpp
ast/numbers.hpp
ast/identifiers.hpp
ast/blocks.hpp
ast/statements.hpp

This could be one possibility. Another way I was thinking is more semantic structuring : e.g. only NMODL construct derived from Block can have their separate header. These are main, top level building blocks in NMODL.
But before making another design change and testing improvement at the end, what if we do following:

with this PR we have now finer granularity (i.e. each node with it's header)
we try to solve the main issue i.e. see how pybind and related classes could be split as well and build those faster
once we get a good idea of what needs to be done to speedup hotspot for the build, we can decide what is best approach.
I hope testing main hotspots would be faster. If it's helpful, we can disable build of many non-essential targets/objects and just focus on the largest time taking files.

I think this PR is in good shape, the additional improvements to the way pybind headers and pybind jinja tempalates are handled could go into a separate PR. In principle I don't see why this contribution cannot be merged soon.

In principle I don't see why this contribution cannot be merged soon.

@ohm314 : See my earlier comments comments. Certainly it improves the build time and overall good approach, we must address the main issues before merging this.

I think this PR is in good shape, the additional improvements to the way pybind headers and pybind jinja tempalates are handled could go into a separate PR. In principle I don't see why this contribution cannot be merged soon.

I agree with @ohm314 : The initial purpose of this PR was not about solving the pybind visitor build issue. It provides more flexibility that may help its resolution in a future PR though.

I agree with @ohm314 : The initial purpose of this PR was not about solving the pybind visitor build issue.

Ok, let me re-review then considering this aspect.

Ok, I went through entire PR now. For sure, this-is-a-significant-addition!!
Here is feedback:

The code generator logic in src/language/code_generator.py is getting bit advanced that the previous implementation but most likely this will remain static anyway. So not an issue.

while building code we see hundred of lines showing which file is being updated. I suggest to remove this and just print single status line, something like Updating ast header files X / Y (X out of total Y or something similar.

[ 12%] Building CXX object test/CMakeFiles/testprinter.dir/printer/printer.cpp.o
Updated out of date template files:
  templates/visitors/visitor.hpp             -> /Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/build/src/visitors/visitor.hpp
  templates/visitors/nmodl_visitor.cpp       -> /Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/build/src/visitors/nmodl_visitor.cpp
  templates/visitors/json_visitor.hpp        -> /Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/build/src/visitors/json_visitor.hpp
  templates/visitors/lookup_visitor.hpp      -> /Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/build/src/visitors/lookup_visitor.hpp
  templates/visitors/ast_visitor.cpp         -> /Users/kumbhar/workarena/repos/bbp/incubator/nocmodl/build/src/visitors/ast_visitor.cpp
...

src/language/templates/code_generator.cmake also caught my attention like Omar and Ioannis. Bit concerned by auto-generation in Cmake as well (more moving parts) but hopefully this will be robust and won't change much. No strong opinion but we can raise concerns if we see issues while developing further.

No doubt that this PR can be used as a base for future PR to split pybind related headers and reduce build times. But, granularity of AST splitting (per node type or certain depth or some logical splitting based on node types) is something that we haven't defined yet. Including large number of headers in some visitors is not convincing to me because of 1) to keep simplicity 2) some of the node types doesn't have semantic meaning in NMODL language (they were created to  complete grammar rules). So I suggest following:

there are many files where we include 2 or max 3 node headers. we can use the new, small headers as done in this PR.

there are following headers where we include more number of headers, I would suggest to include there ast/all.hpp for now. Once we decide on the granularity of nodes in subsequent PRs  , we can introduce those granular includes everywhere. (note : I am not saying we shouldn't split AST but lets not introduce those individual headers right away everywhere). Those files are:

src/codegen/codegen_compatibility_visitor.cpp
src/codegen/codegen_ispc_visitor.cpp
src/visitors/constant_folder_visitor.cpp
src/visitors/rename_visitor.cpp
src/visitors/solve_block_visitor.cpp
src/visitors/steadystate_visitor.cpp
src/visitors/sympy_conductance_visitor.cpp
src/visitors/sympy_solver_visitor.cpp
src/visitors/units_visitor.cpp
src/visitors/visitor_utils.cpp
test/visitor/units.cpp

Thank you for the review @pramodk
Your remarks have been taken into account in the 5 last commits. CI is green again!

Thanks @tristan0x! I will review this today!


Change spacy model to install from different location

Packages installed from PyPI cannot depend on packages which are not also hosted on PyPI.
term-article-summary depends on en_core_web_sm@ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz

https://stackoverflow.com/questions/53383352/spacy-and-spacy-models-in-setup-py

https://stackoverflow.com/questions/53383352/spacy-and-spacy-models-in-setup-py


Python self.theme_cls.backgroundColor set after on_start()

Description of the Bug
In the theming example  https://kivymd.readthedocs.io/en/latest/themes/theming/ , the KV version works, but the Python version does not.
It fails because in the example  self.theme_cls.backgroundColor == [1.0, 1.0, 1.0, 1.0] when used.
It appears the value is correctly set some time step after on_start, as shown by adding
    def on_start(self):
        super().on_start()
        print('Background  Color is ',self.theme_cls.backgroundColor)

This is, I assume, an issue with KivyMD, not with the example.
Screenshots
Python code example, expected (and KV) behavior is a dark background

Expected behavior shown in the example:

Versions

OS: Windows 11
Python: 3.11.1
Kivy: 2.3.0
KivyMD: 2.01.dev0

@RobertFlatt Hi!, Please test #1675

@T-Dynamos
https://github.com/kivymd/KivyMD/pull/1675 works on Windows. Thanks.

I'm experiencing a similar issue, when the application is loaded, the theme_cls.background and others are set to [1,1,1,1] value.
I'm having a similar issue with the examples.
When implementing a button to toggle theme_cls.theme_style between Dark and Light, the changes are reflected in most controls, except for the background of the screen.
To change the backgraund color of the screen, I have to do self.md_bg_color = self.theme_cls.backgroundColor within the button function.
The code below is the last thing I was traying:
from kivy.clock import Clock
from kivymd.uix.screenmanager import ScreenManager
from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.button import MDButton, MDButtonText
from kivymd.uix.label import MDLabel

class ConfigScreen(MDScreen):
    def __init__(self, **kw):
        super().__init__(**kw)

        self.app=MDApp.get_running_app()
        self.theme_cls = MDApp.get_running_app().theme_cls
        self.md_bg_color = self.theme_cls.backgroundColor

        list_items = MDBoxLayout(
            orientation="vertical",
        )
        list_items.add_widget(
            MDLabel(
                id="label",
                text="Press Style Button",
                font_style="Title",
                role="large"
                )
            )

        list_items.add_widget(
            MDButton(
                MDButtonText(
                    text="Style"),
                on_release=self.set_theme_style
            )
        )
        list_items.add_widget(
            MDButton(
                MDButtonText(
                    text="Palette"),
                on_release=self.set_color_palette
            )
        )
        self.add_widget(list_items)

    def set_theme_style(self, *args):
        self.theme_cls.theme_style = (
            "Dark" if self.theme_cls.theme_style == "Light" else "Light"
        )
        self.md_bg_color = self.theme_cls.backgroundColor

    def set_color_palette(self, *args):
        self.theme_cls.primary_palette = (
            "Orange" if self.theme_cls.primary_palette == "Red" else "Red"
        )

    def volver(self, *args):
        pass

class ACC(MDApp):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        self.sm = ScreenManager()
        self.sm.add_widget(ConfigScreen(name='config'))#, md_bg_color = self.theme_cls.backgroundColor))

    def build(self):
        self.theme_cls.theme_style_switch_animation = True
        self.theme_cls.primary_palette = "Skyblue"
        self.theme_cls.theme_style = "Dark"

        return self.sm

    # def on_start(self):
    #     def on_start(*args):
    #         self.root.md_bg_color = self.theme_cls.backgroundColor
    #         print(self.theme_cls.backgroundColor)

    #     Clock.schedule_once(on_start)

ACC().run()

When app start.

Press for first time Style button

Press for second time Style button (this was the expected result when app start)

Versions

OS: Windows 10
Python: 3.11.2
Kivy: 2.3.0
KivyMD: 2.01.dev0 (downloaded yesterday)

@facutoledo This is a known issue #1601  and is expected to be fixed soon.

@facutoledo Yes it is the same issue.


fix(tabs): mark tab body as a scrollable container

Since the tab body content can be scrollable and consumers don't have access to the DOM element, we have to mark it as a CdkScrollable in order to allow for overlays inside the tabs to reposition.
Fixes #8405.

@crisbeto to rebase or re-open

Closing in favor of #16344.


[Feature Request] el-input default input-like events (keyup etc.)?

Existing Component
Yes
Component Name
el-input
Description
I wanted to fire method on event @keyup.enter. For example I enter some info in 'el-input' and hit enter to submit. I didnt find a way to do that with el-input.

sorry :)


Does message_bus work on Heroku?

Just curious to see how Message Bus would work with a multiple server setup on Heroku?
Also, is it possible to have auth with Message Bus for private channels?
Thanks!

Bump...I've got Message Bus running locally on thin and local redis with no problems,  but I cannot get it to work on Heroku with passenger and redis cloud.
What's more strange is that I cannot get MessageBus to work in the heroku console via my mixin, but I /can/ get it to work calling it directly.
E.g., this does not work via heroku run rails c:
module BusDriver
  def broadcast_channel(channel, event_name, payload)
    Rails.logger.info "
    BusDriver#broadcast_channel: #{channel}, #{event_name}, #{payload.inspect}
    "
    MessageBus.publish "/#{channel}", { event: event_name, payload: payload }
  end
end

class Foo
  include BusDriver
end

foo = Foo.new
foo.broadcast_channel "my-subscribed-id", "some.event", { some: "data" }

When I run the code above, I'll see the log info, but I get nothing at all over the polling channel in my browser.  Mind you, the code above works as expected locally.
But this /does/ work:
MessageBus.publish "my-subscribed-id", { event_name: "some.event", payload: { some: "data" } }

When I run this code, I DO get the expected response in the polling channel.

Is there something different about the redis or passenger that heroku have
installed @schneems? Does it support pub/sub?
Does this issue also happen in unicorn+heroku?
On Thu, Aug 6, 2015 at 8:26 AM, Jeff Emminger<EMAIL_ADDRESS>wrote:

Bump...I've got Message Bus running locally on thin and local redis with
no problems, but I cannot get it to work on Heroku with passenger and redis
cloud.
What's more strange is that I cannot get MessageBus to work in the heroku
console via my mixin, but I /can/ get it to work calling it directly.
E.g., this does not work via heroku run rails c:
module BusDriver
def broadcast_channel(channel, event_name, payload)
Rails.logger.info "    BusDriver#broadcast_channel: #{channel}, #{event_name}, #{payload.inspect}    "
MessageBus.publish "/#{channel}", { event: event_name, payload: payload }
endend
class Foo
include BusDriverend
foo = Foo.new
foo.broadcast_channel "my-subscribed-id", "some.event", { some: "data" }
When I run the code above, I'll see the log info, but I get nothing at all
over the polling channel in my browser. Mind you, the code above works as
expected locally.
But this /does/ work:
MessageBus.publish "my-subscribed-id", { event_name: "some.event", payload: { some: "data" } }
When I run this code, I DO get the expected response in the polling
channel.
—
Reply to this email directly or view it on GitHub
https://github.com/SamSaffron/message_bus/issues/10#issuecomment-128170072
.

We don't do anything special that I know of. I know of people using pub/sub with redis on Heroku.

@SamSaffron I made a test app using Puma, and it seems to work, though I don't seem to get the messages pushed until the current poll ends:  https://bitbucket.org/jemminger/message-bus-puma
Am I doing it right?

Sounds to me like pub/sub is not working right / or rack hijack is somehow
being disabled by heroku.
Can you try unicorn?
On Mon, Aug 10, 2015 at 8:49 AM, Jeff Emminger<EMAIL_ADDRESS>wrote:

@SamSaffron https://github.com/SamSaffron I made a test app using Puma,
and it seems to work, though I don't seem to get the messages pushed until
the current poll ends: https://bitbucket.org/jemminger/message-bus-puma
Am I doing it right?
—
Reply to this email directly or view it on GitHub
https://github.com/SamSaffron/message_bus/issues/10#issuecomment-129258720
.

Same behavior with unicorn: https://message-bus-unicorn.herokuapp.com/
https://bitbucket.org/jemminger/message-bus-unicorn
If you open the app in two windows, click the "new message" button a few times in one window, the results will not appear until the current poll connection is closed.

@SamSaffron Scratch that last comment, the unicorn version is working as expected now.  I had forgotten the after_fork bit for unicorn:
after_fork do |server, worker|
  MessageBus.after_fork
end

Is there a similar thing necessary for puma?

I'll just continue to answer myself here :smile:
Puma working now as expected, added MessageBus.after_fork to the on_worker_boot and on_restart blocks of the puma config.

@jemminger so sounds like things are working? Can we close the issue? Also maybe there's a doc PR you could make to clear up the issue for the next dev?

@schneems Yes, go ahead and close this.  I'll try to put together a doc PR in the near future.

I will go ahead and close it :) happy you figured this out, a PR to help out with doco here is totally welcome and would be super helpful.
Unfortunately there is no super clean way of getting an after_fork callback from ruby. We really need that built in to ruby.

@jemminger:
Do we still need MessageBus.after_fork at on_restart blocks of the puma config ?
Is it only for heroky or is it general config ?
I don't see this on the actual version of the readme  (Apr/2016).

From what I've read, only the on_worker_boot block should be necessary.
I've only run puma on heroku, but if I understand correctly it's the multi-threaded mode that necessitates it, not specifically heroku.


To what extent can we integrate with Pull Requests tool window in IDE?

For the sake of adding some basic GitHub integration (equivalent of git machete github anno-prs/create-pr)... can we extract some data from that GitHub plugin/trigger actions in that GitHub plugin ourselves? It'd be much better than having to fire requests to GitHub API ourselves (esp. that then we'd probably need to keep track of authentication etc. ourselves).

Load balancing, reassigning


Consider renaming didSubscribe to didMount

Brilliant package. I really like this.
Please consider renaming didSubscribe to didMount so that it is crystal clear what this is doing.
I'm not sure it is clear immediately to users how this aligns to React or Vue. The fact that didSubscribe isn't handled server side means that 'For handling side-effects upon first subscription.' isn't true in every circumstance.
The added advantage is that new developers who have not seen proppy, but have used recompose should immediately understand what 'didMount' does.

Hi @develomark!
Thanks for the positive feedback!
I understand didMount sounds much more convincing to UI developers when they are using Proppy with React or Vue.
The reasonings behind naming it didSubscribe was to stay as close to the API of Proppy itself, which allows subscribing to it from the instance:
const unsubscribe = p.subscribe(props => console.log(props));

To make things easier for anyone using this library, I propose having an alias for didSubscribe, and call it didMount like you suggested.
So the package would export both the functions, but didMount would reference didSubscribe:
import { didSubscribe, didMount } from 'proppy');

// didSubscribe is same as didMount

That makes sense to me.
Thank you for your response and feedback.

When the issue is picked up, the following need to be done:
1: Export didMount
// packages/proppy/src/index.ts
import { didSubscribe } from './didSubscribe';

export const didSubscribe = didSubscribe;
export const didMount = didSubscribe;

2: Create new file for individual import
// packages/proppy/didMount.js
const didSubscribe = require('./lib/didSubscribe').didSubscribe;
module.exports = {
  didMount: didSubscribe,
};

3: Update docs

Add it to packages/proppy/README.md
Add it to site/content/api.md

4: Update examples
In examples/react-playground, mention didSubscribe and didMount together in the select field: https://codesandbox.io/s/github/fahad19/proppy/tree/master/examples/react-playground


default: actor taking a long time to load every run even with schedule: monthy(1) is set

Version Number
2.0.1 and 2.0.1-nightly5
What branch are you on?
master
Describe the Bug
I understand depth is an expensive operation, so to combat this I tried to schedule it for once a month. What I'm finding is that every run it's taking 20 mins just to go through all of the actors, even with the schedule set. I've tried on 2.0.1 and 2.0.1-nightly5
Relevant Collection/Overlay/Playlist Definition
`    - default: actor
      template_variables:
        collection_section: '001'
        use_separator: false
        style: signature
        name_format: 🎂 <<key_name>>'s Birthday
        translation_key: birthday
        sort_by: audience_rating.desc
        title_format: <<key_name>>'s Birthday
        data:
          depth: 20
          limit: 100
        tmdb_birthday:
          this_month: true
        schedule: monthly(1)
`

Logs
https://gist.github.com/nairbd/92056ec8cafa3512eecbffd69e2aeb7a

Your log file is incomplete and doesn't show this, can you upload a full log file @nairbd

Your log file is incomplete and doesn't show this, can you upload a full log file @nairbd

I updated the gist. Full log file is too big to upload so I have through the top actors section.

the gist doesnt have the actors default load section it stops during cesar
we need the section titled Loading Collection File Default: actor
and the section actually building one of the collections in that file

@meisnate12 That section is in the gist, but is cutoff in the preview. You need to view the raw to see it, but it's the last section of the log. I specifically cut it after that section completed when I posted it/

@nairbd this does have where the collection are loaded but i still need the section where the actual collection is created

Here's the full file:
https://www.dropbox.com/scl/fi/4wj87frbn0fm4gqhs3nq6/meta.log.10?rlkey=lezgn74ikqsu9vw53rbs869bq&dl=0

try doing this it may do the same thing but i cant remember
    - default: actor
      schedule: monthly(1)
      template_variables:
        collection_section: '001'
        use_separator: false
        style: signature
        name_format: 🎂 <<key_name>>'s Birthday
        translation_key: birthday
        sort_by: audience_rating.desc
        title_format: <<key_name>>'s Birthday
        data:
          depth: 20
          limit: 100
        tmdb_birthday:
          this_month: true

I tried that, unfortunately I get the same thing. I re-ran again to confirm since I couldn't find any logs with that in there. Here's the latest: https://www.dropbox.com/scl/fi/5si42x7irjzlxgry3b8ol/meta.log.11?rlkey=iggmdrpvdmwt9nrddtdusgd8p&dl=0

I can confirm moving schedule outside of template_variables made it skip this section because it wasn't the 1st. I think we can close this.
Here's the run after making the change:
https://www.dropbox.com/scl/fi/5si42x7irjzlxgry3b8ol/meta.log.11?rlkey=iggmdrpvdmwt9nrddtdusgd8p&dl=0

Closing


Handle error inside makeHtmlDriver

Errors should always be handled, as it may be difficult to debug when "something is not yes".
In my case i had undefined in one of my children noted, and without any logging it was really hard to find what was broken.
By adding error loggin to makeHtmlDriver i found from what place error is thrown, in my case it was thrown form snabbdom-to-html package: (probably i fill also an issue there to handle undefined nodes)
TypeError: Cannot read property 'sel' of undefined
at renderToString (C:\Projects\cyclehn\node_modules\@cycle\html\node_modules\snabbdom-to-html\init.js:31:15)

The place where error logging should be added:
https://github.com/cyclejs/cyclejs/blob/8deedf9c91f187f77b2506a0e859e472526b7056/html/src/makeHTMLDriver.ts#L46
If any of maintainers agree with this issue i can submit a PR to fix it ;)

Good discovery! You're right, this is a bug. We should have error reporting like cycle/dom has.

@staltz i will submit PR today to fix it, thanks :)


Few small fixes and checks

Adds some basic warnings, tests, and checks
Description

Adds a warning when the user requests negative height levels
Checks for nans when creating the interpolator objects
functionalizes parts of _tropo_delay_cube* to help with readability and testing
Adds to and updates unit tests

How Has This Been Tested?

unit tests pass locally

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I have added an explanation of what your changes do and why you'd like us to include them.
[x] I have written new tests for your core changes, as applicable.
[x] I have successfully ran tests with your changes locally.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@jlmaurer negative height level warning or when the height level is below that of the model?


can't read .med files

Since recently I'm not able to read .med files (from SALOME). I have no mean to reproduce this issue on another machine (lockdown is here...).
Here's a MWE with the test file attached.
import meshio

mesh = meshio.read("mesh.med")

# In order to use MeshFunction of FEniCS
# The tag must be a positive number (size_t)
mesh.cell_data["triangle"]["cell_tags"] *= -1
mesh.cell_data["line"]["cell_tags"] *= -1
# mesh.cell_tags = {-6: ['Down'], -7: ['Top'], -8: ['Lying on Top']}

# Export mesh that contains only triangular faces
# along with tags
meshio.write_points_cells(
    folder + "/mesh_domains.xdmf",
    mesh.points,
    {"triangle": mesh.cells["triangle"]},
    cell_data={"triangle": {"f": mesh.cell_data["triangle"]["cell_tags"]}},
)

# Export mesh that contains only lines
# along with tags
meshio.write_points_cells(
    folder + "/mesh_boundaries.xdmf",
    mesh.points,
    {"line": mesh.cells["line"]},
    cell_data={"line": {"f": mesh.cell_data["line"]["cell_tags"]}},
)

This gives the following error:
  File ".\convert_mesh_triangle.py", line 6, in <module>
    mesh = meshio.read(mesh)
  File "D:\Logiciel\Python\lib\site-packages\meshio\_helpers.py", line 61, in read
    file_format = _filetype_from_path(path)
  File "D:\Logiciel\Python\lib\site-packages\meshio\_helpers.py", line 33, in _filetype_from_path
    raise ReadError("Could not deduce file format from extension '{}'.".format(ext))
meshio._exceptions.ReadError: Could not deduce file format from extension '.med'.

mesh.zip

You need h5py installed.

Yep. After installing the prerequisites so that meshio can read MED, you'll also find that some of the structures of the attributes of meshio.Mesh have changed on meshio 4. In particular, .cells is now a list of pairs of celltypes and connectivity arrays and cell_data is rearranged correspondingly so
``°python
mesh.cell_data["triangle"]["cell_tags"]
 is no longer correct.

If the list structure isn't meaningful, try the new property .cell_data_dict instead, noting that the order of the keys has flipped to tag first then type.

import meshio

mesh = meshio.read("mesh.med")

# In order to use MeshFunction of FEniCS
# The tag must be a positive number (size_t)
mesh.cell_data_dict["cell_tags"]["triangle"] *= 1
mesh.cell_data_dict["cell_tags"]["line"] *= 1
# mesh.cell_data["triangle"]["cell_tags"] *= -1
# mesh.cell_data["line"]["cell_tags"] *= -1
# mesh.cell_tags = {-6: ['Down'], -7: ['Top'], -8: ['Lying on Top']}

# Export mesh that contains only triangular faces
# along with tags
meshio.write_points_cells(
    folder + "/mesh_domains.xdmf",
    mesh.points,
    {"triangle": mesh.cells["triangle"]},
    cell_data={"triangle": {"f": mesh.cell_data_dict["cell_tags"]["triangle"]}},
)

# Export mesh that contains only lines
# along with tags
meshio.write_points_cells(
    folder + "/mesh_boundaries.xdmf",
    mesh.points,
    {"line": mesh.cells["line"]},
    cell_data={"line": {"f": mesh.cell_data_dict["cell_tags"]["line"]}},
)

Hi all, I installed h5py sorry for forgotting that. I hope that's the only one required.
I tried modifying le script as @gdmcbain recommended but still have an error on
{"triangle": mesh.cells["triangle"]}

Should I modify this as well ?

Yes. :smile_cat:

I tried to wrap my head around this but couldn't manage to get the anything working. Do you know where I could find doc on how to do this ?

The main readme?

Of course that's where I went first but I could only find this :
points = numpy.array([
    [0.0, 0.0, 0.0],
    [0.0, 1.0, 0.0],
    [0.0, 0.0, 1.0],
    ])
cells = [
    ("triangle", numpy.array([[0, 1, 2]]))
]
meshio.write_points_cells(
    "foo.vtk",
    points,
    cells,
    # Optionally provide extra data on points, cells, etc.
    # point_data=point_data,
    # cell_data=cell_data,
    # field_data=field_data
    )

I dont' what cell_data should be in that case.

In what case? Please describe your issue specifically.

Do you mean this? https://github.com/nschloe/meshio/issues/761#issuecomment-603098359

I need to convert meshes from SALOME (MED) to dolfin (XDMF) with subdomains data. This go back to this issue
In the end we came up with this
I need now to do the same thing but the script doesn't work anymore for the reasons @gdmcbain explained. So I need to adapt this script but have no idea how. Hope this is more clear 😄

Check out the mesh you read. This should give you some hints on how to organize the data.

import meshio

mesh = meshio.read("mesh.med")

# Export mesh that contains only triangular faces
# along with tags
meshio.write_points_cells(
    "mesh_domains.xdmf",
    mesh.points,
    [mesh.cells[1]],
    cell_data={"f": [mesh.cell_data["cell_tags"][1]]},
)


[bug] This dependency was not found:  * sortablejs

Describe the bug
Use ^ 2.0.0
After 2.1.0
This dependency was not found:

sortablejs in ./node_modules/_react-sortablejs<EMAIL_ADDRESS>

@fyangstudio  upgrade to version 5.0 and see if it works.
I'm in the midst of getting continuous deployment set up and have run into some crazy issues.

@fyangstudio Did it work?

Unfortunately still have this problem

Should I install sortablejs --save  by myself？

Yes please.
I added this in the readme just before. I'll add some migration guides since  users are getting stumped.
install sortablejs and @types/sortablejs


[Question] Why no C++?

As in subject, why is C++ not supported?

This tool is created to integrate with C libraries (DLL's and static libraries). Delphi cannot integrate with C++ libraries, so there is no point in creating a C++ header translator. Furthermore, there are a lot of C++ features that cannot be translated to Delphi.
However, if your goal is to translate some "simple" C++ code to Delphi, then you can use my Neslib.Clang library to give it a go yourself. This library uses the Clang backend to parse C(++) code into an Abstract Syntax Tree, that you can then use to generate Delphi code. You can read more about this in my libclang for Delphi blog post.


Rename isGlobalSearchResults to isGlobalSearch

This results does not matter and now it aligns with isRepoSearch.

Technically there’s a /search page without results though 😃

Then let's bump ts-node instead 😀

esm-lint does not depend on ts-node. Maybe npm got updated the the output of npm pack changed? It should be the name of the archive generated. It’s then immediately unpacked.

esm-lint does not depend on ts-node.

There are two issues here. ts-node should be bumped.

Can you bump all deps instead? The tree dependency should not be installed here


Excessive Input Values in streaming zipformer encoder After Conversion to onnx

Hello @csukuangfj,
First, thank you for all your hard work on icefall and sherpa—they've been incredible resources!
We encountered an issue after converting a trained checkpoint for a streaming Zipformer-based ASR model to ONNX format using the conversion script: export-onnx-streaming.py. The conversion script successfully generated a 3 onnx files (encoder, decoder and joiner). however, the encoder generated with 99 input_values, including (x, x_lens).
During deployment to Triton, we faced the following challenge:
We needed to write the config.pbtxt file. To streamline this, we referred to the scripts available in sherpa/triton/scripts for building configs. Unfortunately, there doesn't appear to be a script specifically for a streaming Zipformer-based model.
To proceed, we used the sherpa/triton/model_repo_streaming_zipformer directory as a reference for all components (feature_extractor, encoder, decoder, joiner, scorer). However, when running Triton, the model configuration expects 2 input_values, while the ONNX model provides 99 input_values.
Could you clarify the following:

Is there an existing script to generate the config.pbtxt for a streaming Zipformer-based model?
If not, could you provide guidance or share a sample configuration that matches the expected input/output structure for this model?

Your insights would be immensely helpful, and I'd be happy to provide additional details if needed.
Thanks in advance for your support!

@yuekaizhang  could you have a look at this issue?

the model configuration expects 2 input_values, while the ONNX model provides 99 input_values.

I think it is easy to use a script to update the config.pbtxt when exporting the model to onnx to include the inputs for model states.

@renadnasser1
I'm sorry for the confusion onnx models.
The ONNX used by sherpa-onnx and sherpa/triton may not always be compatible, primarily due to minor differences in input and output shapes.
For zipformer streaming, we currently do not have a one-click Triton deployment example, but you can refer to the deployment scripts for conformer streaming or pruned stateless 7 streaming. Please check the scripts under sherpa/triton/scripts that have _streaming.sh in their names. Basically, we manually wrapped the state tensor as seen in this line: https://github.com/k2-fsa/sherpa/blob/master/triton/scripts/export_onnx.py#L274.
Another approach, as @csukuangfj  suggested, is to manually modify the config.pbtxt using a script. If you understand how to use the Triton ONNX backend, either of these methods will work.
If you have any questions, please feel free to ask me.

Hi @yuekaizhang and @csukuangfj ,
The model I've built is a streaming zipformer model. The goal is to deploy it using triton.
Following are the methods I've used to export it into the .onnx format:

Using: https://github.com/k2-fsa/icefall/blob/master/egs/librispeech/ASR/zipformer/export-onnx-streaming.py
Using: https://github.com/k2-fsa/icefall/blob/master/egs/librispeech/ASR/zipformer/export-onnx.py
Using: https://github.com/k2-fsa/sherpa/blob/master/triton/scripts/export_onnx.py

The outcomes of these trials are:

The exported .onnx models could be used successfully for inference using https://github.com/k2-fsa/icefall/blob/master/egs/librispeech/ASR/zipformer/onnx_pretrained-streaming.py
The export to .onnx failed when using the --causal True. And when --causal was set to False, while the export worked fine, the inference gives empty output when using https://github.com/k2-fsa/icefall/blob/master/egs/librispeech/ASR/zipformer/onnx_pretrained.py. This should be because the streaming model expects some cached input which isn't available. Also, this is expected behaviour anyways from my understanding.
The export to .onnx fails due to mismatch in the kind of classes from the scaling.py file used in zipformer and pruned_transducer_stateless3.

Could you please provide with the exact way to export to .onnx for the streaming zipformer which can then be used in the triton deployment?
Also, request you to provide with the config.pbtxt file for triton deployment of streaming zipformer model. Generating the configuration for streaming zipformer from the scripts under sherpa/triton/scripts that have _streaming.sh wasn't quite intuitive/direct. Thanks.


Twitter bot for automatic GitHub repos recommendation

[x] get GitHub repo info: stars_count, language, last_7_days_stars_increment

[x] get GitHub reps's stars increment in last 7 days

[x] get GitHub repo's contributors and twitter accounts of contributors

[x] post a tweet for repo

[ ] add star history chart image for tweet

[x] repo recommendation algorithm

[x] Avoid recommending the same item repeatedly

Test tweet: https://twitter.com/DrawerdHq/status/1553825487444533248

https://twitter.com/DrawerdHq/status/1554188761717608449


[SPARKR-233] [SPARKR-190] add more API for Column

Also replace "." as "_" in column names

@davies Looks like there is an test failure here in the newly added test case

Thanks for the change. I just had a minor comment, otherwise LGTM.

Merging this


Damerau-Levenshtein with character-dependent weights

In relation to issue #180:
It would be great to generalize the foreseen implementation of the Dameau-Levenshtein distance to weights depending not only on the nature of the operation (insert/delete/substitute/transpose), but also on the specific character pairs involved in the operation.
Such weights could be either read from ressource files directly by the C/C++ implementation code, or provided as parameters (Python dictionaries) by the calling Python function.
This would be a very useful and not-so-complicated first step in the direction of context-sensitive string distance functions.

I think this should start off with a similar interface to the levenshtein distance:
distance(s1, s2, *, weights=(1,1,1))

which should be extended by support for float. In addition this could support a custom dict like structure for character weights which behaves similar to:
class PairwiseWeights:
    ...

a = PairwiseWeights()
a["a", "b"] = 0.75

The pure Python version will likely implement this using a dictionary, while for the C++ implementation an efficient storage structure is important. This could look something like this:
template<typename T>
class PairwiseWeights
{
    std::array<std::array<T, 256>, 256> m_extendedAscii;
    my_hashmap<std::tuple<int64_t, int64_t>, T> m_map;
};

This has an overhead of around 256kb for the extended ascii matrix, which would make the common case of char1 < 256 and char2 < 256 very fast. For the hashmap something similar similar to the Python dict using perturbation would probably work well.

As far as I understand, the existing distance implementations work on any unicode strings? Then why limit the character range to extended ASCII? One should be able to provide weights for any Unicode points pair, in my opinion.

This continues to be true. It is a mixed structure:
template<typename U, typename K>
T get(U ch1, K ch2)
{
    if (ch1 < 256 && ch2 < 256)
        return m_extendedAscii[ch1][ch2];
   return m_map.get(ch1, ch2);
}

since in many cases strings are ascii only this can improve the access times significantly, while it still supports any hashable type.

Note that this will likely take a while to get implemented, since this needs to be pretty generic to cover most use cases. Some examples are:

character dependent weights: e.g. keyboard layout
static weight (both int and float)
possibly position dependent weights (weight e.g. mistakes at the start of the string higher)
...
How do those interact, since you probably want to be able to mix them to some extent. An example is a keyboard layout:
substitutions -> depend on distance on keyboard -> mapping
insertion -> probably 1, since they likely do not depend on the character
deletion -> idk
transposition -> probably 1 since mix ups do not depend on the keyboard position

Would it be possible to combine e.g. character dependent and position dependent weights? This might be useful sometimes.
In addition I am unsure how normalization would work with these weights?

I was actually only suggesting the technical possibility to specify these weights, leaving the choice of their actual values to the package user (one could provide default ones to play with if really desired, of course).
I have my own custom-made C++ implementation of a Generalized Edit Distance with character-dependent weights,that are fully configurable from simple user-editable txt files. Default values are taken by all those character (pairs) no explicitly mentioned in the config. file, so it enables me to act upon only those values I want to depart from the standard weight.
Should you find it helpful, I would be glad to send you my implementation files. Seeing it properly cythonized in RapidFuzz (which I am technically unable to do it by myself) would be delightful.

I was describing possible use cases for users of the API to decide on an API. I think for now it would be enough to add character dependent weights. If other weights need an API change this can be done in a later major release.

Should you find it helpful, I would be glad to send you my implementation files. Seeing it properly cythonized in RapidFuzz (which I am technically unable to do myself) would be delightful.

Sure. Having a reference implementation would be helpful.


Does LeaderF have a case-insensitive mode ?

Searching same file got more than one result on Windows:
search:
fasd.py

result:
fasd.py           "d:\acm\github\vim\lib\"
fasd.py           "D:\acm\github\vim\lib\"
fasd.py           "d:\ACM\github\vim\lib\"

No. For linux, the directory is case sensitive, they are different files.


Unable to use with RSC when mode is async

Description

[!NOTE]
This post has been updated, please see answers in post below for changes, this is only kept for history.

Hi,
For various reason, i need my RSC to be asynchronous (data fetching). Maybe I've missed something
❌ Not working
import { useTranslations } from "next-intl";

export default async function Home() {
  const t = useTranslations("Index");
  return
{t("title")}
;
}

✅ Working
import { useTranslations } from "next-intl";

export default function Home() {
  const t = useTranslations("Index");
  return
{t("title")}
;
}

By just removing async keyword the following error message disappear and 500 HTTP is not present
GET /en 500 in 503ms
 ⨯ Error: failed to pipe response
}

Verifications

[X] I've verified that the problem I'm experiencing isn't covered in the docs.
[X] I've searched for similar, existing issues on GitHub and Stack Overflow.
[X] I've compared my app to a working example to look for differences.

Mandatory reproduction URL
https://github.com/ScreamZ/repro-temp
Reproduction description
pnpm install or whatever
just run app and go on first page
Expected behaviour
No crash or something to work around ? I might have missed something in the doc ? :'(

The next version of the React ESLint plugin should contain a warning for this: [ESLint] Disallow hooks in async functions. That should hopefully help to spot this a bit easier.
I'm having a look at the getting started docs in https://github.com/amannn/next-intl/pull/1017, I made a note there to potentially mention async components. Thanks for the feedback!

Wonderful! Sorry @amannn if i mess some parts, but this new way of thinking about react with servers, hybrid and clients. Now with server action above all of this, this get really tricky for the next weeks ahah
Keep the good job going,
thanks


preact-fela bindings error: withTheme is not a function

Version: 6.0.0
Environment: Both
Type: Bug

Description
When using createComponent with preact-fela I get a "withTheme is not a function" error.
Steps to reproduce

Clone the Fela repository
Navigate to packages/example-preact and run yarn
Add an alias for React (as per Recompose docs) to avoid #414
Run yarn client

Expected Behavior
The example will run without errors
Actual Behavior
The example throws an error:
Uncaught TypeError: withTheme is not a function
    at createComponent (bundle.js:7667)
    at Object.defineProperty.value (bundle.js:3651)
    at __webpack_require__ (bundle.js:20)
    at Object.defineProperty.value (bundle.js:5812)
    at __webpack_require__ (bundle.js:20)
    at Object.<anonymous> (bundle.js:5366)
    at __webpack_require__ (bundle.js:20)
    at Object.<anonymous> (bundle.js:16407)
    at __webpack_require__ (bundle.js:20)
    at module.exports.ctor.super_ (bundle.js:66)

Updating preact-fela/src/createComponent.js to include an instance of withTheme (as per react-fela appears to fix the problem:
import { h } from 'preact'
import { createComponentFactory } from 'fela-bindings'

import withTheme from "./withTheme";

export default createComponentFactory(h, withTheme)

Would you accept a PR with these changes?

Oh I forgot that. Feel free to send a PR!


add referral links to images in shop

Pre-Submission Checklist

[X] Your pull request targets the staging branch of FreeCodeCamp.
[X] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[X] You have only one commit (if not, squash them into one commit).
[X] All new and existing tests pass the command npm run test-challenges. Use git commit --amend to amend any fixes.

Type of Change

[X] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[X] Tested changes locally.
[X] Closes currently open issue (replace XXXX with an issue no): Closes #9918

Description

I replicated the behavior of all hrefs in shop.jade to apply to all images in the shop too. Google Analytics should still reflect appropriately.

@dhcodes If you rebase of current staging it should pass that first security check.

@BerkeleyTrue okay, I think it's g2g now.

@BerkeleyTrue, from a visual and correct syntax/code point of view, it looks good to me. I'm pretty sure the google analytics will work but I am unable to test that.

@atjonathan Did you run the code and click the links?

@dhcodes, please remove the large amount of spacing under the button add some between the button and "These durable"...

@dhcodes Please remove the merge commit

Too fast @BerkeleyTrue. I'm working on it 👍

Okay, so I messed something up for a bit (still a bit dense on Git sometimes), but should be good now. To @atjonathan 's credit, I actually needed to convert the form to pug format anyway because when use HTML, it would generate a

 that wasn't present in the file. Weird.
Anyway, I have tested this and it appears to compile correctly for Google Analytics and fixes the spacing issue @atjonathan referenced above. fingers crossed

@dhcodes awesome :tada:
I will test this and merge asap :+1:

LGTM :+1:
Thanks for contributing to the most awesome open source community :tada:


Not able to execute use [database] statement

Description
Not able to execute a SQL file which affects multiple databases and so uses use [database_name] statements throughout the script.
The error message
Error occurred during SQL script execution

Reason:
SQL Error [1064] [42000]: (conn=10) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'use myDatabase' at line 5

Downgrading to version 24.0.0 seems to have solved the problem.
DBeaver Version
Community Edition 24.0.3
Operating System
Windows 11 Pro
Database and driver
Ver 15.1 Distrib 10.4.22-MariaDB, for Win64 (AMD64), source revision a19ab67318760f8f155ef7f4f821dfc738542c67
Steps to reproduce
Execute a script that has the following structure:
use myDatabase1;
-- Do something with the myDatabase1, e.g. update some rows.

use myDatabase2;
-- Do something with the myDatabase2, e.g. update some rows.

use myDatabase3;
-- Do something with the myDatabase3, e.g. update some rows.

The script would (error) stop at line use myDatabase2; with the error message:
Error occurred during SQL script execution

Reason:
SQL Error [1064] [42000]: (conn=10) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'use [database_name]' at line 5

Expected behavior
The script should execute as before, without errors.
Additional context
No response

So i had this error today too (SQL Error [1064] [42000]), for a database upgrade script for an up coming app release.
The script was working fine before upgrading DBeaver this morning (apologies I don't know what version i upgraded from, it was maybe a couple of months ago i did an upgrade). However after the upgrade to version <IP_ADDRESS>404211624 my sql script was failing all over the place but the same statements would run fine when run individually in a separate window.
it seems to be caused by the setting in:
Settings -> Editors -> SQL Editor -> SQL Processing -> "Blank Line is a statement delimiter" -> Smart
I set this to never and it now runs fine.
It seems DBeaver is ignoring semi colon delimiter's at the end of a statement and wants blank lines instead?  Note I was hitting the execute script option to run all statements and each statement is delimited with a ;

The fix will be included in DBeaver 24.0.4.
Also you can try Early Access version with fix https://dbeaver.io/files/ea/ now.


Please add a configuration file to control which extensions are enabled or disabled

Overall, vscode is great, and I'd like you to add a new feature: for extensions, you can have a special configuration file under the.vscode folder to control which plug-ins you need to enable for the project itself. Plug-ins not in the list are automatically disabled in the workspace, plug-ins in the list are automatically enabled, and uninstalled plug-ins can be automatically installed. I thought it would be cool and we could make sure that all the plug-ins we enabled were needed for the project.

Duplicate of https://github.com/microsoft/vscode/issues/18386


Should we support @attribute [OutputElementHint("select")] on Razor components?

Is your feature request related to a problem? Please describe.
Today components such as <InputSelect ...>....</InputSelect> and other user-written components are not treated as their output elements. This means there are some oddities when writing snippets such as:
<InputSelect bind-Value="starship.Classification">
    <option>Select classification ...</option>
...
</InputSelect

The oddities include lacking HTML completion lists (no option entry) and potential schema validation issues.
Describe the solution you'd like
We could consider re-using the TagHelper mechanism and the new @attribute support for addressing similar concerns and enable @attribute [OutputElementHint("select")] in components. It would make components function similar to TagHelpers and would be a limited amount of work since a lot of that infrastructure is already in place.
Describe alternatives you've considered
Other alternatives would be fully owning completion inside of our component tags or providing other indicators to be specific on what types of tags are allowed inside.
/cc @danroth27

We should not do this unless it's automatic and done by the compiler. We need to make sure our tooling experiences work well when components are written naively.

We should not do this unless it's automatic and done by the compiler.

Could you expand a bit more here?

We need to make sure our tooling experiences work well when components are written naively.

When you say natively do you mean our built-in components?

To use Blazor is to write LOTS of components. I don't think we should add more homework to the critical path for authoring components.

I don't think we should add more homework to the critical path for authoring components.

I thought this was an optional things for component authors to do. If you want to indicate that your component should be treated like a specific HTML tag then you can add this attribute.
This probably only works for child content though. A component might have other templated parameters that have the semantics of different HTML tags.

We need to make sure our tooling experiences work well when components are written naively.

We chatted a bit about this offline:

Ideally we don't want component authors to have to add additional metadata like this to get a good tooling experience. Can tooling just do the right thing based on how the component was authored?
If we can't do something smart and correct then the tooling should be permissive (e.g. allow for all tags instead of warning of potentially inappropriate usage)

After some further discussion on this we've decided that we won't be fixing this in the near future. If we realize this is going to become a big pain point for customers, we may reconsider then.


Fullscreen seems to be broken on the MT42 simulations

In chrome, on the sound booth iMac, when toggling to fullscreen on these SVGAs, I just get a solid grey screen.

Fixed


add info on running kro locally during developing in CONTRIBUTING.md

Documentation Issue

Location: CONTRIBUTING.md

Current State: Has no information on how to set up a development environment to contribute.

Suggested Changes: We need to add information on how to run the changes made to kro locally and test them as well.

I'm happy to work on this once I figure it out myself :)


Dev: Web - App crash when editing comment by pressing arrow up key

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

Action Performed:

Write a message to concierge
Edit it by pressing up arrow key

Expected Result:
App is not crashed when editing comment by pressing arrow up key
Actual Result:
App crash when editing comment by pressing arrow up key
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.29-0
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/6b84374d-7757-4fea-82cd-5d0097a370a7
Expensify/Expensify Issue URL:
Issue reported by: requested
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686949778901619
View all open jobs on GitHub

Cannot reproduce anymore on DEV env

Its basically crashing at this error:
[alrt] NewExpensify crash caught by error boundary - Cannot read properties of undefined (reading 'decode') - {"errorInfo":"{\"componentStack\":\"\
    at ReportActionItemMessageEdit (webpack-internal:///./src/pages/home/report/ReportActionItemMessageEdit.js:118:85)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at ReportActionItemDraft (webpack-internal:///./src/pages/home/report/ReportActionItemDraft.js:24:12)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at OfflineWithFeedback (webpack-internal:///./src/components/OfflineWithFeedback.js:108:85)\
    at withNetwork(OfflineWithFeedback)\
    at withLocalize(withNetwork(OfflineWithFeedback))\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at Hoverable (webpack-internal:///./src/components/Hoverable/index.js:35:86)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at Pressable (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/Pressable/index.js:40:24)\
    at eval (webpack-internal:///./src/components/Pressable/GenericPressable/BaseGenericPressable.js:56:24)\
    at eval (webpack-internal:///./src/components/Pressable/GenericPressable/index.js:21:22)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at AnimatedComponent (webpack-internal:///./node_modules/react-native-reanimated/lib/module/createAnimatedComponent.js:273:88)\
    at OpacityView (webpack-internal:///./src/components/OpacityView.js:53:88)\
    at eval (webpack-internal:///./src/components/Pressable/PressableWithFeedback.js:58:73)\
    at PressableWithSecondaryInteraction (webpack-internal:///./src/components/PressableWithSecondaryInteraction/index.js:45:86)\
    at ReportActionItem (webpack-internal:///./src/pages/home/report/ReportActionItem.js:167:161)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withReportActionsDrafts_(Component)\
    at withPrivate_blockedFromConcierge(withReportActionsDrafts_(Component))\
    at withPersonalDetailsList(withPrivate_blockedFromConcierge(withReportActionsDrafts_(Component)))\
    at withNetwork(withPersonalDetailsList(withPrivate_blockedFromConcierge(withReportActionsDrafts_(Component))))\
    at withLocalize(withNetwork(withPersonalDetailsList(withPrivate_blockedFromConcierge(withReportActionsDrafts_(Component)))))\
    at withWindowDimensions(withLocalize(withNetwork(withPersonalDetailsList(withPrivate_blockedFromConcierge(withReportActionsDrafts_(Component))))))\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at VirtualizedListCellContextProvider (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js:73:23)\
    at CellRenderer (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/VirtualizedList/index.js:1488:86)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/ScrollView/ScrollViewBase.js:68:24)\
    at eval (webpack-internal:///./node_modules/create-react-class/factory.js:897:37)\
    at ScrollView\
    at VirtualizedListContextProvider (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js:44:24)\
    at VirtualizedList (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/VirtualizedList/index.js:171:86)\
    at FlatList (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/FlatList/index.js:181:86)\
    at BaseInvertedFlatList (webpack-internal:///./src/components/InvertedFlatList/BaseInvertedFlatList.js:60:86)\
    at InvertedFlatList (webpack-internal:///./src/components/InvertedFlatList/index.js:52:86)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at AnimatedComponent (webpack-internal:///./node_modules/react-native-reanimated/lib/module/createAnimatedComponent.js:273:88)\
    at ReportActionsList (webpack-internal:///./src/pages/home/report/ReportActionsList.js:108:89)\
    at WithCurrentUserPersonalDetails (webpack-internal:///./src/components/withCurrentUserPersonalDetails.js:54:27)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withNetwork(Component)\
    at withPersonalDetailsList(withNetwork(Component))\
    at withLocalize(withPersonalDetailsList(withNetwork(Component)))\
    at withWindowDimensions(withLocalize(withPersonalDetailsList(withNetwork(Component))))\
    at ReportActionsView (webpack-internal:///./src/pages/home/report/ReportActionsView.js:104:86)\
    at withNetwork(ReportActionsView)\
    at withLocalize(withNetwork(ReportActionsView))\
    at WithNavigationFocus (webpack-internal:///./src/components/withNavigationFocus.js:23:91)\
    at withWindowDimensions(Component)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at FullPageNotFoundView (webpack-internal:///./src/components/BlockingViews/FullPageNotFoundView.js:64:13)\
    at withLocalize(FullPageNotFoundView)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at PickerAvoidingView (webpack-internal:///./node_modules/react-native-picker-select/src/PickerAvoidingView/index.js:22:23)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at KeyboardAvoidingView\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at SafeAreaConsumer\
    at ScreenWrapper (webpack-internal:///./src/components/ScreenWrapper/index.js:74:86)\
    at withNetwork(ScreenWrapper)\
    at withKeyboardState(withNetwork(ScreenWrapper))\
    at withWindowDimensions(withKeyboardState(withNetwork(ScreenWrapper)))\
    at WithEnvironment (webpack-internal:///./src/components/withEnvironment.js:44:88)\
    at WithNavigation (webpack-internal:///./src/components/withNavigation.js:23:93)\
    at ReportScreen (webpack-internal:///./src/pages/home/ReportScreen.js:175:86)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withNetwork(Component)\
    at WithNavigation (webpack-internal:///./src/components/withNavigation.js:23:93)\
    at WithNavigationFocus (webpack-internal:///./src/components/withNavigationFocus.js:23:91)\
    at withWindowDimensions(Component)\
    at withLocalize(withWindowDimensions(Component))\
    at WithViewportOffsetTop (webpack-internal:///./src/components/withViewportOffsetTop.js:47:88)\
    at ReportScreenWrapper (webpack-internal:///./src/libs/Navigation/AppNavigator/ReportScreenWrapper.js:101:86)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at StaticContainer (webpack-internal:///./node_modules/@react-navigation/core/lib/module/StaticContainer.js:13:16)\
    at EnsureSingleNavigator (webpack-internal:///./node_modules/@react-navigation/core/lib/module/EnsureSingleNavigator.js:17:5)\
    at SceneView (webpack-internal:///./node_modules/@react-navigation/core/lib/module/SceneView.js:22:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at CardSheet (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Stack/CardSheet.js:18:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at AnimatedComponent (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js:59:88)\
    at AnimatedComponentWrapper\
    at Dummy (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/GestureHandler.js:14:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at AnimatedComponent (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js:59:88)\
    at AnimatedComponentWrapper\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at Card (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Stack/Card.js:52:1)\
    at CardContainer (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Stack/CardContainer.js:27:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at NativeScreen (webpack-internal:///./node_modules/react-native-screens/lib/module/index.js:58:1)\
    at AnimatedComponent (webpack-internal:///./node_modules/@expensify/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js:59:88)\
    at AnimatedComponentWrapper\
    at MaybeScreen (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Screens.js:32:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at MaybeScreenContainer (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Screens.js:20:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at Background (webpack-internal:///./node_modules/@react-navigation/stack/node_modules/@react-navigation/elements/lib/module/Background.js:15:5)\
    at CardStack (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Stack/CardStack.js:189:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at SafeAreaProviderCompat (webpack-internal:///./node_modules/@react-navigation/stack/node_modules/@react-navigation/elements/lib/module/SafeAreaProviderCompat.js:40:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at StackView (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/views/Stack/StackView.js:34:1)\
    at PreventRemoveProvider (webpack-internal:///./node_modules/@react-navigation/core/lib/module/PreventRemoveProvider.js:43:5)\
    at NavigationContent (webpack-internal:///./node_modules/@react-navigation/core/lib/module/useComponent.js:10:5)\
    at eval (webpack-internal:///./node_modules/@react-navigation/core/lib/module/useComponent.js:27:7)\
    at StackNavigator (webpack-internal:///./node_modules/@react-navigation/stack/lib/module/navigators/createStackNavigator.js:18:5)\
    at Suspender (webpack-internal:///./node_modules/react-freeze/dist/index.modern.js:10:21)\
    at Suspense\
    at Freeze (webpack-internal:///./node_modules/react-freeze/dist/index.modern.js:30:22)\
    at FreezeWrapper (webpack-internal:///./src/libs/Navigation/FreezeWrapper.js:30:66)\
    at CentralPaneNavigator\
    at StaticContainer (webpack-internal:///./node_modules/@react-navigation/core/lib/module/StaticContainer.js:13:16)\
    at EnsureSingleNavigator (webpack-internal:///./node_modules/@react-navigation/core/lib/module/EnsureSingleNavigator.js:17:5)\
    at SceneView (webpack-internal:///./node_modules/@react-navigation/core/lib/module/SceneView.js:22:5)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at ThreePaneView (webpack-internal:///./src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/ThreePaneView.js:44:101)\
    at PreventRemoveProvider (webpack-internal:///./node_modules/@react-navigation/core/lib/module/PreventRemoveProvider.js:43:5)\
    at NavigationContent (webpack-internal:///./node_modules/@react-navigation/core/lib/module/useComponent.js:10:5)\
    at eval (webpack-internal:///./node_modules/@react-navigation/core/lib/module/useComponent.js:27:7)\
    at ResponsiveStackNavigator (webpack-internal:///./src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.js:38:23)\
    at AuthScreens (webpack-internal:///./src/libs/Navigation/AppNavigator/AuthScreens.js:156:86)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withWindowDimensions(Component)\
    at AppNavigator (webpack-internal:///./src/libs/Navigation/AppNavigator/index.js:16:13)\
    at EnsureSingleNavigator (webpack-internal:///./node_modules/@react-navigation/core/lib/module/EnsureSingleNavigator.js:17:5)\
    at BaseNavigationContainer (webpack-internal:///./node_modules/@react-navigation/core/lib/module/BaseNavigationContainer.js:89:5)\
    at ThemeProvider (webpack-internal:///./node_modules/@react-navigation/native/lib/module/theming/ThemeProvider.js:12:5)\
    at NavigationContainerInner (webpack-internal:///./node_modules/@react-navigation/native/lib/module/NavigationContainer.js:42:5)\
    at NavigationRoot (webpack-internal:///./src/libs/Navigation/NavigationRoot.js:72:74)\
    at withCurrentReportId(NavigationRoot)\
    at withWindowDimensions(withCurrentReportId(NavigationRoot))\
    at DeeplinkWrapper (webpack-internal:///./src/components/DeeplinkWrapper/index.website.js:68:86)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Expensify (webpack-internal:///./src/Expensify.js:127:77)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withLocalize(Component)\
    at BaseErrorBoundary (webpack-internal:///./src/components/ErrorBoundary/BaseErrorBoundary.js:51:86)\
    at PickerStateProvider (webpack-internal:///./node_modules/react-native-picker-select/src/PickerStateProvider.js:44:86)\
    at CurrentReportIdContextProvider (webpack-internal:///./src/components/withCurrentReportId.js:29:66)\
    at KeyboardStateProvider (webpack-internal:///./src/components/withKeyboardState.js:47:86)\
    at WindowDimensionsProvider (webpack-internal:///./src/components/withWindowDimensions.js:63:86)\
    at RenderersPropsProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/context/RenderersPropsProvider.js:46:44)\
    at ListStyleSpecsProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/context/ListStyleSpecsProvider.js:70:3)\
    at SharedPropsProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/context/SharedPropsProvider.js:82:48)\
    at RenderRegistryProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/context/RenderRegistryProvider.js:41:3)\
    at RenderHTMLConfigProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/RenderHTMLConfigProvider.js:72:5)\
    at TRenderEngineProvider (webpack-internal:///./node_modules/react-native-render-html/lib/commonjs/TRenderEngineProvider.js:121:3)\
    at BaseHTMLEngineProvider (webpack-internal:///./src/components/HTMLEngineProvider/BaseHTMLEngineProvider.js:91:13)\
    at HTMLEngineProvider (webpack-internal:///./src/components/HTMLEngineProvider/index.js:18:18)\
    at withWindowDimensions(HTMLEngineProvider)\
    at LocaleContextProvider (webpack-internal:///./src/components/withLocalize.js:94:86)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at WithCurrentUserPersonalDetails (webpack-internal:///./src/components/withCurrentUserPersonalDetails.js:54:27)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at withOnyx(LocaleContextProvider)\
    at __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///./src/components/SafeArea/index.js:6:23)\
    at PortalProviderComponent (webpack-internal:///./node_modules/@gorhom/portal/lib/module/components/portalProvider/PortalProvider.js:18:3)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at NativeSafeAreaProvider (webpack-internal:///./node_modules/react-native-safe-area-context/lib/module/NativeSafeAreaProvider.web.js:28:5)\
    at SafeAreaProvider (webpack-internal:///./node_modules/react-native-safe-area-context/lib/module/SafeAreaContext.js:38:5)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at Provider (webpack-internal:///./src/components/createOnyxContext.js:32:19)\
    at withOnyx (webpack-internal:///./node_modules/react-native-onyx/dist/web.development.js:2270:9)\
    at ComposeProviders (webpack-internal:///./src/components/ComposeProviders.js:20:214)\
    at OnyxProvider (webpack-internal:///./src/components/OnyxProvider.js:61:12)\
    at ComposeProviders (webpack-internal:///./src/components/ComposeProviders.js:20:214)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at GestureHandlerRootView\
    at App\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at div\
    at eval (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/View/index.js:52:25)\
    at AppContainer (webpack-internal:///./node_modules/@expensify/react-native-web/dist/exports/AppRegistry/AppContainer.js:23:24)\"}"}```

@kbecciv Anyone who's is getting this issue, ask them:

Take a pull from upstream/main branch.
Then run npm i which should update all the packages regarding expensify-common.
This should fix the issue.

@jeet-dhandha can you confirm if you are able to reproduce still, as @dan1d says it's no longer an issue?

@laurenreidexpensify Its no longer reproducible, but i added steps for fix if anyone is having this issue.

As no longer reproducible am closing


Use Logging instead of print for scripts/edgepy.py

We really should be using logging instead of print in scripts/edgepy.py.  That gives way more control and flexibility.
All print statements  should be replace with logging.

Would it be preferred to use the python internal library logging or something like logzero which I like?


Improve the coverage of the JSON Schema specification

In this PR I simplify the codebase by using the referencing library to dereference the specification. We also check the validity of the schema before compiling it. We add coverage for the following:

Situations where minLength and maxLength are both defined;
The pattern keyword that allows to constrain the string to follow a regular expression;
oneOf, allOf, anyOf are now all properly covered;
type given an array value
array without a specified type
enums without a specified type

TODO

[x] More testing
[ ] ~Handle optional fields (those not specified in "required")~
[x] ~minItems for arrays~
[x] ~maxItems for arrays~

Note
We cannot handle minItems and maxItems because of interegular's lack of support for lookaheads:
 interegular.patterns.Unsupported: Group can not have lookbacks/lookaheads that go beyond the group bounds.

Related issues
#330 #215

Regarding the minItems and maxItems lookaheads issue, would it be possible if both minItems and maxItems are the same value? As you could generate a regular expression that "hardcodes" the number of items?

Regarding the minItems and maxItems lookaheads issue, would it be possible if both minItems and maxItems are the same value? As you could generate a regular expression that "hardcodes" the number of items?

We could, would that be useful?

For our use case that would be super helpful. We are using LLMs to synthesize a lot of structured data. Frequently a single input maps to a list of different outputs, the exact number is not super important but it needs to be at least a few. Doing them in the same call leads to higher diversity in the outputs and much simpler pipelines.
Two alternatives for us would be:

Manually provide hardcoded properties for each of the entries (item1, item2, ...)
Manipulate the JSON schema generated by Pydantic to dynamically do this before passing it to outlines and then include custom parsing logic

Both of these options are quite ugly compared to restricting the guided generation to a fixed number of items in the array.

Noted, I added the feature. Don't hesitate to open an issue if there is something missing.


EOG of ForStatement is (possibly) incorrect

Currently, the EOG for ForStatement has the initializerStatement inside the loop. Obviously, it should be only evaluated once, and before the loop starts.
Please correct me if I'm wrong but I think this behavior should be correctly represented in the EOG.

I was assigning numeric IDs during export and had an offset of 1 between the graph file and the description file.