Add Events to GridView

GridView as component may have behaviors, but it`s mindlessly in practice -
It would be nice if we can modify logic in methods such as init, guessColumns, renderFilters etc. by attach behaviors on events from this methods, instead of make different classes extended GridView or super-universal such as kartik\grid project

Example would be introduced of clarity into the issue.

What are you trying to achieve?
Why inheritance doesn't work for you?
Which events would help for which cases?

Inheritance work for me, but for example - exists gridview class for sortable columns, exist gridview for grouping columns, exist kartk plugin... with many useful, but sometimes redundant functionality In my projects i need in all types, and i if want add some more functionality... such as support for dynamic change page size, or columns visibility, or smthing other, i must extends all of this, and write similar code, move functional from one to another and have many dependecies from their developer changes...  May be not all  of customizations are in need of events, but i think behavior-way made it more flexible for usage  - need in pdf-export - attach behevior, need in floatheader - attach it etc.

In words, I like it. But implementation

Sounds OK but are events sufficient for creating such behaviors?

I propose to create a new class extending GridView named ActiveGridView
The reasons:

The rows on GridView doesn't communicate to each other

The columns on GridView doesn't communicate to each other

The <tfooter> is barely used.

When making reports for example you use need to do things like calculate the total sum of a column, the average in a date range, the total sum in a row, the percentaje of a column based on the total sum.
Example
Sales

Month
Shoes

Tshirts

Pants

Total

xx
Quantity
Percentage
Quantity
Percentage
Quantity
Percentage
xx

January
10
20%
15
30%
25
50%
50

February
12
25%
24
50%
12
50%
48

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

Total
22
22%
39
38%
37
40%
98

Average per month
11
22%
19.5
38%
18.5
40%
49

Currently with GridView this would be a lot of work, so much it would be easier to generate the data using yii\db\Query and then simply use the yii views to do a lot of echo's on the data provided by the query.
I propose that ActiveGridView and ActiveColumn classes sp that you can call behaviors that communicate on each part of the process.
Example:
SumBehavior : everytime a cell is processed in a column it adds the value to a total and echo's it on the footer.
AverageBehavior : everytime a cell is processed it adds the value to a total and keeps a count on the number of cells have been processed, to echo's it on the footer.
SumRowBehavior : Everytime a cell in a row in processed it adds the value to a target column.
PercentageRowBehavior : configured with a 'totalColumn' and a parentColumn which will basically calculate the percentage of parentColumn with respect of totalColumn.
They will be used like this
$grid = ActiveGridView::begin([
    'dataProvider' => $dataProvider,
    'behaviors' => [
        'sum' => SumBehavior::className(),
        'average' => AverageBehavior::className(),
        'rowSum' => [
            'class' => SumRowBehavior::className(),
            'totalColumn' => 'total', //adds the value of the column attribute to this column
        ],
        'averageRow' => [
            'class' => AverageRowBehavior::className(),
            'totalColumn' => 'total', //gets the value of this column to calculate the average
        ],
    ],
    'columns' => [
        'month' => [
             'label' => 'Month',
             'attribute' => 'month',
             'format' => ['date', 'php:m']
        ],
        'shoes' => [
             'class' => ActiveColumn::className(),
             'label' => 'Shoes',
             'attribute' => 'shoes',
             'behaviors' => ['sum', 'average', 'sumRow', 'averageRow'],
        ],
        'tshirts' => [
             'class' => ActiveColumn::className(),
             'label' => 'T-shirts',
             'attribute' => 'tshirts',
             'behaviors' => ['sum', 'average', 'sumRow', 'averageRow'],
        ],
        'pants' => [
             'class' => ActiveColumn::className(),
             'label' => 'Pants',
             'attribute' => 'pants',
             'behaviors' => ['sum', 'average', 'sumRow', 'averageRow'],
        ],
        'total' => [
             'class' => TargetColumn::className(),
             'format' => 'number',
             'initialValue' => 0,
        ],
    ],
]);

$grid->startHead(/* $headOptions */);
$grid->head();
$grid->endHead();

$grid->startBody(/* $bodyOptions */);
$grid->body();
$grid->endBody();

$grid->startFooter(/* $footerOptions */);
$grid->footer();
$grid->behaviors->sum->printRow();
$grid->behaviors->average->printRow();
$grid->endFooter();

ActiveGridView::end();

It will require the following events:
begin, startHead, endHead,startBody, endBody,startFooter, head, body, footer, endFooter, beforeContent, afterContent, end very similar to the layout events. http://www.yiiframework.com/doc-2.0/guide-structure-views.html#creating-layouts

аs my example its https://github.com/Insolita/gridconcept

@Insolita it looks very interesting, but i don't understand what any of those behaviors do :)
we agreee that the columns and behaviors should added with names so that they can be individually accesible later.

I'am interested too in gridview extending. But i think there is a simple way with $layout placeholders.
To enable custom placeholders in $layout little fix in ::renderSection can be made.
class GridViewExt extends GridView
{
    public function renderSection($name)
    {
        $html = parent::renderSection($name);
        if (!$html) {
            $renderMethod = 'render' . trim($name, '{}');
            if ($this->hasMethod($renderMethod)) {
                $html = $this->{$renderMethod}($name);
            }
        }
        return $html;
    }
}

Custom placeholder usage can be like this:
echo GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => $columns,
        'layout' => "{summary}\n{items}\n{pager}\n{actionsBar}",
        'as actionsBar' => [ // behavior with method renderActionsBar()
            'class' => ActionsBarBehavior::className(),
            ...
        ],
    ]);

Merged into #7435


[1.7.x] feat: start forwarding diagnosticCode via BSP, take 2

This is a backport of https://github.com/sbt/sbt/pull/6998 by @ckipp01
I thought I backported this in https://github.com/sbt/sbt/pull/7001, but apparently I targeted the wrong branch.
original description
This change is a continuation of the work that was done in https://github.com/sbt/sbt/pull/6874 to allow the Scala 3 compiler to forward the diagnosticCode of an error as well as the other normal things. This change in dotty was merged in
https://github.com/lampepfl/dotty/pull/15565 and also backported so it will be in the 3.2.x series release. This change captures the diagnosticCode and forwards it on via BSP so that tools like Metals can can use this code.
You can see this in the BSP trace now for a diagnostic:
For example with some code that contains the following:
val x: Int = "hi"

You'll see the code in the BSP diagnostic:
    {
      "range": {
        "start": {
          "line": 9,
          "character": 15
        },
        "end": {
          "line": 9,
          "character": 19
        }
      },
      "severity": 1,
      "code": "7",
      "source": "sbt",
      "message": "Found:    (\u001b[32m\"hi\"\u001b[0m : String)\nRequired: Int\n\nThe following import might make progress towards fixing the problem:\n\n  import sourcecode.Text.generate\n\n"
    }
  ]

Co-authored-by: Adrien Piquerez<EMAIL_ADDRESS>Refs: https://github.com/lampepfl/dotty/issues/14904

Hi @ckipp01,
Thank you for your contribution! We really value the time you've taken to put this together.
We see that you have signed the Lightbend Contributors License Agreement before, however, the CLA has changed since you last signed it.
Please review the new CLA and sign it before we proceed with reviewing this pull request:
https://www.lightbend.com/contribute/cla


Backend has maxBatchSize 1 whereas 2 has been requested, model_b2_gpu0_fp32.engine failed to match config params

started from a .pt trained yolov5L 6.1 model
.onnx exported with python3 export_yoloV5.py -w model.pt --simplify
it works for batch size 1 but not for batch size 2
file .engine is generated : model_b2_gpu0_fp32.engine
environment is deepstream 6.1.1 on the Jetson Orin NX

the run fails with these messages
thank you!
0:00:07.082318833    29 0xffff7cd19490 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger: NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1909> [UID = 1]: deserialized trt engine from :/model_b2_gpu0_fp32.engine
WARNING: [TRT]: The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
INFO: [Implicit Engine Info]: layers num: 4
0   INPUT  kFLOAT input           3x640x640
1   OUTPUT kFLOAT boxes           25200x4
2   OUTPUT kFLOAT scores          25200x1
3   OUTPUT kFLOAT classes         25200x1
0:00:07.232329468    29 0xffff7cd19490 WARN                 nvinfer gstnvinfer.cpp:643:gst_nvinfer_logger: NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::checkBackendParams() <nvdsinfer_context_impl.cpp:1841> [UID = 1]: Backend has maxBatchSize 1 whereas 2 has been requested
0:00:07.234135304    29 0xffff7cd19490 WARN                 nvinfer gstnvinfer.cpp:643:gst_nvinfer_logger: NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2018> [UID = 1]: deserialized backend context :/model_b2_gpu0_fp32.engine failed to match config params, trying rebuild
0:00:07.287486636    29 0xffff7cd19490 INFO                 nvinfer gstnvinfer.cpp:646:gst_nvinfer_logger: NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1923> [UID = 1]: Trying to create engine from model files
WARNING: [TRT]: onnx2trt_utils.cpp:367: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
WARNING: [TRT]: onnx2trt_utils.cpp:395: One or more weights outside the range of INT32 was clamped
WARNING: [TRT]: Tensor DataType is determined at build time for tensors not marked as input or output.
Building the TensorRT Engine

wrong repository for the issue, moved in https://github.com/marcoslucianops/DeepStream-Yolo/issues/515

wrong repository for the issue, moved in https://github.com/marcoslucianops/DeepStream-Yolo/issues/515


Decoupling functionality to make unit testing easier in the future

Separating CLI IO from the functions that perform requests. This will make it easier to write/run unit tests later, since the output of the HTTP request functions can be examined directly and the only function printing to the screen is main(). I also noticed Basic put|patch|delete|post were the same function but with a single string parameter changed, so I just combined them into a single function: basic.go::BasicRequestWithBody(cli *cli.Context, method string) where method is one of PUT|PATCH|DELETE|POST
I'm fairly confident that nothing broke, but please test it on your own. Next, unit tests will be much easier to write.

The different files for the post to delete operations were intentional. At first I thought that this might improve the "contributability" factor, but later I understood that, this was a huge blunder but I was lazy enought to not refactor 🤪🤪🤪.
I was thinking about the tests and looked more into it. As still a noob in Go, I found tests intimidating.
Will check more into this and I was thinking of updating the readme. Since today is Sunday here, and my hands are tied up a bit. So will update everything as soon as I'm free😀😀😀.
I'm sorry for making this a slow process😢😢


vwmacc & vwmul signed & unsigned syntax

vwmaccsu means vs1 is signed & vs2 is unsigned.
however vwmulsu means vs2 is signed & vs1 is unsigned.
why these two syntax expression for resource signed & unsigned are different?

See https://github.com/riscv/riscv-v-spec/pull/295

PR fixes this issue


center mode

is it possible to add center mode something like this

You can use the  center-active option to achieve that ;)


Update dashboard Kubernetes / Views / Pods ( 32 → 33 ) - abandoned

This PR contains the following updates:

Package
Update
Change

Kubernetes / Views / Pods
major
32 -> 33

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

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

This PR has been generated by Renovate Bot.

Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.


Installation issue

Glad to see support for CUDA 10.1, but I'm again encountering installation issues:
HTTP error 404

I've looked at the BASE_URL: https://storage.googleapis.com/jax-releases and there is no release for cuda101.

@skye It looks like the 0.1.28 wheels aren't present in the jax-releases bucket?

Thanks for catching this! They should be uploaded now.


Add birthday date to register form (needed for ING)

Hi,
I just tested a bit this app and it seems that ING Direct is not working… It complained with the following message when I tried to add the account:
xhr error: Internal Server Error
Error when parsing weboob json: Backend(ing): Configuration error: Missing parameter "birthday" (Date de naissance)

It is true that when authenticating on the ing direct website, the birthday is needed…

Thanks for reporting. I'll add an option for that, if weboob supports it.

Great, it should be the case: it is one of the declared parameter of the module according to the source code... So it is not an option, it is always needed for the ING module to work :)

Hi,
victornoel you can use ING direct with kresus, for that you have to modify
weboob/py/endpoint.py and add parameter birthday.

   params_connector = {
       'login': self.login,
       'password': self.password,
       'birthday': DDMMYYYY,
  }

This very bad but it work.
Note: if you have other account without birthday this does not seem a problem.

Thanks @YoranSys for the format of the birthday field, I wasn't too sure what it would be.

Thanks for the hint @YoranSys but by adding this field, it doesn't work for other banks which do not require it (eg. Hello Bank).

I fixed (temporarily) this issue by editing the following:
params_connector = {
            'login': self.login,
            'password': self.password,

        }

        if self.website is not None:
            params_connector['website'] = self.website

        if self.login == '#####':
            params_connector['birthday'] = DDMMYYYY

Where ##### is my ING account number.

Fixed by https://github.com/bnjbvr/kresus/commit/01fddc0766803c9b0bbef6fec47728aa4e70acea


[Backport] Fix error response to return message string #7157

This PR needs to be backported for the next 2.6 release.

@jordojordo We need to agree that this should be back-ported first.

The issue is coming while creating the credentials as well in the VMware7.0 in the customer environment.
When creating a new cloud credential for vSphere we get the error "Index with name by-cloud-cred does not exist" in the GUI. The user still gets created, but the name is a random cc-XXXX name, and the name is in the API key.

When following the Steps to Reproduce on v2.6-head (Commit ID: fa39274), I was able to confirm that the error message "Index with name by-cloud-cred does not exist" is no longer being presented in the UI. A new error message is being presented instead that is also non-user friendly (see Screenshot), however, based on this comment from @nwmac, the remaining issue with the error message will have to be handled by the Backend (Rancher/Rancher) ticket 39717. With that in mind, I am closing this ticket as complete.
Steps To Reproduce:

Create AWS Cloud Credentials in Rancher
Create an EC2 Node Driver cluster using the newly created AWS Cloud Credentials
When the cluster is Active, attempt to delete the AWS Cloud Credentials

v2.6-head (Commit ID: fa39274) Error Message:

Based on the comments here from Rancher ticket 39717, all backend work is completed. However, since the error is still reproducing on v2.6-head (Commit ID: ac694c9) after the backend work has been reported as completed, the assertion was made that the work on this ticket was in fact not completed, and therefore needed to be Reopened.
v2.6-head (Commit ID: ac694c9):

Reopening - the backend is returning the same response on 2.6 as it is on 2.7, the frontend is just displaying it differently. The backend work was to resolve the Index with name by-cloud-cred does not exist message, so imo if that isn't appearing anymore then the backend work can be considered 'complete

@Sahota1225 @jameson-mcghee I am not seeing the same behavior on v2.6-head commit: 5a6829a. Is your ui-dashboard-index pointing to https://releases.rancher.com/dashboard/release-2.6/index.html?


Fix wrong tag field

I notice that make build fails because two field tags are invalid.
apps/app.go:19: struct field tag `json:"value` not compatible with reflect.StructTag.Get: bad syntax for struct tag value
exit status 1
consul/consul_test.go:537: struct field tag `json:"value` not compatible with reflect.StructTag.Get: bad syntax for struct tag value
exit status 1
make: *** [test] Error 1

I fixed it and change CI to check whole project builds not only tests pass.

Coverage remained the same at 89.313% when pulling 957ad8be009fbf884c4da5d3079afd370510cee4 on fix_wrong_filed_tag into b9e3b6a059b21a7be1db8c9e122431453b38b822 on master.

👍

LGTM

👍


1.2.1 stops working after a few days after upload to the Power BI Service

The filter seems to work fine in desktop and when uploaded to the Power BI service initially.
After a few days the filter stops working. When typing in the search field and pressing enter, the text filter and related table flash but the filter does not apply.
If I download the pbix, remove and re-add the linked field under the visualizations section, it works again for a couple of days
Not sure if this is related to filtering a table of over 1000 rows?

Same Issue on my side. It's working fine on PowerBI desktop but not in PowerBI online. Sometimes visual is spinnning during 2-3 minutes and then i am able to use it, sometimes i have the same issue than EW-C
Thanks for your feedback


DH: Show Whatsapp leads on lead center

References CAR-8076
Motivation and context
As a dealer, when checking my leads information on DH, I want to have a complete overview from leads including Whatsapp, so I can holistically understand the situation with my leads

@nels64 Can you please add the link of the Jira?

@nels64 Can you please add the link of the Jira?

https://autoricardo.atlassian.net/browse/CAR-8076


[Update] Update image versions

Automated changes by create-pull-request GitHub action

Codecov Report
Patch and project coverage have no change.

Comparison is base (c5f729a) 86.75% compared to head (72f5cbc) 86.75%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #309   +/-   ##
========================================
  Coverage    86.75%   86.75%
========================================
  Files           78       78
  Lines         4582     4582
========================================
  Hits          3975     3975
  Misses         522      522
  Partials        85       85

Flag
Coverage Δ

unittests
86.75% <ø> (ø)

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

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


Deluge 2.0.3-12 fails to load Autoadd plugin.

Hi,
When I attempt to activate the autoAdd plugin within Deluge running on my Synology DS215j, I get the following failure in the log.
`Traceback: <type 'exceptions.ValueError'>: No JSON object could be decoded
/volume1/@appstore/python/lib/python2.7/site-packages/twisted/internet/defer.py:151:maybeDeferred
/volume1/@appstore/deluge/env/lib/python2.7/site-packages/deluge-2.0.3-py2.7.egg/deluge/plugins/init.py:27:enable
build/bdist.linux-armv7l/egg/deluge_autoadd/core.py:88:enable
/volume1/@appstore/deluge/env/lib/python2.7/site-packages/deluge-2.0.3-py2.7.egg/deluge/config.py:468:save
/var/packages/python/target/lib/python2.7/json/init.py:339:loads
/var/packages/python/target/lib/python2.7/json/decoder.py:364:decode
/var/packages/python/target/lib/python2.7/json/decoder.py:382:raw_decode
20:57:18 [WARNING ][deluge.pluginmanagerbase      :246 ] Problems occured disabling plugin: AutoAdd
`
This was working previously and I'm not 100% sure what caused it to fail.
Version of the Plugin is AutoAdd-1.8-py2.7.egg, according to the Plugin folder.  Is there anything I can do to remediate this?
Many Thanks,
Paul

Please report the issue here: https://github.com/SynoCommunity/spksrc/


Add action interfaces for goal request and goal response

Defining methods that should be provided by the code generator for actions, as they are needed for the action server implementation.
I'll follow-up an add more interfaces for the result and feedback as needed.

Rebased to fix CI.
@ivanpauno Can you give this one an approval? Then I will merge this before #53.

Rebased to fix CI.
@ivanpauno Can you give this one an approval? Then I will merge this before #53.

Note, I changed the return type of one of the interfaces following #55:  09f469c

Note, I changed the return type of one of the interfaces following #55:  09f469c

Sorry, I had to revert 09f469c. We actually want a List type for it's hash method.. see 7a6a47f. :upside_down_face:

Sorry, I had to revert 09f469c. We actually want a List type for it's hash method.. see 7a6a47f. :upside_down_face:

Sorry, I had to revert 09f469c. We actually want a List type for it's hash method.. see 7a6a47f.

Sounds good to me

Sorry, I had to revert 09f469c. We actually want a List type for it's hash method.. see 7a6a47f.

Sounds good to me


Scope of maximum role assignments isn't clear.

In documentation the following sentence is mentioned: "You can have up to 2000 role assignments in each subscription and 500 role assignments in each management group."
However, it's not clear if role assignments at resource group level or resource level counts towards the maximum "2000 role assignments in each subscription" or is the 2000 is only for subscription level role assignments.

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

ID: 1e21d4b9-f574-e01d-8676-fb23d6a4ab67
Version Independent ID: 85e74a1b-3bb3-8bdd-8fca-38256c8a46c1
Content: What is Azure role-based access control (Azure RBAC)?
Content Source: articles/role-based-access-control/overview.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

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

They are included in the total. I made a pull request to make this more explicit in the text, but still think it's pretty clear. https://github.com/MicrosoftDocs/azure-docs-pr/pull/114379
If you go to Subscriptions > Access Control (IAM) > Role Assignments you can see how much of your quota you have used and see which resources the assignments have been applied to.

Example:

@rolyon is confirming with the RBAC team so reassigning this.

Hi @harouny
Role assignments at resource group level or resource level do count towards your 2000 maximum per subscription.
thanks

Thanks @rolyon  for clarification. With more use cases for Managed Identity and Azure AD Authentication i.e. on storage entities, Service bus entities etc,  the 2000 limit seems pretty restricting, is there a way to increase the limit.
Sorry if that's not the right channel for the question.

@harouny
Unfortunately the limit can't be increased. If you are getting close to the limit, here are some options for reducing the number of role assignments:
https://docs.microsoft.com/en-us/azure/role-based-access-control/troubleshooting#azure-role-assignments-limit

Hi @harouny
We published a doc update that hopefully makes this more clear.
https://docs.microsoft.com/en-us/azure/role-based-access-control/overview
thanks

#please-close


chore: add lint step

Description
When doing my recent PR, I noticed a lot of small things by eye that would be caught by a linter, so here you go.
If you don't want a lint step, im happy to abandon this. Its a "while i was in there" PR.
This is Incomplete
If you want this change, you need to decide which config/guide you'd like to follow (e.g. google, airbnb).
It currently uses eslint:recommended which is very lenient. I would suggest the google config with jsdoc requirement turned off.
I do realise you use closure compiler, too, but wasn't sure if that already [tries] to pick up such issues (I haven't used CC in a while).
New Feature

[ ] If this is a big feature with breaking changes, consider [opening an issue][issues] to discuss first. This is completely up to you, but please keep in mind that your PR might not be accepted.
[x] Run unit tests to ensure all existing tests are still passing
[ ] Add new passing unit tests to cover the code introduced by your PR
[ ] Update the readme
[x] Add some steps so we can test your cool new feature!
[x] The PR title is in the conventional commit format: e.g. feat(<area>): added new way to do this cool thing #issue-number
[x] Add your info to the contributors array in package.json!

Steps to Test
$ npm run lint

Hi there @43081j. Thank you for the PR, and thank you for picking up that we need a linter. On other projects we've used prettier, so I'd be keen to use prettier-eslint or similar here. I've added this to our backlog to fix for both this library and Drift. If this PR was updated to use prettier, that would be awesome and I'd love to merge it, but for now I'm going to reject it.

From what I remember, prettier-eslint is only a means of formatting your sources before they are passed through eslint, rather than a ruleset its self.
That means you'd still need a good eslint config in place to account for non-stylistic issues such as const vs let, shadowing, reassignment of a const, etc.
If you have a preference of what eslint config to use (if any, maybe just the recommended one with some extras enabled), i'd be happy to update this so it uses that and prettier-eslint.

Completely agree, a good ruleset is needed.

It's been a while since I've used eslint, do you have any configurations that you particularly like? It seems that eslint-config-airbnb is the most used, so if you have no preference, let's go with that.
I'll take you up on the offer to update this PR with prettier-eslint. Thanks @43081j!

I do like google's ruleset but combined with eslint:recommended.
We would need eslint-config-prettier to disable the stylistic rules it'll turn on, too.
I'll give it a go and see how it goes.

@frederickfogerty here's a first try.
it uses:

eslint-config-google
eslint-config-prettier (to disable stylistic rules that conflict with prettier)
eslint:recommended (common recommended stuff)

google requires jsdoc so i changed it from error to warn and added jsdoc to the existing source.
I didn't have to add all the jsdoc but figured i may as well while im in there. if any of it sounds wrong, feel free to comment what it should be.


Latest Entity Framework Core Tools database first scaffolded DB Contexts breaks collection projections

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
When I scaffolded a db context/models from a database using the latest version EF Core Tools (7.0.1)  collections projections stopped working, (returned null).
Steps to reproduce
I upgraded to the latest (7.0.1) EF Core Tools using the following command:
dotnet tool update --global dotnet-ef
I then scaffolded a context with models from the database using a command similar to:
dotnet ef dbcontext scaffold "Data Source=localsqldb;Initial Catalog=TestDB;Encrypt=False;Persist Security Info=True;user id=myuserid;password=mypassword" Microsoft.EntityFrameworkCore.SqlServer
The main difference is in an earlier version of Entity Framework Core scaffolded collections in models are represented as an ICollection property with a get/set, like this:
public virtual ICollection<Pipeline> Pipelines { get; set; }
The new version of Entity Framework Core scaffolds collections as an ICollection property with only a getter:
public virtual ICollection<Pipeline> Pipelines { get; } = new List<Pipeline>();
As a work around changing the property so it has a setter fixes the issue:
public virtual ICollection<Pipeline> Pipelines { get; set;} = new List<Pipeline>();
Product
Hot Chocolate
Version
12.15.2

@talynone I believe that the scaffolding change was reverted in EF Core 7.0.5. Can we close this issue?


Get individual tree depths

Hi,
I am using the Python version of LightGBM (not the sklearn API though). After I have run the train() function with boosting_type='gbdt', is there anyway to get the  depths of individual trees? I have the prescribed max_depths; I am interested in the actual depths.
I see that this information is printed out per iteration:
[LightGBM] [Debug] Trained a tree with leaves = 31 and max_depth = 8
But I am unable to locate this information in the object train() returns (checked it in debug mode). Is this information stored only in the C backend? Any means to access it from Python?
Thanks!

set verbose=2

Hi, what attribute of the Python model should I use to access the tree depths? To be clear, I already see it printed; I want to access the depths of each of the trees in the gbm model within my Python code.

@abhishek-ghose
sorry, the depth is not stored in the model content.
I think the simplest solution for your question is, redirecting the log into a file, and get the depths from that.

Got it, thanks!


Add docker compose file and documentation

Add docker compose file and documentation
docker compose file will spin up a working setup to test against (Anchor Platform, Reference Server, Kafka, and a Postgres Database)

Reference Server Preview is available here:https://anchor-ref-pr278.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr278.previews.kube001.services.stellar-ops.com/


Qt5 support ?

Any chance to get Qt5/PyQt5 here ?

Yep, it will come in three weeks or a months. I'm traveling right now :-)

Awesome. Let me know if you need any help.

As this came up in our meeting earlier, copying core on this.
cc @conda-forge/core

Should note this is not something that is likely to build on CIs. So it likely will need to be built manually and uploaded. The process for such a thing still needs to be ironed out though.

The default qt5 from anaconda doesn't work for me, because it use icu 54.* and this isn't compatible with the newer boost versions. So if there are no other dependency issues, please use icu56. thanks, and nice regards.

@jakirkham why can't you build Qt5 automatically since you did it for Qt4 ? Is it a time constraint on CI website ?
If so do you know when someone will be able to build it manually and add it on conda forge ? I can help for building if necessary.

There was a similar issue with JPEG and Qt between defaults and conda-forge IIRC, @looooo. Keeping ours and defaults stack inline is longer term unmaintainable. Suggestions of downgrading our stack to match defaults has been quite controversial. Not sure what constraints defaults is operating under, but I do agree that upgrading on that end would help temporarily if feasible.

@jakirkham why can't you build Qt5 automatically since you did it for Qt4 ? Is it a time constraint on CI website ?

Literally the constraints. 😆 Longer, more resources, etc.

If so do you know when someone will be able to build it manually and add it on conda forge ? I can help for building if necessary.

So I think what you could help with if you are feeling so inclined is to write up the process for doing a manual upload as a CFEP. I think there is a lot of support for having manual built uploads in cases like this and it would be impractical to avoid it forever. However, I think our community would benefit if we outline the process of why it is done, who does it, how one carries it out, and what one needs to do to get a manually built package. If you would be willing to do that, I think that would go a long ways towards making it possible to solve this Qt issue and others in the near future.

@jakirkham why can't you build Qt5 automatically since you did it for Qt4 ? Is it a time constraint on CI website ?

Literally the constraints. 😆 Longer, more resources, etc.

If so do you know when someone will be able to build it manually and add it on conda forge ? I can help for building if necessary.

So I think what you could help with if you are feeling, @hadim, so inclined is to write up the process for doing a manual upload as a CFEP. I think there is a lot of support for having manual built uploads in cases like this and it would be impractical to avoid it forever. However, I think our community would benefit if we outline the process of why it is done, who does it, how one carries it out, and what one needs to do to get a manually built package. If you would be willing to do that, I think that would go a long ways towards making it possible to solve this Qt issue and others in the near future.

why can't you build Qt5 automatically since you did it for Qt4

This kind of comments is discouraging when people don't know what they are talking about. It took us (i.e. Continuum) almost a year, three persons and I'd say 300 hours of hard work to compile Qt5 in all platforms (we started with Qt 5.5 in October last year :-) It is (by far) the most complex and difficult package we have had to compile to date.
We are the only ones that provide Qt5 packages for Python 2.7 on Windows, and whose packages really work on Linux in CI services (try to install the PyQt5 wheels on Travis to see what I'm talking about! :-)

Now, after saying that, it's possible that Qt5 can be built on CircleCI. We just have to upload the (Continuum) recipe and try it :-)

Sure on CircleCI it may be possible. Though IIRC there were some issues building it on CircleCI at staged-recipes. In any event, it was my understanding this remains out of scope for Travis CI and AppVeyor. Is that not correct? If so, we would still benefit from a CFEP on manually built uploads.

@ccordoba12 sorry for that but I was only looking for information here. It's not obvious that Qt5 is much much harder than Qt5 to build. Now you said it I understand better the situation.
@jakirkham I could write a very preliminar draft proposal but I am don't have neither the writing skills in english neither the knowledge of conda-forge/conda-build to write a final version. I'll submit a PR when I'll have sometime.

A first draft is available here : https://github.com/conda-forge/conda-forge-enhancement-proposals/pull/5

Thanks for doing that @hadim.
No worries on English writing skills. After all we are all Engineers not Copy Editors. 😄
Also I wouldn't worry about being an expert on conda-forge/conda-build. I think the fundamental issues are much more basic and relatable than that.
For instance, how can we ensure that things that are manually uploaded are built in the right manner and are safe for distribution? Who do we allow to upload these packages? When do we determine something must be built manually? What does one need to do to manually build a package? Etc. These are more questions of how we as a community want to approach this and less about technical jargon.

Ok. Let's continue the discussion in the proposal.

@ccordoba12 sorry for that but I was only looking for informations here.

Understood, but (for the next time :-) please try to be more careful on how you address your questions or comments. Your question

why can't you build Qt5 automatically since you did it for Qt4

sounded to me like

Why don't change a 4 for a 5 and make the magic happen?

and after all the troubles and headaches me and @mingwandroid had to pass through with Qt5, that really irritated me :-p

I see Qt5 is building chromium, which also rebuilds a lot of 3rd party stuff (much of which we also package). Am wondering if we can significantly cutdown on build time by having these things packaged separately and reused in Qt5. Sorry if I'm asking a question that has already been answered.

I don't think so, unless you mess with Qt5 build system. Besides, Chromium is only built on macOS. The other OSes build WebKit.

Qt5 has been built and manually uploaded for all platforms since. Hence this is resolved.


correct the freva-rest docker env variables

In this PR we want to correct the most of environment variables of freva-rest Dockerfile. Also adding there were some small issues related to the Solr and Mongo that via this PR they all have been fixed.

Since there is no numcodecs pre-built wheel for linux/arm64, it's building the wheel on the CI and it's not time-efficient at all. So since adding ARM platform makes our ci 10 times slower for only producing image for arm64 arch, the solution would be caching the pre-built numcodecs  on our CI and re-use it again for other build image runs ahead. Or we can wait this PR be merged.

@antarcticrainforest now it's ready for review. The issue of long installation of numcodecs on ARM64 has been fixed as well.


Modify how vars are parsed to allow for additional fields

Vars can now be marked as required and have a description while still allowing for the old var style:
"Vars": {
"some-normal-var": "some-string"
"some-required-var": {"Required": true, "Description": "this is a description"}
}
Fix logging for subworkflows

Codecov Report

Merging #63 into master will decrease coverage by 0.16%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master      #63      +/-   ##
==========================================
- Coverage   78.95%   78.78%   -0.17%
==========================================
  Files          20       20
  Lines        1411     1433      +22
==========================================
+ Hits         1114     1129      +15
- Misses        219      225       +6
- Partials       78       79       +1

Impacted Files
Coverage Δ

daisy/daisy.go
29.88% <100%> (ø)
:arrow_up:

daisy/workflow/validate.go
97.84% <100%> (ø)
:arrow_up:

daisy/workflow/workflow.go
82.15% <71.87%> (-1.12%)
:arrow_down:

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 52634ed...01d5769. Read the comment docs.


Update version of abseil to 20240116.1

As a reminder for later, there are multiple issues here. We'll probably have to revisit later (once an official runner becomes available for Ubuntu 24.04 and once a version of OR-Tools is available for it).
First issue is likely because I downloaded the binary distribution of OR-Tools for Ubuntu 23.10:
 65%] Linking CXX executable simple_gin_rummy_bot_example
/usr/bin/ld: CMakeFiles/open_spiel_ortools.dir/sequence_form_lp.cc.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > operations_research::ProtoEnumToString<operations_research::MPSolverResponseStatus>(operations_research::MPSolverResponseStatus)':
sequence_form_lp.cc:(.text._ZN19operations_research17ProtoEnumToStringINS_22MPSolverResponseStatusEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_[_ZN19operations_research17ProtoEnumToStringINS_22MPSolverResponseStatusEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_]+0x1c): undefined reference to `google::protobuf::EnumDescriptor::FindValueByNumber(int) const'
/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>/usr/bin/ld: /home/runner/work/open_spiel/open_spiel/open_spiel/ortools/lib/libortools.so: undefined reference to<EMAIL_ADDRESS>clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [algorithms/ortools/CMakeFiles/sequence_form_lp_test.dir/build.make:636: algorithms/ortools/sequence_form_lp_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:7617: algorithms/ortools/CMakeFiles/sequence_form_lp_test.dir/all] Error 2
[ 65%] Built target simple_gin_rummy_bot_example
make: *** [Makefile:146: all] Error 2
Error: Process completed with exit code 2.

Also, the wheels test for Python 3.8 are failing, presumably because it's using quite an old version of Mac OS dev tools (10.9?):
copying open_spiel/python/games/chat_games/envs/scenarios/actions/__init__.py -> build/lib.macosx-10.9-x86_64-cpython-38/open_spiel/python/games/chat_games/envs/scenarios/actions
        copying open_spiel/python/games/chat_games/envs/scenarios/actions/tones.py -> build/lib.macosx-10.9-x86_64-cpython-38/open_spiel/python/games/chat_games/envs/scenarios/actions
        running build_ext
        cmake version 3.28.3

        CMake suite maintained and supported by Kitware (kitware.com/cmake).
        Found CMake
        Apple clang version 14.0.0 (clang-14<IP_ADDRESS>)
        Target: x86_64-apple-darwin21.6.0
        Thread model: posix
        InstalledDir: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
        Found C++ compiler: clang++
        -- The C compiler identification is AppleClang <IP_ADDRESS>00029
        -- The CXX compiler identification is AppleClang <IP_ADDRESS>00029
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - done
        -- Check for working C compiler: /Applications/Xcode_14.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
        -- Detecting C compile features
        -- Detecting C compile features - done
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: /usr/bin/clang++ - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        Current build type is: Testing
        OPEN_SPIEL_BUILD_WITH_ACPC: ON
        OPEN_SPIEL_BUILD_WITH_EIGEN not set.        Defaults to ON
        OPEN_SPIEL_BUILD_WITH_PYTHON: ON
        OPEN_SPIEL_BUILD_WITH_XINXIN not set.     Defaults to AUTO
        OPEN_SPIEL_ENABLE_JAX: AUTO
        OPEN_SPIEL_ENABLE_PYTORCH not set. Defaults to AUTO
        OPEN_SPIEL_ENABLE_PYTORCH: AUTO
        OPEN_SPIEL_ENABLE_TENSORFLOW not set. Defaults to AUTO
        OPEN_SPIEL_ENABLE_TENSORFLOW: AUTO
        OPEN_SPIEL_ENABLE_PYTHON_MISC not set. Defaults to OFF
        OPEN_SPIEL_ENABLE_PYTHON_MISC: OFF
        OPEN_SPIEL_BUILDING_WHEEL: ON
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20
        -- Performing Test ABSL_INTERNAL_AT_LEAST_CXX20 - Failed
        -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
        -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
        -- Found Threads: TRUE
        Building Wheel Detected. Finding Python Interpeter Development.Module
        -- Found Python3: /private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/bin/python (found version "3.8.10") found components: Interpreter Development.Module
        Python executable: /private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/bin/python
        Python include dirs: /Library/Frameworks/Python.framework/Versions/3.8/include/python3.8
        Python library dirs:
        OPEN_SPIEL_ENABLE_JAX set to AUTO. Detecting Jax...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        OPEN_SPIEL_ENABLE_PYTORCH set to AUTO. Detecting PyTorch...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        OPEN_SPIEL_ENABLE_TENSORFLOW set to AUTO. Detecting Tensorflow...
        Not found. Enable printing errors in python/CMakeLists.txt to see output.
        -- Configuring done (4.2s)
        -- Generating done (3.3s)
        -- Build files have been written to: /Users/runner/work/open_spiel/open_spiel/build/temp.macosx-10.9-x86_64-cpython-38
        [  0%] Building CXX object abseil-cpp/absl/base/CMakeFiles/absl_log_severity.dir/log_severity.cc.o
        [  0%] Building CXX object CMakeFiles/open_spiel_core.dir/action_view.cc.o
        [  0%] Building CXX object abseil-cpp/absl/base/CMakeFiles/absl_spinlock_wait.dir/internal/spinlock_wait.cc.o
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_fixed.cc.o
        [  0%] Linking CXX static library libabsl_spinlock_wait.a
        [  0%] Built target absl_spinlock_wait
        [  0%] Building CXX object abseil-cpp/absl/numeric/CMakeFiles/absl_int128.dir/int128.cc.o
        [  0%] Linking CXX static library libabsl_log_severity.a
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_format.cc.o
        [  0%] Built target absl_log_severity
        [  0%] Building CXX object abseil-cpp/absl/profiling/CMakeFiles/absl_exponential_biased.dir/internal/exponential_biased.cc.o
        [  0%] Linking CXX static library libabsl_int128.a
        [  0%] Built target absl_int128
        [  0%] Linking CXX static library libabsl_exponential_biased.a
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/action_view.cc:15:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/action_view.h:20:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/spiel.h:36:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/observer.h:50:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/abseil-cpp/absl/container/flat_hash_set.h:38:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/container/internal/hash_function_defaults.h:55:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/hash.h:85:
        /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/internal/hash.h:602:53: error: 'path' is unavailable: introduced in macOS 10.15
                      std::is_same_v<Path, std::filesystem::path>>>
                                                            ^
        /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/filesystem:909:24: note: 'path' has been explicitly marked unavailable here
        class _LIBCPP_TYPE_VIS path {
                               ^
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/action_view.cc:15:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/action_view.h:20:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/spiel.h:36:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/observer.h:50:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/../open_spiel/abseil-cpp/absl/container/flat_hash_set.h:38:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/container/internal/hash_function_defaults.h:55:
        In file included from /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/hash.h:85:
        /Users/runner/work/open_spiel/open_spiel/open_spiel/abseil-cpp/absl/hash/internal/hash.h:609:61: error: 'hash_value' is unavailable: introduced in macOS 10.15
          return H::combine(std::move(hash_state), std::filesystem::hash_value(path));
                                                                    ^
        /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/filesystem:1520:8: note: 'hash_value' has been explicitly marked unavailable here
        size_t hash_value(const path& __p) noexcept;
               ^
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_civil_time.dir/internal/cctz/src/civil_time_detail.cc.o
        [  0%] Built target absl_exponential_biased
        [  0%] Building CXX object abseil-cpp/absl/flags/CMakeFiles/absl_flags_commandlineflag_internal.dir/internal/commandlineflag.cc.o
        [  0%] Linking CXX static library libabsl_flags_commandlineflag_internal.a
        [  0%] Built target absl_flags_commandlineflag_internal
        [  0%] Building CXX object abseil-cpp/absl/random/CMakeFiles/absl_random_seed_gen_exception.dir/seed_gen_exception.cc.o
        2 errors generated.
        make[3]: *** [CMakeFiles/open_spiel_core.dir/action_view.cc.o] Error 1
        make[2]: *** [CMakeFiles/open_spiel_core.dir/all] Error 2
        make[2]: *** Waiting for unfinished jobs....
        [  0%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_if.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_impl.cc.o
        [  1%] Linking CXX static library libabsl_civil_time.a
        [  1%] Built target absl_civil_time
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_info.cc.o
        [  1%] Linking CXX static library libabsl_random_seed_gen_exception.a
        [  1%] Built target absl_random_seed_gen_exception
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_libc.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_lookup.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/time_zone_posix.cc.o
        [  1%] Building CXX object abseil-cpp/absl/time/CMakeFiles/absl_time_zone.dir/internal/cctz/src/zone_info_source.cc.o
        [  1%] Linking CXX static library libabsl_time_zone.a
        [  1%] Built target absl_time_zone
        make[1]: *** [python/CMakeFiles/pyspiel.dir/rule] Error 2
        make: *** [pyspiel] Error 2
        Traceback (most recent call last):
          File "<string>", line 2, in <module>
          File "<pip-setuptools-caller>", line 34, in <module>
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 130, in <module>
            setuptools.setup(
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/__init__.py", line 103, in setup
            return distutils.core.setup(**attrs)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
            return run_commands(dist)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
            dist.run_commands()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
            self.run_command(cmd)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 364, in run
            self.run_command("build")
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
            self.distribution.run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
            self.run_command(cmd_name)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
            self.distribution.run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/dist.py", line 989, in run_command
            super().run_command(command)
          File "/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/build/venv/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
            cmd_obj.run()
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 49, in run
            self.build_extension(ext)
          File "/Users/runner/work/open_spiel/open_spiel/setup.py", line 100, in build_extension
            subprocess.check_call(["make", "pyspiel", f"-j{os.cpu_count()}"],
          File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 364, in check_call
            raise CalledProcessError(retcode, cmd)
        subprocess.CalledProcessError: Command '['make', 'pyspiel', '-j4']' returned non-zero exit status 2.
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for open-spiel
    Running setup.py clean for open-spiel
  Failed to build open-spiel
  ERROR: Failed to build one or more wheels
Error: Command ['python', '-m', 'pip', 'wheel', '/Users/runner/work/open_spiel/open_spiel', '--wheel-dir=/private/var/folders/h1/8hndypj13nsbj5pn4xsnv1tm0000gn/T/cibw-run-06wt7x_l/cp38-macosx_x86_64/built_wheel', '--no-deps'] failed with code 1. None

Ok, Python 3.8 has now been removed: https://github.com/google-deepmind/open_spiel/pull/1195
But it probably makes sense to just wait on this until OR-Tools for 24.04 is available, because we need to sync to that version. Will revisit this after the next OR-Tools is release.


PR to add support for images accompanying a skoot

This is very much a WIP, and for some reason the images aren't visible even though the JSON seems correct?
https://gist.github.com/MostWrong/fe9883cf9a7dc33f5a6ace55326acaa6

Also, here is the format for embedding images
https://atproto.com/lexicons/app-bsky-embed#appbskyembedimages

Taking a look, I see the "images aren't visible"

Here's some working image upload code from blueskies.bsky.social:
def poast(city_list, cid, size):
    city_name = city_list[0] + ", " + city_list[1]
    poastcontent = "blue skies today in {}".format(city_name)
    timestamp = datetime.datetime.now(datetime.timezone.utc).isoformat().replace('+00:00', 'Z')
    headers = {"Authorization": "Bearer " + ATP_AUTH_TOKEN}
    data = {
        "collection":"app.bsky.feed.post",
        "$type": "app.bsky.feed.post",
        "repo":"did:plc:n5ddwqolbjpv2czaronz6q3d",
        "record":{
            "createdAt":timestamp,
            "text":poastcontent,
            "embed": {
                "$type": "app.bsky.embed.images",
                "images": [{
                    "image":{
                        "$type":"blob",
                        "ref":{
                            "$link":cid
                        },
                        "mimeType": "image/jpeg",
                        "size":size
                    },
                    "alt":"blue sky"
                }]
            },
            }
        }
    resp = requests.post(
        ATP_HOST + "/xrpc/com.atproto.repo.createRecord",
        json=data,
        headers = headers
    )
    return

def upload_image(img_data):
    # upload blob
    # create record

    # upload blob
    # timestamp = datetime.datetime.now(datetime.timezone.utc).isoformat().replace('+00:00', 'Z')
    headers = {
        "Authorization": "Bearer " + ATP_AUTH_TOKEN,
        "Content-Type": "image/jpeg"
        }
    data = img_data
    resp = requests.post(
        ATP_HOST + "/xrpc/com.atproto.repo.uploadBlob",
        # "http://localhost:6969",
        data=data,
        headers = headers
    )
    cid = resp.json().get('blob').get('ref').get("$link")
    size = resp.json().get("blob").get("size")
    return (cid,size)

here's a valid upload out of the network pane:
curl 'https://bsky.social/xrpc/com.atproto.repo.uploadBlob' \
  -H 'authority: bsky.social' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en;q=0.9,es;q=0.8,pl;q=0.7' \
  -H 'authorization: Bearer lol' \
  -H 'cache-control: no-cache' \
  -H 'content-type: image/jpeg' \
  -H 'dnt: 1' \
  -H 'origin: https://staging.bsky.app' \
  -H 'pragma: no-cache' \
  -H 'referer: https://staging.bsky.app/' \
  -H 'sec-ch-ua: "Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: cross-site' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36' \
  --data-raw "lol"

returns
{
    "blob": {
        "$type": "blob",
        "ref": {
            "$link": "bafkreihcrabxisugjyiw6zclsdrrwihllaexxahrdxt5gtmyzpwzb5gpoi"
        },
        "mimeType": "image/jpeg",
        "size": 34923
    }
}

curl 'https://bsky.social/xrpc/com.atproto.repo.createRecord' \
  -H 'authority: bsky.social' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en;q=0.9,es;q=0.8,pl;q=0.7' \
  -H 'authorization: Bearer lol' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'dnt: 1' \
  -H 'origin: https://staging.bsky.app' \
  -H 'pragma: no-cache' \
  -H 'referer: https://staging.bsky.app/' \
  -H 'sec-ch-ua: "Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: cross-site' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36' \
  --data-raw '{"collection":"app.bsky.feed.post","repo":"did:plc:2yk6xmkpavh4x3eicoa4bjjq","record":{"text":"testpost","embed":{"$type":"app.bsky.embed.images","images":[{"image":{"$type":"blob","ref":{"$link":"bafkreihcrabxisugjyiw6zclsdrrwihllaexxahrdxt5gtmyzpwzb5gpoi"},"mimeType":"image/jpeg","size":34923},"alt":""}]},"createdAt":"2023-04-14T07:57:59.821Z","$type":"app.bsky.feed.post"}}' \
  --compressed

response
{
    "uri": "at://did:plc:2yk6xmkpavh4x3eicoa4bjjq/app.bsky.feed.post/3jtcwtmpvry2o",
    "cid": "bafyreif2km6wkgl2ifiaegd2dpr6ypqxlebj2m3gljlzeollf6gjvsi5km"
}

which is why I am scratching my head, why isn't this image being displayed then?

yeah that is where I'm stuck too - apparently the upload works and returns a blob, but when I dump that into the image thing it is not displaying

Merged in 52882e64344e036d21ae14b45e36c661f8cf898a ! Thank you very much ^^

@MostWrong Could you send one more PR adding yourself to the "Thanks" section in the readme? I'd do it myself but I want your username to show up in the GitHub "collaborators" section ^^


[cherry-pick][branch-2.11] cherry-pick fixing can not delete namespace by force (#18307)

Motivation
Cherry-pick (#18307) to release 2.11.1.
Modifications
Cherry-pick (#18307) to release 2.11.1.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository

https://github.com/apache/pulsar/pull/18823 also needs to cherry-pick into branch-2.11, right?
I will cherry-pick it after this PR is merged.


Zero tokens, base and reset variables

Description
I'm playing with Panda using the "syntax": "template-literal" styled-components like syntax and I would like to config my own CSS variables/Design System and not use anything that comes with the reset, base or tokens.
Omit any of these keywords in the @layer config in the CSS doesn't work. Delete or edit anything inside the styled-system folder doesn't see to be ideal option. So is there a way to get a completely zero CSS?
Problem Statement/Justification
Today, out of the box after running build in a Next.js project Panda comes with 650 lines of CSS variables and keyframes that may be no be necessary or entered used, of course respecting everybody's choice on how to deal with styles in their applications.
Proposed Solution or API
Is it possible to omit those CSS in the config file, like:
{
"layerResetCss": "false",
"layerBaseCss": "false",
"layerTokensCss": "false"
}

// where `true` is the default

Alternatives
No response
Additional Information
Thank you for the amazing work!

@clovis-rosa there's an eject option in the config.

@anubra266, first of all, thank you for the fast response!
It worked partially, I still getting some CSS variables from the @layer base
*, ::before, ::after, ::backdrop {
	--blur: ;
	--brightness: ;
	--contrast: ;
	--grayscale: ;
	--hue-rotate: ;
	--invert: ;
	--saturate: ;
	--sepia: ;
	--drop-shadow: ;
	--backdrop-blur: ;
	--backdrop-brightness: ;
	--backdrop-contrast: ;
	--backdrop-grayscale: ;
	--backdrop-hue-rotate: ;
	--backdrop-invert: ;
	--backdrop-opacity: ;
	--backdrop-saturate: ;
	--backdrop-sepia: ;
	--scroll-snap-strictness: proximity;
	--border-spacing-x: 0;
	--border-spacing-y: 0;
	--translate-x: 0;
	--translate-y: 0;
	--rotate: 0;
	--skew-x: 0;
	--skew-y: 0;
	--scale-x: 1;
	--scale-y: 1;
}


The setting of weather based on location

This is Ekam Ghai PR on the auto setting of location, issue 5

I think all the fixes suggested are easy fix and align with the code structure of the repo, so please implement them @carghai
Also please resolve the merge conflicts

ok!


Sugiyama algorithm issue

I want to display Tree View with links to the parent, but this one doesn't support reference to the parent.
When I use the Fruchterman it is displayed in the random order, but I need the exact order from top to bottom.
When I use Sugiyama, it seems to be okay, but links from bottom to top are not displaying correctly. Links, for example, node1->node2->node3 and then I want node3->node1, so the last link displayed from the empty, not from the node3

Unfortunately, I couldn't reproduce it. In my case the graph is drawn correctly.

I'm closing this issue due to inactivity. If you have further input on the issue, don't hesitate to reopen this issue or post a new one.


Add a cmake option to handle the Travis CI timeout problem.

This PR adds a cmake option ENABLE_COMPARISON_INLINE_EXPANSION to allow disabling of method specialization in various Comparison's.
Turing the flag OFF will greatly reduce Quickstep compile time -- thus improving development productivity as well as fixing the Travis CI timeout problem. Note that the flag is by default ON, and will be turned off during the Travis test.

LGTM! Cool finding!


Homekit Controller  Koogeek

I have this error running hassio.io 0.83.1 :
Error executing service <ServiceCall configurator.configure (c:3f56736447fb48d2b9cd8615f566f639): configure_id=1902096688-2, fields=code=xxx-xx-xxx>
Traceback (most recent call last):
  File “/usr/local/lib/python3.6/site-packages/homeassistant/core.py”, line 1177, in _event_to_service_call
    await service_handler.func(service_call)
  File “/usr/local/lib/python3.6/site-packages/homeassistant/components/configurator.py”, line 221, in async_handle_service_call
    call.data.get(ATTR_FIELDS, {}))
  File “/usr/local/lib/python3.6/concurrent/futures/thread.py”, line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File “/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/init.py”, line 192, in device_config_callback
    pairing_id)
  File “/usr/local/lib/python3.6/site-packages/homekit/protocol.py”, line 69, in perform_pair_setup
    connection.request(‘POST’, ‘/pair-setup’, request_tlv, headers)
  File “/usr/local/lib/python3.6/http/client.py”, line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File “/usr/local/lib/python3.6/http/client.py”, line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File “/usr/local/lib/python3.6/http/client.py”, line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File “/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/init.py”, line 64, in homekit_http_send
    self.send(msg)
  File “/usr/local/lib/python3.6/http/client.py”, line 964, in send
    self.connect()
  File “/usr/local/lib/python3.6/http/client.py”, line 936, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File “/usr/local/lib/python3.6/socket.py”, line 724, in create_connection
    raise err
  File “/usr/local/lib/python3.6/socket.py”, line 713, in create_connection
    sock.connect(sa)
socket.timeout: timed out

How Can I fix it?

What does your homekit configuration look like?

I have the same problem:
`Error executing service <ServiceCall configurator.configure (c:bdfdcfa65e5e4cb08daa69936298f7d9): configure_id=1867467760-2, fields=code=xxx-xx-xxx>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/configurator.py", line 221, in async_handle_service_call
call.data.get(ATTR_FIELDS, {}))
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/init.py", line 192, in device_config_callback
pairing_id)
File "/usr/local/lib/python3.6/site-packages/homekit/protocol.py", line 94, in perform_pair_setup
resp = connection.getresponse()
File "/usr/local/lib/python3.6/http/client.py", line 1331, in getresponse
response.begin()
File "/usr/local/lib/python3.6/http/client.py", line 297, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.6/http/client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
socket.timeout: timed out`
Config:
homekit: discovery:   enable:     - homekit
I have a Koogeek P1EU and LS1 and both have the same problem, can't pair with HASS.

I have the exact same issue as @rdelcampog (and same configuration)

@rdelcampog thanks it works but I have another problem : entity id not shows in my devices list I dont know where is it. And this is my log file:
Error executing service <ServiceCall configurator.configure (c:e8e3fdbb619144429a3690e1138def77): configure_id=1899397168-4, fields=code=XXX-XX-XXX>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/configurator.py", line 221, in async_handle_service_call
call.data.get(ATTR_FIELDS, {}))
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/homekit_controller/init.py", line 215, in device_config_callback
self.accessory_setup()
File "/config/custom_components/homekit_controller/init.py", line 137, in accessory_setup
data = self.get_json('/accessories')
File "/config/custom_components/homekit_controller/init.py", line 164, in get_json
response = self.securecon.get(target)
AttributeError: 'NoneType' object has no attribute 'get'

Also if I name the init.py file as init.py I receive the following:
Error doing job: Future exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/sensor/waze_travel_time.py", line 74, in <lambda>
    EVENT_HOMEASSISTANT_START, lambda _: sensor.update())
  File "/usr/src/app/homeassistant/components/sensor/waze_travel_time.py", line 204, in update
    routes = params.calc_all_routes_info(real_time=self._realtime)
  File "/usr/local/lib/python3.6/site-packages/WazeRouteCalculator/WazeRouteCalculator.py", line 145, in calc_all_routes_info
    routes = self.get_route(npaths, time_delta)
  File "/usr/local/lib/python3.6/site-packages/WazeRouteCalculator/WazeRouteCalculator.py", line 95, in get_route
    response_json = response.json()
  File "/usr/local/lib/python3.6/site-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.6/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/local/lib/python3.6/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I think I'm having the same issue but with ihome outlet isp5. This is within my hass.io setup. My isp5 controller is connected to HA and I can control it there, but it doesn't get forwarded back to homekit on my iphone so I can't control it with the home app/SIRI. I can't even find the site-packages/homeassisant folder from within the HASS configurator...doesn't exist.
>  Update for switch.isp5 fails
> Traceback (most recent call last):
>   File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 221, in async_update_ha_state
>     await self.async_device_update()
>   File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 349, in async_device_update
>     await self.hass.async_add_executor_job(self.update)
>   File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
>     result = self.fn(*self.args, **self.kwargs)
>   File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/__init__.py", line 204, in update
>     data = pairing.list_accessories_and_characteristics()
>   File "/usr/local/lib/python3.6/site-packages/homekit/controller.py", line 273, in list_accessories_and_characteristics
>     response = self.session.get('/accessories')
>   File "/usr/local/lib/python3.6/site-packages/homekit/controller.py", line 573, in get
>     return self.sec_http.get(url)
>   File "/usr/local/lib/python3.6/site-packages/homekit/http_impl/secure_http.py", line 65, in get
>     return self._handle_request(data)
>   File "/usr/local/lib/python3.6/site-packages/homekit/http_impl/secure_http.py", line 89, in _handle_request
>     return self._read_response()
>   File "/usr/local/lib/python3.6/site-packages/homekit/http_impl/secure_http.py", line 154, in _read_response
>     response.parse(decrypted)
>   File "/usr/local/lib/python3.6/site-packages/homekit/http_impl/response.py", line 38, in parse
>     self._raw_response += part
> TypeError: can't concat bool to bytearray"

@Jc2k do you have eny idea why it does not discover koogeek after upgrade to 0.94.3
When i make a downgrade to 0.93.2 home assistant finds them again ?

@bncbnc83 got two koogeek plugs and got no problems currently. is discovery for homekit enabled in your configuration? if so, you may delete it as homekit auto discovery is implemented now

@dave-castle yes it was enabled. but i also tryed to remove it as stated in the error log.
But it made no difference.

Specifically you have to have zeroconf enabled not discovery - see the release notes about how HA is deprecating the discovery module


Remove module from pom.xml

Module removed in https://github.com/vespa-engine/sample-apps/pull/238

was moved one level down. is it possible to have such modules?

Yes, just add the new directory <module>vespa-cloud/album-recommendation-java</module> and it should work again.


Error, parse error near `do' when trying to install MacOS

Operating system and version:
nvm debug output:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

nvm ls output:

nvm command not found
I cannot install nvm  on my system as it errors out with .nvm/nvm.sh:1097: parse error near do'`
How did you install nvm?

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
What steps did you perform?

Tried reinstalling nvm.
Restarting computer.
Removing nvm.
Trying an old version of nvm, version 3.5 to 3.8

What happened?
I cannot install and use NVM on my mac.
What did you expect to happen?
I expect to install and use NVM
Is there anything in any of your profile files that modifies the PATH?

No.

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

Trying <IP_ADDRESS>:443...
* Connected to nodejs.org (<IP_ADDRESS>) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=*.nodejs.org
*  start date: Feb 28 00:00:00 2024 GMT
*  expire date: Mar 30 23:59:59 2025 GMT
*  subjectAltName: host "nodejs.org" matched cert's "nodejs.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
*  SSL certificate verify ok.
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://nodejs.org/dist/
* [HTTP/2] [1] [:method: HEAD]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: nodejs.org]
* [HTTP/2] [1] [:path: /dist/]
* [HTTP/2] [1] [user-agent: curl/8.4.0]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [accept-encoding: deflate, gzip]
> HEAD /dist/ HTTP/2
> Host: nodejs.org
> User-Agent: curl/8.4.0
> Accept: */*
> Accept-Encoding: deflate, gzip
>
< HTTP/2 200
HTTP/2 200
< date: Tue, 09 Apr 2024 08:45:26 GMT
date: Tue, 09 Apr 2024 08:45:26 GMT
< content-type: text/html
content-type: text/html
< cache-control: public, max-age=3600, s-maxage=14400
cache-control: public, max-age=3600, s-maxage=14400
< last-modified: Tue, 09 Apr 2024 08:05:58 GMT
last-modified: Tue, 09 Apr 2024 08:05:58 GMT
< cf-cache-status: HIT
cf-cache-status: HIT
< age: 2241
age: 2241
< vary: Accept-Encoding
vary: Accept-Encoding
< strict-transport-security: max-age=31536000; includeSubDomains; preload
strict-transport-security: max-age=31536000; includeSubDomains; preload
< x-content-type-options: nosniff
x-content-type-options: nosniff
< server: cloudflare
server: cloudflare
< cf-ray: 871938902f23dfb5-SYD
cf-ray: 871938902f23dfb5-SYD
< content-encoding: gzip
content-encoding: gzip

<
* Connection #0 to host nodejs.org left intact

Have you aliased the POSIX command do to something?

I think so there was something to do with the aliases, I didnt have one for do, but removing them all worked.


cgo getting confused by struct field name which is the same as a type #define

First of all, I'm no C expert so I'm not sure whether the following is valid C, but it compiles and works OK with gcc on Linux. cgo also works but the field name is wrong. I ran into this with some library I was trying to use, more complicated code so I tried to put together a simple example.
See test.h and main.go files in the attached zip file.
bug.zip

Dup of #9601 .

Is this really a dup? #9601 says that macros are not recognized as field names. My issues seems to be quite the opposite, a filed name is mistaken for a macro, so on the Go side the struct field is the macro, the actual field name is not considered valid.

I think it boils down to the same issue: macros confuse cgo.


Seeing HyperLogLog out of bounds panics for use cases.

Hi,
First of all, thank you for writing this crate, it's awesome.
That said, I'm seeing some HyperLogLog panics from time to time.
The error is always an out of bounds array access, and it will vary depending on how many bits the HyperLogLog was created with and the input data in question.
An example error:
thread 'main' panicked at 'index out of bounds: the len is 79 but the index is 79', .cargo/registry/src/github.com-1ecc6299db9ec823/pdatastructs-0.6.0/src/hyperloglog.rs:233:35
You should be able to replicate this error with this small self contained program
Let me know if you need more information or if I'm missing something obvious!
Cheers,
Mike

Hey @michael-grunder, thanks for the bug report and the code snipped. I've created a PR that fixes the issue. :)


Fix moving 2D node with mouse after using arrow keys

Fixes: #38894

Thanks!

Cherry-picked for 3.2.2.


mj-include relative to file?

Seems that mj-include is resolved from folder where is build was started.
So, if i have structure like:
project
`-- emails
    |-- email-example
    |   |-- _include.mjml
    |   `-- tpl-with-include.mjml
    `-- gulpfile.js

If i will use <mj-include path="./_include.mjml" />, this will tired to resolve _include.mjml inside emails folder instead emails/email-example.
gulpfile example:
import gulp from 'gulp';
import mjml from 'gulp-mjml';

gulp.task('build', function() {
  gulp.src([
    path.normalize(path.join('emails', '**/*.mjml')),
    path.normalize(path.join('!emails', '**/_*.mjml'))
  ])
  .pipe(mjml())
  .pipe(
    gulp.dest(path.normalize('templates'))
  );
});

Looks like it should be some kind of cwd somewhere? To be honest it's not very obvious, and looks more like API flaw/bug.
Or i just use it wrong?..

Hi
This is more an gulp-mjml issue that has been fixed but the new version hasn't been published on NPM yet. There's a special filePath option to pass to let the engine know what's the entry point.
I'll see if I can release gulp-mjml today

@iRyusa thanks! Looking forward for it


Global cleaning

I like the API design of tinycss2, but find it frustrating that if I'm interpreting some CSS, I always have to be ready for the possibility of finding a ParseError (or indeed a Comment), even if I have  now lost the context in which it was parsed, and hence enough information to report an error to the user.
While I understand the benefits of keeping parse errors local, I would propose one or both of:

a function to traverse all token lists found within a parse, so that they can be cleaned or otherwise handled;
an option to attach the original input CSS or similar to each ParseError node.

In particular, it becomes a much greater nuisance to test that my CSS interpretation code works with comments in any part of the CSS.
Or would you recommend just sticking with tinycss, @SimonSapin?

parse_* functions have a skip_comments parameter. Does this help?
I don’t quite understand what you’re asking for, sorry. What do you mean by "the context in which it was parsed"? Comment and ParseError inherit from Node. All nodes have source_line and source_column attributes, as well as a serialize() method.
Could you given an example with some code?
As to tinycss, I think it has significant design flaws. But if it works for you ¯\_(ツ)_/¯

Thanks, I somehow overlooked skip_comments. Yes, that helps.
To be explicit, I'm writing a library that involves transforming CSS declarations, but many of them are left untransformed and consumed by a client library. My library will land up raising warnings for the parse errors it encounters directly. But then the client is obliged to also catch and handle parse errors, or else trip on them.
I rather the tinycss2 interface, thanks :)

It sounds like maybe you want a tree traversal/rewriting mechanism.
Here is an untested attempt:
_NESTED = {
    'qualified-rule': ['prelude', 'content'],
    'at-rule': ['prelude', 'content'],
    'declaration': ['value'],
    '() block': ['content'],
    '[] block': ['content'],
    '{} block': ['content'],
    'function': ['arguments'],
}

def _apply_to(node, callback):
    for attr in NESTED.get(node.type, []):
        nested_nodes = getattr(node, attr)
        new_nested_nodes = fold(nested_nodes, callback)
        setattr(node, attr, new_nested_nodes)

def _fold_iter(nodes, callback):
    for node in nodes:
        replacement = callback(node)
        if replacement is not None:
            _apply_to(replacement, callback)
            yield replacement

def fold(nodes, callback):
    return list(fold(nodes, callback))

Which could be used like this:
def remove_errors_callback(node):
    if node.type == 'error':
        print_error(node)
        # Implicit: return None
    else:
        return node

stylesheet = tinycss2.parse_stylesheet(…)
stylesheet = fold(stylesheet, remove_errors_callback)

Yes, that sort of thing, though I'd design it as a generator, with an interface more like os.walk.

I.e. replacement would occur in-place in lists and nodes.

_CHILD_ATTRS = {
    'qualified-rule': ['prelude', 'content'],
    'at-rule': ['prelude', 'content'],
    'declaration': ['value'],
    '() block': ['content'],
    '[] block': ['content'],
    '{} block': ['content'],
    'function': ['arguments'],
}

def walk(nodes):
    '''
    >>> import tinycss2, pprint
    >>> pprint.pprint(list(walk(tinycss2.parse_declaration_list('font: rgb(1,2,3) bold; color: red'))))
    [((), [<Declaration font: …>, <WhitespaceToken>, <Declaration color: …>]),
     ((0,), <Declaration font: …>),
     ((0, 'value'),
      [<WhitespaceToken>,
       <FunctionBlock rgb( … )>,
       <WhitespaceToken>,
       <IdentToken bold>]),
     ((0, 'value', 0), <WhitespaceToken>),
     ((0, 'value', 1), <FunctionBlock rgb( … )>),
     ((0, 'value', 1, 'arguments'),
      [<NumberToken 1>,
       <LiteralToken ,>,
       <NumberToken 2>,
       <LiteralToken ,>,
       <NumberToken 3>]),
     ((0, 'value', 1, 'arguments', 0), <NumberToken 1>),
     ((0, 'value', 1, 'arguments', 1), <LiteralToken ,>),
     ((0, 'value', 1, 'arguments', 2), <NumberToken 2>),
     ((0, 'value', 1, 'arguments', 3), <LiteralToken ,>),
     ((0, 'value', 1, 'arguments', 4), <NumberToken 3>),
     ((0, 'value', 2), <WhitespaceToken>),
     ((0, 'value', 3), <IdentToken bold>),
     ((1,), <WhitespaceToken>),
     ((2,), <Declaration color: …>),
     ((2, 'value'), [<WhitespaceToken>, <IdentToken red>]),
     ((2, 'value', 0), <WhitespaceToken>),
     ((2, 'value', 1), <IdentToken red>)]
    '''
    if isinstance(nodes, list):
        yield (), nodes
        for i, node in enumerate(nodes):
            for path, descendant in walk(node):
                yield (i,) + path, descendant
    else:
        node = nodes
        yield (), node
        for attr in _CHILD_ATTRS.get(node.type, []):
            for path, descendant in walk(getattr(node, attr)):
                yield (attr,) + path, descendant

Just to let you know: I’m not working on WeasyPrint or tinycss2 anymore. While I don’t mind chatting about it, filing issues is unlikely to get the project moving. Even pull requests I’m unlikely to spend time reviewing etc.

I hadn't known of weasyprint. It's not surprising to find it does a lot of
what I've been working on in weasyprint.css...
On 15 May 2017 5:09 pm, "Simon Sapin"<EMAIL_ADDRESS>wrote:

Just to let you know: I’m not working on WeasyPrint or tinycss2 anymore.
While I don’t mind chatting about it, filing issues is unlikely to get the
project moving. Even pull requests I’m unlikely to spend time reviewing etc.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SimonSapin/tinycss2/issues/4#issuecomment-301393942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEz66UeQruxvhbQ85_TcqNsUl1BWE9cks5r5_oagaJpZM4NTXix
.

A lot of this is not part of tinycss2 on purpose: to make fallback work, only the set of properties and values that are supported (e.g. in layout code) should be parsed.

@jnothman A lot of things have changed since 2017, are you still interested in this issue?

A lot of this is not part of tinycss2 on purpose: to make fallback work, only the set of properties and values that are supported (e.g. in layout code) should be parsed.

I hadn't known of weasyprint. It's not surprising to find it does a lot of what I've been working on in weasyprint.css...

Yes, I think that most of the features you want are not in TinyCSS2's scope.

@jnothman Feel free to reopen if you want!


[Question]: Reference object of keys

Hello, I'm very recently migrating over from ngx-translate and something we used a lot in that library was references to other keys and in some cases, a whole object of keys. It seems like that is not working in transloco, but maybe we need to be doing something differently.
As an example of what I mean:
{
   'app': {
       'scope1': {
           'features': {
               'feature1': 'value1',
               'feature2': 'value2'
           }
       },
       'scope2': {
          'features': '{{app.scope1.features}}'
       }
   }
}

Thanks in advance!

@cthrax What would you expect in such a case?

@shaharkazaz Sure! I should have mentioned that. So I would expect that translating the key "app.scope2.features.feature1" I get the value "value1". Right now I'm getting the untranslated key.


Binaries are not redistributable

_libsbol.so links to /usr/local/opt/raptor/lib/libraptor2.0.dylib which is a hard-coded path. Of course, the raptor library won't exist in that location on most users' machines. Please use static linking or rpaths so the binaries can be redistributed.

On OS X btw

Not sure why this happening just yet.  It links statically by default on Windows.  Probably there is a CMake flag somewhere that is missing.
I think that path is set by CMake's FindLibrary directive, and this path must be where Homebrew puts the raptor module.      From: Kyle Medley<EMAIL_ADDRESS>To: SynBioDex/pysbol2<EMAIL_ADDRESS>Sent: Friday, September 16, 2016 4:46 PM
Subject: [SynBioDex/pysbol2] Binaries are not redistributable (#10)
_libsbol.so links to /usr/local/opt/raptor/lib/libraptor2.0.dylib which is a hard-coded path. Of course, the raptor library won't exist in that location on most users' machines. Please use static linking or rpaths so the binaries can be redistributed.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

If there's a .a next to the .dylib you should be able to link to that
instead.
J Kyle Medley, PhD Student
Bioengineering/BPSD, Sauro Lab
University of Washington, Seattle
p.<PHONE_NUMBER>
skype: jkylemedley
On 9/16/16 5:30 PM, bbartley wrote:

Not sure why this happening just yet.  It links statically by default
on Windows.  Probably there is a CMake flag somewhere that is missing.
I think that path is set by CMake's FindLibrary directive, and this
path must be where Homebrew puts the raptor module. From: Kyle Medley
<EMAIL_ADDRESS>To: SynBioDex/pysbol2<EMAIL_ADDRESS>Sent: Friday, September 16, 2016 4:46 PM
Subject: [SynBioDex/pysbol2] Binaries are not redistributable (#10)
_libsbol.so links to /usr/local/opt/raptor/lib/libraptor2.0.dylib
which is a hard-coded path. Of course, the raptor library won't exist
in that location on most users' machines. Please use static linking or
rpaths so the binaries can be redistributed.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SynBioDex/pysbol2/issues/10#issuecomment-247737369,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHDyotgIQoJ4z7ozMQxra5x6IK1oeSnYks5qqzSSgaJpZM4J_cQc.


COMP: Fix include-guards in header files, remove umlauts

Removed two umlauts, to address a "File Load" error message box in Visual Studio 2019, saying:

Some bytes have been replaced with the Unicode substitution character while loading file with Unicode (UTF-8) encoding. Saving the file will not preserve the original file contents.

Fixed include-guards in header files, to comply to the C++ Standard, which says:

Each identifier that contains a double underscore __ or begins with an underscore followed by an
uppercase letter is reserved to the implementation for any use.

(In this context, "the implementation" refers to the compiler and the Standard Library implementation.)
Following ITK commit https://github.com/InsightSoftwareConsortium/ITK/commit/dd673a7a7b32f2d7fc2278c0f8674b40a6272e48 by Sean McBride (@seanm), December 2014.

That's odd. Is the file UTF-8? If you save it, and it therefore "doesn't preserve the original", what do you actually end up with?

@seanm Thanks for asking, Sean. I think the original author of the source file assumed a certain code page for 8-bits non-ASCII characters, like Windows-1250. Interestingly, the umlaut looks fine in my (Firefox) browser, looking at https://github.com/SuperElastix/elastix/blob/5.0.1/Components/Metrics/MissingStructurePenalty/elxMissingStructurePenalty.h#L38 but it looks weird in my Windows 10 Notepad. In Notepad, I got a "black diamond replacement character" at the location of the umlaut.
After saving in Visual Studio, it's still a black diamond. So I don't know if it's really an improvement, or if it just makes things worse.
I looked at it before, the Visual Studio error message box annoys me every time, and for now the workaround of replacing ü by ue looks good enough to me.

If no one objects, I'll merge this once it has passed the CI tests.


UNBLOCKED GAMES drift game unblocked github | Play Free Games Online - cewja

UNBLOCKED GAMES drift game unblocked github | Play Free Games Online - cewja
drift game unblocked github is a popular website that offers a wide variety of games that can be played in environments where access to gaming sites is typically restricted, such as schools and workplaces.
Enjoy playing all your favorite casual drift game unblocked github, office, or home. Dive into the world of online free games without downloads!
👉🔴 SITE Games Unblocked >> drift game unblocked github
👉🔴 PREMIUM Games Unblocked >> drift game unblocked github
🙋♀ A short introduction - what is your organization all about?
🌈 Contribution guidelines - how can the community get involved?
👩💻 Useful resources - where can the community find your docs? Is there anything else the community should know?
🍿 Fun facts - what does your team eat for breakfast?
🧙 Remember, you can do mighty things with the power of Markdown
drift game unblocked github: Unlocking Premium Fun in Educational Settings
In recent years, the phenomenon of drift game unblocked github has taken the online gaming community by storm. These games, designed to bypass restrictions often placed by schools and workplaces, provide a unique blend of entertainment and engagement, especially for students. Among the vast array of options, unblocked premium games stand out as a popular choice, offering enhanced features, better graphics, and a more immersive gaming experience.
What Are drift game unblocked github?
drift game unblocked github are online games that can be accessed and played without restrictions, typically in environments like schools or offices where gaming sites might be blocked. The appeal of these games lies in their accessibility and the diverse range of genres available, from action and adventure to puzzles and strategy. Students often turn to these games during breaks or downtime, providing a quick escape from their academic routines.
The Rise of Premium drift game unblocked github
As the unblocked games market has evolved, so has the demand for premium content. Premium drift game unblocked github are those that offer superior gameplay experiences, often including advanced graphics, engaging storylines, and multiplayer functionalities. Many of these games are adaptations of popular titles, enabling players to enjoy high-quality gaming even in restricted environments.
The allure of premium unblocked games lies in their ability to combine fun with an element of strategy and critical thinking. Many of these games challenge players to solve complex problems, collaborate with peers, and develop skills that are beneficial beyond the gaming world.
Benefits of Playing drift game unblocked github

Stress Relief: For students juggling a demanding academic schedule, unblocked games provide a much-needed break. Engaging in play can reduce stress and enhance overall well-being.
Social Interaction: Many unblocked games allow for multiplayer modes, enabling students to connect with friends or even make new ones. This social aspect is particularly valuable in school settings, fostering teamwork and collaboration.
Skill Development: Numerous unblocked games require strategic thinking, quick reflexes, and problem-solving abilities. These skills can translate to academic success, making gaming a potentially productive pastime.
Creativity Boost: Games that allow for customization and creative expression can inspire students to think outside the box, enhancing their creative skills.

Popular Genres of drift game unblocked github Premium Games

Action and Adventure: Games that provide thrilling narratives and exciting challenges, often featuring iconic characters and rich worlds. Titles like "Among Us" or "Minecraft" have gained immense popularity in unblocked formats.
Puzzle and Strategy: These games challenge players to think critically and plan ahead, with examples including "2048" and "Bloons Tower Defense."
Simulation: Games like "The Sims" or "Animal Crossing" let players create and manage their virtual lives, promoting creativity and organization.
Sports and Racing: Titles such as "Basketball Stars" and "Slope" offer fast-paced action and competitive gameplay, appealing to sports enthusiasts.

Conclusion
drift game unblocked github premium games represent a dynamic intersection of fun and education, providing students with a unique platform to unwind while also honing valuable skills. As educational institutions continue to grapple with balancing entertainment and learning, these games offer a solution that can enhance the school experience. By integrating gaming into their downtime, students can enjoy the thrill of play while developing critical skills, making unblocked premium games a worthwhile addition to any educational setting.

bgcbc


Fix the computation of KL divergence loss in Nash MD

What does this PR do?

The initial version of KL divergence in NashMD Trainer had a bug: the gradient of the given KL estimate did not correspond to the actual stochastic gradient of KL divergence between the current policy and the reference policy.
This PR intended to fix this issue by computing a REINFORCE-like estimate, taking into account that the current model generated the completion.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline, Pull Request section?
[ ] Was this discussed/approved via a GitHub issue? Please add a link to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the documentation guidelines.
[ ] Did you write any new necessary tests?

Who can review?
@kashif
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.