neonKUBE setup failing: [db-citus-postgresql.neon-system] host not found

Cluster setup stopped working after I refactored setup to remove the Harbor/Grafana setup jobs and relocated this code to Neon.Kube.Setup.  I investigated and discovered two problems:

[x] There were a couple problems with reusing the same idempotent actionID for different operations that would cause the read-to-go setup code that generates a new password as well as some wait for code to be ignored.  I've fixed both of these.

[ ] Setup is failing with this entry in the cluster.log:

===============================================================================
STEP 12: setup cluster

System database connection string: [Host=db-citus-postgresql.neon-system;Port=5432;Username=neon_admin;Password=97eCIQaxc09aBOkSO19p;Database=postgres]
STATUS: *** ERROR: [System.Net.Sockets.SocketException]: No such host is known.

*** ERROR: [System.Net.Sockets.SocketException]: No such host is known.
*** STACK:
   at System.Net.NameResolutionPal.ProcessResult(SocketError errorCode, GetAddrInfoExContext* context)
   at System.Net.NameResolutionPal.GetAddressInfoExCallback(Int32 error, Int32 bytes, NativeOverlapped* overlapped)
--- End of stack trace from previous location ---
   at Npgsql.TaskExtensions.WithCancellation[T](Task`1 task, CancellationToken cancellationToken)
   at Npgsql.TaskExtensions.WithTimeout[T](Task`1 task, NpgsqlTimeout timeout)
   at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
   at Npgsql.Internal.NpgsqlConnector.RawOpen(SslMode sslMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|193_1(NpgsqlConnector conn, SslMode sslMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.ConnectorPool.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.ConnectorPool.<Get>g__RentAsync|31_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|45_0(Boolean async, CancellationToken cancellationToken)
   at Neon.Kube.KubeSetup.CreateSystemDatabaseAsync(ISetupController controller, String name, String username, String password) in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 3982
   at Neon.Kube.KubeSetup.<>c__DisplayClass113_0.<<SetupGrafanaAsync>b__0>d.MoveNext() in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 4036
--- End of stack trace from previous location ---
   at Neon.Kube.NodeSshProxy`1.InvokeIdempotentAsync(String actionId, Func`1 action) in C:\src\neonKUBE\Lib\Neon.Kube\Proxies\NodeSshProxy.cs:line 529
   at Neon.Kube.KubeSetup.SetupGrafanaAsync(ISetupController controller, NodeSshProxy`1 master) in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 4029
   at Neon.Kube.KubeSetup.SetupClusterAsync(ISetupController controller, Int32 maxParallel) in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 303
   at Neon.Kube.SetupController`1.<>c__DisplayClass34_0.<<ExecuteStep>b__6>d.MoveNext() in C:\src\neonKUBE\Lib\Neon.Kube\SetupController\SetupController.cs:line 927

The problem looks like the db-citus-postgresql service has no pods selected.  Here's the service description:

and here's the labels for the master pod which seems like it wild cause the master pod to be selected:

The worker pod looks OK too.  I'm just learning this stuff so I'm not sure why the service selects no pods.

FIXED


Enable xdebug in dev versions

For the development versions only:

in php.ini, in the XDebug section, uncomment and configure:

zend_extension = "C:\xampp\php\ext\php_xdebug-2.6.1-7.2-vc15.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.trace_output_dir = "C:\xampp\tmp"

in install.bat
Include the latest php_xdebug.dll file and copy it to C:\xampp\php\ext
Get from  https://xdebug.org/files/php_xdebug-2.6.0-7.2-vc15.dll

also recommend that developers get a copy of QCacheGrindWin for performance analysis.
https://sourceforge.net/projects/qcachegrindwin/

None of this would be included in the production version.

My recommendation is duplicate the /conf/php.ini file and call it php-dev.ini.  Also put the dll file in the /conf folder.  Then in the install.bat file ask if this is a "development" installation.  If so, copy the dll to the appropriate directory and the php-dev.ini instead of the regular php.ini file.  This is going to be the cleanest way to do it.
Then I would just put in a note in the install suggesting they install QCacheGrindWin (providing a link if it is a dev install).

Fixed.


Add Windows and Mac to CI + run it on any branch.

This PR adds Windows and MacOS to the CI (addressing issue https://github.com/xKDR/TSx.jl/issues/74). Also, a change has been made so that the CI runs on pushing/pull request to any branch.

Codecov Report

Merging #77 (054f805) into main (7aaa5dc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #77   +/-   ##
=======================================
  Coverage   33.33%   33.33%
=======================================
  Files          15       15
  Lines         243      243
=======================================
  Hits           81       81
  Misses        162      162

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update GTM service ID for production

:warning: Pending a green light from Shivani

Trello card
Trello-1490
Context
We are using a new container when going into public beta in order to differentiate the metrics from private beta.
Changes proposed in this pull request

Update GTM service ID for production

Guidance to review

Shivani confirmed this is no longer needed.


Distinguish between compiler failure and user code error in compiler return code

Quick Summary:
I'd like to be able to distinguish between a compiler failure and an error in my elm code.  Then I could write a bash script to automatically delete elm-stuff and retry.
For example, both of these scenarios return the same error, '1':
-- PARSE ERROR -------------------------------------------------- src/Dialog.elm

Something went wrong while parsing your code.

31| dmMap : DMsg a -> (a -> b) -> DMsg b
    ^
I was expecting to see more indentation? I was not done with that last thing
yet.

The return code from the executable here is '1'.
elm: not enough bytes
CallStack (from HasCallStack):
  error, called at libraries/binary/src/Data/Binary.hs:212:21 in binary-<IP_ADDRESS>:Data.Binary

The return code here is also '1'.  If it was '2', or '127' I could remove the elm-stuff and try again.

Feels very hacky, removing elm-stuff does not gurantee your problem to be gone.
Anyway, did you try to run elm make with --report=json? I think that has at least two types of errors compile-errors and error.
https://github.com/elm/compiler/blob/822401199c103a1567f2d208a9e8014740e4732e/builder/src/Reporting/Exit/Help.hs#L94

Yep its a hack, but in my case its pretty consistent - if there was a code error last time I compiled, its 90% certain I'm going to need to delete elm-stuff, in one particular project anyway.
For now I can tee the output into a file and search that file for the not-enough-bytes message.  report=json would be better for that, but then I wouldn't have the human readable output.

What I'm trying to say is, I don't believe that the compiler should cater to a hack. Better would be to fix the underlying issue.
The error you mentioned here should be fixed in 0.19.1

Fair enough!  I have a solution that works for me for now.

One point to note here is the compiler error doesn't produce valid json for me, at least on 0.19.0.  Its just the regular human readable error.

Is the "not enough bytes" issue resolved with 0.19.1?
(As an aside, this appears to happen for 0.19.0 users who have VSCode or some editor where it runs multiple elm calls simultaneously for a single project. Even if this is fixed by 0.19.1 the authors of the relevant plugins or build tools should avoid doing this!)

I haven't upgraded yet!  I'll check it soon.

Ok I upgraded and its looking good!
Also the compile is WAY faster than before - my problem project built pretty slowly under 0.19.0, but the incremental build on 0.19.1 is super quick.  I have some "type classes" with type parameters that are used all over the place and I blame those (without hard evidence) for the previous slow compiling.  That seems to be a non-issue now.  Under 0.19.1, the initial compile did take about as long as 0.19.0 - 15 or 20 seconds - but the incremental builds are almost instantaneous.  Sweet!


Removing unused property from ArcData\SqlServerInstance resource type - was in 2022-03-01-preview version only

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify
Removing a property that was introduced recently in a specific version (2022-03-01-preview) only - the UserRP that utilizes this API version is not launched yet, so we want to clean it up before it goes live

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
April

When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
April 5th

If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that label "WaitForARMFeedback" will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to [Retirement of Previews]
[ ] (https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37683/Retirement-of-Previews))
[x] Removing a newly introduced single property in a preview version - RP not launched yet
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.

Please follow the link to find more details on PR review process.

@dw511214992  - Please note that while this flags as a breaking change -it is not customer impacting as the UserRP is not yet launched (that targets this specific version) - this change was introduced recently for a preview version (2022-03-01-preview) for a feature but later in the implementation , we realized this additional property is not needed on the resource and hence raising this PR to clean it up - request you to please review and approve accordingly - will also initiate the breaking change process - assuming its still needed? Let me know if any concerns - thanks!

@dw511214992  - created intake request for breaking change https://msazure.visualstudio.com/One/_workitems/edit/13966880


[BUG] - Adding Site Collection Admins using Set-PnPTenantSite throws unauthorized error

Notice
Many bugs reported are actually related to the PnP Framework which is used behind the scenes. Consider carefully where to report an issue:

Are you using Invoke-PnPSiteTemplate or Get-PnPSiteTemplate? The issue is most likely related to the Provisioning Engine. The Provisioning engine is not located in the PowerShell repo. Please report the issue here: https://github.com/pnp/pnpframework/issues.
Is the issue related to the cmdlet itself, its parameters, the syntax, or do you suspect it is the code of the cmdlet that is causing the issue? Then please continue reporting the issue in this repo.
If you think that the functionality might be related to the underlying libraries that the cmdlet is calling (We realize that might be difficult to determine), please first double check the code of the cmdlet, which can be found here: https://github.com/pnp/powershell/tree/master/src/Commands. If related to the cmdlet, continue reporting the issue here, otherwise report the issue at https://github.com/pnp/pnpframework/issues

Reporting an Issue or Missing Feature
Reporting an issue with setting owners for a sitecollection using Set-PnPTenantSite
Expected behavior
Adding a user with SharePoint Admin role to all the site collections as admin using Set-PnPTenantSite -Identity <> -Owners <> cmdlet
Actual behavior
Get an error "Set-PnPTenantSite: Attempted to perform an unauthorized operation."
Steps to reproduce behavior
Run under a context of user with SharePoint Admin role assigned
Use Connect-PnPOnline to connect to SiteCollection to which the admin should be added as SiteCollectionAdmin
Use Set-PnPTenantSite to add a user as SiteCollectionAdmin
Error : "Set-PnPTenantSite: Attempted to perform an unauthorized operation."
What is the version of the Cmdlet module you are running?
1.6.26-nightly
Which operating system/environment are you running PnP PowerShell on?

[ ] Windows
[ ] Linux
[ X] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

@sairao77 , @siddharth-vaghasia - I think this is by design as follows the same behavior as that in UI. You need to an admin of the site collection to add other admins.

@gautamdsheth   - In my case, I am first connecting to SharePoint Admin URL with user credential who is SharePoint Admin... and so ideally all future commands should run under the context of the SharePoint Admin....
Also, I can confirm that the same script and command works fine in the legacy module 'SharePointPnPPowerShellOnline'... For now, I have moved to the older module...it is just I think the same thing should supported in the new version also....
Function SetUserPermission(){
    try{
        Write-Host "Setting User Permission..." -ForegroundColor Yellow
        Connect-PnPOnline -Url https://tenant-admin.sharepoint.com/ -Credentials $Credentials
         Set-PnPTenantSite -Url https://tenant.sharepoint.com/sites/TestSiteWithoutAccess -Owners<EMAIL_ADDRESS>        Write-Host "Setting User Permission Successful..." -ForegroundColor Yellow
    }
    catch{
        Write-Host "Error in setting user permission'" $_.Exception.Message -ForegroundColor Red
    }
}

@gautamdsheth - Adding on to what @siddharth-vaghasia stated. According to the docs link below we would use Set-PnPTenantSite when we are not a site collection admin of the site and use Add-PnPSiteCollectionAdmin if we are already an admin on that SC.
[https://docs.microsoft.com/en-us/powershell/module/sharepoint-pnp/add-pnpsitecollectionadmin?view=sharepoint-ps]

I'm seeing this same behavior since updating to the latest Pnp.Powershell module. Previously this script worked fine, but now its throwing unauthorized even though I'm logged in as a Sharepoint Admin:
PS C:\PowerShell> Set-PnPTenantSite -Identity $OneDriveSiteUrl -Owners $adminEmail
Set-PnPTenantSite : The remote server returned an error: (401) Unauthorized.
At line:1 char:1

Set-PnPTenantSite -Identity $OneDriveSiteUrl -Owners $adminEmail

Something clearly changed in the last update, as with 1.6 it was working and now 1.7 is throwing this error, and my code hasn't changed.

I'm having the same Problem trying to update the sharing permissions for SiteCollections.
I'm running my Script under SharePoint App-only principal with tenant permissions
image
The script was running for month now but stopped working 2-5 days ago. With 401 error.
I even tried to create a new App permission, but it's giving me the same error.
I was able to pin-point the problem even further for me.
This call is working fine:
Set-PnPTenantSite -Identity https://$($tenantName).sharepoint.com/sites/$($EMail) -SharingAllowedDomainList "xxx.com,YYY.com" -SharingDomainRestrictionMode AllowList
but if I include -SharingCapability ExistingExternalUserSharingOnly as needed, I get a 401 message.
Seems to be really strange, that just one parameter isn't working, as of last week

The issue still can be reproduced by using the following cmdlet and throwing Unauthorized or Forbidden Error.
Set-PnPTenantSite -Identity https://domain.sharepoint.com/sites/mysite1 -Owners<EMAIL_ADDRESS>Same with using Set-PnPSite
Set-PnPSite -Identity https://domain.sharepoint.com/sites/mysite1 -Owners<EMAIL_ADDRESS>I hope this can be fix soon as we got stuff running in the background using the cmdlets

I'm experiencing the same issue. I'm using an account with SharePoint admin role and perform this action using UI but not PnP version 1.7.0
Use the following steps to reproduce the issue:

Connect-PnPOnline -Url "https://yourtenant-admin.sharepoint.com" -UseWebLogin (i'm using MFA enabled account)
Set-PnPTenantSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" -Owners<EMAIL_ADDRESS>
I get the following error:
Set-PnPTenantSite : The remote server returned an error: (403) Forbidden.

Any updates? It seems this has been open awhile now with no action or response. We are thinking of moving off of PnP back to SharePoint Online Module as we don't want to manually assign owners to 300 sites that have been created during the time we've been waiting for this to get addressed.

@TA1973 - This is a community driven module, so there's no ETA on resolving issues as we also have day jobs or unforeseen priorities, but we usually do our best. If the SharePoint Online module works, then that's at least an immediate solution for you. Feel free.

Issue has been fixed, please try with the latest nightly and reopen this if it still exists !

This was resolved as of version 1.8.0, but is somehow an issue again in v1.10.0. Was this fix inadvertently reverted?

This issue still exists in 1.12.0

I have the same issue in PnP.PowerShell 2.4.0 Version,
how to bypass this?
i need to add one group of my "SharePoint Online Admins" to all my site collection, someone know a workaround?

I've just started getting this issue today - it was working yesterday, I don't know what has changed.
PnP.PowerShell v2.4.0.

I thought I was having an issue with this, but it turns the LockState property on some of the SharePoint sites was set to "ReadOnly", so no changes could be made (including adding or removing admins).  Setting it back to "Unlock" got it working.

It's 2024, I'm on PnP 2.12.0, and I'm here searching for the same issue... Anyway, I managed to find a workaround.
Suppose you have PowerShell variables:

$adminCentreUrl: your admin centre, e.g. https://contoso-admin.sharepoint.com
$siteUrl: your site URL, e.g. https://contoso.sharepoint.com/teams/mysite
$clientId: client ID for use with PnP with appropriate permissions

You also need to know the GUID of the account or group you want to use, so you can build a claims account name.
Then you can try code like this:
Connect-PnPOnline $adminCentreUrl -Interactive -ClientId $clientId $siteAdminClaims = "c:0t.c|tenant|c560df76-1b93-405d-a379-6f12b8c1816b" $context = Get-PnPContext $tenant = New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant $context $context.Load($tenant) $context.ExecuteQuery() $tenant.SetSiteAdmin($siteUrl, $siteAdminClaims, $true) | Out-Null $context.ExecuteQuery()


[ERROR] [OpenManipulator Chain Custom]fail to solve inverse kinematics

Use_platform: OpenManipulator + OpenCR + Intel D435 i+ TX2 + ubuntu16.04
I  tested the pick and place demo . I got an error when program executed to the statement    kinematics_position.push_back(ar_marker_pose.at(i).position[0]);.
Program can't finsh the pick action,and show the error tip
~$ roslaunch open_manipulator_controller open_manipulator_controller.launch
... logging to /home/ubuntu/.ros/log/cca307de-c101-11ea-a659-00044b8d772a/roslaunch-ROS-15870.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://localhost:45921/

SUMMARY
========

PARAMETERS
 * /open_manipulator_controller/control_period: 0.01
 * /open_manipulator_controller/using_platform: True
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    open_manipulator_controller (open_manipulator_controller/open_manipulator_controller)

auto-starting new master
process[master]: started with pid [15880]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to cca307de-c101-11ea-a659-00044b8d772a
process[rosout-1]: started with pid [15893]
started core service [/rosout]
process[open_manipulator_controller-2]: started with pid [15908]
port_name and baud_rate are set to /dev/ttyACM0, 1000000
Joint Dynamixel ID : 11, Model Name : XM430-W350
Joint Dynamixel ID : 12, Model Name : XM430-W350
Joint Dynamixel ID : 13, Model Name : XM430-W350
Joint Dynamixel ID : 14, Model Name : XM430-W350
Gripper Dynamixel ID : 15, Model Name :XM430-W350
[INFO] Succeeded to init /open_manipulator_controller
[ERROR] [OpenManipulator Chain Custom]fail to solve inverse kinematics
[ERROR] [TASK_TRAJECTORY] Fail to solve IK
[ERROR] [OpenManipulator Chain Custom]fail to solve inverse kinematics
[ERROR] [TASK_TRAJECTORY] Fail to solve IK
[ERROR] [TxRxResult] There is no status packet!
[ERROR] groupSyncRead getdata failed
[ERROR] [TxRxResult] There is no status packet!
[ERROR] groupSyncRead getdata failed
[ERROR] [TxRxResult] Incorrect status packet!
[ERROR] groupSyncRead getdata failed
[ERROR] groupSyncRead getdata failed
[ERROR] groupSyncRead getdata failed
[ERROR] [OpenManipulator Chain Custom]fail to solve inverse kinematics
[ERROR] [TASK_TRAJECTORY] Fail to solve IK

What causes this situation in general, and how should I do？
I don't know much about robot arm，and looking forward to your reply.

I found if the X value of position exceed 2.0 ,the error message  "fail to solve inverse kinematics"  will appear in terminal of open_manipulator_controller ｗhether on tx2 or PC .The arm can't move normally to the corresponding position on TX2 but it can move normally on PC.

Hi @EndlessLoops
I sincerely apologize about super delayed response on this. While I was skimming through the remaining issues, I noticed that this has been slipped through our attention.
ROS uses a metric system and for coordinates, it uses [meter].
If the position of the AR marker is 2.0 meter away from manipulator, it is too far and the Inverse Kinematics(IK) of manipulator to reach to the marker cannot be generated/solved.

Thanks for your rely.
After I tested it many times, this error occasionally appeared, even if the position of ar was within the grasping range of the arm.Sometimes it can't move to grap the ar pose in the demo testing and it show the error.I think the reason is that the feedback coordinates of ar is sometimes inaccurate.

@EndlessLoops
Thank you for the updates.
Due to the limited degree of freedom (4DOF + Gripper), certain pose that needs yaw rotation of the gripper cannot be made even within the range of the arm.
In order to solve IK for most cases, at least 6 DOF is required.

Objects in the video are aligned so that the gripper can solve the IK to reach the object.


summon description should include unit prices

Gives that knowing that a soldier costs 20 gold is essential to buying the soldier with the summon function I advocate that the description should include a reference to the price of the unit.

Until such time:
if self.costOf(unitType):    # where unitType is "soldier", "archer", etc
    self.summon(unitType)

I can mess with this, are we talking about on the Boss Stars?


[LM-1357] Initial implementation 0.1.0

PR Checklist

Which ticket is this associated with?

Closes LM-1357

Where can we test this?

http://SUBDOMAIN.dev.rentdynamics.com

Additional Notes

NOTES

Dev Checklist (Code Reviewer is responsible for filling this out or providing a brief explanation why it isn't necessary)

[ ] Verify that code is tested appropriately
[ ] Verify that all critical algorithms work as intended

Frontend Concerns

[ ] Evaluate all calls to the DB are efficient
[ ] Ensure nullable values are treated as such and handled appropriately
[ ] Ensure any values returned for the DB are cached and reused
[ ] Evaluate any code that is run by a Pusher event is very clean and very necessary

Q/A Checklist (QA is responsible for filling this out or providing a brief explanation why it isn't necessary)

[ ] Appropriate test plan has been updated with all testing performed
[ ] Review that solution matches JTBD

Frontend Concerns

[ ] Review that solution matches mockup
[ ] Verify solution doesn't allow rage clicking of buttons

Can we .gitignore the nugets folder so that we're not checking in those binaries into github
That 'nugets' folder is a left-over after my testing. I have removed that folder and added it to .gitignore.

@dmitry-vychikov
Will you add 2 more examples of how to use the API for the AppointmentDays and AppointmentTimes endpoints in the README file? We have a client who will be using those endpoints and we want to be sure they fully understand how it is invoked and what to expect in the response.

@dmitry-vychikov
Will you add 2 more examples of how to use the API for the AppointmentDays and AppointmentTimes endpoints in the README file? We have a client who will be using those endpoints and we want to be sure they fully understand how it is invoked and what to expect in the response.

I have implemented a new section in the readme file: https://github.com/RentDynamics/rentdynamics-cs/tree/dev#endpoint-usage-examples.
I added some xml docs for AppointmentResource methods. Please, take a look and let me know if looks okay: https://github.com/RentDynamics/RentDynamics-cs/blob/092a8b3f7c38da77b4cb3358cae402b632b09045/RentDynamics.RdClient/Resources/Appointment/AppointmentResource.cs

@davegines I tried to do some testing while splitting AppointmentTimes endpoint into 2 methods.
/appointmentTimes/42?appointmentDate=08/01/2020&utc=True
Response:
[
    "2020-09-16T08:00:00-0600",
    "2020-09-16T08:15:00-0600",
    "2020-09-16T08:30:00-0600",
    "2020-09-16T08:45:00-0600"
]

The response is not actually in UTC. The dates contain -0600 offset, so it is local time. A date should have a zero offset to be called a UTC date. Of course, C# DateTime treats these values as local dates, not UTC.
I queried the API for 08/01/2020 appointment date, however, I got 2020-09-16 date in the response which does not seem right.

/appointmentTimes/42?appointmentDate=08/01/2020&utc=False
[
    "02:00 AM",
    "02:15 AM",
    "02:30 AM",
    "02:45 AM",
]

The issue with that response is that we do not know which timezone it is. We imply that it is the community local, but which one is it actually? I'm not sure what scenarios the endpoint is used for. If our consumers don't need to know the actual timezone and what they need is just get the values and display them on the UI, then we are good. But if they need to do any datetime calculations, they might not be able to do it unless they know the timezone.
Comparing 2 responses
2 responses should contain values corresponding to the same moments in time but represented in different formats.
Let's take the first lines of 2 responses and compare them:
08:00:00-0600 and 02:00 AM
Assuming that the timezone is -0600 (MDT, I believe), I need to add 6 hours to convert that date to UTC.
If I do that: 08:00 + 06:00 = 14:00 (which does not equal 02:00 AM on the other side).
In order to match 08:00 on the left to 02:00 AM on the right, we actually need to subtract 6 hours from 08:00. That would have made sense if the time on the left had 0000 offset. But it does not make any sense right now.
I think that either one of the endpoints (or even both of them) is returning not quite what we expect. Or I'm getting something wrong. Could you please shed some light on that for me @davegines ?

@davegines  I will update the readme to contain information about update AppointmentTimes methods as soon as we resolve the issues I mentioned above.


Bugs found during checklist roundtrip (PR against v0.2.2)

Pull requests into cqm-parsers require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[ ] This pull request describes why these changes were made.
[ ] Internal ticket for this PR:
[ ] Internal ticket links to this PR
[ ] Code diff has been done and been reviewed
[ ] Tests are included and test edge cases
[ ] Tests have been run locally and pass

Reviewer 1:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Codecov Report

Merging #33 into v0.2.x will increase coverage by 0.01%.
The diff coverage is 90%.

@@            Coverage Diff             @@
##           v0.2.x      #33      +/-   ##
==========================================
+ Coverage    83.3%   83.31%   +0.01%
==========================================
  Files          99       99
  Lines        4750     4754       +4
==========================================
+ Hits         3957     3961       +4
  Misses        793      793

Impacted Files
Coverage Δ

lib/qrda-import/base-importers/section_importer.rb
65.59% <0%> (ø)
:arrow_up:

...ement-importers/substance_administered_importer.rb
80% <100%> (+2.22%)
:arrow_up:

...nt-importers/laboratory_test_performed_importer.rb
72.72% <100%> (ø)
:arrow_up:

...ommunication_from_provider_to_provider_importer.rb
80% <100%> (+1.42%)
:arrow_up:

...mport/data-element-importers/diagnosis_importer.rb
76.47% <100%> (ø)
:arrow_up:

...t-importers/diagnostic_study_performed_importer.rb
70.83% <100%> (ø)
:arrow_up:

...communication_from_patient_to_provider_importer.rb
84.61% <100%> (+1.28%)
:arrow_up:

...communication_from_provider_to_patient_importer.rb
84.61% <100%> (+1.28%)
:arrow_up:

Continue to review full report at Codecov.

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


contrib/kafka: use secrets for SASL user and password

Proposed Changes
Change the Kafka source spec to use SecretValueFromSource for user and
password, similar to the GitHub source.
This means the SASL user and password will no longer be stored in cleartext in the KafkaSource resources.
Based on #289 I did not allow for a graceful transition to this new scheme but happy to add it if needed.
Release Note

KafkaSource User and Password are now references to keys in secrets instead of plaintext values. Existing KafkaSource resources will need to be updated.

Wasn't sure how to nicely regenerate config/300-kafkasource.yaml so I did roughly:
cd contrib/kafka
go run ../../vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go all
mv config/crds/sources_v1alpha1_kafkasource.yaml config/300-kafkasource.yaml
# cut out non-relevant changes, add back license header, etc

If there's a better way, please let me know!

Mind adding a section on the readme for this ?

Which one were you thinking?
Did realize I need to update contrib/kafka/samples/event-source.yaml, will do that shortly.

yeah, thanks @danp the readme in the samples and the related yamls doc

IMO it would be nice if some of the new secret bits are captured here:

https://github.com/knative/eventing-sources/tree/810ad72018e4878a20508eb8350a1e8584182f62/contrib/kafka/samples

Also, the docs repo has some high level details on the KafkaSource:

https://github.com/knative/docs/pull/1099/files

I wonder what's best ... if we move the samples/docs to the docs repo and write some real doc for it, explaining all possible config settings ?
Thoughts ?
@samodell @evankanderson @abrennan89

Ok! I did update the sample YAML in https://github.com/knative/eventing-sources/pull/351/commits/810ad72018e4878a20508eb8350a1e8584182f62.
Should we consider further doc changes as part of future PRs? For example, the current sample README doesn't mention SASL at all.

@danp I personally would like to see some more doc here.
I think in the long run we want to have some decent doc for all the sources, including all possible options.
In the long run, I'd like to see all docs mostly in the docs repo, and some short/dev references from here to the docs repo.
Perhaps @samodell  from the docs team has some thoughts here too /cc @abrennan89

@danp btw. mind to rebase, when adding the doc ?
there is a conflict here

/ok-to-test

/lgtm

IMO it's good enough to release note that the User and Password are now references to secrets, instead of not so secure plaintext :joy:
/cc @grantr

/approve


shotcut: 24.06.26 -> 24.08.17

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for shotcut is: Free, open source, cross-platform video editor
meta.homepage for shotcut is: https://shotcut.org
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.08.03 with grep in /nix/store/nqnyyfgx6806ppkrinmz8pgassl5w8hz-shotcut-24.08.03
found 24.08.03 in filename of file in /nix/store/nqnyyfgx6806ppkrinmz8pgassl5w8hz-shotcut-24.08.03

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

shotcut

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nqnyyfgx6806ppkrinmz8pgassl5w8hz-shotcut-24.08.03 \
  --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 shotcut https://github.com/r-ryantm/nixpkgs/archive/10628501c29df85a48b8950b1fb3616cb0470f18.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/10628501c29df85a48b8950b1fb3616cb0470f18#shotcut

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nqnyyfgx6806ppkrinmz8pgassl5w8hz-shotcut-24.08.03
ls -la /nix/store/nqnyyfgx6806ppkrinmz8pgassl5w8hz-shotcut-24.08.03/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:

shotcut

Maintainer pings
cc @woffs @peti for testing.

It is labeled as BETA in https://github.com/mltframework/shotcut/releases/tag/v24.08.03 although it works fine for me

Done in #339270.


Online playground design

Create design for online playground.
Playing around here for now.

Draft in http://codepen.io/jlowgren/full/EVzLLP/


Flaky test: add random suffix to webhooks in CA Injector e2e tests

This PR fixes a flaky test with minimal effort by adding a few random characters to the names of some resources being created.
# from
from-secret-not-allowed-hook

# to
from-secret-not-allowed-hook-k4fp8

Here is the flake: https://prow.build-infra.jetstack.net/view/gs/jetstack-logs/logs/ci-cert-manager-master-e2e-v1-23/1555250074131369984
Reproduce by running this command in two terminals simultaneously:
make e2e GINKGO_FOCUS='.CA Injector'

/kind flake
Signed-off-by: Joakim Ahrlin<EMAIL_ADDRESS>

Release Note

NONE

/lgtm

/hold cancel


Added a method to set the hour, minute, second of a date

I modified it and pushed it in the last update. Thanks. I'm going to close this branch since I just copied and pasted what you had.


Does px-app-route support dynamic urls pattern matching?

I have upgraded my predix web starter app which changes its component  to px-app-route from polymer's app route. The use case is I have a dynamic url of the form https://localhost:5000/#/parkconditions/1013733/1213 where last two parameters are dynamic. As i am not able to find pattern matching in px-app-route which was there in app-route and connect it to px-view accordingly.
Expected: the polymer app route supports pattern matching.
Actual: px app route is not supporting pattern matching

By default, px-app-route uses the app-location element to sync the page state with the window's location, and app-location has a urlSpaceRegex that should allow you to only deal with a dynamic portion of the URL: https://www.webcomponents.org/element/PolymerElements/app-route/elements/app-location#property-urlSpaceRegex


[Device Support Request] Bosch Light/shutter control II (BMCT-SLZ)

Problem description
This device looks like an interesting choice for roller/shutter control. After pairing it via code (as it needs this route to succeed) it is detected as RBSH-MMS-ZB-EU.
The issue is that the device has to modes: lights (2 separate relays for switching lights) or shutter (the firmware prevents both relays being switched on at the same time and allows for shutter-specific settings like timings).
Without setting this mode both options (a cover and two lights) are detected but seem non-functional.
Solution description
Looking at this code I have a basic idea of what value needs to be written to the manufacturer specific cluster to set the mode I am interested in but I have no experience writing quirks. If someone could point me to a quirk with a similar use case (most stuff looks quite okay out of the box but a man. spec. cluster needs to be mapped to two specific settable values) I would love to see what I manage to get together.
Device signature
Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4617, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0202",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0102",
        "0x0702",
        "0x0b04",
        "0x0b05",
        "0xfca0"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "2": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xfca0"
      ],
      "output_clusters": []
    },
    "3": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xfca0"
      ],
      "output_clusters": []
    }
  },
  "manufacturer": "Bosch",
  "model": "RBSH-MMS-ZB-EU",
  "class": "zigpy.device.Device"
}

Diagnostic information
Diagnostic information
{
    "home_assistant": {
        "installation_type": "Home Assistant OS",
        "version": "2023.8.1",
        "dev": false,
        "hassio": true,
        "virtualenv": false,
        "python_version": "3.11.4",
        "docker": true,
        "arch": "aarch64",
        "timezone": "Europe/Vienna",
        "os_name": "Linux",
        "os_version": "6.1.21-v8",
        "supervisor": "2023.08.1",
        "host_os": "Home Assistant OS 10.4",
        "docker_version": "23.0.6",
        "chassis": "embedded",
        "run_as_root": true
    },
    "custom_components": {},
    "integration_manifest": {
        "domain": "zha",
        "name": "Zigbee Home Automation",
        "after_dependencies": [
            "onboarding",
            "usb"
        ],
        "codeowners": [
            "@dmulcahey",
            "@adminiuga",
            "@puddly"
        ],
        "config_flow": true,
        "dependencies": [
            "file_upload"
        ],
        "documentation": "https://www.home-assistant.io/integrations/zha",
        "iot_class": "local_polling",
        "loggers": [
            "aiosqlite",
            "bellows",
            "crccheck",
            "pure_pcapy3",
            "zhaquirks",
            "zigpy",
            "zigpy_deconz",
            "zigpy_xbee",
            "zigpy_zigate",
            "zigpy_znp"
        ],
        "requirements": [
            "bellows==0.35.8",
            "pyserial==3.5",
            "pyserial-asyncio==0.6",
            "zha-quirks==0.0.102",
            "zigpy-deconz==0.21.0",
            "zigpy==0.56.4",
            "zigpy-xbee==0.18.1",
            "zigpy-zigate==0.11.0",
            "zigpy-znp==0.11.4"
        ],
        "usb": [{
                "vid": "10C4",
                "pid": "EA60",
                "description": "*2652*",
                "known_devices": [
                    "slae.sh cc2652rb stick"
                ]
            }, {
                "vid": "1A86",
                "pid": "55D4",
                "description": "*sonoff*plus*",
                "known_devices": [
                    "sonoff zigbee dongle plus v2"
                ]
            }, {
                "vid": "10C4",
                "pid": "EA60",
                "description": "*sonoff*plus*",
                "known_devices": [
                    "sonoff zigbee dongle plus"
                ]
            }, {
                "vid": "10C4",
                "pid": "EA60",
                "description": "*tubeszb*",
                "known_devices": [
                    "TubesZB Coordinator"
                ]
            }, {
                "vid": "1A86",
                "pid": "7523",
                "description": "*tubeszb*",
                "known_devices": [
                    "TubesZB Coordinator"
                ]
            }, {
                "vid": "1A86",
                "pid": "7523",
                "description": "*zigstar*",
                "known_devices": [
                    "ZigStar Coordinators"
                ]
            }, {
                "vid": "1CF1",
                "pid": "0030",
                "description": "*conbee*",
                "known_devices": [
                    "Conbee II"
                ]
            }, {
                "vid": "10C4",
                "pid": "8A2A",
                "description": "*zigbee*",
                "known_devices": [
                    "Nortek HUSBZB-1"
                ]
            }, {
                "vid": "0403",
                "pid": "6015",
                "description": "*zigate*",
                "known_devices": [
                    "ZiGate+"
                ]
            }, {
                "vid": "10C4",
                "pid": "EA60",
                "description": "*zigate*",
                "known_devices": [
                    "ZiGate"
                ]
            }, {
                "vid": "10C4",
                "pid": "8B34",
                "description": "*bv 2010/10*",
                "known_devices": [
                    "Bitron Video AV2010/10"
                ]
            }
        ],
        "zeroconf": [{
                "type": "_esphomelib._tcp.local.",
                "name": "tube*"
            }, {
                "type": "_zigate-zigbee-gateway._tcp.local.",
                "name": "*zigate*"
            }, {
                "type": "_zigstar_gw._tcp.local.",
                "name": "*zigstar*"
            }, {
                "type": "_slzb-06._tcp.local.",
                "name": "slzb-06*"
            }
        ],
        "is_built_in": true
    },
    "data": {
        "ieee": "**REDACTED**",
        "nwk": 57174,
        "manufacturer": "Bosch",
        "model": "RBSH-MMS-ZB-EU",
        "name": "Bosch RBSH-MMS-ZB-EU",
        "quirk_applied": false,
        "quirk_class": "zigpy.device.Device",
        "manufacturer_code": 4617,
        "power_source": "Mains",
        "lqi": 188,
        "rssi": -53,
        "last_seen": "2023-08-09T11:27:24",
        "available": true,
        "device_type": "Router",
        "signature": {
            "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4617, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
            "endpoints": {
                "1": {
                    "profile_id": "0x0104",
                    "device_type": "0x0202",
                    "input_clusters": [
                        "0x0000",
                        "0x0003",
                        "0x0004",
                        "0x0005",
                        "0x0102",
                        "0x0702",
                        "0x0b04",
                        "0x0b05",
                        "0xfca0"
                    ],
                    "output_clusters": [
                        "0x000a",
                        "0x0019"
                    ]
                },
                "2": {
                    "profile_id": "0x0104",
                    "device_type": "0x0100",
                    "input_clusters": [
                        "0x0003",
                        "0x0004",
                        "0x0005",
                        "0x0006",
                        "0xfca0"
                    ],
                    "output_clusters": []
                },
                "3": {
                    "profile_id": "0x0104",
                    "device_type": "0x0100",
                    "input_clusters": [
                        "0x0003",
                        "0x0004",
                        "0x0005",
                        "0x0006",
                        "0xfca0"
                    ],
                    "output_clusters": []
                }
            },
            "manufacturer": "Bosch",
            "model": "RBSH-MMS-ZB-EU"
        },
        "active_coordinator": false,
        "entities": [{
                "entity_id": "light.bosch_rbsh_mms_zb_eu_light",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "light.bosch_rbsh_mms_zb_eu_light_2",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "sensor.bosch_rbsh_mms_zb_eu_power_factor",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "sensor.bosch_rbsh_mms_zb_eu_active_power",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "sensor.bosch_rbsh_mms_zb_eu_instantaneous_demand",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "sensor.bosch_rbsh_mms_zb_eu_summation_delivered",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "cover.bosch_rbsh_mms_zb_eu_cover",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "select.bosch_rbsh_mms_zb_eu_start_up_behavior",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "select.bosch_rbsh_mms_zb_eu_start_up_behavior_2",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }, {
                "entity_id": "button.bosch_rbsh_mms_zb_eu_identify",
                "name": "Bosch RBSH-MMS-ZB-EU"
            }
        ],
        "neighbors": [
        ],
        "routes": [
        ],
        "endpoint_names": [{
                "name": "WINDOW_COVERING_DEVICE"
            }, {
                "name": "ON_OFF_LIGHT"
            }, {
                "name": "ON_OFF_LIGHT"
            }
        ],
        "user_given_name": null,
        "device_reg_id": "",
        "area_id": null,
        "cluster_details": {
            "1": {
                "device_type": {
                    "name": "WINDOW_COVERING_DEVICE",
                    "id": 514
                },
                "profile_id": 260,
                "in_clusters": {
                    "0x0000": {
                        "endpoint_attribute": "basic",
                        "attributes": {
                            "0x0009": {
                                "attribute_name": "generic_device_type",
                                "value": 255
                            },
                            "0x0004": {
                                "attribute_name": "manufacturer",
                                "value": "Bosch"
                            },
                            "0x0005": {
                                "attribute_name": "model",
                                "value": "RBSH-MMS-ZB-EU"
                            }
                        },
                        "unsupported_attributes": {}
                    },
                    "0x0003": {
                        "endpoint_attribute": "identify",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0004": {
                        "endpoint_attribute": "groups",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0005": {
                        "endpoint_attribute": "scenes",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0102": {
                        "endpoint_attribute": "window_covering",
                        "attributes": {
                            "0x0007": {
                                "attribute_name": "config_status",
                                "value": 3
                            },
                            "0x0008": {
                                "attribute_name": "current_position_lift_percentage",
                                "value": 0
                            },
                            "0x0009": {
                                "attribute_name": "current_position_tilt_percentage",
                                "value": 0
                            },
                            "0x0017": {
                                "attribute_name": "window_covering_mode",
                                "value": 0
                            }
                        },
                        "unsupported_attributes": {
                            "0x0015": {
                                "attribute_name": "acceleration_time_lift"
                            }
                        }
                    },
                    "0x0702": {
                        "endpoint_attribute": "smartenergy_metering",
                        "attributes": {
                            "0x0000": {
                                "attribute_name": "current_summ_delivered",
                                "value": 0
                            },
                            "0x0302": {
                                "attribute_name": "divisor",
                                "value": 100
                            },
                            "0x0400": {
                                "attribute_name": "instantaneous_demand",
                                "value": 0
                            },
                            "0x0306": {
                                "attribute_name": "metering_device_type",
                                "value": 0
                            },
                            "0x0301": {
                                "attribute_name": "multiplier",
                                "value": 1
                            },
                            "0x0200": {
                                "attribute_name": "status",
                                "value": 0
                            },
                            "0x0303": {
                                "attribute_name": "summation_formatting",
                                "value": 42
                            },
                            "0x0300": {
                                "attribute_name": "unit_of_measure",
                                "value": 0
                            }
                        },
                        "unsupported_attributes": {
                            "0x0100": {
                                "attribute_name": "current_tier1_summ_delivered"
                            },
                            "0x0102": {
                                "attribute_name": "current_tier2_summ_delivered"
                            },
                            "0x0104": {
                                "attribute_name": "current_tier3_summ_delivered"
                            },
                            "0x0304": {
                                "attribute_name": "demand_formatting"
                            },
                            "0x0106": {
                                "attribute_name": "current_tier4_summ_delivered"
                            },
                            "0x0108": {
                                "attribute_name": "current_tier5_summ_delivered"
                            },
                            "0x010a": {
                                "attribute_name": "current_tier6_summ_delivered"
                            }
                        }
                    },
                    "0x0b04": {
                        "endpoint_attribute": "electrical_measurement",
                        "attributes": {
                            "0x0605": {
                                "attribute_name": "ac_power_divisor",
                                "value": 1
                            },
                            "0x0604": {
                                "attribute_name": "ac_power_multiplier",
                                "value": 1
                            },
                            "0x050b": {
                                "attribute_name": "active_power",
                                "value": 0
                            },
                            "0x0000": {
                                "attribute_name": "measurement_type",
                                "value": 1
                            }
                        },
                        "unsupported_attributes": {
                            "0x0300": {
                                "attribute_name": "ac_frequency"
                            },
                            "0x0601": {
                                "attribute_name": "ac_voltage_divisor"
                            },
                            "0x0302": {
                                "attribute_name": "ac_frequency_max"
                            },
                            "0x0603": {
                                "attribute_name": "ac_current_divisor"
                            },
                            "0x0602": {
                                "attribute_name": "ac_current_multiplier"
                            },
                            "0x0505": {
                                "attribute_name": "rms_voltage"
                            },
                            "0x0600": {
                                "attribute_name": "ac_voltage_multiplier"
                            },
                            "0x0507": {
                                "attribute_name": "rms_voltage_max"
                            },
                            "0x0508": {
                                "attribute_name": "rms_current"
                            },
                            "0x050a": {
                                "attribute_name": "rms_current_max"
                            },
                            "0x0403": {
                                "attribute_name": "power_divisor"
                            },
                            "0x050d": {
                                "attribute_name": "active_power_max"
                            },
                            "0x050f": {
                                "attribute_name": "apparent_power"
                            },
                            "0x0400": {
                                "attribute_name": "ac_frequency_multiplier"
                            },
                            "0x0401": {
                                "attribute_name": "ac_frequency_divisor"
                            },
                            "0x0402": {
                                "attribute_name": "power_multiplier"
                            }
                        }
                    },
                    "0x0b05": {
                        "endpoint_attribute": "diagnostic",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0xfca0": {
                        "endpoint_attribute": "manufacturer_specific",
                        "attributes": {},
                        "unsupported_attributes": {}
                    }
                },
                "out_clusters": {
                    "0x000a": {
                        "endpoint_attribute": "time",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0019": {
                        "endpoint_attribute": "ota",
                        "attributes": {},
                        "unsupported_attributes": {}
                    }
                }
            },
            "2": {
                "device_type": {
                    "name": "ON_OFF_LIGHT",
                    "id": 256
                },
                "profile_id": 260,
                "in_clusters": {
                    "0x0003": {
                        "endpoint_attribute": "identify",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0004": {
                        "endpoint_attribute": "groups",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0005": {
                        "endpoint_attribute": "scenes",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0006": {
                        "endpoint_attribute": "on_off",
                        "attributes": {
                            "0x0000": {
                                "attribute_name": "on_off",
                                "value": 0
                            },
                            "0x4003": {
                                "attribute_name": "start_up_on_off",
                                "value": 0
                            }
                        },
                        "unsupported_attributes": {}
                    },
                    "0xfca0": {
                        "endpoint_attribute": "manufacturer_specific",
                        "attributes": {},
                        "unsupported_attributes": {}
                    }
                },
                "out_clusters": {}
            },
            "3": {
                "device_type": {
                    "name": "ON_OFF_LIGHT",
                    "id": 256
                },
                "profile_id": 260,
                "in_clusters": {
                    "0x0003": {
                        "endpoint_attribute": "identify",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0004": {
                        "endpoint_attribute": "groups",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0005": {
                        "endpoint_attribute": "scenes",
                        "attributes": {},
                        "unsupported_attributes": {}
                    },
                    "0x0006": {
                        "endpoint_attribute": "on_off",
                        "attributes": {
                            "0x0000": {
                                "attribute_name": "on_off",
                                "value": 0
                            },
                            "0x4003": {
                                "attribute_name": "start_up_on_off",
                                "value": 0
                            }
                        },
                        "unsupported_attributes": {}
                    },
                    "0xfca0": {
                        "endpoint_attribute": "manufacturer_specific",
                        "attributes": {},
                        "unsupported_attributes": {}
                    }
                },
                "out_clusters": {}
            }
        }
    }
}

Using zha-toolkit I was able to initialize the device to "shutter mode" by sending the relevant value (0x01) to the custom cluster (0xfca0):
service: zha_toolkit.attr_write
data:
  ieee: ...
  manf: 0x1209
  endpoint: 1
  cluster: 0xfca0
  attribute: 0x0000
  attr_type: 0x30
  attr_val: 0x01

This enables basic shutter operation (up, down, stop) but I have yet to look at calibrating the times etc.

Sticking with poking it with zha-toolkit one can set the calibration_closing_time (attribute 0x0002 ... similarly 0x0003 for opening) e.g. to 10s (encoded as 10s * 10 = 100 = 0x64 in hex)
service: zha_toolkit.attr_write
data:
  ieee: ...
  manf: 0x1209
  endpoint: 1
  cluster: 0xfca0
  attribute: 0x0002
  attr_type: 0x23
  attr_val: 0x64

So this should allow basic operation for many scenarios. I have yet to try to set the different shutter types or tilt angles. As far as I understand settings like the device type, calibration times should be handled directly in homeassistant-core similar to startup behavior. I could not find any traces for configuration for shutters and am thinking of exposing them through a quirk for now to at least be able to set them through HAs UI/services/blueprints for now.
Any pointers towards existing work in that direction would be appreciated.

I put together a prototypical quirk that allows setting the device type, switch type and shutter calibration times. This should enable basic operation as a shutter without zha-toolkit.
Feedback welcome ;)

Hi, thank you for this quirk. I have this switch installed and finally recognized  by ZHA, but it does not respond to any action in home assistant. I managed to install your quirk but i do not understand  how to set the type to light switch. I have two lights connected. Any hints for a home assistant newbie?

Hi @peterreimer
I am assuming the basic pairing via the QR code worked and the device shows up but the roller/light controls do nothing?
This would be because of the "split personality" of being a light/shutter device and you first need to set the mode of the device itself. When navigating to the device in HA it should look something like

The dots and manage zigbee device

should bring you to the clusters view:

after choosing BoschLightShutterControlII as the cluster and device_type as the attribute you can hit read to see the initial type which will be something like undefined which is why the device refuses to act at all.
Changing the type to DeviceType.Light and writing the attribute should give you independent operation of the two relays to control your lights.

Hi @sopelt, that worked. Thank you for the detailed explanation. To get the pairing right took me also a while. The qr code on the switch was a long string containing both the IEEE Address and the installation code. Only when i found the little sticker in the box i figured out which value has to go into which field of the zha.permit tool. Now that i works i might get a second unit and use it as shutter control. Thanks again,
Peter

You're welcome. Yeah, the "join via code experience" is not great yet but I would assume that will be handled soon through QR scan + vendor code format support in the home assistant app as the devices using it seem to increase in numbers lately...
How "split personality devices" like this one can be better supported out of the box and in a generic way - no idea ;)

FYI, check out the discussion here about Bosch Twinguard<PHONE_NUMBER> smoke detector) which might be related -> https://github.com/zigpy/zha-device-handlers/issues/2561
Also not sure if related this(?) but FYI; noticed @promasu has submitted PR to "Add support for Bosch QR-codes for zha.permit"
https://github.com/home-assistant/core/pull/102427
https://github.com/home-assistant/home-assistant.io/pull/29459
https://github.com/home-assistant/core/pull/102427/commits/3a753de25a4bd420ad4aa04a86733f3f92d66f59
    # Bosch
    r"""
        ^RB01SG
        [0-9a-fA-F]{34}
        ([0-9a-fA-F]{16}) # IEEE address
        DLK
        ([0-9a-fA-F]{36}) # install code
        $
    """,

My change was only for converting the qr-codes from the battery lid etc from the bosch devices to the ieee address and install code used by the zha.allow service. This has nothing to do with device recognition or the handling of the install codes in general.
Just what happens with the user input on the zha.permit page.
I even think my change is not live with the current version (10.5) of Home Assistant, at least not according to the changelog

My change was only for converting the qr-codes from the battery lid etc from the bosch devices to the ieee address and install code used by the zha.allow service. This has nothing to do with device recognition or the handling of the install codes in general.
Just what happens with the user input on the zha.permit page.
I even think my change is not live with the current version (10.5) of Home Assistant, at least not according to the changelog

@promasu Ah, but your QR-code PR/patch probably is related to this other discussion about Bosch Twinguard here? -> https://github.com/zigpy/zha-device-handlers/issues/2561

My change was only for converting the qr-codes from the battery lid etc from the bosch devices to the ieee address and install code used by the zha.allow service. This has nothing to do with device recognition or the handling of the install codes in general.
Just what happens with the user input on the zha.permit page.
I even think my change is not live with the current version (10.5) of Home Assistant, at least not according to the changelog

@promasu Ah, but your QR-code PR/patch probably is related to this other discussion about Bosch Twinguard here, or? -> https://github.com/zigpy/zha-device-handlers/issues/2561

Not really I think. It's more to make life easy with putting in the qr instead of typing down two long strings

Apparently i also have to set the switch_type. The default seems to be undefinded, but than i could only control the lights with home assistant, but not with the physical wall switch. Setting the switch_type to  SwitchType.Rocker_Switch solved this and now everything works as expected.

Apparently i also have to set the switch_type. The default seems to be undefinded, but than i could only control the lights with home assistant, but not with the physical wall switch. Setting the switch_type to SwitchType.Rocker_Switch solved this and now everything works as

Hi,
thanks for your message. I have a similar problem with the Bosch Controller II and I want to use it for my roller blinds via Zigbee2mqtt.
I also have the problem that some attributes are not recognized during pairing, but the biggest problem is that I can no longer use the wall switches.
Where can I change the settings as you did?
Thanks in advance!

i did this in the "Manage Zigbee Device" Dialog. The way to get there is described by @sopelt earlier in this threat

But you say you use zigbee2mqtt, so this is probably not the right place for you to ask since this solution is for ZHA.

I want to use it for my roller blinds via Zigbee2mqtt.

ZHA Device Handlers (also known as ZHA Quirks) have nothing to do with Zigbee2MQTT, instead these are only for the native Zigbee Home Automation that is built into Home Assistant as a core component, see -> https://www.home-assistant.io/integrations/zha/

@sopelt Ho, thank you for your quirk.
The topic was absolutely new for me and i can't get it to work. I paired the Bosch Licht-/Rolladensteuerung ii with my HA ZHA but it's not using the quirk and i can't figure out why.
I edited the configuration.yaml, checked the config, restarted HA und repaired but it's not using the quirk. Maybe you have an idea.
Thanks in advance!

@sopelt thanks for the quirk, using it and it works flawless. :)
only thing i recognize is, that when the shutter is opened and it is triggered again to open (while fully opened) it shows as "opening" all the time. to get it to display only "open" again i have to close some percentage and open again. is this a zha / ha thing or can this be integrated somehow into your quirk?
greetings :)


Wish: Greater Arity of functions and tuples

I have written a typesafe Json library, found at https://github.com/hamnis/immutable-json which
heavily uses Tuples and functions for Encoding and Decoding json and types.
Scala has Tuple 22 and Function 22, which is enough for most users, If not you need a HList or something like that ( which is possible to encode in Java, but not really practical )

Since all these are generated, I pushed a PR containing a partial fix: https://github.com/javaslang/javaslang/pull/1848

@hamnis, could you please take a look at the PR?

@paplorinc as partial fix, that is fine. I would still really want more =)

@danieldietrich decided :)

@hamnis what is the specific use-case for greater arity in your JSON lib? JSON itself has no notion for tuples or do you encode lists as tuples and fall back to HList at some point?

@danieldietrich encoding and decoding into user defined types.
https://github.com/hamnis/immutable-json/blob/master/codec/src/main/java/net/hamnaberg/json/codec/Codecs.java#L326
https://github.com/hamnis/immutable-json/blob/master/codec/src/main/java/net/hamnaberg/json/extract/Extractors.java#L88
use:
https://github.com/hamnis/immutable-json/blob/master/codec/src/test/java/net/hamnaberg/json/extract/ExtractorsTest.java#L40-L47

@hamnis Thank you for the links. I see, Tuples are needed in Codecs (especially in Iso). However, currently the extraction of JSON objects is bound by the max Tuple arity. If there is Tuple22, you can extract only 22 fields. A better scalable solution would be unbounded, i.e. would allow to extract JSON objects of arbitrary size.
I've sketched a HList impl here: https://github.com/javaslang/javaslang/issues/237#issuecomment-171659133
Maybe you could use HList instead of Tuple*?

I will close this issue for now. May Javaslang does also need an HList for greater Tuple arity. I would be really interested if you get practical experience with HList!

@hamnis Bad news - our javaslang-gwt module does not return from build anymore since we bumped arity from 8 to 10. Maybe the GWT compiler is unable to cope with the generics anymore. We need to revert back to arity 8 until the GWT issue is solved, sorry :-/
Maybe one more reason to test an HList implementation.

We should wait for any news from @paplorinc
He promised to check out gwt building

yup, doing it as we speak :)

I will hold my horses!


Refactored APIs into modules

The various APIs of Enterprise Search will now be namespaced into
modules.
For example, instead of calling client.index_documents, you will
now call client.documents.index_documents.
I have left client.index_documents in place now for backwards
compatibility and marked it as deprecated.
I have also changed destroy_documents to delete_documents to better
align with our naming elsewhere.

@yakhinvadim Please have a look, I've made the changes you mentioned.


Protocol v2 changes

Enable use of new Message type.
Protocol version check between runner and host
Object model changes for reducing the verbosity.
Serializers for supported protocol versions.
Unit tests

@singhsarab,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


improve testutil.assertRenderedBlueprint

When giving the test output of comparing the two dictionaries with  self.assertEquals(rendered_dict, expected_dict), python already gives you a diff output.

Codecov Report

Merging #526 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #526      +/-   ##
==========================================
- Coverage   88.72%   88.72%   -0.01%
==========================================
  Files          92       92
  Lines        5926     5922       -4
==========================================
- Hits         5258     5254       -4
  Misses        668      668

Impacted Files
Coverage Δ

stacker/blueprints/testutil.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Hey @CaseyLeask, thanks for your PR.  I just want to verify what you're trying to improve here - when I run assertEquals without our differ, I get errors like this:
======================================================================
FAIL: test_create_template (tests.test_asg.TestBlueprint)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/mike/remind/repos/stacker_blueprints/tests/test_asg.py", line 58, in test_create_template
    self.assertRenderedBlueprint(blueprint)
  File "/Users/mike/remind/repos/stacker/stacker/blueprints/testutil.py", line 34, in assertRenderedBlueprint
    self.assertEquals(rendered_dict, expected_dict,)
AssertionError: {'Outputs': {'AutoScalingGroup': {'Value': {'Ref': 'AutoScalingGroup'}}, 'Launch [truncated]... != {u'Outputs': {u'AutoScalingGroup': {u'Value': {u'Ref': u'AutoScalingGroup'}}, u' [truncated]...
Diff is 3541 characters long. Set self.maxDiff to None to see it.

One issue is that we don't have self.maxDiff = None on the unittest.TestCase class, but even after setting that the diff is a lot noisier/harder to read, I think, than our differ, which results in this output on the same error:
======================================================================
FAIL: test_create_template (tests.test_asg.TestBlueprint)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/mike/remind/repos/stacker_blueprints/tests/test_asg.py", line 58, in test_create_template
    self.assertRenderedBlueprint(blueprint)
  File "/Users/mike/remind/repos/stacker/stacker/blueprints/testutil.py", line 35, in assertRenderedBlueprint
    diff(rendered_text, expected_text))
AssertionError:   {
      "Outputs": {
          "AutoScalingGroup": {
              "Value": {
                  "Ref": "AutoScalingGroup"
              }
          },
          "LaunchConfiguration": {
              "Value": {
                  "Ref": "LaunchConfiguration"
              }
          }
      },
      "Resources": {
          "AutoScalingGroup": {
              "Properties": {
                  "AvailabilityZones": [
                      "us-east-1a",
                      "us-east-1b"
                  ],
                  "LaunchConfigurationName": {
                      "Ref": "LaunchConfiguration"
                  },
                  "MaxSize": 3,
                  "MinSize": 1
              },
              "Type": "AWS::AutoScaling::AutoScalingGroup"
          },
          "LaunchConfiguration": {
              "Properties": {
                  "ImageId": "i-abc1234",
                  "InstanceType": "m3.medium",
                  "KeyName": "mock_ssh_key",
                  "SecurityGroups": [
-                     "sg-abc1234",
?                               ^

+                     "sg-abc1233",
?                               ^

                      "sg-bcd2345"
                  ]
              },
              "Type": "AWS::AutoScaling::LaunchConfiguration"
          }
      }
  }

I'm tempted to leave it the way it is, since it's a lot clearer to me where the issue actually happens. Let me know if there's something here I'm not understanding.  Thanks!


video unavailable issue

I started parallel process to download videos. After a while, my youtube account meets the issue of 'video unavailable'. I cannot watch any videos with my account. How to solve it?

I think your ip was throttled, may trying with a proxy should work.

based on my experience, you account has been banned, try to use different account and do not download too much videos in one go.

as mentioned, you account is temporary blocked by youtube for downloading too much. slow down your downloading.
I also recommend passing a PO Token to help avoid getting banned
https://github.com/yt-dlp/yt-dlp/wiki/Extractors#po-token-guide


Shipping broken, doesn't install

After running
npm install @hugotomazi/capacitor-navigation-bar
You get
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@capacitor/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@hugotomazi/capacitor-navigation-bar
npm ERR!   @hugotomazi/capacitor-navigation-bar@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /home/sinistra/.npm/_logs/2023-06-21T06_15_22_706Z-eresolve-report.txt

Same here, would love to see a fix here. For now install the package with npm i --legacy-peer-deps seems fine.

Hello @s1nistr4.
Try using the recently published version 3.0.0. In this version, support for the capacitor v5 was added


[BUG] Default value for Guaranteed Engine CPU setting is 0

Describe the bug
Default value for Guaranteed Engine CPU setting is 0
To Reproduce
Currently the default value is 0.
Expected behavior
Should not be zero.
Environment:

Longhorn version: master (05/13/2020)

This value has a few implications, but I think you're right. It shouldn't be zero by default.

Pre-merged Checklist

[ ] Does the PR include the explanation for the fix or the feature?
[ ] Is the backend code merged?
[ ] Is the reproduce steps/test steps documented?
[ ] If labeled: area/ui Has the UI issue filed or ready to be merged?
[ ] If labeled: require-automation-e2e Has the end-to-end test plan been merged? Have QAs agreed on the automation test case?
[ ] if labeled: require-automation-engine Has the engine integration test been merged?
[ ] if labeled: require-doc Has the necessary document PR submitted or merged?

To check, deploy a new Longhorn cluster using yaml from Longhorn manager. The default setting of GuaranteedEngineCPU should be 0.25.
The instance managers should have guaranteed 250M CPU set in the pod spec.

Verified on latest master - 05/15/2020
Validation: PASSED

Guaranteed Engine CPU is seen set as 0.25 on the Longhorn UI --> Settings page
instance managers have 250M CPU

 kubectl get pods -n longhorn-system instance-manager-e-b3a85efb -o yaml | grep -i cpu
        cpu: 250m
> kubectl get pods -n longhorn-system instance-manager-e-c60d9763 -o yaml | grep -i cpu
        cpu: 250m
> kubectl get pods -n longhorn-system instance-manager-e-cf25ba6b -o yaml | grep -i cpu
        cpu: 250m
....

kubectl describe node lists with 250M CPU set for each instance manager pod.

 longhorn-system            instance-manager-e-312faa22            250m (12%)    0 (0%)      0 (0%)           0 (0%)         45s
  longhorn-system            instance-manager-r-be0fb343            250m (12%)    0 (0%)      0 (0%)           0 (0%)         45s


Added automatic backport workflow.

Description
Added automatic backport workflow. Will track any necessary secrets to be added to the repo and labels.
Issues Resolved
Closes #75.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@dblock needs https://github.com/opensearch-project/OpenSearch/pull/14175 to fix the Gradle issues


Protobuf encoding & decoding not compatible with different references

Problem
proc decodeRpcMsg() and encodeRpcMsg don't behave as protocol buffer behaves
Impact
encoding & decoding might be wrong
To reproduce
1-call encodeRpcMsg(rpcmsg)  where rpmsg=(
control: some(
ControlMessage(
ihave: @[ControlIHave(topicID: "foobar", messageIDs: @[id])],
iwant: @[ControlIWant(messageIDs: @[id])],
graft: @[ControlGraft(topicID: "foobar")],
prune: @[ControlPrune(topicID: "foobar", backoff: backofftime)],
idontwant: @[ControlIWant(messageIDs: @[id])],
)
)
)
2-encode the same message using protocbuf cmd tool version "libprotoc 3.21.12"
command in terminal " cat data.txt |protoc  --deterministic_output  --encode=RPC schema.proto > result.bin "
data.txt contains rpcmsg
schema.proto contains the schema defined in the spec here
Expected behavior
encoded message should = expectedmsg generated from protoc cmd line tool.
Screenshots/logs

.
version/commit hash
branch master
commit:5d48776b0250741b10c3ed7df7a61f3f315b96fe
addiitonal notes
protobuf used in python with same message format and the result was same one generated from protoc cmd tool

I'd encourage using the three backticks ``` at the beginning and end of a codeblock. Makes reading it much easier :)

I just saw this by mere coincidence, and I think this might help :)
https://protobuf.dev/programming-guides/serialization-not-canonical/


Support wildcard matching

Whenever I look at CubDB.select it feels a little strange how much I need to know about sort order, to be able to select e.g. all values for {:some_key, _}. I'm wondering it this couldn't be simplified.

Hi @LostKobrakai ,
since CubDB data storage is implemented as a B+tree, using the sort order to filter keys is the most performant option. Ultimately, the main thing to know is that the term ordering, and that tuples are compared element by element.
That said, I do agree that a good wildcard syntax could be a nice interface. I do not currently have good ideas on a wildcard syntax that would be simpler than the current min_key/max_key, and that could be translated to it, but I would be definitely open to the concept.

I can totally see why things work the way they work right now. I'm however wondering if CubDBcould "hide" the implementation detail by parsing some provided pattern and using the knowledge about sort order to build the mix/max key internally.

Yeah I see, something like ETS optimizing for “partially bound keys” when using select on an ordered_set.
On one hand I like how min_key/max_key is always optimized, so one does not need to remember which patterns are optimizable and which are not. On the other, the API could be more ergonomic.

Was just thinking about something similar myself and found this issue. I wonder if a library like matcha (https://github.com/christhekeele/matcha) could be leveraged in some way to provide an alternative, still performant select/filter/map for CubDB.


QueryException in Connection.php line 662:

I am getting below error invoking getInbox() method in my Laravel application , Can you please suggest a fix .
QueryException in Connection.php line 662: SQLSTATE[HY000]: General error: 2031 (SQL: SELECT user.id as receiver_id, user.name, msg.user_id as sender_id, conv.id as conv_id, msg.message, msg.created_at, msg.is_seen
FROM users user, conversations conv, messages msg
WHERE conv.id = msg.conversation_id
AND (
conv.user_one = :user
OR conv.user_two = :user
) and (msg.created_at)
in (
SELECT max(msg.created_at) as created_at
FROM conversations conv, messages msg
WHERE CASE
WHEN conv.user_one = :user
THEN conv.user_two = user.id
WHEN conv.user_two = :user
THEN conv.user_one = user.id
END
AND conv.id = msg.conversation_id
AND (
conv.user_one = :user
OR conv.user_two = :user
)
GROUP BY conv.id
)
ORDER BY msg.created_at DESC
LIMIT :offset, :take)

@rrajesh145 please share your code. I just check now with fresh installation. Its worked fine

@nahid  . Below is the code i used in method of controller
$user=\Auth::user();
$this->talk->setAuthUserId($this->user->id);
$this->talk->getInbox();

Please remove it first and then install again

It works now . But Why composer update is failing to update the latest code ?

Is it show any error message when composer update?

It doesn't shows neither error message nor new package installed message


Ignore prev/next nav buttons using meta fields

I've found sometimes the content that follows or precedes in the toctree isn't directly relevant and the nav buttons need to be ignored or sometimes you want to not show any nav for specific page for a landing page type feel. This may not be the best approach, but it can at least serve as a proof of concept.
To use, add the :ignorenav: meta field to the top of the desired page(s). Accepted values are prev, next, and both. prev will override/ignore the previous nav button, same applies to next, and both will ignore both buttons.

I think such a feature belongs in sphinx itself and not the theme. Sphinx should add a meta element that let's you specify what next page should be. That should eliminate the need to disable the buttons.

Closing in favor of #995.

I don't get how the two are related? Would specifying a blank value not show anything? I didn't see how you account for not showing a prev/next butting in https://github.com/sphinx-doc/sphinx/issues/9024

The original issue only referenced overriding the link so not sure if this is a feature anyone is asking for. The feature request  in sphinx could of course be updated with this feature though.

I guess I'll update the feature request on sphinx. As stated in the original issue this PR wasn't really relevant, I just edited the comment vs deleting it (perhaps I should have deleted it to sever the tie).
Sometimes you have content that is part of a larger TOC, where the previous and next pages aren't directly relevant and it makes since to not have nav options. I can't imagine this is a unique use case. This happens with the product manuals here, where the next product manual isn't really relevant, but it makes sense to have all the product manuals in a single TOC tree: https://docs.netgate.com/pfsense/en/latest/solutions/netgate-2100/index.html

That's understandable, i just want to minimize the amount of features we want to support here when they can be integrated into sphinx and used by any theme.


Fix typo in SafeValidator.php

assigment -> assignment

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
-

Thanks.


Prop validation

The library is written in TypeScript so any TS project will have a good DX. However, non TS projects might use some prop validation and relevant messages being thrown for incorrect usages

will be moved to linear - future improvements


15-degree rotation locking

Close #1451

Not for this PR... but maybe it would be nice to show the degrees when the lock is happening! :)

Fix the test and we're good to go.

Not for this PR... but maybe it would be nice to show the degrees when the lock is happening! :)

Yep.

#1629

@dwelle I'm not super confident with the expect change.

Nothing much we can do except hardcode it and hold our fingers. Merging, thanks!


Connecting to ADX cluster should bring up Cluster dashboard instead of database

Azure Data Studio Version:
Version: 1.22.0-rc1 (user setup)
Commit: 95625b65c47d0ac62399a506dae00da97a223af4
Date: 2020-09-21T19:49:57.788Z
VS Code: 1.48.0
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

Steps to Reproduce:

Launch ADS, connect to an ADX cluster without specifying the database name. Please provide alias to the connection.
Cluster: help.kusto.windows.net
Auth: AAD.
Alias: ADX - Help Cluster
Actual -
You should see on the Connection viewlet that ADX - Help Cluster has been added.
Samples database dashboard is showing instead of the cluster dashboard of ADX - Help Cluster.
Expected -
You should see on the Connection viewlet that ADX - Help Cluster has been added.
The cluster dashboard of ADX - Help Cluster should be launched.

Right click on the cluster (JulieADX) from the Connection viewlet. Choose "Manage"
Actual -
Samples database dashboard is showing instead of the cluster dashboard of ADX - Help Cluster.
Expected -
The cluster dashboard of ADX - Help Cluster should be launched.

@JustinMDotNet


CXXRTL: Strange timings and mismatch in dumped VCD

I've been working with a basic simulation only fifo design that I plan to put into an ethernet design for simulation.
cxxrtl is being used to test the behavior of the fifo, however I've noticed that it seems like some of my signals when I used the built-in VCD functionality aren't having the correct timings.
It seems like the state vector in the module stupid_fifo isn't correctly matching the assigned values of the concatenation of wrote_first_word, started_up, and going_done. Instead there's some sort of unexpected half cycle delay.

This could be entirely due to a misunderstanding. I rewrote most of my test environment as a top level testbench in verilog to iron out the timing of the driving signals, which I was having trouble understanding under cxxrtl.
Moving them into a top level module made it possible to know that the behavior would match verilog signals driven along a rising edge of the clock, which seemed unclear to do in cxxrtl. The correspondence between the cout prints of the signals and the dumped values in the vcd also don't seem to match up.
I'm attaching a copy of the files for the project, you should be able to just do a make and test it out.
test.zip

I noticed the same thing. I think it's an artifact of the way signals are being dumped into the VCD file, not a bug in the simulator.
Try the following: only dump waves after the rising edge of the clock. I think you'll see that all values are now correct. (They are for my cases.)
That said: it's probably not a bad idea to understand why exactly this happens.

@modwizcode This is a known issue that relates to the way immediately converging designs are treated. You are essentially correct: there is a "unexpected half cycle delay". Properly fixing this without losing performance is not trivial though I am working on it; in single-clock designs, what @tomverbeure saying is correct, at the rising edge all of the signals have the right values. As far as I know, if you follow the recommendation in the
A bit later, I will explain exactly why this happens in CXXRTL's model and what can be done about it.

This makes sense. I look forward to an explanation of the issue. I'm fairly certain I have a slight idea of what's going on here.
I assume the reason that the vcd doesn't match the printouts is hurried in here somewhere though? (I thought the vcd code and the printouts use the same values so I'm not exactly sure what's going on there either).
I will look at the documentation for the CXXRTL pass again.
I'm hoping to have documented a bit better what the proper way to drive signals on a rising edge are, am I correct in thinking something like set clock high, step, run logic that would run on rising edge, step again, set clock low, step, repeat?
I suspect a hack to fix this might involve running step twice in a row also?

You should not drive signals simultaneously (in the same delta cycle) as the rising edge of the clock at all because this introduces a race condition. You can update the inputs, step, update the clock, step again, but this will obviously degrade your performance. This isn't a hack per se but an inherent consequence of the current CXXRTL architecture.

Is there another way to drive signals the same way they'd be driven in say a Verilog testbench with code that runs @(posedge clk) then, 50% penalty sounds massive for something that I can't imagine wouldn't be the common case, unless I'm just very confused here.
In this case I used Verilog translated with CXXRTL to do the real driving to avoid getting this wrong after noticing weird behavior.
I did notice eval and commit are technically split but I'm not sure if that's relevant for this.

Is there another way to drive signals the same way they'd be driven in say a Verilog testbench with code that runs @(posedge clk) then

There isn't. You can choose between the performance penalty or the race condition.

50% penalty sounds massive for something that I can't imagine wouldn't be the common case

The common case for CXXRTL is simulating a single chunk of synchronous logic such as a CPU and its peripherals. In that case it makes no real difference whether you are driving inputs/sampling outputs at posedge/negedge.

I might be confused but I know for sure in vhdl when the posedge happens the logic will see a high clock, I don't remember for Verilog exactly but I'd think it crazy to be different.

Like Verilator, CXXRTL implements neither Verilog nor VHDL simulation semantics. This allows it to have performance many orders of magnitude higher than something like iverilog, but in exchange you have to understand and adapt to its simulation semantics.

In this case I used Verilog translated with CXXRTL to do the real driving to avoid getting this wrong after noticing weird behavior.

Depending on how you are doing this (I am not feeling well at the moment so I haven't looked at your code yet), this likely introduces delta cycles, which means your performance penalty is closer to 100%.


update wgpu to 0.13

Also, ; after struct defs is no longer needed (rust like syntax), but that's just a purely stylistic choice. I'm just noting that switching to that syntax is now possible.


HHH-18807 Fix a bug in HqlLexer.g4

https://hibernate.atlassian.net/browse/HHH-18807

Nice catch, thanks!


Revert "0 rate instead revert in get expected rate with rate > 1M"

Reverts KyberNetwork/smart-contracts#378

reverting this commit isn't required.
Since the code will be deployed

Wow


Scrollbar is drawing outside of the list bounds

Describe the bug
When scrolling the scrollbar down, it is drawing outside the borders of the box
Affected platforms

Desktop

Versions

Kotlin version*: 1.7.20
Compose Multiplatform version*: 1.2.2, 1.3.1
OS version(s)* (required for Desktop and iOS issues): Linux Ubuntu 20.04.6 LTS
OS architecture (x86 or arm64): x64
JDK (for desktop issues): 11

To Reproduce

Scrolling the scrollbar down
Scrollbar is drawn outside the borders of the box

Screenshots

Additional context
If I comment out lines 51 and 53, the problem is not reproduced

Code: Main.kt.txt

This will be fixed in 1.4.0, released in a few minutes.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.