Feedback changes on #80

Compat with the old code
Documenting renames and functional changes from the versions < 1.5
Issues Resolved

[x] Closes #43
[x] Closes #49
[x] Closes #77
[x] Closes #81
[x] Closes #85

that's all folks

Properties:
ExtrasUwpMetaPackageVersion -> _ImplicitPlatformPackageVersion + TargetFramework condition
ExtrasImplicitPlatformPackageDisabled -> DisableImplicitFrameworkReferences + TargetFramework condition
ExtrasImplicitPlatformPackageIsPrivate -> Auto set for library like items
SuppressWarnIfOldSdkPack -> SuppressOldSdkWarning
EmbeddedResourceGeneratorVisibilityIsInternal -> ! EmbeddedResourceGeneratedCodeIsPublic
_SdkSetAndroidResgenFile -> IncludeAndroidResgenFile

Most of the known issues are fixed. I couldn't test (Apple platform) Xamarin projects, since I don't have a Mac! I'll be adding a new PR for the tests.
Can we either add the property shims for the old ones or provide a migration instructions in the release notes?

After this, are there other changes, or does this mostly complete your updates for now?

After this, are there other changes, or does this mostly complete your updates for now?

I have asked @GeertvanHorrik for checking his multitarget template with the latest code #43. Once he  confirms it's working without any issues we can merge this.
Can we remove DependentUpon since the DynamicDependentFile support is good in 15.6+?
Any thoughts on

https://github.com/onovotny/MSBuildSdkExtras/pull/84#issuecomment-397901785
https://github.com/onovotny/MSBuildSdkExtras/pull/84#issuecomment-398688408

What does DynamicDependentFile do, and how is it configured I haven't come across that yet. If we don't need the DepenentUpon anymore, that's good too.
We should have both shims and release notes since we don't want to break people.

Sorry about that, didn't include the doc link, here it is
DynamicDependentFile Capability.

We should have both shims and release notes since we don't want to break people.

Ok. then I'll get right on it! Again I'm so sorry to force such large change to you. I know this breaks git flow. I assure you this will be the last large change.

Sounds like DynamicDependentFile does what we need. Lets just make sure we have the appropriate ProjectSchemaDefinitions to handle Setttings, WinForms resx and resx with a designer and Xaml, then that's even better.

I already added the support for Xaml. But have to check for WinForms. Can I add the changes here?

I am having a bit more time now. What's the easiest way to test this PR?

@GeertvanHorrik
You can do this:
You can put your project folder into TestProjects folder in the repo and make your changes, it'll automatically picks up latest extras when you build the repo solution first and then yours.

You can clone my fork and build the solution and you'll get NuGet package copied on to a temp folder, you can grab a NuGet.config file from my fork and put it in your repo, that should bring in the package from temp folder.

I'll drop a nuget package in the MyGet, you can grab that!

Steps taken:

Copy project to TestProjects directory
Remove the debug lines at the top of the (multitargeting) project
Run .\build.ps1 -target package

Without the debug lines, it doesn't seem to work:
C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTargetingProject\src\Ghk.MultiTargeting\Platforms\uap10.0\Views\MyView.xaml(1,23): error MC3074: The tag
 'UserControl' does not exist in XML namespace 'using:Catel.Windows.Controls'. Line 1 Position 23. [C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTarg
etingProject\src\Ghk.MultiTargeting\Ghk.MultiTargeting.csproj]
C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTargetingProject\src\Ghk.MultiTargeting\Platforms\uap10.0\Views\MyView.xaml(1,23): error MC3074: The tag
 'UserControl' does not exist in XML namespace 'using:Catel.Windows.Controls'. Line 1 Position 23. [C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTarg
etingProject\src\Ghk.MultiTargeting\Ghk.MultiTargeting.csproj]
An error occurred when executing task 'Build'.
Error: One or more errors occurred.
        MSBuild: Process returned an error (exit code 1).

Anything specific I have to do to make sure I am using the latest stuff?

Ok, just read your guide, I didn't build your version first. Let me do that real quick.

Final steps:

Clone your fork
Copy project to TestProjects directory
Remove the debug lines at the top of the (multitargeting) project
Remove the version number from the definition so it picks the latest by default
Run .\build.ps1 -target package

Microsoft (R) Build Engine version <IP_ADDRESS>362 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Some command line switches were read from the auto-response file "MSBuild.rsp". To disable this file, use the "/noautoresponse" switch.
C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/MSBuild.exe /DetailedSummary /BinaryLogger /MaxCPUCount /NodeReuse:false /p:Configuration=Release /p:Platform=Any CPU /Restore /target:Build /v:quiet C:/Source/Forks_MSBuildSdkExtras/TestProjects/MultiTargetingProject/src/Ghk.MultiTargeting.sln
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets(268,9): error MC6000: Project file must include the .NET Framework assembly 'WindowsB
ase, PresentationCore, PresentationFramework' in the reference list. [C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTargetingProject\src\Ghk.MultiTarg
eting\Ghk.MultiTargeting.csproj]
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets(268,9): error MC6000: Project file must include the .NET Framework assembly 'WindowsB
ase, PresentationCore, PresentationFramework' in the reference list. [C:\Source\Forks_MSBuildSdkExtras\TestProjects\MultiTargetingProject\src\Ghk.MultiTarg
eting\Ghk.MultiTargeting.csproj]
An error occurred when executing task 'Build'.
Error: One or more errors occurred.
        MSBuild: Process returned an error (exit code 1).

Then I checked out your examples, and found that I need to define this:
    <EnableWpfProjectSetup>true</EnableWpfProjectSetup>

Questions:
A. Would it be possible to make this work out of the box?
B. Does enabling this affect any of the other targets?
One option is to add it to the wpf only targets in the implicit targets file in the root of the template. Just tested that and that works great :-)

Anything specific I have to do to make sure I am using the latest stuff?

Try removing all the workarounds.
For WPF projects set 'EnableWpfProjectSetup' to 'true'
For UWP projects set 'EnableDefaultXamlItems' to 'true'
For Public Generators set 'GeneratedCodeIsPublic' to 'true'
E.g.: **EmbeddedResource**GeneratedCodeIsPublic

Excellent, here is the commit with the changes:
https://github.com/GeertvanHorrik/MultiTargetingProject/commit/0b7a8dedb557cf31ff721bf8800915fa4a49ec79

Not sure I understand point 4, maybe you can explain that one?

A. Would it be possible to make this work out of the box?
The problem is enabling different type of projects (for a single framework) needs some intervention, like setting up default items, implicit references, some property overrides etc...

B. Does enabling this affect any of the other targets?
No. That's why the explicit properties.
One side-effect is that when @Microsoft and @dotnet releases .NETCore 3 with WinForms/WPF support, we can use the same property to setup the WinForms/WPF behaviour (though the actual process would be different but what the user does to enable with this SDK will be the same) just as now we're enabling for the full framework.

Not sure I understand point 4, maybe you can explain that one?

Some of the Generators like SettingsSingleFileGenerator, ResXFileCodeGenerator support making the generated code public, this switch enables that.

Also see this https://github.com/GeertvanHorrik/MultiTargetingProject/commit/0b7a8dedb557cf31ff721bf8800915fa4a49ec79#r29472880

@Nirmal4G When do you think you'll have the compat shims and docs updated so we can close this PR out?

@onovotny The changes are done, but adding shims and the warnings make Extras SDK a little bit noticeably slower. Is this OK?

Why would adding shims slow things down, they're additional variables? We cannot break people on upgrade.

As a general rule, we should not be using StartsWith any more than necessary. We should be using the TargetPlatformIdentifier with an equals comparison since that's faster.

I'm not good at writing docs as English is not my first language. Any help with docs is much appreciated.

As a general rule, we should not be using StartsWith any more than necessary. We should be using the TargetPlatformIdentifier with an equals comparison since that's faster.

Since we're dealing with multiple platforms, I've reduced them to platform wise and made comparisons and this is much faster than checking TFI with every value every time.
If you know anyone who can give Perf review for these patches, reel'em in, that'd be very much helpful.

Both the targets add approximately 150ms each to the Build!

the binlog in msbuildlog may have more detailed evaluation numbers

I did that version too, It takes about 350ms. I don't know how, but got reduced to 150ms for the above version!

the binlog in msbuildlog may have more detailed evaluation numbers

This is from that but just those targets!

I think that's just about it. You can merge anytime.

Why do the sample projects have ProjectGuid's in them?

Also, why are the VB defines treated differently, with the =-1?
  <PropertyGroup Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">
    <ImplicitFrameworkProfileDefine Condition="'$(_SdkLanguageSourceName)' != 'VisualBasic'">$(TargetFrameworkProfile.ToUpperInvariant());$(ImplicitFrameworkIdentifierDefine)$(TargetFrameworkProfile.Substring('7'))</ImplicitFrameworkProfileDefine>
    <ImplicitFrameworkProfileDefine Condition="'$(_SdkLanguageSourceName)' == 'VisualBasic'">$(TargetFrameworkProfile.ToUpperInvariant())=-1,$(ImplicitFrameworkIdentifierDefine)$(TargetFrameworkProfile.Substring('7'))=-1</ImplicitFrameworkProfileDefine>
  </PropertyGroup>

I had a kind of design (of the SDK) in my mind on How it would extend the Main SDK. I guess if you are reverting everything then #76 and other feature requests won't apply really well with the Main SDK. I made some early prototypes trying to extend the Main SDK without any changes to the existing design but many properties and the order broke the build.
Then when I checked with Main SDK design, there was a pattern on how they would apply the props where, the order. When I tried the same, I got a build that's working.
I'm still learning and I think I got pretty much close. There are lot of Edge cases I'm tracking, like one you've told me == vs StartsWith. There aren't any debugging tools for this out in the open.

Also, why are the VB defines treated differently, with the =-1?

That's a Q for the language team!
VB is different for historical reasons!!

VB is different for historical reasons!!

When I looked at what the main SDK does, I don't see it setting things to =-1. The only difference I see for VB is using , instead of ; as a separator.

FinalDefineConstants


filetype: no support for keymap files

zmk uses devicetree files for configuration with a .keymap extension
https://zmk.dev/docs/features/keymaps
btw should the autocmd line be split up since it's a bit long?

I think it is fine, we have other lines that are that long. For future improvements we should split it up however.


"On" characteristic never on

My panels are producing power, so not sure why the "On" characteristic is never on
[07/08/2023, 17:42:18] [homebridge-enphase-envoy] Device: <IP_ADDRESS> Envoy, debug: Production ct: {
  "production": [
    {
      "type": "inverters",
      "activeCount": 13,
      "readingTime":<PHONE_NUMBER>,
      "wNow": 1114,
      "whLifetime": 390808
    },
    {
      "type": "eim",
      "activeCount": 0,
      "measurementType": "production",
      "readingTime":<PHONE_NUMBER>,
      "wNow": 836.101,
      "whLifetime": 0,
      "varhLeadLifetime": 0,
      "varhLagLifetime": 0,
      "vahLifetime": 0,
      "rmsCurrent": 6.952,
      "rmsVoltage": 242.875,
      "reactPwr": 53.678,
      "apprntPwr": 844.353,
      "pwrFactor": 0.99,
      "whToday": 0,
      "whLastSevenDays": 0,
      "vahToday": 0,
      "varhLeadToday": 0,
      "varhLagToday": 0,
      "lines": [
        {
          "wNow": 417.831,
          "whLifetime": 0,
          "varhLeadLifetime": 0,
          "varhLagLifetime": 0,
          "vahLifetime": 0,
          "rmsCurrent": 3.474,
          "rmsVoltage": 121.44,
          "reactPwr": 26.733,
          "apprntPwr": 422.018,
          "pwrFactor": 0.99,
          "whToday": 0,
          "whLastSevenDays": 0,
          "vahToday": 0,
          "varhLeadToday": 0,
          "varhLagToday": 0
        },
        {
          "wNow": 418.271,
          "whLifetime": 0,
          "varhLeadLifetime": 0,
          "varhLagLifetime": 0,
          "vahLifetime": 0,
          "rmsCurrent": 3.478,
          "rmsVoltage": 121.435,
          "reactPwr": 26.945,
          "apprntPwr": 422.335,
          "pwrFactor": 0.99,
          "whToday": 0,
          "whLastSevenDays": 0,
          "vahToday": 0,
          "varhLeadToday": 0,
          "varhLagToday": 0
        }
      ]
    }
  ],

Full debug log please, enable it in plugin Advanced section and get the whole log please.

The full logs contain sensitive data, including sensitive data about the other plugins I run. Carefully reviewing a redacting every line of the log is a time consuming process (and must be done very carefully). Can you tell me specific log entries? I could get those to you a lot faster/safer.

You can enable only debug for Envoy as I described in previous post, no need log from other plugins. The sensitive data can be redacted. The log must contain data direct after plugin restart to accessory publish.

You can send me the log per email as a file.

check please with 7.3.6 and let me know

Any info?

I think this is solved now, if no free to open again

Sorry, I've been on vacation, and away from being able to update. I'm still seeing this bug in v7.4.2.
(I don't seem to have permissions to reopen this bug myself)

Ok, then I need the debug log with this error.

You can enable only debug for Envoy as I described in previous post, no need log from other plugins. The sensitive data can be redacted. The log must contain data direct after plugin restart to accessory publish.

I don't explicitly have any other plugins with logging enabled. I also have homebridge not in debug mode. However, I still have tons and tons of logs for other plugins interleaved between the envoy plugin logs. And since the envoy logs are multiline, I can't easily use grep to filter to just the relevant logs. Do you have another trick?

I see the same (lots of debug info in the log althoug debug switched off everywhere) like this:
[8/30/2023, 8:23:24 AM] [homebridge-enphase-envoy] Device: <IP_ADDRESS> Envoy-S, debug: Live data: {   "connection": {     "mqtt_state": "connected",     "prov_state": "configured",     "auth_state": "ok",     "sc_stream": "enabled",     "sc_debug": "disabled"   },   "meters": {     "last_update":<PHONE_NUMBER>,     "soc": 41,     "main_relay_state": 1,     "gen_relay_state": 5,     "backup_bat_mode": 1,     "backup_soc": 0,     "is_split_phase": 0,     "phase_count": 3,     "enc_agg_soc": 41,     "enc_agg_energy": 1435,     "acb_agg_soc": 0,     "acb_agg_energy": 0,     "pv": {       "agg_p_mw": 2347486,       "agg_s_mva": 2391666,       "agg_p_ph_a_mw": 430912,       "agg_p_ph_b_mw": 884986,       "agg_p_ph_c_mw": 1031587,       "agg_s_ph_a_mva": 464059,       "agg_s_ph_b_mva": 884986,       "agg_s_ph_c_mva": 1042620     },     "storage": {       "agg_p_mw": -1266001,       "agg_s_mva": -1266001,       "agg_p_ph_a_mw": -1266000,       "agg_p_ph_b_mw": 0,       "agg_p_ph_c_mw": 0,       "agg_s_ph_a_mva": -1266000,       "agg_s_ph_b_mva": 0,       "agg_s_ph_c_mva": 0     },     "grid": {       "agg_p_mw": -571474,       "agg_s_mva": -582626,       "agg_p_ph_a_mw": 1276242,       "agg_p_ph_b_mw": -878247,       "agg_p_ph_c_mw": -969469,       "agg_s_ph_a_mva": 1303629,       "agg_s_ph_b_mva": -883736,       "agg_s_ph_c_mva": -1002519     },     "load": {       "agg_p_mw": 510011,       "agg_s_mva": 543039,       "agg_p_ph_a_mw": 441154,       "agg_p_ph_b_mw": 6739,       "agg_p_ph_c_mw": 62118,       "agg_s_ph_a_mva": 501688,       "agg_s_ph_b_mva": 1250,       "agg_s_ph_c_mva": 40101     },     "generator": {       "agg_p_mw": 0,       "agg_s_mva": 0,       "agg_p_ph_a_mw": 0,       "agg_p_ph_b_mw": 0,       "agg_p_ph_c_mw": 0,       "agg_s_ph_a_mva": 0,       "agg_s_ph_b_mva": 0,       "agg_s_ph_c_mva": 0     }   },   "tasks": {     "task_id": -1834664090,     "timestamp":<PHONE_NUMBER>   },   "counters": {     "main_CfgLoad": 1,     "main_CfgChanged": 1,     "main_taskUpdate": 4,     "MqttClient_publish": 2580,     "MqttClient_respond": 20,     "MqttClient_msgarrvd": 10,     "MqttClient_create": 7,     "MqttClient_setCallbacks": 7,     "MqttClient_connect": 7,     "MqttClient_connect_err": 3,     "MqttClient_connect_Err": 3,     "MqttClient_subscribe": 4,     "SSL_Keys_Create": 7,     "sc_hdlDataPub": 529446,     "sc_SendStreamCtrl": 9,     "sc_SendDemandRspCtrl": 1,     "rest_Status": 111265   },   "dry_contacts": {     "": {       "dry_contact_id": "",       "dry_contact_type": "",       "dry_contact_load_name": "",       "dry_contact_status": 3050996     }   } }

I need the whole debug, without this I can not help you. The log can be downloaded using marked button and private data can be redacted.

I did a restart for a clean log (attached). Not much added value, it is always just the "live data" debug in the log as shown above.
homebridge1.log.txt
Plugin Version 7.4.1, but with 7.4.2 the behaviour is the same.

I think I found it in your source (line 2000 in envoydevice.js):
const debug = !this.enableDebugMode ? this.emit('debug', Live data: ${JSON.stringify(liveData.data, null, 2)}) : false;
I guess the "!" should be removed, no?

I don't need Info Log, I need debug log, please enable this and get the log:

Sorry for the confusion I created, my comment was only related to the fact that I still see a lot of debug info in the log, even with all debug switched off and it is always coming from the live data. So please consider my above comment https://github.com/grzegorz914/homebridge-enphase-envoy/issues/98#issuecomment-1698781008

I think I found it in your source (line 2000 in envoydevice.js): const debug = !this.enableDebugMode ? this.emit('debug', Live data: ${JSON.stringify(liveData.data, null, 2)}) : false;
I guess the "!" should be removed, no?

Yes, this will be fixed in next update

I see in your previous info log the power state characteristic is Active(On), which Characteristic On is never On?

I think I found it in your source (line 2000 in envoydevice.js): const debug = !this.enableDebugMode ? this.emit('debug', Live data: ${JSON.stringify(liveData.data, null, 2)}) : false;
I guess the "!" should be removed, no?

Yes, this will be fixed in next update

With 7.4.3, the "Live data" entries in the log are gone. Thank you!


Testing appveyor support for homu

do not merge.

@bors-servo try

:hourglass: Trying commit c1cefb5 with merge c72fc19...

@bors-servo try

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge be6720b...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 6baef2f...

@bors-servo clean try retry
forgot to update the webhook

:hourglass: Trying commit c1cefb5 with merge d65d356...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 5a0627e...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 0e67ce8...

:broken_heart: Test failed - travis

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge a2fc05d...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 45c3965...

:broken_heart: Test failed - travis

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 488a57b...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 9b22d54...

@bors-servo clean try retry

:hourglass: Trying commit c1cefb5 with merge 3be7fbe...

:broken_heart: Test failed - travis

@bors-servo clean try retry

:hourglass: Trying commit d08eb2d with merge b8efdde...

:sunny: Test successful - status-appveyor, travis


Corrected possible causes and fixes for the error

Since this error pertains to Shared Memory, the original explanation stating that "the instance is not configured for remote connections" was incorrect due to shared memory being a local protocol (meaning that the client is on the same host as the instance it's trying to connect to).

@microsoft-github-policy-service agree

Hello,
I've just realized that I've left some [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] elements in my changes that I should have removed.
If It's not ok, I can redo the pull request.

@MashaMSFT
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @VladDBA , thanks for bringing this to our attention! After investigating this further, it seems the documentation for error 233 is actually incorrect. We've created a backlog item to get this addressed. However, unfortunately, we were unable to reproduce the behavior you're describing, nor do your potential causes and resolutions seem correct. As such, my apologies, but we're going to have reject this PR.
We're working on getting this fixed though so please stay tuned.
Thanks again for reaching out, and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team

Hi @VladDBA , if you're able to, it may be good to open a support case with Microsoft so we're better able to understand the circumstances that are leading to the error that you're seeing, as we're struggling to reproduce it on our end.
Thanks!
Masha from the SQL Docs team

Hi @MashaMSFT,
Thank you for the input.
Sorry about that, I realized now that I was too sparse on the information initially.
Steps to reproduce:

On a machine with SQL Server installed enable, if it's not already enabled, the Shared Memory protocol for the instance (now local connections will tend to use that as opposed to TCP/IP).
Set user connections to a low number like 2.

EXEC sys.sp_configure N'show advanced options', N'1';
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sys.sp_configure N'user connections', N'2';
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sys.sp_configure N'show advanced options', N'0';
GO
RECONFIGURE WITH OVERRIDE;
GO

Restart the instance
Fire up one or two connections via sqlcmd to make sure those 2 connections are used up
Attempt to connect  the instance via SSMS from the same host

At this point the error message returned by SSMS and which links to this docs page is exactly like this one

There's another variation of this error which is reproducible when SSMS connects ok initially and Object Explorer is also connected, but the query editor (either the first one opened or any subsequent tab) will be left with no available connection slots to use, in this case the error message will be this one:

This can be reproduced by restarting the SQL Server instance, skipping step 4, and immediately connecting with SSMS. When the connection is established and OE is displayed,  just open query editor tabs until the connection limit is reached.

Attempting to connect remotely or via IP/TCP to the instance will result in the following error message with 64 error code

And in one of my tests, connecting remotely resulted in an 10053 error code, but I only got this one out of 10 tries.

Fixing it
In my scenario, the users changed the user connections limit and were unable to get back on the instance, so the fix was to stop SQL Server, start it in single user mode, connect via sqlcmd as soon as the instance was up, and set the limit back to 0.
 In this case DAC will be needed to successfully connect to the instance and troubleshoot without restarting it in single user mode.
Test environment:
Microsoft SQL Server 2019 (RTM-CU19) (KB5023049) - 15.0.4298.1 (X64)
Jan 27 2023 16:44:09
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Windows Server 2022 Standard Evaluation 10.0  (Build 20348: ) (Hypervisor)
I hope this helps clear things up.
Thank you and have a wonderful day!
Vlad

Hi @MashaMSFT,
I forgot to mention that the URL provided by the error message for code 64 leads to a page that doesn't exist yet.
TITLE: Connect to Server
------------------------------

Cannot connect to Winsrv2k22\SQL2022.

------------------------------
ADDITIONAL INFORMATION:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) (Microsoft SQL Server, Error: 64)

For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-64-database-engine-error

------------------------------

The specified network name is no longer available

------------------------------
BUTTONS:

OK
------------------------------

Thanks!
Vlad

Hi Vlad, this is really helpful, thanks a bunch! Just to close the loop for you and anyone else who may stumble on this, error 233 in the product is actually: The column '%.*ls' in table '%.*ls' cannot be null.
So the documentation is definitely wrong :) we're working to fix that.
The error 233 you're seeing is actually a Windows error:  No process is on the other end of the pipe.
Hope that helps and once again, really appreciate you bringing this to our attention so we can fix the documentation!
Masha from the SQL Docs team

Masha, does this mean that the error message details provided by SSMS will also need to be updated since the links they provide point to the wrong documentation pages?
For reference, this is the link provided in the details for error code 233
ADDITIONAL INFORMATION:

A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (Microsoft SQL Server, Error: 233)

For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-233-database-engine-error

Hi @MashaMSFT,
Can you please answer my last question about the URL where SSMS is pointing when giving out the error details?
Because if it needs to point to the Windows error URL (which it looks like it should, but I'd rather have confirmation) I'll add it as feedback for SSMS.
Thank you and have a great weekend!
Vlad

Hi @VladDBA , thanks again for reaching out! Yup, we've filed a bug with the SSMS PG about it but please feel free to file it as well to increase the visibility :)
Thanks!
Masha from the SQL Docs team


[QUESTION] Bring your own IAM roles for EKS and K8s add-ons

Please describe your question here
Hi there, our team operates in an AWS account that has a few restrictions on IAM resources.

IAM role & policy names must be prefixed with a specific string
If the IAM role can not be prefixed, it must be created in a specific role path

Example: "arn:aws:iam::xxx:role/{SOMEPATH}/MyRoleName"

No tagging is allowed on any IAM resources

Due to these restrictions, we need to maintain IAM roles/permissions manually vs having most tools create and manage them for us.
The main EKS Blueprint module and managed node groups supports bringing your own IAM role in the form of.
create_iam_role = false
iam_role_arn = {myPrecreatedRoleARN}

But for any other EKS or K8s add-ons that require IAM roles/permissions this doesn't seem possible.
More

[ x] Yes, I have checked the repo for existing issues before raising this question

Apologies - thought this was for cluster resources but I see this is for addons

Hello @mikeinton,
Regarding addons, IAM Role usage is most for IRSA purpose (addons which need irsa config). So, I  guess this issue is about providing the IRSA role to the addons instead of creating it inside the module call by the built-in irsa module.
Please correct me if I'm wrong.
If so, the only one gotcha will be to handle yourself the assume_role_policy of the role as required for IRSA which needs oidc provider, namespace etc.. and those information are available in the eks cluster configuration.

Hi @florentio that is correct, if the IRSA module is responsible for creating IAM resources for addons then could an alternative solution be to have the IRSA module create those IAM resources that follow a specific naming convention?
Here's an example, for the AWS LB Controller it seems that the following role will be created.
{clustername}-aws-load-balancer-controller-sa-irsa
This breaks for us because due to corporate AWS governance restrictions, we can't create any IAM resources unless they follow these guidelines.

Must be prefixed with a specific string like so the resulting role would look something like CustomerManaged_{clustername}-aws-load-balancer-controller-sa-irsa

Or

Must be created in a designated IAM role path like arn:aws:iam::xxx:role/{SOMEPATH}/{clustername}-aws-load-balancer-controller-sa-irsa"

Also note that our limitations extend to the IAM permissions policy as well where I don't see policy path as being an option so we would also need the resulting permissions policy to be prefixed and to look something like arn:aws:iam::xxx:policy/CustomerManaged_{clustername}-lb-irsa
Lastly, I didn't capture this in my initial post but we would also have to specify an IAM Permission Boundary for any roles that would be created during this workflow.
Appreciate the help and feedback, please let me know if you have any additional questions.

Hello @mikeinton
Thank for the reply, look like the solution is covered by this PR https://github.com/aws-ia/terraform-aws-eks-blueprints/pull/908 related to this issue here https://github.com/aws-ia/terraform-aws-eks-blueprints/issues/816
This PR allow to  define the name of the role for IRSA to be created. So you will can set the name you want according to your standard or naming convention.
Regarding the role pat,  you can use irsa_iam_role_path  and for permission boundaries, you can set is within the irsa_iam_permissions_boundary variable
Both two variables will be apply to all IRSA role created for all the addons enabled in your config. So if you want a separate path, permissions boundary for each addons enabled in your config, we will need a PR to provide that feature.
Regarding the default policy provided by each IRSA, the policy name attached to the IRSA of each addons is builtin, also unfortunately there is no path attribute also to override.
Those 2 statements can be fixed within a PR as well.
To summarize, once this PR is merged you can :

set the name of each IRSA role to any value you want
define the path of all IRSA roles once
define the permissions boundary for all iIRSA role once

Let's go through an example.  You want to add  two addons to your cluster

AWS LB Controller with the role name to equals to CustomerManaged_{clustername}-awesome-aws-lb-controller-irsa
Cluster autoscaler with the role name to equals to my-cluster-autoscaler-role-for-irsa
and both roles should be create with the path equals to my-awesome-path and you want to add a permission boundary

below is a terraform addons config
module "eks_blueprints_kubernetes_addons" {
  source = "../../../modules/kubernetes-addons"

  eks_cluster_id       = module.eks_blueprints.eks_cluster_id
  eks_cluster_endpoint = module.eks_blueprints.eks_cluster_endpoint
  eks_oidc_provider    = module.eks_blueprints.oidc_provider
  eks_cluster_version  = module.eks_blueprints.eks_cluster_version

  irsa_iam_role_path            = "my-awesome-path"            # all IRSA roles with have this as path
  irsa_iam_permissions_boundary = "<your-permission-boundary>" # all IRSA roles with have this as permissions boundary

  # Add-ons
  enable_aws_load_balancer_controller = true
  enable_cluster_autoscaler           = true

  aws_load_balancer_controller_helm_config = {
    irsa_iam_role_name = "CustomerManaged_${module.eks_blueprints.eks_cluster_id}-awesome-aws-lb-controller-irsa" # the name of the ALB IRSA
  }

  cluster_autoscaler_helm_config = {
    irsa_iam_role_name = "my-cluster-autoscaler-role-for-irsa" # the name of the Cluster autoscaler IRSA
  }

  tags = local.tags
}

If your use-case needs to have each role with its own permissions boundary and / or path, please specify it in the comment so that we can add to the scope of the issue or create a new issue for that.
You can also open an issue for adding the capability to provide the path and the name of the default policy created and attached to IRSA.

@florentio - thanks for the info, I wasn't aware of that new issue/PR but it sounds like it will address exactly what we need here.

Awseome!!!


Tailwind in content scripts doesn't work

Does not generate tailwinds in content scripts. Styles don't load at all.
Manifest generation in build.ts does not work, how to solve:

  const fullPath = relative(
    extDir,
    resolve(pageDir, pageFile)
  )

  return fullPath.replace('\\', '/')

Tailwind on different pages will generate different problems when we don't use shadowDom. Therefore styles should be generated as a separate file. Like here:

import { createRoot } from 'react-dom/client';
import Main from './Main';

const container = document.createElement('div')
const rootEl = document.createElement('div')
const styleEl = document.createElement('link')
const shadowDOM = container.attachShadow?.({ mode: 'open' }) || container
styleEl.setAttribute('rel', 'stylesheet')
styleEl.setAttribute('href', chrome.runtime.getURL('contentStyle.css'))
shadowDOM.appendChild(styleEl)

shadowDOM.appendChild(rootEl)
document.body.appendChild(container)

const root = createRoot(container); // createRoot(container!) if you use TypeScript
root.render(<Main/>);

css modules in content scripts do not work.

baal bichi bichi baal

Thanks, for reporting, it's a problem in content script, we'll fix it in next iteration.

I'm running into the same issue, any help on getting Tailwind to work would be great


Select options behaving differently in Vue 3 than Vue 2

Version
3.0.7
Reproduction link
Vue 3:
https://codesandbox.io/s/distracted-ritchie-kdcwo?file=/src/App.vue
Vue 2:
https://codesandbox.io/s/focused-glade-qj11z?file=/src/App.vue
Steps to reproduce
Click the submit button in both sandboxes
What is expected?
The <option> with value null shouldn't be rendered as a string in Vue 3.
What is actually happening?
When you add a couple of <option>, eventually an <option> with value null will be rendered as a it has a string value of null.
<!-- Vue 2 -->
<select name="large">
  <option value="">Not set</option>
  ...
</select>

<!-- Vue 3 -->
<select name="large">
  <option value="null">Not set</option>
  ...
</select>

https://github.com/vuejs/vue-next/blob/eb1fae63f926435fb0eef890663d24e09d4c79e1/packages/compiler-dom/src/transforms/stringifyStatic.ts#L73-L85
As we can see if you have more than 4 <option>s, Vue's compiler will try to stringify static nodes for performance reasons. So when you have 5 <option>s, the first <option> is stringified into "<option value=\"null\">Not set</option>" so we are experiencing the current issue.

There seems to be another bug that <option :value="null"> is rendered as <option value> when not taking the optimization path as for Vue 3 we have taken a new strategy for attribute coercion and the expected output should be <option> as null values for an attribute now indicates the attribute should be removed.

Though #3477 may fix that null values were rendered as "null", the difference between Vue 2 and 3 still exists and is intentional.
And there's still an issue to be investigated that <option :value="null"> is rendered as <option value="">, which does not comply with our latest coercion behavior.


Updates environment files documentation

Why: Adds more information about environment files
Closes:  https://github.com/github/docs/issues/31568
What's being changed (if available, include any code snippets, screenshots, or gifs):
Adds example about how .env file can be used.
Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

From what I understand, the errors are occurring because of the mention of GitHub docs link. Not sure how to solve that.

@Haimantika Thanks so much for opening a PR! I'll get this triaged for review ✨ Will keep an eye on that deployment issue and see if it resurfaces 💛

@Haimantika Thanks so much for opening a PR! I'll get this triaged for review ✨ We will take a look at that failed deployment check on our end 💛

@Haimantika Thanks so much for opening a PR! I'll get this triaged for review ✨ We will take a look at that failed deployment check on our end 💛

Let me know if you have any feedback on the PR :)

Hi @nguyenalex836 is there any changes needed from my end?

@Haimantika Hello! No changes needed from you currently ✨ Once our team is able to review your PR, you will be the first to know 💛 thank you!

@Haimantika Hello! No changes needed from you currently ✨ Once our team is able to review your PR, you will be the first to know 💛 thank you!

Thanks for the update!

@Haimantika, thank you so much for making these updates! They are awesome and I think will be really helpful for people to understand environment files. ✨
I just made one change to fix a linter error, and now I'm going to get this merged. Thank you again! 💛

Thank you so much Siara!


Flake8 rule 'E901' reported an invalid point

Flake8 reported an invalid point for the rule E901, with the messge SyntaxError: invalid syntax.

Debug information:
Atom version: 1.27.2
Flake8 version: 2.6.2 (pycodestyle: 2.4.0, mccabe: 0.5.3, pyflakes: 1.2.3) CPython 2.7.15 on Windows

Please update your flake8 version (pip install -U flake8). This particular error should be fixed in flake8>=3.2.1.


Decorators aren't ES2016/ES7 but people seem to think they are

Because the decorators proposal pre-dates the change from ES6/ES7 to ES2015, ES2016, etc (yearly dated-based) and just general misunderstanding of how the new spec process works, many people erroneously know decorators as "ES7 decorators" or less common "ES2016 decorators" even though they did not make the cut for 2016.
The problem we have now is that if we remove these terms from the repo description, README, etc people might have a harder time finding this project and/or possibly not realizing what it is or that it's not a feature officially supported by any final spec.
That said, I would like to stop reinforcing these incorrect terms so I still say we remove them. Any objections?

Added additional clarification to the README.


npm start does not work correctly

The version currently online at https://www.snik.eu/quiz works correctly but 5e91ce4c745f33a15fd6bf69617d3fb24e5a0d18 shows a white background and shows all questions at once both in Firefox and Chrome.

The bug is introduced by 6ffaa08ad7ecfbc5aa02674821696d28e6b9cad1.


patchew-cli apply: TypeError: expected str, bytes or os.PathLike object, not NoneType

patchew-cli fails when trying to apply patches to my local branch:
[qemu/python-next=]$ patchew-cli apply<EMAIL_ADDRESS>Traceback (most recent call last):
  File "/home/ehabkost/bin/patchew-cli", line 960, in do
    signoff=args.signoff,
  File "/home/ehabkost/bin/patchew-cli", line 782, in _apply
    maintainers = maintainers.union(self._get_maintainers(repo, patchf.name))
  File "/home/ehabkost/bin/patchew-cli", line 737, in _get_maintainers
    script = os.path.join(repo, "scripts/get_maintainer.pl")
  File "/usr/lib64/python3.7/posixpath.py", line 80, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

Bisected to commit efe321080b375c6d67dd0cae41fd9f4fd1373ae4, which is the commit that introduced _get_maintainers() in the first place.
patchew-cli version: latest git (5963bd3).
QEMU tree where I'm running patchew-cli: qemu.git commit e0175b7163.

Hi Eduado,
This should fix it:
https://github.com/patchew-project/patchew/commit/0efea5d069d659fe09e9eeb89ac54114464d671a
Thank for the reporting!
Fam


Directionality issue

hey all,
I want to put the widget on the left of screen, but the command "swipe to cancel " don't change the directionality .
I didn't find in the attributes this attribute and also i wrap it in Directionality widget but didn't work.
thanks in advance.

Hello @khm1995
This package only support from right to left we will work on it to support left to right

any update for supporting fron left to right ?

thanks  for  you. waiting


trufflehog: 0 -> 1

Automatic update generated by nixpkgs-update tools.
meta.description for trufflehog is: Find credentials all over the place
meta.homepage for trufflehog is: https://github.com/trufflesecurity/trufflehog
meta.changelog for trufflehog is: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.26.1
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1 with grep in /nix/store/apbgsrsjrf3i7q64334pkjjph1l7d4m5-trufflehog-3.26.1
found 1 in filename of file in /nix/store/apbgsrsjrf3i7q64334pkjjph1l7d4m5-trufflehog-3.26.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
trufflehog

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/apbgsrsjrf3i7q64334pkjjph1l7d4m5-trufflehog-3.26.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A trufflehog https://github.com/r-ryantm/nixpkgs/archive/63c6c4c3390f79f39b15907f2e4b02fb1ae482a7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/apbgsrsjrf3i7q64334pkjjph1l7d4m5-trufflehog-3.26.1
ls -la /nix/store/apbgsrsjrf3i7q64334pkjjph1l7d4m5-trufflehog-3.26.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

trufflehog

Maintainer pings
cc @fabaff for testing.

No, thanks.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/trufflesecurity/trufflehog/releases.
meta.description for trufflehog is: Find credentials all over the place
meta.homepage for trufflehog is: https://github.com/trufflesecurity/trufflehog
meta.changelog for trufflehog is: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.29.1
Updates performed

Golang update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.29.1 in filename of file in /nix/store/bpddrn6ssjj55grfl1sid06a3v5z4k14-trufflehog-3.29.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
trufflehog

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bpddrn6ssjj55grfl1sid06a3v5z4k14-trufflehog-3.29.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A trufflehog https://github.com/r-ryantm/nixpkgs/archive/21bf80e472eed6ac6aacd29085f87c5cfbf00cfc.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bpddrn6ssjj55grfl1sid06a3v5z4k14-trufflehog-3.29.1
ls -la /nix/store/bpddrn6ssjj55grfl1sid06a3v5z4k14-trufflehog-3.29.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

Maintainer pings
cc @fabaff for testing.


Pymoo model error during import

ModuleNotFoundError                       Traceback (most recent call last)
Input In [1], in <cell line: 2>()
1 import autograd.numpy as anp
----> 2 from pymoo.model.problem import Problem
ModuleNotFoundError: No module named 'pymoo.model'
And this happen even if you install pymoo

I can't reproduce this error.  Can you provide some code for me that I can run to get this error message?
Can you please check if you are using version 0.6.1?

Thank you very much sir, i can see that the problem has been solved in the
new version. Please if you have any video tutorial on how í can do multiple
featuré selection on a given dataset pleàse help me sir.
On Thu, Nov 23, 2023, 7:16 AM Julian Blank @.***> wrote:

I can't reproduce this error. Can you provide some code for me that I can
run to get this error message?
Can you please check if you are using version 0.6.1?
—
Reply to this email directly, view it on GitHub
https://github.com/anyoptimization/pymoo/issues/509#issuecomment-1823865349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJVBBZRPXBW754DHPG6ANULYF3S4ZAVCNFSM6AAAAAA7WBNK3GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRTHA3DKMZUHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I am trying to write a feature selection using pymoo here, but i dont know
why i keep having this issue
On Fri, 24 Nov 2023 at 08:27, Abubakar safyan ibrahim <
@.***> wrote:

Thank you very much sir, i can see that the problem has been solved in the
new version. Please if you have any video tutorial on how í can do multiple
featuré selection on a given dataset pleàse help me sir.
On Thu, Nov 23, 2023, 7:16 AM Julian Blank @.***>
wrote:

I can't reproduce this error. Can you provide some code for me that I can
run to get this error message?
Can you please check if you are using version 0.6.1?
—
Reply to this email directly, view it on GitHub
https://github.com/anyoptimization/pymoo/issues/509#issuecomment-1823865349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJVBBZRPXBW754DHPG6ANULYF3S4ZAVCNFSM6AAAAAA7WBNK3GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRTHA3DKMZUHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

checkout binary optimization for feature selection: https://pymoo.org/customization/binary.html
I will close this issue now.


Integrate mutation with other GraphQL clients

Hi, I am wondering how to integrate generateMutationOp with Apollo's or URQL's useMutation hook?
I tried the following but I have some roadblocks

// schema.graphql
type Mutation {
  createTodo(input: CreateTodoInput!): Todo
  }

input CreateTodoInput {
  text: String!
  completed: Boolean!
}

//schema.ts

export interface CreateTodoInput {text?: Scalars['String'],completed?: Scalars['Boolean']}
export interface MutationGenqlSelection{
    createTodo?: (TodoGenqlSelection & { __args: {input: CreateTodoInput} })
    __typename?: boolean | number
    __scalar?: boolean | number
}

// mutation hook

export function useTypedMutation<
  Mutation extends MutationGenqlSelection
>(opts: {
  query: Mutation & { __name?: string };
}) {
  const { query, variables } = generateMutationOp(opts.query);
// log :  query => mutation ($v1:CreateTodoInput!){createTodo(input:$v1){id}}
// log :  variables => {v1: {text: "Buy Orange", completed: true}} = $1

  type args = Exclude<Mutation["createTodo"], undefined>["__args"];

  return useMutation<MutationResult<Mutation>, args>(query);
}

const [data, mutate] = useTypedMutation({
    query: {
      createTodo: {
        __args: { input: { text: "Buy Orange", completed: true } },
        id: true,
      },
    },
  });

mutate({ v1: { text: "Buy water", completed: false } }) // error wrong type

The useMutation hook will return an mutate function which requires variables as its argument; however, the variables returned by generateMutationOps has { [name: string]: any; } type which cannot be used to type the args. I could hardcode (type args above) but the variables has generated names ie v1, v2, v3, ... . Any suggestions? Thanks

I'm using URQL above

Found an example of integrating generateMutationOp with URQL's useMutation hook from  @serverless-stack
export function useTypedMutation<
  Variables extends Record<string, any>,
  Mutation extends MutationRequest,
  Data extends MutationResult<Mutation>
>(
  builder: (vars: Variables) => Mutation,
  opts?: Partial<OperationContext>
): UseMutationResponse<Data, Variables> {
  const client = useClient();
  const isMounted = useRef(true);
  const [state, setState] =
    useState<UseMutationState<Data, Variables>>(initialState);
  const executeMutation = useCallback(
    (
      vars?: Variables,
      context?: Partial<OperationContext>
    ): Promise<OperationResult<Data, Variables>> => {
      setState({ ...initialState, fetching: true });
      const buildArgs = vars || ({} as Variables);
      const built = builder(buildArgs);
      const { query, variables } = generateMutationOp(built);
      return pipe(
        client.executeMutation<Data, Variables>(
          createRequest(query, variables as Variables),
          { ...opts, ...context }
        ),
        toPromise
      ).then((result: OperationResult<Data, Variables>) => {
        if (isMounted.current) {
          setState({
            fetching: false,
            stale: !!result.stale,
            data: result.data,
            error: result.error,
            extensions: result.extensions,
            operation: result.operation,
          });
        }
        return result;
      });
    },
    [state, setState]
  );

  useEffect(() => {
    isMounted.current = true;
    return () => {
      isMounted.current = false;
    };
  }, []);

  return [state, executeMutation];
}

https://github.com/serverless-stack/sst/blob/6238da94f06d8d554deca348c5160936bbfd7260/examples/graphql-dynamo/packages/graphql/urql.ts#L49-L101

I've been able to successfully get genql working with urql's useMutation, useSubscrition and useQuery but on the 3.x.x version. Going to take a stab at getting all working with 4.0.


Please adopt HTML/Mustache syntax

I took a look at the syntax in your examples and I found it a little bit complex. Would you consider using an intermediate template syntax, such as Kivi's or Ractive's?

No - this is an immediate mode GUI, and is fundamentally different.
https://docs.rs/egui/latest/egui/#understanding-immediate-mode


fix(model): map health-check to correct plugin for license check

Issue
https://gravitee.atlassian.net/browse/APIM-3879
Description
Map the health check to its correct value in the plugin manager so that APIs that use this feature can be deployed.

Additional context

📚  View the storybook of this branch here

Won't do --> Fix will come in gravitee-node LicenseManager


fix(deps): update go packages

This PR contains the following updates:

Package
Type
Update
Change

github.com/charmbracelet/x/ansi
indirect
minor
v0.5.2 -> v0.6.0

github.com/deckarep/golang-set/v2
indirect
minor
v2.6.0 -> v2.7.0

github.com/go-jose/go-jose/v3
indirect
major
v3.0.3 -> v4.0.4

github.com/gomarkdown/markdown
require
digest
d03b890 -> f7e15b2

github.com/hashicorp/hcl
indirect
major
v1.0.0 -> v2.23.0

github.com/magiconair/properties
indirect
patch
v1.8.7 -> v1.8.9

github.com/playwright-community/playwright-go
require
minor
v0.4802.0 -> v0.4901.0

golang.org/x/exp
indirect
digest
2d47ceb -> 1829a12

golang.org/x/net
indirect
minor
v0.31.0 -> v0.32.0

golang.org/x/sys
indirect
minor
v0.27.0 -> v0.28.0

golang.org/x/text
indirect
minor
v0.20.0 -> v0.21.0

Release Notes

deckarep/golang-set (github.com/deckarep/golang-set/v2)
v2.7.0: - Proper support for JSON Marshaling/Unmarshaling, no more workarounds needed.
Compare Source
What's Changed

Mention of sister project: Ziglang-set for Zig developers
Once and for all fixes a long-standing JSON bug that was introduced with a previously large refactor which was designed to remove a layer of pointer indirection. It turns out, it's required to properly support Unmarshaling without having to resort to workarounds. Contribution by @ryclarke - Thank you! https://github.com/deckarep/golang-set/issues/122

Full Changelog

go-jose/go-jose (github.com/go-jose/go-jose/v3)
v4.0.4
Compare Source
Fixed

Reverted "Allow unmarshalling JSONWebKeySets with unsupported key types" as a
breaking change. See #136 / #137.

v4.0.3
Compare Source
Changed

Allow unmarshalling JSONWebKeySets with unsupported key types (#130)
Document that OpaqueKeyEncrypter can't be implemented (for now) (#129)
Dependency updates

v4.0.2
Compare Source
Changed

Improved documentation of Verify() to note that JSONWebKeySet is a supported
argument type (#104)
Defined exported error values for missing x5c header and unsupported elliptic
curves error cases (#117)

v4.0.1
Compare Source
Fixed

An attacker could send a JWE containing compressed data that used large
amounts of memory and CPU when decompressed by Decrypt or DecryptMulti.
Those functions now return an error if the decompressed data would exceed
250kB or 10x the compressed size (whichever is larger). Thanks to
Enze Wang@Alioth and Jianjun Chen@Zhongguancun Lab (@zer0yu and @chenjj)
for reporting.

v4.0.0
Compare Source
This release makes some breaking changes in order to more thoroughly
address the vulnerabilities discussed in Three New Attacks Against JSON Web
Tokens, "Sign/encrypt confusion", "Billion hash attack", and "Polyglot
token".
Changed

Limit JWT encryption types (exclude password or public key types) (#78)
Enforce minimum length for HMAC keys (#85)
jwt: match any audience in a list, rather than requiring all audiences (#81)
jwt: accept only Compact Serialization (#75)
jws: Add expected algorithms for signatures (#74)
Require specifying expected algorithms for ParseEncrypted,
ParseSigned, ParseDetached, jwt.ParseEncrypted, jwt.ParseSigned,
jwt.ParseSignedAndEncrypted (#69, #74)

Usually there is a small, known set of appropriate algorithms for a program
to use and it's a mistake to allow unexpected algorithms. For instance the
"billion hash attack" relies in part on programs accepting the PBES2
encryption algorithm and doing the necessary work even if they weren't
specifically configured to allow PBES2.

Revert "Strip padding off base64 strings" (#82)
The specs require base64url encoding without padding.
Minimum supported Go version is now 1.21

Added

ParseSignedCompact, ParseSignedJSON, ParseEncryptedCompact, ParseEncryptedJSON.

These allow parsing a specific serialization, as opposed to ParseSigned and
ParseEncrypted, which try to automatically detect which serialization was
provided. It's common to require a specific serialization for a specific
protocol - for instance JWT requires Compact serialization.

hashicorp/hcl (github.com/hashicorp/hcl)
v2.23.0
Compare Source
Bugs Fixed

Preserve marks when traversing through unknown values. (#699)
Retain marks through conditional and for expressions. (#710)

v2.22.0
Compare Source
Enhancements

feat: return an ExprSyntaxError for invalid references that end in a dot (#692)

v2.21.0
Compare Source
Enhancements

Introduce ParseTraversalPartial, which allows traversals that include the splat ([*]) index operator.  (#673)
ext/dynblock: Now accepts marked values in for_each, and will transfer those marks (as much as technically possible) to values in the generated blocks. (#679)

Bugs Fixed

Expression evaluation will no longer panic if the splat operator is applied to an unknown value that has cty marks. (#678)

v2.20.1
Compare Source
Bugs Fixed

Return ExprSyntaxError when an invalid namespaced function is encountered during parsing (#668)

Internal

Standardize on only two value dumping/diffing libraries (#669)

v2.20.0
Compare Source
Enhancements

Support for namespaced functions (#639)

Bugs Fixed

ext/dynblock: if iterator is invalid return this error instead of consequential errors (#656)

v2.19.1
Compare Source
What's Changed

hcldec must use WithoutOptionalAttributesDeep by @jbardin in https://github.com/hashicorp/hcl/pull/635

Full Changelog: https://github.com/hashicorp/hcl/compare/v2.19.0...v2.19.1
v2.19.0
Compare Source
Enhancements

ext/dynblock: dynblock.Expand now supports an optional hook for calling applications to check and potentially veto (by returning error diagnostics) particular for_each values. The behavior is unchanged for callers that don't set the new option. (#634)

Bugs Fixed

hclsyntax: Further fixes for treatment of "marked" values in the conditional expression, and better tracking of refined values into the conditional expression results, building on the fixes from v2.18.1. (#633)

v2.18.1
Compare Source
Bugs Fixed

hclsyntax: Conditional expressions will no longer panic when one or both of their results are "marked", as is the case for situations like how HashiCorp Terraform tracks its concept of "sensitive values". (#630)

v2.18.0
Compare Source
Enhancements

HCL now uses the tables from Unicode 15 when performing string normalization and character segmentation. HCL was previously using the Unicode 13 tables.
For calling applications where consistent Unicode support is important, consider also upgrading to Go 1.21 at the same time as adopting HCL v2.18.0 so that the standard library unicode tables (used for case folding, etc) will also be from Unicode 15.

v2.17.1
Compare Source
Enhancements

hclsyntax: When evaluating string templates that have a long known constant prefix, HCL will truncate the known prefix to avoid creating excessively-large refinements. String prefix refinements are intended primarily for relatively-short fixed prefixes, such as https:// at the start of a URL known to use that scheme. (#617)
ext/tryfunc: The "try" and "can" functions now handle unknown values slightly more precisely, and so can return known values in more situations when given expressions referring to unknown symbols. (#622)

Bugs Fixed

ext/typeexpr: Will no longer try to refine unknown values of unknown type when dealing with a user-specified type constraint containing the any keyword, avoiding an incorrect panic at runtime. (#625)
ext/typeexpr: Now correctly handles attempts to declare the same object type attribute multiple times by returning an error. Previously this could potentially panic by creating an incoherent internal state. (#624)

v2.17.0
Compare Source
Enhancements

HCL now uses a newer version of the upstream cty library which has improved treatment of unknown values: it can now track additional optional information that reduces the range of an unknown value, which allows some operations against unknown values to return known or partially-known results. (#590)
Note: This change effectively passes on cty's notion of backward compatibility whereby unknown values can become "more known" in later releases. In particular, if your caller is using cty.Value.RawEquals in its tests against the results of operations with unknown values then you may see those tests begin failing after upgrading, due to the values now being more "refined".
If so, you should review the refinements with consideration to the cty refinements docs and update your expected results to match only if the reported refinements seem correct for the given situation. The RawEquals method is intended only for making exact value comparisons in test cases, so main application code should not use it; use Equals instead for real logic, which will take refinements into account automatically.

v2.16.2
Compare Source
Bugs Fixed

ext/typeexpr: Verify type assumptions when applying default values, and ignore input values that do not match type assumptions. (#594)

v2.16.1
Compare Source
Bugs Fixed

hclsyntax: Report correct Range.End for FunctionCall with incomplete argument (#588)

v2.16.0
Compare Source
Enhancements

ext/typeexpr: Modify the Defaults functionality to implement additional flexibility. HCL will now upcast lists and sets into tuples, and maps into objects, when applying default values if the applied defaults cause the elements within a target collection to have differing types. Previously, this would have resulted in a panic, now HCL will return a modified overall type. (#574)
Users should return to the advice provided by v2.14.0, and apply the go-cty convert functionality after setting defaults on a given cty.Value, rather than before.

hclfmt: Avoid rewriting unchanged files. (#576)

hclsyntax: Simplify the AST for certain string expressions. (#584)

Bugs Fixed

hclwrite: Fix data race in formatSpaces. (#511)

v2.15.0
Compare Source
Bugs Fixed

ext/typeexpr: Skip null objects when applying defaults. This prevents crashes when null objects are creating inside collections, and stops incomplete objects being created with only optional attributes set. (#567)
ext/typeexpr: Ensure default values do not have optional metadata attached. This prevents crashes when default values are inserted into concrete go-cty values that have also been stripped of their optional metadata. (#568)

Enhancements

ext/typeexpr: With the go-cty upstream depenendency updated to v1.12.0, the Defaults struct and associated functions can apply additional and more flexible 'unsafe' conversions (examples include tuples into collections such as lists and sets, and additional safety around null and dynamic values). (#564)
ext/typeexpr: With the go-cty upstream depenendency updated to v1.12.0, users should now apply the go-cty convert functionality before setting defaults on a given cty.Value, rather than after, if they require a specific cty.Type.  (#564)

v2.14.1
Compare Source
Bugs Fixed

ext/typeexpr: Type convert defaults for optional object attributes when applying them. This prevents crashes in certain cases when the objects in question are part of a collection. (#555)

v2.14.0
Compare Source
Enhancements

ext/typeexpr: Added support for optional object attributes to TypeConstraint. Attributes can be wrapped in the special optional(…) modifier, allowing the attribute to be omitted while still meeting the type constraint. For more information, cty's documentation on conversion between object types. (#549)
ext/typeexpr: New function: TypeConstraintWithDefaults. In this mode, the optional(…) modifier accepts a second argument which can be used as the default value for omitted object attributes. The function returns both a cty.Type and associated Defaults, the latter of which has an Apply method to apply defaults to a given value. (#549)

v2.13.0
Compare Source
Enhancements

hcl: hcl.Diagnostic now has an additional field Extra which is intended for carrying arbitrary supporting data ("extra information") related to the diagnostic message, intended to allow diagnostic renderers to optionally tailor the presentation of messages for particular situations. (#539)
hclsyntax: When an error occurs during a function call, the returned diagnostics will include extra information (as described in the previous point) about which function was being called and, if the message is about an error returned by the function itself, that raw error value without any post-processing. (#539)

Bugs Fixed

hclwrite: Fixed a potential data race for any situation where hclwrite.Format runs concurrently with itself. (#534)

v2.12.0
Compare Source
Enhancements

hclsyntax: Evaluation of conditional expressions will now produce more precise error messages about inconsistencies between the types of the true and false result expressions, particularly in cases where both are of the same structural type kind but differ in their nested elements. (#530)
hclsyntax: The lexer will no longer allocate a small object on the heap for each token. Instead, in that situation it will allocate only when needed to return a diagnostic message with source location information. (#490)
hclwrite: New functions TokensForTuple, TokensForObject, and TokensForFunctionCall allow for more easily constructing the three constructs which are supported for static analysis and which HCL-based languages typically use in contexts where an expression is used only for its syntax, and not evaluated to produce a real value. For example, these new functions together are sufficient to construct all valid type constraint expressions from the Type Expressions Extension, which is the basis of variable type constraints in the Terraform language at the time of writing. (#502)
json: New functions IsJSONExpression and IsJSONBody to determine if a given expression or body was created by the JSON syntax parser. In normal situations it's better not to worry about what syntax a particular expression/body originated in, but this can be useful in some trickier cases where an application needs to shim for backwards-compatibility or for static analysis that needs to have special handling of the JSON syntax's embedded expression/template conventions. (#524)

Bugs Fixed

gohcl: Fix docs about supported types for blocks. (#507)

v2.11.1
Compare Source
Bugs Fixed

hclsyntax: The type for an upgraded unknown value with a splat expression cannot be known (#495)

v2.11.0
Compare Source
Enhancements

hclsyntax: Various error messages related to unexpectedly reaching end of file while parsing a delimited subtree will now return specialized messages describing the opening tokens as "unclosed", instead of returning a generic diagnostic that just happens to refer to the empty source range at the end of the file. This gives better feedback when error messages are being presented alongside a source code snippet, as is common in HCL-based applications, because it shows which innermost container the parser was working on when it encountered the error. (#492)

Bugs Fixed

hclsyntax: Upgrading an unknown single value to a list using a splat expression must return unknown (#493)

v2.10.1
Compare Source

dynblock: Decode unknown dynamic blocks in order to obtain any diagnostics even though the decoded value is not used (#476)
hclsyntax: Calling functions is now more robust in the face of an incorrectly-implemented function which returns a function.ArgError whose argument index is out of range for the length of the arguments. Previously this would often lead to a panic, but now it'll return a less-precice error message instead. Functions that return out-of-bounds argument indices still ought to be fixed so that the resulting error diagnostics can be as precise as possible. (#472)
hclsyntax: Ensure marks on unknown values are maintained when processing string templates. (#478)
hcl: Improved error messages for various common error situtions in hcl.Index and hcl.GetAttr. These are part of the implementation of indexing and attribute lookup in the native syntax expression language too, so the new error messages will apply to problems using those operators. (#474)

v2.10.0
Compare Source
Enhancements

dynblock,hcldec: Using dynblock in conjunction with hcldec can now decode blocks with unknown dynamic for_each arguments as entirely unknown values (#461)
hclsyntax: Some syntax errors during parsing of the inside of ${ ... } template interpolation sequences will now produce an extra hint message about the need to escape as $${ when trying to include interpolation syntax for other languages like shell scripting, AWS IAM policies, etc. (#462)

v2.9.1
Compare Source
Bugs Fixed

hclsyntax: Fix panic for marked index value. (#451)

v2.9.0
Compare Source
Enhancements

HCL's native syntax and JSON scanners -- and thus all of the other parsing components that build on top of them -- are now using Unicode 13 rules for text segmentation when counting text characters for the purpose of reporting source location columns. Previously HCL was using Unicode 12. Unicode 13 still uses the same algorithm but includes some additions to the character tables the algorithm is defined in terms of, to properly categorize new characters defined in Unicode 13.

v2.8.2
Compare Source
Bugs Fixed

hclsyntax: Fix panic for marked collection splat. (#436)
hclsyntax: Fix panic for marked template loops. (#437)
hclsyntax: Fix for expression marked conditional. (#438)
hclsyntax: Mark objects with keys that are sensitive. (#440)

v2.8.1
Compare Source
Bugs Fixed

hclsyntax: Fix panic when expanding marked function arguments. (#429)
hclsyntax: Error when attempting to use a marked value as an object key. (#434)
hclsyntax: Error when attempting to use a marked value as an object key in expressions. (#433)

v2.8.0
Compare Source
Enhancements

hclsyntax: Expression grouping parentheses will now be reflected by an explicit node in the AST, whereas before they were only considered during parsing. (#426)

Bugs Fixed

hclwrite: The parser will now correctly include the ( and ) tokens when an expression is surrounded by parentheses. Previously it would incorrectly recognize those tokens as being extraneous tokens outside of the expression. (#426)
hclwrite: The formatter will now remove (rather than insert) spaces between the ! (unary boolean "not") operator and its subsequent operand. (#403)
hclsyntax: Unmark conditional values in expressions before checking their truthfulness (#427)

v2.7.2
Compare Source
Bugs Fixed

gohcl: Fix panic when decoding into type containing value slices. (#335)
hclsyntax: The unusual expression null[*] was previously always returning an unknown value, even though the rules for [*] normally call for it to return an empty tuple when applied to a null. As well as being a surprising result, it was particularly problematic because it violated the rule that a calling application may assume that an expression result will always be known unless the application itself introduces unknown values via the evaluation context. null[*] will now produce an empty tuple. (#416)
hclsyntax: Fix panic when traversing a list, tuple, or map with cty "marks" (#424)

v2.7.1
Compare Source
Bugs Fixed

hclwrite: Correctly handle blank quoted string block labels, instead of dropping them (#422)

v2.7.0
Compare Source
Enhancements

json: There is a new function ParseWithStartPos, which allows overriding the starting position for parsing in case the given JSON bytes are a fragment of a larger document, such as might happen when decoding with encoding/json into a json.RawMessage. (#389)
json: There is a new function ParseExpression, which allows parsing a JSON string directly in expression mode, whereas previously it was only possible to parse a JSON string in body mode. (#381)
hclwrite: Block type now supports SetType and SetLabels, allowing surgical changes to the type and labels of an existing block without having to reconstruct the entire block. (#340)

Bugs Fixed

hclsyntax: Fix confusing error message for bitwise OR operator (#380)
hclsyntax: Several bug fixes for using HCL with values containing cty "marks" (#404, #406, #407)

v2.6.0
Compare Source
Enhancements

hcldec: Add a new Spec, ValidateSpec, which allows custom validation of values at decode-time. (#387)

Bugs Fixed

hclsyntax: Fix panic with combination of sequences and null arguments (#386)
hclsyntax: Fix handling of unknown values and sequences (#386)

v2.5.1
Compare Source
Bugs Fixed

hclwrite: handle legacy dot access of numeric indexes. (#369)
hclwrite: Fix panic for dotted full splat (foo.*) (#374)

v2.5.0
Compare Source
Enhancements

hclwrite: Generate multi-line objects and maps. (#372)

v2.4.0
Compare Source
Enhancements

The Unicode data tables that HCL uses to produce user-perceived "column" positions in diagnostics and other source ranges are now updated to Unicode 12.0.0, which will cause HCL to produce more accurate column numbers for combining characters introduced to Unicode since Unicode 9.0.0.

Bugs Fixed

json: Fix panic when parsing malformed JSON. (#358)

v2.3.0
Compare Source
Enhancements

ext/tryfunc: Optional functions try and can to include in your hcl.EvalContext when evaluating expressions, which allow users to make decisions based on the success of expressions. (#330)
ext/typeexpr: Now has an optional function convert which you can include in your hcl.EvalContext when evaluating expressions, allowing users to convert values to specific type constraints using the type constraint expression syntax. (#330)
ext/typeexpr: A new cty capsule type typeexpr.TypeConstraintType which, when used as either a type constraint for a function parameter or as a type constraint for a hcldec attribute specification will cause the given expression to be interpreted as a type constraint expression rather than a value expression. (#330)
ext/customdecode: An optional extension that allows overriding the static decoding behavior for expressions either in function arguments or hcldec attribute specifications. (#330)
ext/customdecode: New cty capsuletypes customdecode.ExpressionType and customdecode.ExpressionClosureType which, when used as either a type constraint for a function parameter or as a type constraint for a hcldec attribute specification will cause the given expression (and, for the closure type, also the hcl.EvalContext it was evaluated in) to be captured for later analysis, rather than immediately evaluated. (#330)

v2.2.0
Compare Source
Enhancements

hcldec: Attribute evaluation (as part of AttrSpec or BlockAttrsSpec) now captures expression evaluation metadata in any errors it produces during type conversions, allowing for better feedback in calling applications that are able to make use of this metadata when printing diagnostic messages. (#329)

Bugs Fixed

hclsyntax: IndexExpr, SplatExpr, and RelativeTraversalExpr will now report a source range that covers all of their child expression  nodes. Previously they would report only the operator part, such as ["foo"], [*], or .foo, which was problematic for callers using source ranges for code analysis. (#328)
hclwrite: Parser will no longer panic when the input includes index, splat, or relative traversal syntax.  (#328)

v2.1.0
Compare Source
Enhancements

gohcl: When decoding into a struct value with some fields already populated, those values will be retained if not explicitly overwritten in the given HCL body, with similar overriding/merging behavior as json.Unmarshal in the Go standard library.
hclwrite: New interface to set the expression for an attribute to be a raw token sequence, with no special processing. This has some caveats, so if you intend to use it please refer to the godoc comments. (#320)

Bugs Fixed

hclwrite: The Body.Blocks method was returing the blocks in an indefined order, rather than preserving the order of declaration in the source input. (#313)
hclwrite: The TokensForTraversal function (and thus in turn the Body.SetAttributeTraversal method) was not correctly handling index steps in traversals, and thus producing invalid results. (#319)

v2.0.0
Compare Source
Initial release of HCL 2, which is a new implementating combining the HCL 1
language with the HIL expression language to produce a single language
supporting both nested configuration structures and arbitrary expressions.
HCL 2 has an entirely new Go library API and so is not a drop-in upgrade
relative to HCL 1. It's possible to import both versions of HCL into a single
program using Go's semantic import versioning mechanism:
import (
    hcl1 "github.com/hashicorp/hcl"
    hcl2 "github.com/hashicorp/hcl/v2"
)

Prior to v2.0.0 there was not a curated changelog. Consult the git history
from the latest v1.x.x tag for information on the changes to HCL 1.

magiconair/properties (github.com/magiconair/properties)
v1.8.9
Compare Source
What's Changed

Skip ignored private fields by @rafaelhl in https://github.com/magiconair/properties/pull/61

New Contributors

@rafaelhl made their first contribution in https://github.com/magiconair/properties/pull/61

Full Changelog: https://github.com/magiconair/properties/compare/v1.8.8...v1.8.9
v1.8.8
Compare Source
What's Changed

migrate from deprecated ioutil dependency by @mbenson in https://github.com/magiconair/properties/pull/73
Load from io.Reader by @mbenson in https://github.com/magiconair/properties/pull/74

New Contributors

@mbenson made their first contribution in https://github.com/magiconair/properties/pull/73

Full Changelog: https://github.com/magiconair/properties/compare/v1.8.7...v1.8.8

playwright-community/playwright-go (github.com/playwright-community/playwright-go)
v0.4901.0
Compare Source
What's Changed

chore: update jekyll and ruby to solve security alerts by @canstand in https://github.com/playwright-community/playwright-go/pull/506
chore: roll to Playwright v1.49.0 by @canstand in https://github.com/playwright-community/playwright-go/pull/513
feat: Add logger override option, use slog and capture driver as logs by @GuyGoldenberg in https://github.com/playwright-community/playwright-go/pull/497
chore: roll to Playwright v1.49.1 by @canstand in https://github.com/playwright-community/playwright-go/pull/515

Full Changelog: https://github.com/playwright-community/playwright-go/compare/v0.4802.0...v0.4901.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

1 additional dependency was updated

Details:

Package
Change

golang.org/x/crypto
v0.29.0 -> v0.30.0


Possible of addition of Intl.Locale.prototype.getCurrencies()?

ICU has provided ucurr_getKeywordValuesForLocale() since ICU 4.2. Using this, it should be possible to provide functionality similar to getCalendars(), getCollations(), etc.
Has this been discussed for addition to the Intl Locale Info proposal? If so, what were the reasons for excluding it? If not, is it something you would consider adding?

This is a good idea and useful in functionality. This proposal already reach Stage 3 so it is too late to extend the scope. We should consider to support this in the next version


JSON output of TMC location table with Unicode characters

After several years I have tried TMC again today and discovered that the JSON output prints the C++ Unicode source code and not the character like in NAMES.DAT
For example:
Slovenia
$ rtl_fm -M fm -l 0 -A std -p 0 -s 171k -g 20 -F 9 -f 104.0M | redsea -E -l /media/andreas/Data/ut/TMC/SVN/ | fgrep '\'
[...]
{"pi":"0x9202","group":"8A","bler":0,"prog_type":"No PTY","tmc":{"message":{"coordinates":[{"lat":46.25888,"lon":14.67968}],"description":"Single alternate line traffic.","direction":"both","event_codes":[513],"extent":"+0","location":31082,"road_name":"Menge\u0161 - Braslov\u010de","road_number":"225","update_class":5,"urgency":"none"}},"tp":true}
{"pi":"0x9202","group":"8A","bler":0,"prog_type":"No PTY","tmc":{"message":{"coordinates":[{"lat":46.03547,"lon":14.84292}],"description":"Single alternate line traffic.","direction":"both","event_codes":[513],"extent":"+0","location":41113,"road_name":"Litija - Bi\u010d","road_number":"416","update_class":5,"urgency":"none"}},"tp":true}
{"pi":"0x9202","group":"8A","bler":0,"prog_type":"No PTY","tmc":{"message":{"coordinates":[{"lat":46.41153,"lon":15.79268}],"description":"Closed due to roadworks.","direction":"both","event_codes":[735],"extent":"+0","location":33794,"road_name":"Fram - Kidri\u010devo","road_number":"711","update_class":5,"urgency":"U"}},"tp":true}

Hint: Menge\u0161 - Braslov\u010de is Mengeš - Braslovče
Austria
$ rtl_fm -M fm -l 0 -A std -p 0 -s 171k -g 20 -F 9 -f 90.4M | redsea -E -l /media/andreas/Data/ut/TMC/AUT/AT_103_E0_A_1_3.5_LTEF | fgrep '\'
[...]
{"pi":"0xA203","group":"8A","bler":0,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":46.62345,"lon":13.90805},{"lat":46.62485,"lon":13.92305},{"lat":46.6217,"lon":13.94266}],"description":"Delays of up to 5 minutes.","direction":"both","event_codes":[1601],"extent":"+2","location":49031,"road_name":"K\u00e4rntner Stra\u00dfe","road_number":"B83","span_from":"Zauchen","span_to":"A2 - Wernberg","update_class":20,"urgency":"none"}},"tp":true}
{"pi":"0xA203","group":"8A","bler":0,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":48.0055,"lon":13.67472}],"description":"Closed due to roadworks.","direction":"both","event_codes":[735],"extent":"-0","location":42179,"road_name":"Hausruck Stra\u00dfe","road_number":"B143","update_class":5,"urgency":"U"}},"tp":true}
{"pi":"0xA203","group":"8A","bler":0,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":47.79785,"lon":13.398},{"lat":47.81628,"lon":13.36415}],"description":"Single alternate line traffic. Construction work.","direction":"single","event_codes":[513,803],"extent":"+1","location":36918,"road_name":"Mondsee Stra\u00dfe","road_number":"B154","span_from":"Ober\u00f6sterreich / Salzburg","span_to":"Plomberg","update_class":5,"urgency":"none"}},"tp":true}

Hint: K\u00e4rntner Stra\u00dfe is Kärntner Straße
This seems to be in redsea/src/tmc/locationdb.cc lines 65ff.

Thanks! Just for reference, I think I need to embed a newer version of jsoncpp and enable emitUTF8 https://stackoverflow.com/questions/50637362/how-can-i-ask-jsoncpp-to-encode-unicode-strings

See if this helps! I quickly tested by converting one of the location tables I have into UTF-8, and it printed the names fine.

Yes, this works now :-)
$ rtl_fm -M fm -l 0 -A std -p 0 -s 171k -g 20 -F 9 -f 90.4M | redsea -E -l /media/andreas/Data/ut/TMC/AUT/ | grep ß
[...]
{"pi":"0xA203","group":"8A","bler":2,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":47.79785,"lon":13.398},{"lat":47.81628,"lon":13.36415}],"description":"Single alternate line traffic. Construction work.","direction":"single","event_codes":[513,803],"extent":"+1","location":36918,"road_name":"Mondsee Straße","road_number":"B154","span_from":"Oberösterreich / Salzburg","span_to":"Plomberg","update_class":5,"urgency":"none"}},"tp":true}
{"pi":"0xA203","group":"8A","bler":0,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":47.40637,"lon":12.9732}],"description":"Single alternate line traffic. Construction work.","direction":"single","event_codes":[513,803],"extent":"-0","location":31015,"road_name":"Hochkönig Straße","road_number":"B164","update_class":5,"urgency":"none"}},"tp":true}
{"pi":"0xA203","group":"8A","bler":0,"prog_type":"Pop music","tmc":{"message":{"coordinates":[{"lat":46.56004,"lon":13.27568}],"description":"Closed. Construction work.","direction":"both","event_codes":[401,803],"extent":"-0","location":6723,"road_name":"Nassfeld Straße","road_number":"B90","update_class":5,"urgency":"U"}},"tp":true}

$ rtl_fm -M fm -l 0 -A std -p 0 -s 171k -g 20 -F 9 -f 104M | redsea -E -l /media/andreas/Data/ut/TMC/SVN/ | grep š
[...]
{"pi":"0x9202","group":"8A","bler":4,"prog_type":"No PTY","tmc":{"message":{"coordinates":[{"lat":46.48195,"lon":15.65783}],"description":"Slip road restrictions.","direction":"single","event_codes":[409],"extent":"-0","location":30136,"road_name":"Maribor - Gruškovje","road_number":"A4","update_class":7,"urgency":"none"}},"tp":true}
{"pi":"0x9202","group":"8A","bler":17,"prog_type":"No PTY","tmc":{"message":{"coordinates":[{"lat":45.93114,"lon":14.06465}],"description":"Single alternate line traffic.","direction":"both","event_codes":[513],"extent":"+0","location":44444,"road_name":"Godovič - Ajdovščina","road_number":"207","update_class":5,"urgency":"none"}},"tp":true}

I'll close this issue.


Remove line number from the message

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.16%. Comparing base (e10fa37) to head (b7288ed).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1131   +/-   ##
=======================================
  Coverage   95.16%   95.16%
=======================================
  Files         102      102
  Lines       10236    10236
=======================================
  Hits         9741     9741
  Misses        346      346
  Partials      149      149

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


add: missing a language? reach out to us if you want to help translate the app

idea: add a button in the app that would show the tip in the title

I'd like to help with translation.

which language do you want to translate the app into?
the goal of this ticket is initially to suggest for people who want to translate the app to reach out to us through the app

I want to translate into Swahili

it's already translate to Swahili. it will be available in the next version.
I believe you can see the traduction here: https://transifex.com/galoy

Alright. I'll find another issue to work on since Swahili is 98% done.

Can we also add Hindi (hi)  in it ?

Can we also add Hindi (hi) in it ?

what are you suggestions @nicolasburtey

do you want to do the translation? you can join here @Yashsomalkar https://www.transifex.com/galoy/bitcoin-beach-wallet

I know about this @nicolasburtey , But it doesn't have the language I am targeting.

do you want to do the translation? you can join here @Yashsomalkar https://www.transifex.com/galoy/bitcoin-beach-wallet

 I know about this @nicolasburtey , But it doesn't have the language I am targeting.

ok Hindi should now be available @Yashsomalkar

Yes Thanks working on it.


Email Bone must not be empty, even if required=False is set.

Email Bone must not be empty, even if required=False is set.

I can confirm this issue, also with stringBone(required=True)

This is fixed in #81


SUN-10K-SG01HP3-EU-AM2 no values

Inverter SUN-10K-SG01HP3-EU-AM2
Config deye_hybrid.yaml
The config flow says "success".
But all entities show "unknown".
Seems like the config is different for hybrid high voltage inverters?
The sunsyk addon has the same problem with their stable version,  only the dev version provides  deye high voltage definitions.

Try this
https://github.com/StephanJoubert/home_assistant_solarman/files/15198330/SUN-10K-SG01HP3-EU-am2.zip
Works for me on the same inverter

ok ... but how?
I unzipped the file and copied it to ../custom_components/solarman/inverter_definitions/
restartet HomeAssistant
--> the file does not show up in the configuration dialog for the inverter
just to be sure, I renamed the file to all lower case, but (as expected) no luck either.
So, how to use it?
furthermore:
I had a look at that file (as it is quite a bit smaller than deye_hybrid.yaml) and sure enough, there are quite a few things missing, namely the "Time of Use" data, inverter connecting status and others. And it has definitions for only one battery, but the inverter can use two batteries.

change name to custom_parameters.yaml and it should work, that inverter file is based on deye-sg04lp03 lp and hp versions are a bit different

The full register list is this
MODBUSRTU三相高压储能通信规约V104（高压）(3)(1)1111_SG01-HP3-AM2.pdf

Is anything working for You ???
I got that inverter and I modified this file from LP version ... yeah "Time of use is unknown" I don't need it so I didn't try to write it in file .... I got only 1 battery so 1 battery is working.
If You don't have anything remove all and add from the begining

Yes, connection works now, thanks!

deye_hybrid_inverter .zip
This definition is tested with this invertor SUN-10K-SG04LP3, most of the data fields work as expected. Install by overwriting the same file in the \config\custom_components\solarman\inverter_definitions folder, works also after the solarman is installed. Then restart your homeassistent and you are good to go.

Hello, how did you get this file. I do have a Deye SUN-15K-SG01HP3-EU-AM2 and trying to figure out how to make it work

ok ... but how?
I unzipped the file and copied it to ../custom_components/solarman/inverter_definitions/ restartet HomeAssistant --> the file does not show up in the configuration dialog for the inverter
just to be sure, I renamed the file to all lower case, but (as expected) no luck either.
So, how to use it?
furthermore: I had a look at that file (as it is quite a bit smaller than deye_hybrid.yaml) and sure enough, there are quite a few things missing, namely the "Time of Use" data, inverter connecting status and others. And it has definitions for only one battery, but the inverter can use two batteries.

Hi together,
where can I find that ..../custom-components/....directory???


Extension causes high cpu load

Issue Type: Performance
Extension Name: csharp
Extension Version: 1.17.1
OS Version: Linux x64 4.18.0-15-generic
VSCode version: 1.31.0

ms-vscode.csharp-unresponsive.cpuprofile.txt
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

@nbonacchi Can you try upgrading to the latest mono version as suggested here and checking if the problem still persists.
Also, we have a beta release containing major improvements on the code load times. You can install it by following the instructions here. Please let us know if that helps.

I have this same issue with Mono 5.18.

Issue Type: Performance
Extension Name: csharp
Extension Version: 1.18..0-beta7
OS Version: Windows_NT x64 10.0.17134
VSCode version: 1.31.0 (user setup)

Here's my omnisharp configuration:

@jrieken I downloaded the profile above that @joshampton uploaded and 96% of the time is consumed by (program). As per https://stackoverflow.com/questions/3847954/what-is-program-in-chrome-debugger-s-profiler this is the program itself. Does that mean it is vscode that is consuming time here ?

Hard to say, generally it should be understood as time is spend outside JS-land, eg inside native land. This can be garbage collection or IPC message overflow. If you zoom in a lot you that some calls are interleaved with something I suspect as omnisharp message handling. Would it be possible that the omnisharp server send a lot of data?

@jrieken Yeah omnisharp pushes a lot of messages and that might be the reason for this. I will investigate further into this. Thanks!

Does anyone have any recommendations for a workaround? I've got both Windows and Mac users on my team that are experiencing issues.

@floyd-may I suspect the slow down maybe because omnisharp is sending a lot of messages. Could you try setting "omnisharp.loggingLevel" : error and restart vscode. That way it will only log error messages and might be faster

After a couple hours (I set it to warning because I have issues with following instructions 🙃 ) it's behaving better. Seems to be a reasonable workaround. I'll report back if I have more issues.

despite setting the logging level to error, I'm still running into the same symptoms. Curiously, I'm running into this on my mac at work. Curiously it looks like mono-sgen64 is eating a ton of CPU.

despite setting the logging level to error, I'm still running into the same symptoms. Curiously, I'm running into this on my mac at work. Curiously it looks like mono-sgen64 is eating a ton of CPU. It seems to be triggered by intellisense. If I just type and never hit ctrl+space it seems to be fine.

I am having the same.

I get the same with #3336

I got this horribly with recent versions of VS Code inc. 1.40.2 on Ubuntu 18.04
I installed mono globally and set VS Code's extension to always use it.
OmniSharp server started with Mono 6.4.0.
    Path: /home/xyz/.vscode/extensions/ms-vscode.csharp-1.21.8/.omnisharp/1.34.8/omnisharp/OmniSharp.exe

@rhyswat did it fix things?

@michaelstaib yes, so far so good. I've only just done it, but VS Code is now useable again.

@rhyswat thanks for your feedback. Will try it out. It is sometimes strange these CPU peaks come and go. I have some files that I cannot open in VSCode, or if I do then the mono exe goes wild. Really annoying. Will try out if that works.

This seems to have worked for me too.
On MacOS:

Download mono.
Open: /Users/yourname/Library/Application Support/Code/User/settings.json
Add the following tags:
"omnisharp.useGlobalMono": "always",
"omnisharp.monoPath": "/Library/Frameworks/Mono.Framework/Versions/Current/",

@michaelstaib exactly the same problem, only on some files, the cpu for the mono process goes up incredibly, did you then manage to solve it by putting mono global?

A lot has changed with O# and mono since this issue was opened. If you are still seeing problems, please open a new issue.

I have for the most part abandoned O# for JetBrains Rider. However, this is the second issue today that I've seen closed for the same reasons, and it gives me a little bit of hope. If I were to consider switching back, is there a good place to look for advice on how to do that?

@floyd-may I don't have a good resource off hand but happy to share some details. Also see the Getting Started guide.
The 2.x version of the C# extension now defaults to using Roslyn's LSP. This should provide more VS like intellisense as it is mostly the same code driving VS. The focus is on .NET projects but there is still support for .NET Framework. There is also a C# DevKit extension which aims to provide even more VS functionality (Solution Explorer, Project/File Templates, Test Runner, etc..) but that is optional.
If you are not using the C# DevKit and prefer O# to Roslyn, you can configure dotnet.server.useOmnisharp to true in settings. I recommend also setting omnisharp.useModernNet to true, if you are working with SDK-style projects. Generally the speed and stability is much better when the language server is running on .NET as it does for Roslyn LSP and O# (modern).


Needs tests

Needs unit tests for the server part

added a few tests to spin up things.. software needs a little refac for better testibility..


Investegation of Abstract DTO to Extend Entity

not possible, DTO  if needed you can create your DTO. And also need to create a Assembler Class according the DTO.  see demo : BookAssembler


mouse cursor turn black box when "pointer shadow" is enabled in win2012 and 2016

I used the latest xrdp to connect windows 2012 server. When I enabled pointer shadow, the cursor turn to a black box. When I disabled pointer shadow, the cursor turn normal.
Open Mouse Properties in Control Panel, click "Enable pointer shadow" and apply. The cursor immidiately turns a black box. If untick the "Enable pointer shadow", the cursor will turn normal.
Windows 2016 server has the same issue.
I tried enable the "PERF_DISABLE_CURSOR_SHADOW" flag in instance->settings->performance_flags in xrdp-neutrinordp.c, and it did not help.

I see this too recently too.  I'll take a look.