ConnectionString not being read from ConnectionStrings section

I do not want to duplicate my connection string so I attempted to do the following per your documentation:
"To use a connection string from the connectionStrings section of your application config, specify its name as the value of the connection string."
This does not work when setting configuration in the appSettings.json using the serilog/serilog-settings-configuration package. Only actual connection strings work, not the name of the settings from the ConnectionStrings section.

Please post your config file and your init code. Also please post the versions you're using.
Are you configuring the sink directly or via ReadFromConfiguration with Serilog.Settings.Configuration?
If you're configuring it directly, it probably isn't clear from the docs (we're having a discussion now about improving Serilog docs in general), but to use a named connection string, you must use the appConfiguration parameter to pass the entire configuration rather than just the 'columnOptionsSection'. But that is populated automatically if you're configuring from the Settings package.
The only other two requirements that come to mind is that the connection string section must be named ConnectionStrings (case-sensitive) but I think the connection string name-search itself is case-insensitive (we use the GetConnectionString method built into Microsoft.Extensions.Configuration), and the name of the connection string must not contain an = symbol (that determines whether we treat it as a raw string or a name).
We actually have a passing test for this:
https://github.com/serilog/serilog-sinks-mssqlserver/blob/dev/test/Serilog.Sinks.MSSqlServer.Tests/Configuration/Microsoft.Extensions.Configuration/ConfigurationExtensions.cs#L34

Using the dev version of the SQL sink and the 3.0.0 release of the config package, this code and config works:
var appConfig = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile(path: "appsettings.json")
    .Build();

var logConfig = new LoggerConfiguration();
logConfig.ReadFrom.Configuration(appConfig);
Log.Logger = logConfig.CreateLogger();
Serilog.Debugging.SelfLog.Enable(Console.Error);

Log.Information("An Information message");

Log.CloseAndFlush();

{
  "ConnectionStrings": {
    "DevTest": "Data Source=(LocalDB)\\MSSQLLocalDB;Initial Catalog=SerilogTest;Integrated Security=true"
  },
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console" ],
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "MSSqlServer",
        "Args": {
          "connectionString": "DevTest",
          "tableName": "Issue81",
          "autoCreateSqlTable":  true,
          "columnOptionsSection": {
            "customColumns": [
              {
                "ColumnName": "EventType",
                "DataType": "int"
              },
              {
                "ColumnName": "Release",
                "DataType": "varchar",
                "DataLength": 32
              }
            ]
          }
        }
      }
    ]
  }
}

@MV10 When is it expected to be released the final 5.1.3 version of serilog-sinks-mssqlserver package?

@craigmoliver I also set up the test with a bogus connection string, and this is what hits the console via SelfLog upon auto-create and then after a message is logged:
2018-10-10T14:19:41.3378268Z Exception System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at Serilog.Sinks.MSSqlServer.SqlTableCreator.CreateTable() in C:\Source\Repos\serilog-sinks-mssqlserver\src\Serilog.Sinks.MSSqlServer\Sinks\MSSqlServer\SqlTableCreator.cs:line 32
   at Serilog.Sinks.MSSqlServer.MSSqlServerSinkTraits..ctor(String connectionString, String tableName, String schemaName, ColumnOptions columnOptions, IFormatProvider formatProvider, Boolean autoCreateSqlTable) in C:\Source\Repos\serilog-sinks-mssqlserver\src\Serilog.Sinks.MSSqlServer\Sinks\MSSqlServer\MSSqlServerSinkTraits.cs:line 84
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20 caught while creating table Issue81 to the database specified in the connection string.

[10:19:41 INF] An Information message

2018-10-10T14:19:41.4435681Z Unable to write 1 log events to the database due to following error: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

@nlz242 Did you tried using the dev package of Serilog.Sinks.MSSqlServer v5.1.3?

@nlz242 Like you said previously:

If I replace "DevTest" with the actual connection string, it works, otherwise i get
WebApplication1> 2018-10-24T18:15:28.3438609Z Unable to write 3 log events to the database due to following error: Format of the initialization string does not conform to specification starting at index 0.

Are you still using this?
"Args": {
          "connectionString": "DevTest",

I'm currently running without problems Serilog on Console and SQL Server 2016, using the following packages:

Serilog.AspNetCore v2.1.1
Serilog.Sinks.Console v3.1.1
Serilog.Sinks.MSSqlServer v5.1.3-dev-00231
Serilog.Settings.Configuration v3.0.1

Maybe these links can also be useful. Please try to take a look:

Serilog.Settings.Configuration #126
#129

Yes still using "DevTest" as the connection string, with a connection string named DevTest defined in the connectionstrings section.
I debugged a bit just to see if i could figure it out. It seems that the static ConfigurationManager just doesn't find the connection string.
Which would make sense since this is an aspnet core project (running on full 4.7 framework).
Looking at it, and correct me if im wrong, i think that for some reason, the wrong LoggerConfigurationMSSqlServerExtensions is picked up.
Even tho i'm running full framework, it should still LoggerConfigurationMSSqlServerExtensions found inside the Microsoft.Extensions.Configuration folder, but it uses the one found in NetFramework.ConfigurationManager, which relies on ConfigurationManager instead of IConfiguration.

Upon further investigation, it seems like this is a Nuget "issue". Nuget pickups the net45 assembly instead of the netstandard2.0 one, since the project is .NET Framework. I'll try choosing my DLL manually and report back with my findings.

Referencing the netstandard dll directly, instead of the nuget packages, i was able to get the proper LoggerConfigurationMSSqlServerExtensions to run, however i was never able to actually get IConfiguration injection to work, even when creating the logger by hand:
        private static IConfiguration Configuration { get; set;  }
        public static void Main(string[] args)
        {
            Configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddCommandLine(args)
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddEnvironmentVariables().Build();

            Log.Logger = new LoggerConfiguration()
                .ReadFrom.Configuration(Configuration)
                .Enrich.FromLogContext()
                .WriteTo.Console()
            .CreateLogger();

            CreateWebHostBuilder(args).Build().Run();
        }

I always end up with a null IConfiguration so obviously, getting the connection string fails and returns a null.
I guess i'm gonna stick with providing the connection string directly in MSSqlServer's Args instead of trying to get Named connection string to work.
I've included my repro project.
I'd also like to mention that after my tests, i am **VERY worried
WebApplication1.zip
** about the upcomming version. Current version (5.1.2) works properly with ASP.NET Core projects targetting Full frameworks, except for named connecting strings, however 5.1.3 previews stop working completly. You can use my repro to see it for yourself, just upgrading 5.1.2 to 5.1.3-dev-00231 breaks the application, Creating the logger is no longer possible.

Good news is, using @MV10 issue_161 branch, named connection string still don't work but at least ASPNET Core with Full Framework (4.7) works as expected. Less worried now.

@nlz242 I'm merging PR #170 (fixes #161) now, a new dev build should be available shortly.

Hi, I just hit this issue moving the sink configuration to the appsettings.json.
ASP.NET Core 2.1 project targeting .NET Core here (<TargetFramework> set to netcoreapp2.1).
Any chance to have a fix soon?
Thanks in advance.

I am having the issue with .NET Core 2.1. I tried the 2.1.3 version but it breaks the application completely with a named Connection String. Not using a named connection string works fine.
Error with named Connection String:

Appsettings.json

Hoping for a fix soon. Thanks all.

@craigmoliver
Please indicate which versions of the various packages you are using.

I've since reverted to Serilog.Sinks.MSSqlServer 5.1.2. Otherwise all these:

I have had some success rolling back to
Serilog.Settings.Configuration v3.0.0 in conjunction with
Serilog.Sinks.MSSqlServer v5.1.3-dev-00232.
Serilog.Settings.Configuration  v3.0.1 does not seem to work with named connection strings.

Does that mean lesser version of Serilog.Settings.Configuration 3.0.1-dev-00160 work? What's the difference between them?

I was having the same problem @EEParker workaround does the job on an asp.net core 2.1 project

I got it working with these versions:
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1-dev-00160" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.3-dev-00232" />

It also works with these versions:
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.2-dev-00187" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.3-dev-00232" />

Interestingly these versions DO NOT work. Strange how the release version fails.
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.3-dev-00232" />

I can confirm @craigmoliver findings.
I was able to get it working with these versions, in a brand new netcoreapp2.2 project:
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.2-dev-00187" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.3-dev-00232" />

I can also add that the following combination does NOT work :
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.2-dev-00187" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.2" />

I'm also having issues.
Version 5.1.2 doesn't throw the error, but it also doesn't work.
Version 5.1.3-dev-00232 throws the error below.
I'm hosting in Azure and using the Azure AppSettings and when I try to run the website I get a null exception on the connection string. If I hard code the connection string in the appsettings.json it works fine, but if I reference a connection string it doesn't work.
`Application startup exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: connectionString
at Serilog.Sinks.MSSqlServe
r.MSSqlServerSinkTraits..ctor(String connectionString, String tableName, String schemaName, ColumnOptions columnOptions, IFormatProvider formatProvider, Boolean autoCreateSqlTable)
at Serilog.LoggerConfigurationMSSqlServerExtensions.MSSqlServer(LoggerSinkConfiguration loggerConfiguration, String connectionString, String tableName, IConfiguration appConfiguration, LogEventLevel restrictedToMinimumLevel, Int32 batchPostingLimit, Nullable`1 period, IFormatProvider formatProvider, Boolean autoCreateSqlTable, ColumnOptions columnOptions, IConfigurationSection columnOptionsSection, String schemaName)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Serilog.Settings.Configuration.ConfigurationReader.CallConfigurationMethods(ILookup2 methods, IList1 configurationMethods, Object receiver, IReadOnlyDictionary`2 declaredLevelSwitches)
at Serilog.Settings.Configuration.ConfigurationReader.ApplySinks(LoggerConfiguration loggerConfiguration, IReadOnlyDictionary`2 declaredLevelSwitches)
at Serilog.Settings.Configuration.ConfigurationReader.Configure(LoggerConfiguration loggerConfiguration)
at Serilog.Configuration.LoggerSettingsConfiguration.Settings(ILoggerSettings settings)
at Serilog.ConfigurationLoggerConfigurationExtensions.Configuration(LoggerSettingsConfiguration settingConfiguration, IConfiguration configuration, DependencyContext dependencyContext)
at KC.IdentityServer4.STS.Identity.Helpers.StartupHelpers.AddLogging(IApplicationBuilder app, ILoggerFactory loggerFactory, IConfiguration configuration) in C:\Users\John\source\repos\Kenneth.Collins\KC.IdentityServer4.STS.Identity\Helpers\StartupHelpers.cs:line 118
at KC.IdentityServer4.STS.Identity.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in C:\Users\John\source\repos\Kenneth.Collins\KC.IdentityServer4.STS.Identity\Startup.cs:line 45
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.AspNetCore.Mvc.Internal.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
`

From almost one year till now this issue still open!  O_O
That encourages staying with NLog as it's more mature.

still open??? Time to change to something else....

Haven't tried in ASP.NET Core Targetting full framework (472 or 48) lately, but ASP.NET Core on .NET Core works as expected.
Versions tested :
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" /> <PackageReference Include="Serilog.Sinks.MSSqlServer" Version="5.1.3" />
So this seems all good to me. Maybe someone else can chime in and say if they are still encountering this issue.

I verified it too with the current version Serilog.Sinks.MSSqlServer 5.5.0 and Serilog.Settings.Configuration version 3.1.0" based on the included sample program  samples/WorkerServiceDemo which targets .NET Core 3.1. I adapted the configuration in appsettings.json so that it uses named connection strings for WriteTo and AuditTo configs and everythings worked without problems.
Closing this issue now.

Hi, does Serilog.Sinks.MSSqlServer have the feauture with named connection strings? What was the final word on this.

Thanks @ckadluba ! :-) I verified it in latest version and in .NET8. Can simplify the json's a bit.


Add labels and validation to test files.

Checklist before submitting

[x] Did you read the contributor guide?
[ ] Did you update any affected documentation?
[x] Did you write any tests to validate this change?

Description
Fixes #138
Fixes #141

Test example:
tests:
  - name: Setup spaCy Tests
    command: |
        conda install -y pytest>=4.6.5 pytest-timeout mock flake8
  {% if 'long' in test_labels %}
  - name: Run spaCy tests
    command: |
        SPACY_LOCATION=$(python -c "import os; import spacy; print(os.path.dirname(spacy.__file__))")
        python -m pytest -k "not test_matcher and not test_issue3328" $SPACY_LOCATION
  {% endif %}

This looks good. I like how the schema checks were combined into the render_yaml function.
The test_labels argument should be able to be passed to the open-ce build env command as well. However, that could be added in a separate PR if you'd like.

This looks good. I like how the schema checks were combined into the render_yaml function.
The test_labels argument should be able to be passed to the open-ce build env command as well. However, that could be added in a separate PR if you'd like.

I made this change. Let me know what you think.

Codecov Report

Merging #188 (286b573) into master (318f6e7) will increase coverage by 0.01%.
The diff coverage is 96.30%.

@@            Coverage Diff             @@
##           master     #188      +/-   ##
==========================================
+ Coverage   93.96%   93.97%   +0.01%
==========================================
  Files          15       15
  Lines        1010     1029      +19
==========================================
+ Hits          949      967      +18
- Misses         61       62       +1

Flag
Coverage Δ

unittests
93.97% <96.30%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

open-ce/build_env.py
92.59% <ø> (ø)

open-ce/test_feedstock.py
99.16% <94.12%> (-0.84%)
:arrow_down:

open-ce/build_tree.py
95.56% <100.00%> (+0.06%)
:arrow_up:

open-ce/conda_utils.py
100.00% <100.00%> (ø)

open-ce/env_config.py
97.92% <100.00%> (-0.04%)
:arrow_down:

open-ce/errors.py
100.00% <100.00%> (ø)

open-ce/inputs.py
91.30% <100.00%> (+0.19%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #188 (60f4ba5) into master (318f6e7) will increase coverage by 0.02%.
The diff coverage is 96.55%.

@@            Coverage Diff             @@
##           master     #188      +/-   ##
==========================================
+ Coverage   93.96%   93.98%   +0.02%
==========================================
  Files          15       15
  Lines        1010     1030      +20
==========================================
+ Hits          949      968      +19
- Misses         61       62       +1

Flag
Coverage Δ

unittests
93.98% <96.55%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

open-ce/build_env.py
92.59% <ø> (ø)

open-ce/test_feedstock.py
99.16% <94.12%> (-0.84%)
:arrow_down:

open-ce/build_tree.py
95.58% <100.00%> (+0.08%)
:arrow_up:

open-ce/conda_utils.py
100.00% <100.00%> (ø)

open-ce/env_config.py
97.92% <100.00%> (-0.04%)
:arrow_down:

open-ce/errors.py
100.00% <100.00%> (ø)

open-ce/inputs.py
91.30% <100.00%> (+0.19%)
:arrow_up:

Continue to review full report at Codecov.

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


TypeError: Cannot read property 'search' of undefined in React Native

Expected Behavior
No unexpected promises
Current Behavior
I'm seeing the following error
WARN  Possible Unhandled Promise Rejection (id: 0):
TypeError: Cannot read property 'search' of undefined
TypeError: Cannot read property 'search' of undefined
    at getQueryParams (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.gladlyapp.mobile.debug&modulesOnly=false&runModule=true:143590:89)

Possible Solution
In https://github.com/amplitude/Amplitude-TypeScript/blob/main/packages/analytics-client-common/src/query-params.ts#L6
if (!globalScope?.location.search) {
    return {};
}

Needs to be globalScope?.location?.search note the second ?
Steps to Reproduce
Initialise the library in a react-native app with the current version
"@amplitude/analytics-react-native": "^0.4.6",
"@amplitude/analytics-browser": "^1.5.5",

Environment

JS SDK Version: As above
Installation Method: Yarn and import
Browser and Version: React Native 0.70.4

Adding to this, I noticed strange release versioning for RN plugin. Version 4.9.0 being released after version 4.10.0 🧐

Hi @johnf thank you for letting us know. I opened a PR to fix the issue. On a side note, just being generally curious, I wanted to learn more about your setup. I saw you are importing both @amplitude/analytics-react-native and @amplitude/analytics-browser. Are these being used for the same project?

Adding to this, I noticed strange release versioning for RN plugin. Version 4.9.0 being released after version 4.10.0 🧐

Yeah this seems odd, not sure what happened. These github releases are created by lerna, not sure what happened here. But seems like the commit history shows the correct order.

I saw you are importing both @amplitude/analytics-react-native and @amplitude/analytics-browser. Are these being used for the same project?

Sorry, that is a bit confusing.  @amplitude/analytics-react-native is in dependencies as it is being used in the app. @amplitude/analytics-browser is in devDependencies, I use it in a migration script I wrote to import my user creation times.

@johnf oh cool, no worries! I was just curious and totally open to any creative things other devs do 👍 We should have a new version for you shortly with the fix to this issue.


huggingface_hub.utils._errors.LocalEntryNotFoundError

When I python run_VisA_public.py,it appears that huggingface_hub.utils._errors.LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on.

Hi! It appears to be the problem with HuggingFace connection. I have tried to run run_VisA_public.py on my local server but found no problem. Could you please provide more details, or have you tried my Colab demo (https://colab.research.google.com/drive/12Sh0j92YYmTa0oIuSEWWpPBCpIwCSVhz?usp=sharing)?


Surface YamlNode.Start / YamlNode.End to OpenApi elements

Hello! I've got a feature request here - can we read the YamlNode.Start and End properties and somehow attach them to the OpenApi elements that are created when reading from a YamlDocument?
I know you can sometimes read locations/pointers from errors that are thrown during parsing, but this would be useful for other scenarios where the YAML is syntactically valid but an application might want to notify the user of non-syntax info at a particular location.
I can take a stab at it if you think it would be worthwhile.

Can you show an example of a document that would take advantage of this feature?  It's not clear to me what is being proposed here.

Sure - my use case is a C# Source Generator I am working on. I read in an openapi spec and generate models based on the schemas found in the spec, with System.ComponentModel.DataAnnotations attributes and all that. So I am traversing the OpenApiDocument looking at all of the OpenApiSchema instances. The spec itself might be totally valid from OpenApi's standpoint, but if for example my generator doesn't yet support the MinProperties on a a given OpenApiSchema schema, I'd like to be able to raise a warning saying
Constraint 'MinProperties' is not yet supported, found on line {schema.Start.Line}

or something along those lines.

And I should add, I am hoping to include line numbers instead of just found at schema #/components/... because Source Generators can include Location information with line numbers, and VS will show these line numbers in the error list, and enable clicking the error to jump straight to the position in the file.

Ahh, understood.  Thanks for the clarification.  We have had a similar request for this before.  I am open to suggestions on how to enable this.

One tricky part I am not sure what to do about: how to handle documents that are dynamically created / added to. My first thought would be to attach some line position info and a way to conditionally read it from the OpenApiSchema / OpenApiProperty / etc (maybe go as far as attaching this to the IOpenApiAny?). We could have our own LineInfo struct to mimic the SharpYaml.Mark struct, and then something like one of:

a nullable Start / End line info struct
mimic Newtonsoft's IJsonLineInfo and expose a HasLineInfo or similar
expose a bool TryGetLineInfo(out LineInfo start, out LineInfo end)

Any of those could work and indicate to the caller that the info might not be present - I imagine we would only have this info on hand if the OpenApiDocument originated from one of the Readers that collected these line info data along the way.
But then what happens if I have read in a document, along with gathered line info, and then start calling AddOperation for example? At that point we don't have a way (as far as I can tell) to determine line info of new members, and existing members may have shuffled around. I can't think of a good way of invalidating the line info on the other pieces of the document. The Newtonsoft example I believe works well for them because it is used with the JsonReader explicitly, but here the OpenApiDocument can be used for reading or writing. Maybe it could just be a documentation thing? "Once a document has been modified all LineInfo values should be ignored".

My use case is just for reading a static yaml document, so I don't plan on needing to figure out line numbers for dynamic documents - just thinking out loud.

I took a look at this and I don't see an easy way to transfer the lineInfo information over to all the model objects.  Currently when we parse the objects we don't have any assumption that they all derive from a base class.  Therefore I think we would need to add the code to every deserializer.
I think there is some cleaning up I can do for the deserialization code that I will tackle when I implement the 3.1 parser.  Maybe when doing that work a clean solution will reveal itself.

We should investigate if this kind of error reporting is possible when moving to System.Text.Json #841


engine->getNbIOTensors() segmentation fault

code get Segmentation Fault (core dump) in engine->getNbIOTensors(), any suggestion?
TensoRT =10.4
CUDA =12.5

tested in csrc/detect/end2end and normal

i re-install cuda and tensorrt, and it works

i re-install cuda and tensorrt, and it works

Great!
Thanks for sharing the solutions.

i re-install cuda and tensorrt, and it works

Great! Thanks for sharing the solutions.

out of topic, do i need change something in the code if im using FP16 ?


Make I expect {string} screenshot to equal {string} support Buffer type arguments

As of now 'I expect {string} screenshot to equal {string}' operates only base64 encoded strings. Add support of Buffer


Add palm tree preset – needs tagging clarification first

OSM Tag(s)
Unclear, see below
How would you like this tag to see supported?
As a Preset
Label
natural
Aliases
No response
Terms
palm tree
Link to OSM Wiki page
https://wiki.openstreetmap.org/wiki/Tag:natural%3Dtree#Palm_trees
Status of the Tag
Unspecified / Unknown
Usage of the tag
For usage see boxes on https://wiki.openstreetmap.org/wiki/Talk:Tag:natural%3Dtree#Tags_for_Palm_trees
Replaces other Tag?
We might want to add deprecations for the more obvious misstaggings like species=palm|Palm
Regional Tag?
global
Further Information
In https://github.com/openstreetmap/id-tagging-schema/pull/956 we added presets for broadleaved and needleleaved trees which allows to render those on the map with a separate icon and also add them to the map with more tag-details in one click.
However, we skipped palm trees in that PR because the tagging is unclear.
Thanks to https://github.com/rapideditor/temaki/issues/87 we have a nice icon for palm trees and I think we should try to give them their own preset.
Status quo & next steps
Right now, the wiki suggest that there is no consensus on how to tag palm trees.
I think the ideal way forward would be for someone in a region with palm trees to pick this up and discuss a well thought out tagging. Part of that should be a deprecation list so we can help updating the old data. IMO this could be done via the proposal process (wiki) or the community forum + a voting there.
Research
https://wiki.openstreetmap.org/wiki/Tag:natural%3Dtree#Palm_trees says

"Palm trees" are trees of the family  Arecaceae. As of 2021-09-06 there is no community consensus on how to tag these trees, although several different tags are in use. Most of these tags are technically incorrect, because palm is not the scientific name of these trees and palm trees are a family rather than a genus or species. See Talk:Tags for Palm trees.

https://wiki.openstreetmap.org/wiki/Talk:Tag:natural%3Dtree#Tags_for_Palm_trees says
The most common tags in use are…

taxon:family=Arecaceae 35.490x
type=palm 30.848

Compared to the approach discussed in osmlab/name-suggestion-index#8324, I currently favor this approach because it would allow for localization.
It’s interesting that taxon:family is so common. I wonder if it’s from an import. This could be a good thing, because if someone happens to know the exact species of a palm tree, they’ll be able to set species without downgrading the Palm Tree preset to a mere Tree preset (which would tempt another mapper to erase that tag).

I wonder if it’s from an import.

Looks like it https://taghistory.raifer.tech/#/taxon%3Afamily/&/type/palm&/leaf_type/palm&/species/palm&/species/Palm&/genus/Arecaceae&***/taxon/Arecaceae

Was there enough consensus to go with natural=tree + taxon:family=Arecaceae as a preset for palm trees?

@b1tw153 we have been chatting about this on SlackUS, right? I still thing we are missing any form of formal discussion on this (I might be missing something…). So, for this repo there is no good reference to use as a base for the decision to pick on over the used taggings.
I also thing, that formalizing this is only a few hours work… so doable:

Create a proposal page
Document the tagging as in use and to be formalized; have a headline about other taggings and why they are to be deprecated to the new tagging
Request comments in a forum thread and by following https://wiki.openstreetmap.org/wiki/Proposal_process#Propose

See also: https://community.openstreetmap.org/t/leaf-type-palm-is-anything-wrong-with-it/109646


Estimate account creation date by checking next/previous player creation dates

Since profile number ids are incremental, we could just estimate median creation date by checking closest profiles from the database.

I remember some other website did this. By database, do you mean the profiles stored in vacstatus?

Yes.
And yup, I think it was steamrank.com which no longer exists. Used it very frequently to check quickly age of all accounts, would be nice to have it again.


Datahub Catalog Release 2.8.0

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


How do we label a dataset's authority?

Data published by organisations responsible for the data is authoritative. For example, a conservation areas published by a local planning authority is authoritative and comes from a primary source. But planning data is often published by other parties, and these secondary sources can be valuable.
We're looking at using data from secondary sources as the basis for national planning datasets. We need these sources to be checked by organisations responsible for the data, and we need data to be authoritative to be trustworthy. So we're thinking about how we would label a dataset's authority.

@colmjude suggested using the service phases.

For one part of the “authority of a dataset,” we are going to start using the phase attribute in the dataset schemas to indicate each dataset’s authority.
We plan to use these as follows:

alpha - data completely from non-authoritative sources, for example, data we have seeded during the design process, such as the design code data
beta - datasets where we have collected from some authoritative sources - but not yet all - and some non-authoritative > sources (e.g. data we’ve seeded). This would be the phase when the data management team are working with the LPAs to replace or adopt any data we’ve seeded
live - a dataset where we’ve collected from authoritative sources

However, @psd had a counterpoint:

We tried using alpha/beta/live for registers and it confused the heck out of everbody!

Office for National Statistics used to publish experimental statistics – official statistics that are in the testing phase and not yet fully developed – but have since switched to calling them official statistics in development. They also assess the quality and suitability of non-official sources to be published as official data.
Office for Statistics Regulation looks at quality assurance for administrative data which may relate to authority.
Accuracy may be a useful definition from the Government Data Quality Framework.

There are several dimensions to consider:

the data source and its authority
whether a dataset is source data or integrated data (from multiple sources)
the phase of a standard's development
the intended use of the dataset (experimental, for official purposes, for testing)

Potential areas we should make the provenance clear:

on a dataset page
on the map for selected datasets
on entities
in results from the planning data API
in technical specifications (either as documents on the web or as consumed by applications)

This is not a complete list, please do suggest other areas. We should also define it on our about pages and documentation.

The thinking on this has advanced. The data won't be authoritative, it will always be a replication of the legal documents held by a responsible organisation. Take Gateshead's TPO map, for example:

We've also started talking about national datasets and compiled datasets:

National datasets are usually already collected and published nationally, for example, public transport access nodes published by Department for Transport. It's useful for our platform to index and provide this data, and we can show the provenance.
Compiled datasets have not previously existed at national scale, for example, trees, and through working with local planning authorities the department can make this data available.


Inserting intersections with 'Function' while narrowing breaks code

@ahejlsberg and I ran into something like this in the RWC. This currently repros on the nightlies.
function foo(x: Object | (() => string)) {
    if (typeof x === "function") {
        // Previously had no errors
        x();
    }
}

Expected: No error
Actual:
[ts] Cannot invoke an expression whose type lacks a call signature. Type '(() => string) | (Object & Function)' has no compatible call signatures.

Potentially related to #25243.

Mmmm kinda? Previously we only selected applicable union members, while now we also narrow the not-immediately-applicable ones like we do in the non-union case. In the case of primitives and literals, they evaporate into nevers and narrow away, while Object narrows to Object & Function (which would reduce to just Function if we simplified non-primitives) which, given our inability to consider function-ish things as actually potentially callable, causes the issue. So it's an older issue but cropping up in a new place due to the change

What does not immediately applicable mean? Why does this case work?
function foo(x: { blah: number } | (() => string)) {
    if (typeof x === "function") {
        x()
    }
}

Object | (() => string) is subject to subtype reduction so this example is pretty sketchy to begin with.

So it's probably worth mentioning that Object & Function and () => string on their own are both callable. The first is resolved as an untyped call, while the second is strong. #27422 is related (which is making the error more clear), and so is #7294, #9239, and #10620 (which would involve removing the error).

This caught me off guard today, after upgrading to typescript 3.1. I think it's not uncommon to have a parameter which is either a value or a function returning it - in our company we use it often for helper functions in tests. From a logical point of view it's strange that I can't call something I've just checked to be a function, especially since as @DanielRosenwasser showed it still works in some cases. So for me it's definitely a bug and not just something that requires a better error message.

There is a workaround that worked for our use case at least and has allowed us to upgrade to 3.1: use x instanceof Function instead of typeof x === "function".
This breaks in 3.1.0
let f: {} | (() => {}) = null as any;
let s = typeof f === "function" ? f() : f;
//                                ^^^ error

This does not
let f: {} | (() => {}) = null as any;
let s = f instanceof Function ? f() : f;


Dockertests

reimplement travis ci using docker
tests now cover python 2.7, 3.4, 3.5, 3.6, 3.7, and assorted versions of dmd, ldc and gdc
also, get gdc to build extensions again

@9il these changes remove osx from .travis.yml; I looked in the build history a little and didn't see any osx builds, do you know if osx builds ever happened for this project?


Symposium2019

This should build the VM with the software for the Symposium.

note, we cannot merge this

Shall I tag this branch as symposium2019?

Yes. Good idea
Kris

From: Edoardo Pasca<EMAIL_ADDRESS>Sent: Tuesday, November 19, 2019 10:08:48 AM
To: CCPPETMR/CCPPETMR_VM<EMAIL_ADDRESS>Cc: Thielemans, Kris<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [CCPPETMR/CCPPETMR_VM] Symposium2019 (#143)
Shall I tag this branch as symposium2019?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/CCPPETMR/CCPPETMR_VM/pull/143?email_source=notifications&email_token=ABQRIHLKCI3GNRKYA74ZKZTQUO3LBA5CNFSM4JBMAZ6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEENTLKI#issuecomment-555431337, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABQRIHNRWKBYX24IGQWKJTLQUO3LBANCNFSM4JBMAZ6A.

I have no clue what the situation is with this PR...

note that the azure stuff gets this branch at the moment I think

@paskino, drop this PR, but keep the branch (or better: tag it)


bump rocketchat-lg-slash-command to 0.4.0 (/cycle launch)

Heh. Wondering if these PRs really need to be reviewed as part of our process? I'd be fine with bypassing it, since the real review happens in the package itself.


add github issue templates for bug report and new feature request

Closes #168.
Signed-off-by: Yash Oza<EMAIL_ADDRESS>

/lgtm


Add option to skip setting cloud-provider=external

/assign @JoelSpeed

The intention here is to drop the --cloud-provider flag from KAS. I think the changes look good here but will want to see good CI on the proof PR.
IIUC, once this has been in for a release, KAS should be able to drop this observer completely, do you agree @soltysh?

CI looks good
/lgtm


Update Blockchain Settings Menu

User story

As a power user
I want / need to be able to easily adapt the settings of my Blockchains
So that minting is more custmizable

Acceptance criteria

adapt the Blockchain Settings according to our mock up
Blockchain Selection includes selection of the respective credentials
Blockchain Selection includes selection of a contract

Definition of done (DoD)

A Feature is Done when all its Acceptance criterias are fulfilled
A Feauture is Done when the code has been peer reviewed from the dedicated team
A Feature is Done when it has been tested
A Feature is Done when its core functionality has been commented properly
A Feature is Done when it can be fully integrated into the main branch without negative side effect

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

obsolete, already done in previous sprint


Resolve phone numbers + SBS

Add func resolvePhoneNumberViaServerLookup in libkb/resolve.go that will resolve phone numbers using user/phone_numbers_search endpoint.
Add TeamInviteCategory_PHONE to take // nothing to verify, need to trust the server branch in SBS notification handler.
Detect ResolutionErrorRateLimited error when resolving users during creation of implicit team and abort, preventing us from creating an implicit team with number that's potentially already claimed, but we can't know about this.

cc @heronhaye


chore: just sign-release v0.3.0-rc.0 by dpc

Running from 0b8cdd855cc46e58a74fa04678849bddd8da3832
$ just sign-release v0.3.0-rc.0
./scripts/release/sign.sh v0.3.0-rc.0
Building...
warning: not writing modified lock file of flake 'github:dpc/bundlers/e8aafe89a11ae0a5f3ce97d1d7d0fcfb354c79eb':
• Updated input 'nix-bundle':
    'github:dpc/nix-bundle/ec52fce86513d73e989c6cff0367956c6b07a1ba' (2024-02-21)
  → 'github:dpc/nix-bundle/8ab9acfe0a31805de7899eddb8f3312d4e34a13d' (2024-02-21)
error:
       … in the left operand of the update (//) operator

         at /nix/store/f5ykcnsjzkvri0nmcj64d221lkxhrzrf-source/flake.nix:52:19:

           51|                 inherit system;
           52|               })) // (if drv?program then { } else {
             |                   ^
           53|                 name =

       … <borked>

         at «none»:0: (source not available)

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: attribute 'aarch64-darwin' missing

       at /nix/store/18amc9dx7hgg3pqd70mzk9azaxap748i-source/flake.nix:12:20:

           11|       nix-bundle = { program, system }: let
           12|         nixpkgs' = nixpkgs.legacyPackages.${system};
             |                    ^
           13|         nix-bundle = import self { nixpkgs = nixpkgs'; };
error: Recipe `sign-release` failed on line 128 with exit code 1

@justinmoon Bundling of debs and rpms not supported on Darwin. I guess we'll have to skip it so at least raw binaries can be signed over.

@justinmoon fixed

Do we expect this to output anything useful in the first place? We do not publish mac binaries right now, so also don't really need signatures for them. Do we expect cross-compiled binaries to match and do we even support mac->linux cross compilation?

@elsirion I'm not sure. I just try to run these PRs as I'm able and report what happens on Mac.

@justinmoon Can you
bash -x ./scripts/release/sign.sh v0.3.0-rc.0

Anyway, let's land, macos can wait.

Backport failed for releases/v0.3, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin releases/v0.3
git worktree add -d .worktree/backport-4627-to-releases/v0.3 origin/releases/v0.3
cd .worktree/backport-4627-to-releases/v0.3
git switch --create backport-4627-to-releases/v0.3
git cherry-pick -x 49be761d2ec089852b3f0e86fb0a4a39883ec5c5 eae958bdbaac10b016859ea81f398af7ac9851de 600c1fb5cf21ac4014e9e6c1732c6e3bd4a28008 4d5c7f20b4018f621801535b5b23aa9234ed6c80 e324f0f9398b6071495b64b2315bc2c735b719b8


Missing autocomplete for commands

Not implementing for v1.3 as picocli code autocompletion is non-trivial to integrate with JavaFX string inputs and current parser flow.


Site support request: Brainpop

Example URL: https://www.brainpop.com/english/freemovies/williamshakespeare/

account-needed


Ensure queue exists when moving messages.

If we don't invoke this propety the QueueUrl property is never set.

Thanks @JefClaes 😄


/proc/self/fd/22:type:14141: bad option: -t

I get this on my zsh  when enabling the plugin.
/proc/self/fd/22:type:14141: bad option: -t

I'm on arch linux.

Sorry for the delay. Ive been away from the project.
I plan on making an aur package with this soon.

i have been hit with this issue also on arch linux.

Working to push changes here soon. At the moment you may prefer using the following.
https://github.com/Dbz/kube-aliases/blob/fix_plugin/aliases.sh

our team run in to the problem with WSL


🐛 BUG: wrangler d1 execute exception caught in D1 core

Which Cloudflare product(s) does this pertain to?
D1, Wrangler
What version of Wrangler are you using?
2.19.0
What operating system are you using?
windows
Describe the Bug
when import much sql data ,it said will  use multi batchs , and  it works ok at first then errors result is :
🚣 Executed 1 command in 0.04067100025713444ms
🚣 Executed 1 command in 0.0579309999011457ms
🚣 Executed 1 command in 0.047861000057309866ms
🚣 Executed 1 command in 0.04106000019237399ms
🚣 Executed 1 command in 0.0435500000603497ms
🚣 Executed 1 command in<PHONE_NUMBER>9996108ms
INSERT INTO
X [ERROR] A request to the Cloudflare API (/accounts/????) failed.
Error 9000: exception caught in D1 core. unreachable RuntimeError: unreachable
at wasm://wasm/00f5753e:wasm-function[4783]:0x31be54
at wasm://wasm/00f5753e:wasm-function[4836]:0x322be4
at wasm://wasm/00f5753e:wasm-function[4877]:0x32c7d6
at wasm://wasm/00f5753e:wasm-function[237]:0x29575
at wasm://wasm/00f5753e:wasm-function[4973]:0x34351d
at Object.s2 [as query] (index.js:2418:157)
at async Sqlite.query (index.js:3205:23)
at async sqliteQuery (index.js:9409:29)
at async index.js:9167:22 [code: 7500]
If you think this is a bug, please open an issue at:
https://github.com/cloudflare/workers-sdk/issues/new/choose

👋🏻 Greetings,
I appreciate the report. This is the repo and issues for Wrangler (Cloudflare Worker CLI) Pages, & Other SDK tooling, this seems D1 specific.
Feel free to check out the Cloudflare Discord where there is a channel for D1 as well: https://discord.com/invite/cloudflaredev
To report issues related to D1 specifically:
https://community.cloudflare.com/c/developers/d1/85/l/latest
Cc: @nevikashah @rozenmd

We shipped a new backend for D1, which should fix this issue - you can read more about it here: https://blog.cloudflare.com/d1-turning-it-up-to-11/


Roll Flutter Engine from 72c4e61fdbfa to<PHONE_NUMBER>31 (2 revisions)

https://github.com/flutter/engine/compare/72c4e61fdbfa...135181034831
2023-08-18<EMAIL_ADDRESS>Roll Skia from e3adabdd0511 to edf0c0ecc7b1 (3 revisions) (flutter/engine#44854)
2023-08-18<EMAIL_ADDRESS>Flush pending graphics commands when the unref queue is drained on the IO thread (flutter/engine#44831)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Add support for password protected PDF files to ember-pdfjs

The attached commits add support to ember-pdfjs to call an application-supplied action handler when a password is required to view a PDF file.  The implemented approach seemed the best way to meet up with the "Ember way", however happy to discuss changes to the approach.

bravo! definitely appreciate the readme update, also.

hey @csetera, released v0.4.9 with your password changes.
great work!
any other features you're interested in? i'm just plodding along working toward getting the toolbar (and then thumbnail list), search, etc. all hooked in to the pdf-toolbar component... would love to collaborate on what you would expect from a 1.0.0 version of this addon... please send your thoughts along on the open issue here https://github.com/mysterlune/ember-pdfjs/issues/2

Not in need of anything specific at this point, but if something comes up, I will definitely reach out


runtime: correct signature for swift_swiftValueConformsTo

The swift side signature for swift_swiftValueConformsTo is:
func swift_swiftValueConformsTo<T>(_: T.self) -> Bool
This translates to:
bool swift_swiftValueConformsTo(const Metadata *, const Metadata *)
The elided parameter would be passed invalid values..  Running this on
Windows with optimizations triggered an optimization where the parameter
happened to be null as rdx is the second parameter rather than the 4th
parameter.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 3ec6e12520bf9491de5675bd22a49f968027ef3f

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 3ec6e12520bf9491de5675bd22a49f968027ef3f

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 3ec6e12520bf9491de5675bd22a49f968027ef3f

@swift-ci please test Linux platform

@swift-ci please test and merge

@swift-ci please test and merge


actions: Protect directory creation

Title
Description
Type

[ ] bug fix

[ ] feature add

[ ] other

Checkbox

[ ] do not have break changes

[ ] normal operation will not be affected after modification

Linked issues
<!-- if want to fix it, try "fixes: #13">

It is not necessary

ok


child_process error since last pull

Guys i'm having this error since last git pull, on trade only:
fetching pre-roll data:
internal/child_process.js:319
    throw errnoException(err, 'spawn');
    ^

Error: spawn UNKNOWN
    at exports._errnoException (util.js:1018:11)
    at ChildProcess.spawn (internal/child_process.js:319:11)
    at exports.spawn (child_process.js:378:9)
    at Command.<anonymous> (C:\Users\tvasconcelos\Desktop\zenbot\commands\trade.js:100:26)
    at Command.listener (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\commander\index.js:301:8)
    at emitTwo (events.js:106:13)
    at Command.emit (events.js:191:7)
    at Command.parseArgs (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\commander\index.js:615:12)
    at Command.parse (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\commander\index.js:458:21)
    at C:\Users\tvasconcelos\Desktop\zenbot\zenbot.sh:39:11
    at C:\Users\tvasconcelos\Desktop\zenbot\boot.js:28:7
    at f (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\once\once.js:25:25)
    at Glob.<anonymous> (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:151:7)
    at emitOne (events.js:96:13)
    at Glob.emit (events.js:188:7)
    at Glob._finish (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:197:8)
    at done (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:182:14)
    at Glob._processGlobStar2 (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:637:12)
    at C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:626:10
    at RES (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\inflight\inflight.js:31:16)
    at f (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\once\once.js:25:25)
    at lstatcb_ (C:\Users\tvasconcelos\Desktop\zenbot\node_modules\glob\glob.js:519:7)

I've used latest node, node 7, node 6.11 node 6.10 they all throw this error. I can do backfill and sim. just the trade command is not working. is it just a windows problem? it's easilly solvable?

can you try running a npm link?

already did, no luck
On Tue, Jul 11, 2017 at 12:31 PM Chase<EMAIL_ADDRESS>wrote:

can you try running a npm link?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/379#issuecomment-314415667,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALhf8lLnqTx6whNKDAlIK6mWCsraWjIvks5sM10igaJpZM4OUEsu
.

I think this is a windows problem, and by the inactivity on this ticket, it seems to not occur a lot. Closing this for now. If the issue persists please create a new ticket.


Up, down, left, right buttons on-screen

These need to have a fixed position and adequate size. Moreover, there needs to between there visibility and transparency for the canvas  below this new element. Tasks:

Create button structure.
Remove touch/mouse move support.
Call the appropriate Turtle methods.
Import Tailwind for simpler styling.

Featured in 0.0.7 preview. To go through more thorough testing before closing this ticket..


Should tag-semver work without patch version?

Some small projects might decide not to release patch versions but still follow the semantic versioning rules. Can this action work with tag-semver: v${{major}} on tags like v1.0 to produce v1? Currently, it does not seem to:
https://github.com/EnricoMi/publish-unit-test-result-action/runs/1474478085?check_suite_focus=true
Run crazy-max/ghaction-docker-meta@v1
  with:
    images: ghcr.io/EnricoMi/publish-unit-test-result-action
    tag-sha: true
    tag-semver: {{raw}}
  v{{major}}.{{minor}}
  v{{major}}

    tag-edge: false
    tag-match-group: 0
    tag-match-latest: true
    tag-schedule: nightly
    github-token: ***
Context info
Docker image version
  v1.6
Docker tags
  ghcr.io/enricomi/publish-unit-test-result-action:v1.6
  ghcr.io/enricomi/publish-unit-test-result-action:latest
  ghcr.io/enricomi/publish-unit-test-result-action:sha-f1387c5

@EnricoMi

Currently, it does not seem to

That's because v1.6 tag is not a valid semver. Should have been v1.6.0 to be a valid one. I will add a warning message in case tag-semver is used but input tag is not a vliad semver.


Pip Intallation

Came across this today and am loving it. I made it installable via pip. If you like the changes, it might make sense to change the name to the pythonic 'delayed_assert' and remove the hyphens?
Cheers,
Aaron

Absolutely love it. Just one thing Please add yourself to authors.

Added myself to setup.py.
I've never used pytest, in fact I'm pretty new to the whole testing thing. Would make sense to support both. I was just trying to be explicit as possible, would make sense to provide examples for pytest as well.
This is the first time I've contributed to anything, so I'm not sure what to do next?

Well, there's a first time for everything, everyone figures it out eventually.
Having said that I too haven't done for public repo's that much. Merging as it's good enough to work with, will make changes for the review comments later.

Awesome, I'm glad I found a way to give back to the open source world!
ᐧ
On Wed, Jan 25, 2017 at 8:57 PM, Prabhash Singh<EMAIL_ADDRESS>wrote:

Merged #1 https://github.com/pr4bh4sh/python-delayed-assert/pull/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pr4bh4sh/python-delayed-assert/pull/1#event-937284743,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGoF8Ml09dKEiGIhgpeFfoJXLyEbvED8ks5rWCehgaJpZM4LtLkf
.

--
Thanks,
Aaron Bannin
<EMAIL_ADDRESS>


Support Multipart Request During Push

Add support for sending X requests during push in a batched multipart POST instead of sending each action one at a time.

Not needed until server supports it...


[QUESTION] How to save_html while using Progress

Need some help here if possible :
how to render a readable output using console.save_html() while having Progress objects ?
The Progress outputs are also wrote on the html (which makes it unreadable), while I would like to export only logged stuff.
Thanks for your help !

You can set disable=console.record on the Progress bar.

Yes but in this case I have to choose between having my progress bar displayed and generating a report :-)
Isn't it possible to have only the console logged events put on the html report, while the progress bar is just displayed ?

Not currently I'm afraid. Perhaps anything dynamic should be removed from the record buffer. Will consider that.

Tracking here https://github.com/Textualize/rich/issues/2213

Thank you for taking it into account @willmcgugan ! I"ll follow #2213


TestListenerTimeoutReadWrite is flaky

Bug Report
TestListenerTimeoutReadWrite is flaky
Setup
I just used CI
Config
CI
What happened?
With no code changes other than a godoc, TestListenerTimeoutReadWrite decided to fail
What did you expect to happen?
I expected no tests to fail other than those that failed in the previous commit
How to reproduce it
Just work on comet
logs

https://github.com/cometbft/cometbft/pull/1907/commits/9f5f93cb5c3cd9badf695dd520ff2bad7997a048

Another one:

https://github.com/cometbft/cometbft/actions/runs/7379907607/job/20076706226

But then I added a godoc, and another test failed!
TestListenerTimeoutReadWrite
There were no code changes other than the godoc.  Godoc should not affect test success or failure.  The situation with flaky tests is robbing us of a source of truth for comet.
Anything else we need to know
Making CI reliable provides a source of truth as to the state of the code and eliminates "works on my machine" problems.  If we wish to improve the reliability of comet, we need to determine why these tests are flaky, and fix it.

note to self: TestByzantinePrevoteEquivocation could be too

fixed in #1954


Link was duplicated, and not site-relative.

Link was duplicated, and it linked to the old docs on msdn.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


[Deploy] YNAB

Service
You Need a Budget (YNAB) is a multi-platform personal budgeting program based on the envelope method.
Link to your repository
https://gitlab.com/davereid/franz-recipe-ynab
Additional Information
Licensed under MIT

Hah, I should have looked through the issues, I built a nearly identical plugin too:
https://github.com/chisaipete/recipe-franz-ynab

@chisaipete Yes they look similar, I'd be open to any improvements. I will note that I added support for indirect notifications when your accounts have items to categorize or import.

Oh, nice! I'll close mine and use yours!


Removal of CRYPTO_LOCK breaks legacy locking callbacks

When the new threading API was added CRYPTO_LOCK and related constants were removed (commit 2e52e7df518d80188c865ea3f7bb3526d14b0c08). This breaks third-party software which has a  locking callback and looks at the mode parameter of the callback.
I think if we should keep the CRYPTO_set_locking_callback() function for compatibility reason we should also keep the commonly used defines for the callbacks.
For an example see the following callback in PostgreSQL.

This only affects the 1.1 pre-release version.

Well, it will also affect 1.1 post-release version :)
I am not sure if there will be any solution other than ifdef's in the postgres code.  The old locking callback stuff was a hack, and was only semi-supported.  I know that doesn't really help.
Maybe @mattcaswell has some other thoughts?  Or @ghedo ?

CRYPTO_set_locking_callback is useless in 1.1.0, it's one of this interfaces we consiously removed so as not to fool users to keep using those.
Cheers,
Richard

@levitte CRYPTO_set_locking_callback is still there as a noop macro, and I personally think the macro is not very useful from a compatibility standpoint without also having the defines commonly used by people implementing the callback.

So if we use openssl 1.0.2, we set 2 callbacks:
CRYPTO_set_id_callback((unsigned long (*)())thread_id);
CRYPTO_set_locking_callback((void (*)(int, int, const char *, int))lock_callback);

And if we use openssl 1.1.1, we just need to set 1 set callback? like below:
CRYPTO_THREADID_set_callback((unsigned long (*)())thread_id);

Merge:
#if OPENSSL_VERSION_NUMBER >= OPENSSL_VERSION_1_0_0
    CRYPTO_THREADID_set_callback((unsigned long (*)())thread_id);
#else
    CRYPTO_set_id_callback((unsigned long (*)())thread_id);
    CRYPTO_set_locking_callback((void (*)(int, int, const char *, int))lock_callback);
#endif

Right?

No. You don't need to set any thread callbacks in 1.1.0 or 1.1.1. CRYPTO_THREADID_set_callback is also a no-op in those versions.

Hi, I'm having an issue with this. This was made a no-op in the header, right? That should mean that anything compiled against the old header is broken when linked against a newer verison of the library, correct?
Is there a specific release where this was still defined in the library?

Compiling against headers and linking to a library that wasn't built with the same headers is risky, and if there were no specific ABI promises made, pretty much guaranteed to not work. For 1.0.2 and 1.1.0 there is no compatibility promise.
The last time the code was present was in the 1.0.2 release stream.

Ah, I didn't realize that Semver was not being followed: https://github.com/openssl/openssl/issues/5042
Good to know

We will be much closer to semver from version 3.0.

CRYPTO_set_locking_callback is useless in 1.1.0, it's one of this interfaces we consiously removed so as not to fool users to keep using those.
Cheers, Richard

The removal of CRYPTO_set_locking_callback lacks documents. We can only find some docs of that on 1.0.2.
https://www.openssl.org/docs/man1.0.2/man3/CRYPTO_lock.html


Controlled vs uncontrolled

Fixes #30
Fixes #49

when you pass a non-null value to isZoomed on component instantiation, the component should only zoom/unzoom when that isZoomed prop changes. This means that the consumer is in charge of when it's open or closed. Clicking on the image will not do anything. If it is a controlled component but then you do not pass isZoomed with a non-null value, then an error will be raised telling you that you must control it.
if you do not pass true or false to isZoomed, then the component will control itself. This means that if you initially pass isZoomed={null} and then pass isZoomed={true} (or false), then it will throw an error. If it is an uncontrolled component but then you do pass isZoomed with a non-null value, then an error will be raised telling you that you must not control it.

Please help test the sh*t out of this.
cc @cbothner and @rajit

Also cc @ismay and @jeremybini for feedback.

It's worth noting that I tried to refactor this completely as part of this PR, even having the zoom image as a "child" component, but then I recalled why it has to be in a "portal" and create a new react node at the end of the : if <ImageZoom /> lives within a container with overflow: hidden, then the zoomed image will never be able to go outside of this container, and this is one of the core reasons the library was built in the first place.

Have to say I don't feel qualified to review this in depth. Haven't dealt a lot with controlled components other than just form elements. But from what I can tell it looks good.

This is looking really good! Thanks for your hard work on this.
Only two things stick out to me as unexpected.
Always fire onZoom when clicked
In controlled mode, a click on the unzoomed image should not naively trigger a zoom, so you've implemented that perfectly. But I would expect the click to fire the onZoom callback to give the parent component the option of changing this.props.isZoomed. I think that this change is unnecessary.
(Sidebar: I would say that then perhaps the naming of onZoom isn't quite right with this behavior, but in fact it’s the same pattern as React core. The onChange prop of a controlled <input /> is called when the user attempts to change, even while the controller still has the option not to effect the attempted change.)
Refuse to unzoom if onUnzoom doesn’t change props.isZoomed
A controlled component only changes if its props change, which means that changes that might be initiated from inside the component (handleScroll etc.) can be cancelled by the parent. A scroll or click event handled by the <Zoom /> component in controlled mode should fire onUnzoom and then wait to have its props changed before unzooming—and if that props change never comes nothing should happen.
Test
I tested with this component.  Maybe it will be useful to you. As I understand this library (you’re allowed to disagree—it’s your library) it should be zoomable with the button or by clicking on the image, and it should not permit an unzoom until the countdown is elapsed.
class ControlledImageZoom extends Component {
  constructor(props) {
    super(props)

    this.state = { zoomed: false, countdown: 3, allowUnzoom: true }

    this.handleChangeCountdown = e => {
      this.setState({ countdown: e.target.value })
    }

    this.handleZoom = () => {
      this.setState({ zoomed: true, allowUnzoom: false})
      setTimeout(
        () => this.setState({allowUnzoom: true}),
        this.state.countdown * 1000
      )
    }
    this.handleUnzoom = () => {
      if (this.state.allowUnzoom) this.setState({ zoomed: false })
    }
  }

  render() {
    return (

          Prevent unzoom for
          <input
            type="number"
            value={this.state.countdown}
            onChange={this.handleChangeCountdown}
          />
          seconds

          <button onClick={this.handleZoom}>Zoom in</button>

          State:

            {`zoomed: ${this.state.zoomed},
              allowUnzoom: ${this.state.allowUnzoom}`}

        <ImageZoom
          isZoomed={this.state.zoomed}
          onZoom={this.handleZoom}
          onUnzoom={this.handleUnzoom}
          image={{
            src: 'nz.jpg',
            alt: 'Picture of Mt. Cook in New Zealand',
            className: 'img',
            style: {
              width: '20em'
            }
          }}
          zoomImage={{
            src: 'nz-big.jpg',
            alt: 'Picture of Mt. Cook in New Zealand',
            className: 'img--zoomed'
          }}
        />

    )
  }
}

@cbothner great review. Really.
I agree that onZoom might make more sense as onChange; however, that conceptually combines onZoom and onUnzoom into the same category, as it's something that is changed within the component, as well. If we changed onZoom and onUnzoom to both be onChange, what would the argument be to that callback function be? I think we'd want to specify what the event was (is the thing activated or not?). My first instinct says to return a boolean for if it's activated or not, then I thought an object of what the action/event is made more sense:  { event: 'zoom' } / { event: 'unzoom' }. And an object might be wiser long-term in case anything else needs to get shoved in there.
Do you think anything at all should get passed back? How does this sound?

Or should it send back both the original click event and that object or both combined into one?

@cbothner You bring up a good point with those scroll/touch listeners. Should they even be set if it's a controlled component? Following my onZoom / onUnzoom thoughts above, shooting off onChange events when it's not changing from unzoomed to zoomed or vice versa doesn't make sense any more...

I actually don’t think we should combine onZoom and onUnzoom, since those are sensible events in controlled or uncontrolled state.
And certainly we do need to set the listeners even if it is a controlled component. Scrolling or clicking or whatever on the zoomed image still needs to be a way to unzoom an image (by firing the onUnzoom callback. It’s just a question of what component is managing the state and my comments were just intended to make sure that DOM state and React state (even if it’s inherited from a parent component) can’t get out of sync.

Okay thanks for clarifying that. I've been playing with your test component and am close to some more stuff.

I need to take a break. I cannot currently find a way to have this work in a props-passing way, as the Zoom component creates a new React node and is not a child of ImageZoom. The problem currently is that once the Zoom component is created, it controls itself (this includes closing animation) and takes no further input from the ImageZoom "parent". Thus, when it's a controlled component and told to no longer be isZoomed, it just removes the DOM node off the page without any animation. If I really wanted to find a way to contact the Zoom component and tell it to shut itself down, then I could use a custom JavaScript event, but that seems so damn hacky.
This struggle :bus: makes me feel like I need to rethink some things. TBD.

(rebased with master and put current work up here)

@cbothner you may have issue with what I'm about to describe, so please hear me out:
The more I tried to figure something out to address your thoughts above with regards to the component "reporting back" when it should be closing but without doing the actual closing, the less it made sense to me to have the component care about that and be responsible for such actions. If the consumer has chosen to be in control of this thing, then shouldn't it be the one in control?
Instead, I dug deeper and identified two different sets of controls that determine what the zoom component should respond to:

resize event (always)
everything else (scroll, touch, click on document) (only when it is uncontrolled)

I came to this conclusion when I realized that all the conditional logic had to do with events and what should happen when the consumer is in control and what happens when the component controls itself. Here's what it essentially looks like with this system:
controlled component
<ResizeWrapper>
  <Zoom ... />
</ResizeWrapper>

uncontrolled component
<FullWrapper>
  <ResizeWrapper>
    <Zoom ... />
  </ResizeWrapper>
</FullWrapper>

but this latter one includes the ResizeWrapper within it, as well.
Since the only communication we have outside of emitting global events is accessing a top-level component through the "portal" and calling some method on that, I have each one of these wrappers clone their child and add a ref to it in order to call unzoom on the Zoom component, which handles its own sort of shutdown sequence and then calls back to the original component.
Here's what I tested with in the example file (first image responds to j (open) and k (close)):
import React, { Component } from 'react'
import ReactDOM from 'react-dom'
import ImageZoom from '../../lib/react-medium-image-zoom'

class App extends Component {
  constructor(props) {
    super(props)
    this.state = { isZoomed: false }
  }
  componentDidMount() {
    document.addEventListener('keyup', (e) => {
      switch (e.keyCode) {
        case 74:
          return this.setState({ isZoomed: true })
        case 75:
          return this.setState({ isZoomed: false })
        default:
          return
      }
    })
  }
  render() {
    return (

Image Zoom

Trust fund seitan chia, wolf lomo letterpress Bushwick before they sold out. Carles kogi fixie, squid twee Tonx readymade cred typewriter scenester locavore kale chips vegan organic. Meggings pug wolf Shoreditch typewriter skateboard. McSweeney's iPhone chillwave, food truck direct trade disrupt flannel irony tousled Cosby sweater single-origin coffee. Organic disrupt bicycle rights, tattooed messenger bag flannel craft beer fashion axe bitters. Readymade sartorial craft beer, quinoa sustainable butcher Marfa Echo Park Terry Richardson gluten-free flannel retro cred mlkshk banjo. Salvia 90's art party Blue Bottle, PBR&B cardigan 8-bit.

Meggings irony fashion axe, tattooed master cleanse Blue Bottle stumptown bitters authentic flannel freegan paleo letterpress ugh sriracha. Wolf PBR&B art party aesthetic meh cliche. Sartorial before they sold out deep v, aesthetic PBR&B craft beer post-ironic synth keytar pork belly skateboard pour-over. Tonx cray pug Etsy, gastropub ennui wolf ethnic Odd Future viral master cleanse skateboard banjo. Pitchfork scenester cornhole, whatever try-hard ethnic banjo +1 gastropub American Apparel vinyl skateboard Shoreditch seitan. Blue Bottle keffiyeh Austin Helvetica art party. Portland ethnic fixie, beard retro direct trade ugh scenester Tumblr readymade authentic plaid pickled hashtag biodiesel.

          <ImageZoom
            image={{
              src: 'bridge.jpg',
              alt: 'Golden Gate Bridge',
              className: 'img'
            }}
            zoomImage={{
              src: 'bridge-big.jpg',
              alt: 'Golden Gate Bridge',
              className: 'img--zoomed'
            }}
            isZoomed={this.state.isZoomed}
          />

Thundercats freegan Truffaut, four loko twee Austin scenester lo-fi seitan High Life paleo quinoa cray. Schlitz butcher ethical Tumblr, pop-up DIY keytar ethnic iPhone PBR sriracha. Tonx direct trade bicycle rights gluten-free flexitarian asymmetrical. Whatever drinking vinegar PBR XOXO Bushwick gentrify. Cliche semiotics banjo retro squid Wes Anderson. Fashion axe dreamcatcher you probably haven't heard of them bicycle rights. Tote bag organic four loko ethical selfies gastropub, PBR fingerstache tattooed bicycle rights.

          <ImageZoom
            image={{
              src: 'nz.jpg',
              alt: 'Picture of Mt. Cook in New Zealand',
              className: 'img',
              style: {
                width: '20em'
              }
            }}
            zoomImage={{
              src: 'nz-big.jpg',
              alt: 'Picture of Mt. Cook in New Zealand',
              className: 'img--zoomed'
            }}
          />

Ugh Portland Austin, distillery tattooed typewriter polaroid pug Banksy Neutra keffiyeh. Shoreditch mixtape wolf PBR&B, tote bag dreamcatcher literally bespoke Odd Future selfies 90's master cleanse vegan. Flannel tofu deep v next level pickled, authentic Etsy Shoreditch literally swag photo booth iPhone pug semiotics banjo. Bicycle rights butcher Blue Bottle, actually DIY semiotics Banksy banjo mixtape Austin pork belly post-ironic. American Apparel gastropub hashtag, McSweeney's master cleanse occupy High Life bitters wayfarers next level bicycle rights. Wolf chia Terry Richardson, pop-up plaid kitsch ugh. Butcher +1 Carles, swag selfies Blue Bottle viral.

Keffiyeh food truck organic letterpress leggings iPhone four loko hella pour-over occupy, Wes Anderson cray post-ironic. Neutra retro fixie gastropub +1, High Life semiotics. Vinyl distillery Etsy freegan flexitarian cliche jean shorts, Schlitz wayfarers skateboard tousled irony locavore XOXO meh. Ethnic Wes Anderson McSweeney's messenger bag, mixtape XOXO slow-carb cornhole aesthetic Marfa banjo Thundercats bitters. Raw denim banjo typewriter cray Tumblr, High Life single-origin coffee. 90's Tumblr cred, Terry Richardson occupy raw denim tofu fashion axe photo booth banh mi. Trust fund locavore Helvetica, fashion axe selvage authentic Shoreditch swag selfies stumptown +1.

          <ImageZoom
            image={{
              src: 'gazelle.jpg',
              alt: 'Gazelle Stomping',
              title: "Don't exceed original image dimensions...",
              className: 'img',
              style: {
                width: '80%'
              }
            }}
            shouldRespectMaxDimension={ true }
          />

Scenester chambray slow-carb, trust fund biodiesel ugh bicycle rights cornhole. Gentrify messenger bag Truffaut tousled roof party pork belly leggings, photo booth jean shorts. Austin readymade PBR plaid chambray. Squid Echo Park pour-over, wayfarers forage whatever locavore typewriter artisan deep v four loko. Locavore occupy Neutra Pitchfork McSweeney's, wayfarers fingerstache. Actually asymmetrical drinking vinegar yr brunch biodiesel. Before they sold out sustainable readymade craft beer Portland gastropub squid Austin, roof party Thundercats chambray narwhal Bushwick pug.

Literally typewriter chillwave, bicycle rights Carles flannel wayfarers. Biodiesel farm-to-table actually, locavore keffiyeh hella shabby chic pour-over try-hard Bushwick. Sriracha American Apparel Brooklyn, synth cray stumptown blog Bushwick +1 VHS hashtag. Wolf umami Carles Marfa, 90's food truck Cosby sweater. Fanny pack try-hard keytar pop-up readymade, master cleanse four loko trust fund polaroid salvia. Photo booth kitsch forage chambray, Carles scenester slow-carb lomo cardigan dreamcatcher. Swag asymmetrical leggings, biodiesel Tonx shabby chic ethnic master cleanse freegan.

Raw denim Banksy shabby chic, 8-bit salvia narwhal fashion axe. Ethical Williamsburg four loko, chia kale chips distillery Shoreditch messenger bag swag iPhone Pitchfork. Viral PBR&B single-origin coffee quinoa readymade, ethical chillwave drinking vinegar gluten-free Wes Anderson kitsch Tumblr synth actually bitters. Butcher McSweeney's forage mlkshk kogi fingerstache. Selvage scenester butcher Shoreditch, Carles beard plaid disrupt DIY. Pug readymade selvage retro, Austin salvia vinyl master cleanse flexitarian deep v bicycle rights plaid Terry Richardson mlkshk pour-over. Trust fund try-hard banh mi Brooklyn, 90's Etsy kogi YOLO salvia.

    )
  }
}

const container = document.querySelector('[data-app]')
ReactDOM.render(<App />, container)

This is what makes the most sense to me, and I'm not quite technically sure how to do it any other way at the moment.
If you can spare the time, what are your thoughts on this? Thank you for helping me.

Hey @rpearce. Thanks so much for the hard work. I'm slammed today, so I'll take a look tomorrow morning.

Hey. Sorry I'm not better able to help implement this; I feel like I'm asking so much work of you while contributing so little.
I see where you're going with this. Certainly resize is an event which the component should always handle—it has nothing to do with zooming or unzooming, so the controlling consumer doesn't need to worry about it. But while I acknowledge that you have no responsibility to cater to my use case, leaving off the other listeners entirely would break this component for me. Without the component calling back, there would be no way to update its props to unzoom but for the consumer to add its own event listeners. That feels wrong to me: the consumer of an input component, controlled or uncontrolled, doesn't need to add keypress listeners to update the text themselves.  (So besides, that would heavily increase your documentation burden: how many people would forget, or would forget to add for example the touch listener, and would blame their problems on your package?)
To be honest, I'm forming my expectations for how your component should work from palantir/blueprint's Overlay component (typescript, sorry...). [docs] They don't supply an uncontrolled mode, so their component will never open or close itself without a props change; nevertheless, they've got several ways that the component signals it should be closed by its parent (click on backdrop; click on x button, esc key). The only thing that triggers the rendering of an open or close animation is a props change.
Ignoring their inline mode, it seems they never unmount their portal; rather they simply render children or null based on the isOpen prop. And then when their component needs to signal it should close, e.g. when the user clicks on the backdrop or presses esc, it simply calls onClose. I'm not sure if this is any help. I'm not sure how your cool animation to and from the normal image node works; perhaps it would be incompatible with something like this. But perhaps you can find some inspiration there.
On another smaller note about your last commit here: I think that string refs are deprecated, so you might want to consider avoiding them...
Anyway, seriously thank you for your commitment to making this library better for all of us. I know how hard it is to find the time around everything else we all have to do, and how much pressure we users can put on you maintainers. I've figured out what I need as workarounds, so please don't take any of my comments as an expectation or pressure. Whatever you can do: it's appreciated.

@cbothner Not a problem. That's the burden of maintainership!
I'll have a look around those links, think some more, push stuff around some more and reach out to some colleagues of mine for ideas.

@cbothner after speaking with a colleague and hearing a "that's why people use libraries" analysis, I'll see about combining the functionalities back together and triggering some sort of callback instead of updating internal state. However, I can't say what that API will look like just yet.

Update on this: I'm still traveling in the USA but will be back in New Zealand starting next week where I'll pick this back up.

@cbothner Hello again! I've been granted a lot of time this week to work on this. If you get some time, can you check this out again and see if it is more to your liking? I need to do some more edge case testing, and there's some loading animation stuff that I'd still like to work on (if you load it as controlled and isZoomed is true, the initial set of animations are a little wonky). Apart from that, here's what I've done:

moved components, helpers and defaults to their own files for my sanity (finally)
set it up so that if it's a controlled component, the onUnzoom callback will be called, notifying you that we would normally shut it down
investigated ad nauseum if I could do the zoom component as a child component and not a totally different React render instance, but we can't because of the issues position: fixed elements have inside of any parent that has transform set to a value not equal to none. Basically, the CSS spec doesn't allow for it as it creates a new stacking context and set of coordinates that the fixed element now adheres to instead of the viewport. At least I tried!

I feel pretty good about this after testing in another app. If there are any adjustments to be made that y'all can think of, we can cut a patch release. cc @rajit

Looking forward to putting eyes on this (and those new issues) tomorrow—today was crazy and I apologize for not getting around to it. From what you’ve described I’m thrilled. One quick thought is that you should not feel bad about having to do a new render instance. In my experience that is actually the right way to do this kind of thing; portals are a yet-undocumented upcoming feature of React 16.

https://github.com/facebook/react/pull/8386
https://github.com/facebook/react/pull/10675
Of course the new implementation is declarative and wickedly optimized... shiny new toys soon!

@cbothner thanks for those links. Also keep a heads up -> I've got 2 bug fixes coming in hot, as well as implementing a basic React Storybook to show all the different options.

Works really well for me 👍


Restore the exit

process.exit can force exit, can you redesign this API, I need it, I don't want to rewrite it for the killProcess of the android method.

process.exit = () => {}

process.exit = () => {}

You may be mistaken about what I mean, but I mean, you can redesign the API in Javet so that it exits the engine like a pure Node.js.


Slacker

Hi all, a little contribution to use slack if your company use a proxy
Add support to use slack notifier with a proxy

Nothing to approve or decline my PR?

Can I have merge right please?


Editor ingress settings

Description
Complementary PR for ingress settings configured in FlowForge helm to be propagated to Editor instances created by FlowForge.
Related Issue(s)

Ingress settings for Flowforge in K8s - Helm
Ingress settings for k8s driver

Checklist

[x] I have read the contribution guidelines
[ ] Suitable unit/system level tests have been added and they pass
[x] Documentation has been updated

[ ] Upgrade instructions
[x] Configuration details
[ ] Concepts

[ ] Changes flowforge.yml?

[ ] Issue/PR raised on flowforge/helm to update ConfigMap Template
[ ] Issue/PR raised on flowforge/CloudProject to update values for Staging/Production

Labels

[ ] Backport needed? -> add the backport label
[ ] Includes a DB migration? -> add the area:migration label

@andreikop I assume you have co-ordinated with @elenaviter on this and as such #125 is obsolete?
I will look at this (and the k8s driver PR) in more detail later, but I should note that we have moved away from using AWS ALB ingress for our deployment, because AWS ALB has a hard limit of only supporting 100 entry points (so 98 projects + forge app and MQTT broker) so does not scale. We have moved to using nginx ingress and just setting default ingressClass to get everything working.
The docs need updating and this is in plan for the 1.6 release.

@hardillb yes, but we make atomic PRs to make them easier to understand and apply.

Just a quick note, we have not forgotten about these 2 PRs, but having looked at the kubernetes driver PR (https://github.com/flowforge/flowforge-driver-k8s/pull/80) that they depend on last night and finding it needs some changes we are going to miss the 1.6.0 release today. Assuming everything is cleaned up, we will look to get them merged early in the 1.7.0 cycle.

@elenaviter Can you rebase this on head to pick up the changes I asked for in @andreikop's PR then I can look at merging this and the changes to the k8s driver.

@elenaviter Any chance of getting this rebased today please so we can get it merged and tested ahead of the release next week?


Apache-only/No Proxy Support issue

This is more of a flaw with Vesta CP than with the automation, but SSL doesn't work when Nginx/Proxy Support is turned off completely.
Proxy Support needs to be turned on for the domain before the SSL can be added. Doing it in any other way will lead to a Nginx service restart failure.
Perhaps include automation for turning on the Proxy Support in case it's not already?

Could you share the error message you are getting?
letsencrypt-vesta restarts whichever web servers it can find after it installs a certificate.  It does this by sliently checking the service status of the commonly used service names (httpd, apache2, nginx) and, when it finds one running, it issues a restart command.  It shouldn't be trying to restart Nginx if Nginx isn't there, so the fact that yoou're seeing an error may point to a configuration issue on your server that you might not be aware of.

It's a nginx restart failure within Vesta CP. This happens if you try to generate a certificate for a domain with Proxy Support turned off within Vesta CP (unchecked box). Apparently, Vesta CP has to have the Proxy Support checked on for SSL to work in general, even if Nginx is not used in any other way.


Accept directory or glob pattern for filename param

At the moment it is only possible to validate one file at a time. If it were possible to invoke v8r with multiple files, a directory or a glob pattern e.g:

v8r file1.yml file2.json file3.yaml
v8r directory/
v8r directory/**/*.yml

I could validate multiple files in one execution.
Question: How do I reduce a result like "these 3 files were valid, this other one failed and I couldn't find a schema for these two" to an exit code? Have a look how ajv-cli does it. That is probably a good source of inspiration.

@chris48s what about SARIF output ? https://sarifweb.azurewebsites.net/
More and more analyzers use this common format, and to be honest it would help me to integrate v8r even better within MegaLinter :) (Note: v0.7.0 crashes because of missing ajv dependency so I downgraded to 0.6.0, but as i've not been able to investigate why yet it will be for another issue )

:books: Nice bit of light reading for me there :smile:  https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html
Do you know of any examples of other js-based tools using this format? It would be nice to look at an example.
Can you open a new issue for the other problem and give some more details. 0.7.0 should install all the necessary ajv packages: https://github.com/chris48s/v8r/blob/9268ee90160008c7193e16b4bb5d0966baca2ff3/package.json#L25-L27
Cheers

eslint has a SARIF formatter, already widely used :) ( 50k dl / week )
https://www.npmjs.com/package/@microsoft/eslint-formatter-sarif

Here is an example: there are some standard attributes (not sure any of them is required), and for anything not in the spec you can put it in properties
{
  "runs": [
    {
      "tool": {
        "driver": {
          "name": "Bandit",
          "rules": [
            {
              "id": "B110",
              "name": "try_except_pass",
              "helpUri": "https://bandit.readthedocs.io/en/latest/plugins/b110_try_except_pass.html"
            }
          ]
        }
      },
      "invocations": [
        {
          "executionSuccessful": true,
          "endTimeUtc": "2021-12-05T00:20:06Z"
        }
      ]
      },
      "results": [
        {
          "message": {
            "text": "Try, Except, Pass detected."
          },
          "level": "note",
          "locations": [
            {
              "physicalLocation": {
                "region": {
                  "snippet": {
                    "text": "except:\n"
                  },
                  "startLine": 3
                },
                "artifactLocation": {
                  "uri": "file:///github/workspace/python_bad_1.py"
                },
                "contextRegion": {
                  "snippet": {
                    "text": "    pass\nexcept:\n    pass\n"
                  },
                  "endLine": 4,
                  "startLine": 2
                }
              }
            }
          ],
          "properties": {
            "issue_confidence": "HIGH",
            "issue_severity": "LOW"
          },
          "ruleId": "B110",
          "ruleIndex": 0
        }
      ]
    }
  ],
  "version": "2.1.0",
  "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.4.json"
}

As of version 0.9.0, v8r now accepts a glob pattern instead of a filename as the positional arg.
This allows:
v8r file.json
v8r '{file1.json,file2.json}'
v8r 'files/*'

etc. I've not done anything to change the output format but I've moved the details of that to a new issue at #148

Would it be possible to manage a list of files as parameter ? :)
This is kind of standard for most linters and to be honest it would avoid me to create custom behavior for v8r within Megalinter 😇

I was originally going to do this, as noted in the top issue.
Once I implemented globs, it seemed unnecessary as a list of files can also be expressed as a glob but I've added the ability to pass multiple positional args in version 0.10.0

@chris48s > a million thanks, i'll check :)


Question about using LSTM model in watch_phone_pocket version

Hi, I've read your paper in IROS 2023, and I thought it would be great to apply this method in tele-operating robots. I'm glad that your paper including further developed thesis has been submitted to ICRA 2024, and I'll read it.
Thanks for the kind and well-written code you've provided. I'm working with the watch_phone_pocket version since my watch cannot connect to the UDP socket in the watch_only version. I'm dealing with it.
What I'm wondering about is why there's no results.json for the WatchPhonePocketNN class. I found out that there's a checkpoint for watch_phone_pocket, a variable WATCH_PHONE_POCKET = "7ffa..." in deploy_models.py, and a WatchPhonePocketNN() class in watch_phone_pocket_nn.py.
But despite these data and structures, the main code in watch_phone_pocket.py uses the WatchPhonePocketKalman() class. Without the results.json file, I realized that I cannot load this model because the load_deployed_model_from_hash() function in models.py requires the results.json file.
Is there any reason for this? Does using the Kalman filter perform better than the LSTM model?

Hi, thanks so much for reaching out and sorry for the delayed reply.

Re watch_only and UDP: You have probably considered this but I'll just put this here in case. If the watch is connected to any phone via bluetooth, the phone somehow blocks the UDP messages. I could only connect to the watch when it is really fully by itself, without a phone connected in any way.

Re results.json for WatchPhonePocketNN Thanks for pointing this out. There should definitely be a results.json in the "7ffa..." folder. I'm currently out of office for ICRA24. As soon as I'm back, I will submit the json.

Re phone_pocket with Kalman The structures for the WatchPhonePocketNN are in place for legacy reasons and we found that the Kalman model performs much better. This is actually the story of our ICRA paper  and I recommend sticking to the script that uses the Kalman model. Loading the Kalman model does not require a results.json because it is structurally so different. It has its own class.

I will be back in June and make sure to provide the legacy pocket LSTM that you can load with the load_deployed_model_from_hash() method.  Let me know if there are more questions or any other issues!

Thanks for your kind reply.
For watch_only and UDP, I found out that there was a problem with my WiFi, so I solved that problem. Now watch_only.py is working very well. I confirmed that the performance of the Kalman model is also good, and I have had some success in controlling the robot using the results from watch_phone_pocket.py.
It is very interesting that the Kalman model performs better than the LSTM, which could become the story for the ICRA paper. I will read the ICRA paper, and I hope to hear good news in June.
Once again, thank you for your kind reply.

Hi EndeavoringYoon,
Just writing to let you know that I updated the legacy LSTM script and you should be able to compare the Kalman and LSTM approach yourself if you would like to.
You can test the LSTM with this script watch_phone_pocket_lstm.py

Thank you so much for uploading the file and for personally notifying me. I really appreciate your kindness and timely assistance.
I'll check the file and let you know if I have any further questions.
Thanks again for your support!


RFC: Modularize API Library

Currently, this project uses snoowrap as it's API provider, as it remains the most popular library, and was pretty much the only one.
Is there a need for other providers to be used? What providers should I consider adding?

I can't think of any better providers personally
maybe a custom one? wink wink


Add Alias hooks and tests

Description of changes:

Rename AliasName to Name to reduce redundancy
Add hooks for proper ReadMany input and parsing output
Add test for Alias

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm