Is it possible to declare input parameters as Objects or as an Array of objects?

I am trying to declare input parameters as array of objects or even as objects but none of this seems to work:
swagger_path "/set_diet_plan" do
          operation :post do
            extend SwaggerExtensions::AuthenticationError
            extend SwaggerExtensions::ApiAuth
            extend SwaggerExtensions::UnprocessableEntityError

            key :summary, "Creates or updates the current patient diet plan"
            key :description, "Creates or updates the current patient diet plan"
            key :operationId, "setDietPlan"
            key :produces, ["application/json"]
            key :tags, ["Patients"]

            parameter do
              key :name, :physical_activity_to_add_1
              key :in, :query
              key :description, "list of physical activities that will be added to the current activity plan"
              key :type, :object
              items do
                property :teste do
                  key :type, :string
                end
                property :teste2 do
                  key :type, :string
                end
              end
            end
            # ....

OR
swagger_path "/set_diet_plan" do
          operation :post do
            extend SwaggerExtensions::AuthenticationError
            extend SwaggerExtensions::ApiAuth
            extend SwaggerExtensions::UnprocessableEntityError

            key :summary, "Creates or updates the current patient diet plan"
            key :description, "Creates or updates the current patient diet plan"
            key :operationId, "setDietPlan"
            key :produces, ["application/json"]
            key :tags, ["Patients"]

            parameter do
              key :name, :physical_activity_to_add_1
              key :in, :query
              key :description, "list of physical activities that will be added to the current activity plan"
              key :type, :array
              items do
                property :type, :object
                property :teste do
                  key :type, :string
                end
                property :teste2 do
                  key :type, :string
                end
              end
            end
            # ....

Is this supported?

Sorry, this is not a swagger-blocks question, this is a Swagger question. See: https://github.com/fotinakis/swagger-blocks#filing-issues for where you can get help

@jduarte did you find how to implement this?


No way to disable the input but still be able to use the picker.

Is there anyway to disable the input box but still be able to use the picker? I don't want users to be able to type anything in.

use the ignoreReadonly flag

Ooooooooh...the only thing I would change is that when the "ignoreReadonly" is true that the picker icon is not grayed out.

You would also have to set readonly attribute on the input field as well. The datepicker wont do that for you.


Failed to load the atom-jsfmt package

After updating to 0.8.4 I get the following error.
Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".
I'm using Atom 1.5.3 on Windows 7 64 Bit. Please find the error report attached.
error-report.txt
Thanks for the great plugin.
Christian

This is a duplicate of #20 - I'm looking into it now. Closing this as a duplicate.

Ugh sorry - reopening, since #20 is a PR and this is an issue.

With the update to 0.8.5 it works for me again.
Thanks a bunch @bichiliad and @mikaa123 for fixing this so quickly.


Support Discovery 2.0

As most users are aware, WOLF recently redesigned its Discovery page to be more user friendly and 'easier' to navigate, while also promoting the brand.
Currently the API does not support Discovery or Discovery 2, will look into having this supported as soon as possible (once i figure out the setup)

Limited support has been added for this, as the setup is aimed towards an HTML style setup.
Discovery consists of several elements: groups, events, promos, videos, etc
To retrieve groups and events

  const { elementType, recipeType } = require('@dawalters1/constants'); // 1.0.3

  const discovery = await api.discovery().get();

  const recipeSections = discovery.sectionList.map((section) => {
    if (section.elementList.some((element) => element.type === elementType.COLLECTION)) {
      return section;
    }
    return false;
  });

  for (const recipeSection of recipeSections) {
    const recipeData = await api.discovery().getSectionRecipe(recipeSection.id);

    if (recipeData) {
      if (recipeData.type === recipeType.GROUP_EVENT) {
        console.log(await api.event().getByIds(recipeData.idList));
      } else {
        console.log(await api.group().getByIds(recipeData.idList));
      }
    } else {
      console.warn(`Section ${recipeSection.id} does not contain recipe data`);
    }
  }


Remove loop cursor.ts -> viewImpl.ts -> cursor.ts in editorScroll

If we're at it, we might also want to write tests for this cursor command.

The loop has two sources in cursor.ts:

_scrollByReveal (cursor reveal range event)
_scrollUpOrDown (cursor scroll request event)

@rebornix will look into removing revealCursor from the cursor scroll request event.

While you guys are investigating these commands, would you consider fixing #16248 as well? It's another bug that seems related to these commands.

@johnfn select can now be used for editorScroll. e.g. keybindings.json for https://github.com/VSCodeVim/Vim/issues/907:
    {
        "key": "ctrl+d",
        "command": "editorScroll",
        "when": "editorTextFocus",
        "args": {
            "to": "down",
            "by": "page",
            "revealCursor": true,
            "select": true
        }
    }

Any update on this?


carp plushie is guaranteed in maints locker

Description

Reproduction

spawn maints locker
notice how it will always have a carp plushie inside

Screenshots

Additional context
seems weird for maints loot, probably because of orGroup for carp

is there a way to have it only spawn 1 carp plushie but have it not guaranteed, if you just remove orgroup it can have multiple different carp plushies

this is how syndie maints loot does it

ooooooh thats easy fix then

feature billions must carp


Double click and backspace/delete is not working

This issue comes when a user tries to delete the entire text in the autocomplete input field by selecting current text using the mouse (double click or click and drag).
https://stackblitz.com/edit/ng2-input-autocomplete

confirmed. Angular will trigger double click with single click at the same time.


Update README.md

update url of performance evaluation

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Hey @teaey , thanks for the fix. Would you like to work with us on something more substantial?

Thank you for your invitation. I'm busy with my work. I'm afraid I can't participate.


Accessing referenced children of a model at initialization causes invalid query

When accessing referenced children of a model at initialization an invalid query is constructed. See the code below for a test case:
class Nut

  include Mongoid::Document

end

class Squirrel

  include Mongoid::Document

  references_and_referenced_in_many :nuts, :class_name => "Nut", :validate => false

  def test=(aaa)
    self.nuts.inspect # breaks
  end

end

Step to Reproduce (type into the console)

Squirrel.new({ :test => "hello" })

The above will cause the following error Mongo::OperationFailure: invalid query, and the invalid query is MONGODB dev['nuts'].find({:_id=>{"$in"=>nil}})

Thanks for reporting that. I've reproduced it in 2.3.4 .


Return Proper Non-ACME certificate - Fixes Issue 672

Will squash and rebase if it looks good.
ping @containous/traefik

LGTM 👍


Daring the Dawn

text: Damage not inflicted if the action is canceled (eg. Tangle Atropos)
link: https://www.vekn.net/forum/rules-questions/79720-daring-the-dawn-and-mirror-walk?start=6#104927

Duplicate


test_bot: set HOMEBREW_{CURL,GIT} too

Setting HOMEBREW_CURL_PATH after environment filtering in brew.sh means that it is only applicable to subprocesses. Make sure the current process's environment is handled the same way by setting HOMEBREW_CURL too.
Same for HOMEBREW_GIT.
This should hopefully fix the error seen in Homebrew/homebrew-core#167286. Credit goes to @Bo98 for spotting the cause.

Good catch, thanks @ZhongRuoyu!


blast v1 added

Also please add the shell script to generate client and generate the client itself and add it to the changes. The script example can be found here: https://github.com/BasedLabs/NoLabs/blob/master/microservices/biobuddy/generate_client.sh
And if everything successful the folder client/ should be generated (as in the example): https://github.com/BasedLabs/NoLabs/tree/master/microservices/biobuddy/client


How to set Cookies in alamofire?

How to set Cookies in Alamofire such that such that every time I kill the app and restart it, the same cookie is sent?

@dreamsparkx did u figure this out? if so, please share...

@aziz92
let destination: DownloadRequest.DownloadFileDestination = { _, response in
            let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
            let fileURL = documentsURL.appendingPathComponent(name+"/"+name+".ios.zip")
            return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
        }
let headers:HTTPHeaders=["Authorization":token!]
let url = url
Alamofire.download(url,headers:headers,to: destination)
...


MGMT-16481: Add developer preview badge in external platform integration dropdown when platform is dev-preview

Related to https://issues.redhat.com/browse/MGMT-16481
OCP 4.11 + nutanix integration should have dev-preview badge in UI.  We need to take into consideration the dev-preview from BE response in the external platform integration drodpdown.

The dev-preview badge is not clickable unless the item is disabled. Could you take a look at that?
https://github.com/openshift-assisted/assisted-installer-ui/assets/87187179/04a67008-6249-4a50-b9aa-eecba6237145

The dev-preview badge is not clickable unless the item is disabled. Could you take a look at that?
2024-01-04.10-30-50.mp4

I'll take a look. Thanks  @jgyselov


error with orm hook after first lift

version: 0.11.4 (after npm -g update)
$ sails new project
$ cd project
$ sails generate api dentist
$ sails lift

and... error? :( :-1:

info: Starting app...

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

 Excuse my interruption, but it looks like this app
 does not have a project-wide "migrate" setting configured yet.
 (perhaps this is the first time you're lifting it with models?)

 In short, this setting controls whether/how Sails will attempt to automatically
 rebuild the tables/collections/sets/etc. in your database schema.
 You can read more about the "migrate" setting here:
 http://sailsjs.org/#/documentation/concepts/ORM/model-settings.html?q=migrate

 In a production environment (NODE_ENV==="production") Sails always uses
 migrate:"safe" to protect inadvertent deletion of your data.
 However during development, you have a few other options for convenience:

 1. safe  - never auto-migrate my database(s). I will do it myself (by hand)
 2. alter - auto-migrate, but attempt to keep my existing data (experimental)
 3. drop  - wipe/drop ALL my data and rebuild models every time I lift Sails

What would you like Sails to do?

info: To skip this prompt in the future, set `sails.config.models.migrate`.
info: (conventionally, this is done in `config/models.js`)

warn: ** DO NOT CHOOSE "2" or "3" IF YOU ARE WORKING WITH PRODUCTION DATA **

prompt: ?:  error: Error: The hook `orm` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.orm._hookTimeout to a higher value (currently 20000)
    at tooLong [as _onTimeout] (/usr/lib/node_modules/sails/lib/app/private/loadHooks.js:92:21)
    at Timer.listOnTimeout (timers.js:92:15)

@scippio that's not a "real" error... hooks have a timeout that can be configured in sails.config.._hookTimeout
In your case the app wanted to know how migration should be done, because you did not configure it in sails.config.models.migrate and so it prompted you to choose between safe, alter or drop and as you were not fast enough choosing, hookTimeout happened.
just configure sails.config.models.migrate and you are good to go.

Yes, I get it. But for "new" users it's very annoying..
"it would be awesome though if sails ignored hookTimeout when in prompt..."
Exactly.

Yes, I get it. But for "new" users it's very annoying..

@scippio Agreed. Sorry it was annoying!  Btw, I don't know if this applies to your situation here, but just in case: if you're ever seeing that prompt about automigration on a server, be very careful!  If you see that, it means your app don't have a migrate config set, and that the NODE_ENV=production environment variable is not enabled. The reason we added that prompt was to help make folks aware of how Sails handles automigration from the get-go, and to protect folks from inadvertently messing up their production data by leaving automigration support enabled out of the box.  Hope that helps for the short term.
But longer term...

it would be awesome though if sails ignored hookTimeout when in prompt...

@japel Definitely-- although problematic to implement in a hook-agnostic way in core.  One way to do it would be to allow hooks to "pause" the hook timeout.  Of course, it's already possible for a community hook to disable the hook timeout in any number of hacky ways if it really wanted to...  But I don't think we'd want to expose an API that would explicitly make it possible for hooks to be able to "pause" the hook timeout.  Or even to provide a clear example of doing that in the core ORM hook.
But taking a step back: the original intent of that error was to give you feedback when developing a community hook-- the fact that it fails when waiting for core hooks is just a side effect of how it was implemented.  So what if we made core hooks immune from the timeout rules-- so long as they haven't been overridden?  i.e. if the hook timeout fires and any whitelisted (core) hook has still not loaded, then don't kill the process with the hook timeout error-- write a verbose log message instead.  This would improve the experience for new users and continue to support the primary use case for the hook timeout protection.  (This would also be really helpful for all those times when you're trying to deploy and the Grunt hook gets mad because it's minifying everything).
By the way: if anyone is interested in working on this, the first step is to write up a more detailed proposal.  Besides linking back to the discussion begun here and writing up a couple of sentences as a summary, the majority of the work needed for this kind of proposal is putting together bullet point lists of:

all relevant documentation sections/pages that would need to change, with links to the relevant files in sails-docs
any relevant tests, with links to the relevant line numbers on GitHub
the pieces of Sails core that would need to change (I'm happy to take care of this part if someone writes up the rest of the proposal)

If you are interested in getting started on this and need help, or have questions about the proposal process in general, please just bring it up separately by opening a new issue in this repo.

@japel @scippio Update on this:  In Sails v1.0, the "hook timeout exceeded" error message now includes troubleshooting tips; one of which asks if Sails was waiting on an interactive prompt:


Add project comparison for terraforming

Reworked the description of differences from #80

I signed it!

Is there anything stopping this PR from being merged? I was looking for a comparison of terraformer with terraforming and stumbled on this PR just by accident.


Docs: Add a doc about using MUX with backend plugins (app and datasources)

@academo referring to https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-router ?

@marefr partially!
We should extend this to also to call resource

@academo the query type mux doesn't apply to call resource, but we do have https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-resource-handler#advanced-use-cases and #878 so maybe we can close this?

@marefr indeed. But the reason I am proposing this is because using mux for resource handler is not an "advance case" it is the default because that's what we use in our examples and that's what we generate in create-plugin.
My proposal is to improve this documentation to make it the default on how to use the resource handler and leave the current documentation as the actual "advance case" which is when people want to use their own resource handler.

My proposal is to improve this documentation to make it the default on how to use the resource handler and leave the current documentation as the actual "advance case" which is when people want to use their own resource handler.

Hmm okay. Not sure I agree, but maybe remove the advanced use case header and rewrite it to explain when you have multiple routes with different methods (GET, POST etc) its recommend to use a mux? Feel free to update the issue description


Third PR: Included myself as an Intermediate developer in the Team file

I have included myself as an intermediate developer in the Team file for the Third PR exercise. I continue to use VSCode Editor for the changes and git command line tool for pushing the changes to my cloned repository. Still learning things in Collaborative Git.

@Mira-Alf you are one of the unfortunate (or fortunate? :partying_face: ) people to receive a merge conflict! To be honest, it probably isn't even your fault. One of the other PRs to the same file was probably merged sometime after you created your PR, thus resulting in a conflict.

Hey I merged the changes. Hope I have done it correctly.

Since you are a little more experienced I will ask you to try once again with the merge request, but this time try using rebase, rather than merge. DM me on twitter if you have time to discuss about why.

Hi @Mira-Alf i think there is still a conflict, try again please

@johnjacobkenny @proful Can you please merge it now? I think I resolved the conflicts.

Yes @Mira-Alf now it's done! 🥳


[Bug]: Symbol.toPrimitive in property acess

// input.js
null [ { [ Symbol . toPrimitive ] : () => { REF_ERR; } } ] ;

Hello,
Running input.js should throw ReferenceError.
However, running it using GraalJS throws TypeError:
$ js --version
GraalVM JavaScript (GraalVM CE Native 22.2.0)
$ js input.js
TypeError: Cannot convert undefined or null to object: null
	at <js> :program(input.js:1:0-57)

According to ECMAScript 2022 spec section <IP_ADDRESS>, EvaluatePropertyAccessWithIdentifierKey is called in line 4, where baseValue is null and Expression is { [ Symbol . toPrimitive ] : () => { REF_ERR; } }:

In line 3 of section 13.3.3, ToPropertyKey is called, where propertyNameValue is an evaluated value of expression( i.e. { [ Symbol . toPrimitive ] : () => { REF_ERR; } }). By the way, TypeError caused by reading a property of null can be thrown after line 4:

Then ToPrimitive in the first line of section 7.1.19 is executed, with argument { [ Symbol . toPrimitive ] : () => { REF_ERR; } }:

Inside the function ToPrimitive, now input is { [ Symbol . toPrimitive ] : () => { REF_ERR; } } so exoticToPrim in line 1-a becomes () => { REF_ERR; }.
Finally in line 1-b-iv, Call ing exoticToPrim leads to ReferenceError since REF_ERR is not defined.

Interestingly, V8 has the same bug:
$ node input.js
input.js:1
null [ { [ Symbol . toPrimitive ] : () => { REF_ERR; } } ] ;
     ^

TypeError: Cannot read properties of null (reading '#<Object>')
    at Object.<anonymous> (input.js:1:6)
    at Module._compile (node:internal/modules/cjs/loader:1159:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
    at Module.load (node:internal/modules/cjs/loader:1037:32)
    at Module._load (node:internal/modules/cjs/loader:878:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.11.0

You are right that we are not following the latest version of ECMAScript specification here. Unfortunately, this part of the specification is known for not matching the web reality (i.e. what the most popular JavaScript engines implement). Moreover, considering how base functionality this is, it is unlikely that the engines will change their behavior here singnificantly (as they would break some existing code very likely). So, the general direction here is not to push engines to implement what the specification says currently but to find the common intersection of the existing behavior of the most popular engines and to change the specification accordingly. Unfortunately, this process is very slow a buggy sometimes.
The behavior of the mentioned expression has changed recently due to some specification changes (there used to be RequireObjectCoercible(baseValue) in EvaluatePropertyAccessWithExpressionKey. I am not convinced that this particular consequence is expected/intentional. Anyway, it is a know discrepancy between the specification and web reality as you can see here.


Create single record per page

How can you go about doing a single record per page?  Here we have multiple records linked to different stands, but want to print each record (with its map extent) on its own page.
See Example image:

I think you should have a look on this example: https://github.com/mapfish/mapfish-print/tree/master/examples/src/test/resources/examples/oereb, png result: https://github.com/mapfish/mapfish-print/blob/master/examples/src/test/resources/examples/oereb/expected_output/requestData.png

I think you should have a look on this example: https://github.com/mapfish/mapfish-print/tree/master/examples/src/test/resources/examples/oereb, png result: https://github.com/mapfish/mapfish-print/blob/master/examples/src/test/resources/examples/oereb/expected_output/requestData.png

Thanks, but this does not work as I do get the following error:
org.yaml.snakeyaml.error.YAMLException: Number of aliases for non-scalar nodes exceeds the specified max=50

Thanks, but this does not work as I do get the following error:
org.yaml.snakeyaml.error.YAMLException: Number of aliases for non-scalar nodes exceeds the specified max=50

You should set the environment variable PRINT_YAML_MAX_ALIASES to e.-g. 200

You should set the environment variable PRINT_YAML_MAX_ALIASES to e.-g. 200

I did set the env variable as follow:
export PRINT_YAML_MAX_ALIASES=200
Then restarted tomcat, bust still giving same error message.

I did set the env variable as follow:
export PRINT_YAML_MAX_ALIASES=200
Then restarted tomcat, bust still giving same error message.

Never mind.  Working now - Seems to have been a cache issue.

Never mind.  Working now - Seems to have been a cache issue.


Some suggested changes

Hi Darryl
I downloaded your fork several weeks ago when you had just rearranged headers and linux naming. I have been doing something similiar to you - modifying to add mqtt to send data to homeassistant - but not as complex as you !
I should have got in touch earlier I think or forked (I am pretty new to this). I have been running ESP32 connected to SMA2500 continuously all day and only disconnecting at night then reconnecting in the morning. I was having some issues with logging on sometimes and reading data errors ever now and then which caused problems with reconnect. I just tracked them down today and checked back at your repository and found you had been very busy. I suspect what I found today has been the problem all along. Looks like I missed the Nov 28, 2022 update by Lupo135 - rvcpcktID unt8_t instead of uint16_t like pcktID and pcktID never being re-initialised to 1 after disconnect. That will teach me to fork instead of download.
I have done this PR because I found a second function with uint8_t rcvpcktID definition and I am using a logoffSMAInverter function that I found in the SBFSpot code. They logoff at the end of initialise before login, not sure why but I tried it with success -it is working flawlessly for me (though it could have been another change I made). I am now setting pcktID to 1 when I reconnect. Testing that tomorrow !
Anyway hope this has not been too long a message for a PR ... if you want to do any exchange of learnings my email is<EMAIL_ADDRESS>and I am in Qld like you.. small world
Regards
Brett

I get this error the first time I start up
BT-Signal      71.0 %
*** logonSMAInverter
Unexpected response  00:80:25:27:38:E7 pcktID=0x0004 rcvpcktID=0x1CCC now=0x000A
I assume, because it hadn't logged on before.

That error only started, I assume, with my suggested changes ..... that's weird because mine has been working flawlessly for several days now with ... logg off SMA then by BT flush, BT disconnect at night and in the morning, BT connect, initialise sma,   getBT_SignalStrength, logoffSMA, LogonSMA.

Once I am connected in the morning, I read data every 2 minutes throughout the day and stay connected to SMA until there is no difference in Etotal and, only then do I disconnect. A quick scan of your main loop, and I think you are initialising/logging in and disconnecting each scan/request for data, is that right ?

I should really try it without logoffSMA .. just not sure I have time before going away

I still have sbfspot operating. Not sure if staying connected will affect
it. Does sbfspot have the same behaviour as you describe?
I keep scanning through the night, just once every 15min scan once per
minute through the day.
On Sat, Jul 8, 2023, 8:28 PM mrtoy-me @.***> wrote:

I should really try it without logoffSMA .. just not sure I have time
before going away
—
Reply to this email directly, view it on GitHub
https://github.com/darrylb123/ESP32_SMA-Inverter-MQTT/pull/2#issuecomment-1627076210,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTSUVMLEVOBGVIA2FCASV3XPEY4FANCNFSM6AAAAAAZ4MURIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

as far a I can test sbfspot does what I am using - I used the logoff code from sbfspot and adapted it - then I looked how they were using it and tried it that way - been working a treat since.  I would not be running sbfspot at the same time, sma could get confused if one app was logged in and another tried to login.
I tried sbfspot integration for ha but I could not get the config right and it would not connect. The config was a real pain for me.

I've been using the esp32 with my code and sbfspot simulateously for
several days with out any issue with either. My sbfspot runs from cron evey
10min so must login each time?
On Sun, 9 Jul 2023, 11:22 am mrtoy-me, @.***> wrote:

as far a I can test sbfspot does what I am using - I used the logoff code
from sbfspot and adapted it - then I looked how they were using it and
tried it that way - been working a treat since. I would not be running
sbfspot at the same time, sma could get confused if one app was logged in
and another tried to login.
I tried sbfspot integration for ha but I could not get the config right
and it would not connect. The config was a real pain for me.
—
Reply to this email directly, view it on GitHub
https://github.com/darrylb123/ESP32_SMA-Inverter-MQTT/pull/2#issuecomment-1627564582,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTSUVOK4QEVSTUFFQKGHOLXPIBWRANCNFSM6AAAAAAZ4MURIQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

sounds like you should ditch my suggested changes :)

I went away overnight from not long after I applied you changes.
The esp32 failed for hours at a  time yesterday, and all day today.
The bluetooth connection was failing which has nothing to do with your changes???
Sometimes the signal strength was returned <1% other times there was nothing.
I've used another module to see  if it is the first module.

Again today, only connected for about an hour, then stopped.
Commented out both logoff and it stayed out the rest of the day.
I've kept it there but wrapped in a #define.
My inverter is a SB5000TL-20, don't know if there is any difference. Might try adding the logoff back one at a time to see which one or both causes it.

@darrylb123
Hi Darryl, sorry I didn't comment on the other pull request you just closed. I misplaced my BT esp32(the kids picked it up or something) so didn't have much else to add and I am unable to test atm. Good to hear you got this working nicely though.
@mrtoy-me
Sorry to hear you had trouble with the HAOS-Sbfspot addon. If you wish to revist it in the future hit me up on my repo or the HA forums and I can try and help you with your config.

Thanks, closed your pull request as it was way back.
I bought a couple of wemos esp32 mini d1 off AliExpress. Very impressive
and very cheap.
On Fri, 14 Jul 2023, 9:13 pm habuild, @.***> wrote:

@darrylb123 https://github.com/darrylb123
Hi Darryl, sorry I didn't comment on the other pull request you just
closed. I misplaced my BT esp32(the kids picked it up or something) so
didn't have much else to add and I am unable to test atm. Good to hear you
got this working nicely though.
@mrtoy-me https://github.com/mrtoy-me
Sorry to hear you had trouble with the HAOS-Sbfspot addon. If you wish to
revist it in the future hit me up on my repo or the HA forums and I can try
and help you with your config.
—
Reply to this email directly, view it on GitHub
https://github.com/darrylb123/ESP32_SMA-Inverter-MQTT/pull/2#issuecomment-1635708637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTSUVKMDJ43GRD2O7FUTXTXQESVLANCNFSM6AAAAAAZ4MURIQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Update klutchell/unbound Docker tag to v1.17.1

This PR contains the following updates:

Package
Type
Update
Change

klutchell/unbound
final
patch
v1.17.0 -> v1.17.1

Release Notes

klutchell/unbound-docker
v1.17.1
Compare Source
v1.17.1
Compare Source

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 is behind base branch, 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.

running in prod


BigTable Admin Samples

Fixes tests for https://github.com/GoogleCloudPlatform/php-docs-samples/pull/743

@billyjacobson tests are passing - will you give this guy approval?

@juan-rael want to give this a quick look before I merge it?

I read it, its ok.

@juan-rael I think you need to explicitly approve this for the CLA to pass

Theres are an extra file in the PR. Can you delete the file.txt?
On Wed, Dec 5, 2018, 6:22 PM Brent Shaffer<EMAIL_ADDRESS>wrote:

Merged #775
https://github.com/GoogleCloudPlatform/php-docs-samples/pull/775 into
master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/php-docs-samples/pull/775#event-2008544444,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AqBRbULYpfPVbfpNMVN5ZuZOGNumebBMks5u2FVCgaJpZM4ZFYbP
.

@juan-rael done!


update Hebrew translation

Hi @schapira. Thanks for the translations! So we can merge this in, can you sign the CLA?


Fix tests cases and update master-ds.xml

Purpose

Take all Thread.sleeps, which were added to make sure 2 lifecycle states have 2 different timestamps, to a single place
Set default autocommit true in master ds

@bhathiya & @chamilaadhi , please mark if this has a doc impact or not by selecting the appropriate label (Docs/Has Impact OR Docs/No Impact).

This has a doc impact and I already asked @shaniR to make the changes.


feat(runtime-core): support hydration of all custom element properties

Resolves https://github.com/vuejs/core/issues/7203 by checking for the presence of a custom element in the custom element registry and allowing that to be hydrated with vue properties.
Ideally, I'd use the isCustomElement compiler option - however, that is not available at runtime. This is the next best thing - however, it could potentially hydrate more components than the user intended if they have not specified all of their custom elements in the isCustomElement function.
This is required for hydration to function correctly in https://github.com/prashantpalikhe/nuxt-ssr-lit/issues/34
This PR superceedes https://github.com/vuejs/core/pull/7300 & #8035 as those got out of sync with main

Thanks for the PR - relying on compilerOptions.isCustomElement is not going to work for projects that use the build step to pre-compile templates. However, we can simply check for the presence of - in the tag name for custom elements. See https://github.com/vuejs/core/commit/7d473b7721b423050dba62823b16f3d39e640567 (partially reused the test from this PR)


fix: android back button in fancy modals

This PR resolves CX-1192
Description
This PR makes the android back button dismiss fancy modals.
https://user-images.githubusercontent.com/1242537/115209519-96a8ab00-a0f5-11eb-8084-da140e8fdb46.mp4
PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

🚀🚀🚀


Use separate sandbox plugins directory for tests

Fixes #55

Looks good. Thanks

Tests are failed. Fix them please


animations

Been thinking about how to do animations a lil, and think having a component with Nanomorph would be the right place to add them. We should be able to do stuff like this at 60fps:

This is my current state of thinking; I'm not entirely sure how to approach this yet but I think laying out the constraints can help us with figuring out how to approach this. Apologies if I'm rambling a lil here, figured it'd be better to share notes & thoughts in the open, even if they're not as polished as they could be.
Constraints
There's a few things I think would be cool if we could pull off:

animate individual components
create complex full page animations with multiple components
have it run smoothly at 60fps
try and keep the new terminology and APIs introduced to a minimum
find a way to allow this to work for modals and (infinite) list elements too

Component lifecycle events
Nanomorph takes care pretty well of rendering things on a screen. If you want to add an element, it'll take care of it with little trouble. However, it can't pause element mutation, which is crucial for animations. For example, say an element has a fade-in effect when it's first rendered. If we re-render midway through the animation it'll look weird. So we want to make sure the animation completes before any further mutations occur. Stuff like a fade-out before a component is removed isn't even possible right now, so we should allow for that.
Types of events
There's generally 3 types of events that happen¹:

component will be rendered for the first time
component will be rendered, but it's not the first time
component will be removed from the DOM

Each of these events should be handed a lock that can be cleared using a callback. E.g. somewhat similar to:
component.on('rendered-for-the-first-time', function (done) {
   this.component.classList.add('my-500-ms-transition')
   setTimeout(done, 500) // tell we're done animating, allowing mutations to trigger again
})

While an animation is in progress, other animations and Nanomorph mutations should be put on hold.
The leave event
Because we just diff DOM nodes and don't do extra lifecycle tricks, we can't prevent elements from being unmounted. This means we can't trigger any animation when an element is removed from the DOM. To counter this we could, however, leave an element in the DOM that can instrument between its child elements and trigger hooks on each of them.
I think the approach might be to have some form of scheduler live in the DOM, that doesn't get unmounted so it can have its own Nanomorph instance. It can then do fine grained scheduling for its child elements, exposing all sorts of events².
Instrumenting Nanomorph through locks
As mentioned above, we would hand animation handlers a lock which they can free at the end of an animation. This is so we can make sure animations complete and don't conflict. E.g. imagine this scenario:

element is rendered for the first time, triggers the "enter" animation
element is marked to be removed from the DOM, triggers the "leave" animation

In this case we'd want the "enter" animation to complete, and only then mark the element to be removed from the DOM. Now, we can't immediately unmount the element - we need the animation to complete first. So we need a way to prevent the element from being removed.
Maintaining 60fps
ideally we'd be able to schedule the animations to the best of our abilities. E.g. not smush them all together in the same frame - but perhaps even better: schedule them when there's free time available. Something interesting to experiment be would be to find a midway: try and run the animation with window.requestIdleCallback() but run it anyway if it takes longer than 10ms or something. If every component would employ something like this, then things should run relatively smoothly (is my guess). Worth experimenting with at least haha.
Instrumentation
So far we've only talked about how to allow transitions to work with nanomorph. Sometimes we'll need to instrument full page animations³. In react-f1 there's a distinction between individual element renders, and full page instrumentation. Another good example of this would be jam3.com.
The way f1 / react-f1 does it is by declaring a finite state machine, and using a pathfinding algorithm to navigate between the nodes. If you do several layers of this, you can create pretty wild animations. An example of a pathfinding algorithm is jkstra for Dijkstra / A* pathfinding.
Unanswered questions
A tricky thing with Nanomorph is that we can't have multiple on-load handlers on any given node so we're slightly constrained in that regard. But there's a few more things I think we should try to figure out:

is it possible to have a "pure" scheduler - e.g. one where we don't need to mount any wrapper components on the DOM?
What does a application level scheduler look like, and how does it interact with choo's events?
How can we integrate elements like infinite lists and modals with animations and application level schedulers?

Wrapping up
I hope this somewhat explains the constraints my thoughts on the matter, and helps start a discussion on how to best approach animations. Thanks heaps for making it this far, and keen to hear your thoughts!
See Also

reactjs/react-transition-group
jam3/react-f1
scheduler sketch gist

edit: meant nanomorph, not morphdom haha

Quick brainstorming:
I think animations are awesome, so good to read this. Also think that route transitions should be treated completly different to component transitions, I see two groups there.
Speaking about route transitions, I like the old vue-router phases definition, I can imagin some 'entering' and 'leaving' events in choo router, since nanorouter is event-emitter like, it should be really natural to introduce those events.
I'm not clear why is needed a finite state machine. I guess that a priority queue would be enough to define animations order a global one for route transitions, and one per each component. Also guessing here haha.
See also

luruke/barba.js

Morphdom takes care pretty well of rendering things on a screen. If you want to add an element, it'll take care of it with little trouble. However, it can't pause element mutation, which is crucial for animations

In the example you start the animation by adding a CSS class, this way the animation state lives inside the css execution engine which makes it difficult to synch with re renders. This won't happen with style properties that are set from the component state. Re render won't be a problem because each time the component gets rendered the correct style property value will be set so pausing will be possible.
Similar to what react-motion does, the animation layer can handle timing and interpolation and pass the values that will be updated by nanomorph.
(Not sure if this makes any sense for the choo architecture)

In the example you start the animation by adding a CSS class, this way the animation state lives inside the css execution engine which makes it difficult to synch with re renders.

@hugozap There are the transitionend and the animationend events to interact with the css animations. In fact, I think it is a MUST to handle those.

Hey, just two things to mention:

Maybe snabbdom (https://github.com/snabbdom/snabbdom) could help with ideas on how to handle animations for lifecycle hooks? It's a vdom-thing behind cycle, and vue works on it's fork.
Code here: https://github.com/snabbdom/snabbdom/blob/master/src/modules/style.ts

For CSS-animations, we have dom events to listen to (https://css-tricks.com/controlling-css-animations-transitions-javascript/#article-header-id-2). Events look like animationstart, animationiteration, animationend, and transitionend , with more on this here https://www.sitepoint.com/css3-animation-javascript-event-handlers/

@YerkoPalma Does this means that additional DOM mutations have to be disabled while the animation ends to avoid issues with re render? This is a big constraint.

Thanks so much for all the links so far! - Feel like I haven't considered a bunch of things (e.g. aborting animations and going back) - so reading through all the links you've linked so far and figuring out how to do these things haha. Also had no idea about those DOM APIs - it'll take a lil while to work through it though I think haha. Will keep iterating on the main post to include the stuff y'all have been linking!

@hugozap More than disabled, I think paused is the word, and in some case, some animations could cancel/disable other DOM mutations (i.e. route transitions should cancel component mutation IMO)

@YerkoPalma For me the issue with CSS based animations is that things get complicated (or just not possible) for complex escenarios  (staggering, composition, speed changes) , this in part is due to the animation information (e.g timing, easing) being hardcoded in the CSS declaration and not as part of the app state.  I'm in favor of treating animation parameters like any other UI state data, so the same data flow ( state -> view ) can be maintained. To animate something just make sure to update the state as you wish and the animation layer will interpolate values that can be passed to modify the style attribute.

In fact you can manipulate css animations from javascript, so you could include them in the app state, but, IMO, things can get a litle hacky from here.
** Links **

Excellent post on css animation and transition manipulation with javascript https://css-tricks.com/controlling-css-animations-transitions-javascript/
Litle tool to manipulate css animation and transitions with javascript https://animo.js.org/

Can you tell nanomorph to just throttle mutations until it hears transitionend?

PS if anyone's experimenting with any of this it'd be super cool if you posted back into this thread. Got a feeling that we can get this done soonish if we share notes :D

Oh by the way, updates!

https://github.com/choojs/nanostate for state machines
https://github.com/choojs/nanocomponent to create components
https://github.com/yoshuawuyts/choo-component-preview for managing components inside choo
https://github.com/yoshuawuyts/nanoanimation for JS animations


Cannot Instantiate pyNASA object

Running the following code results in the subsequent error.
>>> from pyNASA import pyNASA
>>> nasa = pyNASA()

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-4515acee3e8d> in <module>()
----> 1 nasa = pyNASA()

/Users/foo/anaconda2/lib/python2.7/site-packages/pyNASA/__init__.py in __init__(self, token, secret)
     14
     15                 for dataset in resources:
---> 16                         pyNASA._add_resource_(**dataset)
     17
     18         def _add_resource_(id, name, description):

TypeError: unbound method _add_resource_() must be called with pyNASA instance as first argument (got nothing instead)

Works for me on Anaconda Python 3. Seems like you are using Python 2.7. The project package metadata doesn't seem to mention 2.x support - https://github.com/bmtgoncalves/pyNASA/blob/9138abff715f538b7b475de6c2a354881feeb0ac/setup.py#L58

Ah yup, you are correct, didn't notice it was a py3 module, schweppes. Thanks.


Attempt to permanently meet otherwise stochastic coverage changes

Sometimes sorting Concoctions compares a steel organ to another, sometimes it doesn't. Now it always does. Also cleaned up the test file a bit.

I couldn't help it, I had to remove that huge chunk of duplicated code across Concoction and UseItemEnqueuePanel


请问如何实现TCP长连接？

What is your question about gnet?
Please describe your question meticulously.

https://pkg.go.dev/github.com/panjf2000/gnet#WithTCPKeepAlive


XRP wallet_propose not working, given error “Forbidden”

Hey,
My Ripple address is not generate using "wallet_propose" method, given error “Forbidden”,When we use personal node server..

Hello
wallet_propose is an admin method. So please be sure to set this line in your config file https://github.com/ripple/rippled/blob/develop/cfg/rippled-example.cfg#L195
Your config should look smth like the following  snippet
[server]
port_rpc_admin_local
port_peer
port_ws_admin_local

[port_rpc_admin_local]
port = 51234
ip = <IP_ADDRESS>
admin = <IP_ADDRESS>
user=user
password=password
protocol = http

[port_peer]
port = 51235
ip = <IP_ADDRESS>
protocol = peer

[port_ws_admin_local]
port = 6006
ip = <IP_ADDRESS>
admin = <IP_ADDRESS>
protocol = ws

[node_size]
medium

[node_db]
type=RocksDB
path=/home/ripple/.ripple/db/rocksdb
open_files=2000
filter_bits=12
cache_mb=256
file_size_mb=8
file_size_mult=2
online_delete=2000
advisory_delete=0

[database_path]
/home/ripple/.ripple/db

[debug_logfile]
/home/ripple/.ripple/debug.log

[sntp_servers]
time.windows.com
time.apple.com
time.nist.gov
pool.ntp.org

[ips]
r.ripple.com 51235

[validators_file]
/etc/opt/ripple/validators.txt

[rpc_startup]
{ "command": "log_level", "severity": "warning" }

[ssl_verify]
1

But you should set all ips and credentials to your values

Hi @gfedorenko
I did like that. But given Forbidden error.
[server]
port_rpc_admin_local
port_peer
port_ws_admin_local
[port_rpc_admin_local]
port = 51234
ip = <IP_ADDRESS>
admin = <IP_ADDRESS>
protocol = http
[port_peer]
port = 51235
ip = <IP_ADDRESS>
protocol = peer
[port_ws_admin_local]
port = 6006
ip = <IP_ADDRESS>
admin = <IP_ADDRESS>
protocol = ws
[node_size]
medium
[node_db]
type=RocksDB
path=/home/ripple/.ripple/db/rocksdb
open_files=2000
filter_bits=12
cache_mb=256
file_size_mb=8
file_size_mult=2
online_delete=2000
advisory_delete=0
[database_path]
/home/ripple/.ripple/db
[debug_logfile]
/home/ripple/.ripple/debug.log
[sntp_servers]
time.windows.com
time.apple.com
time.nist.gov
pool.ntp.org
[ips]
r.ripple.com 51235
[validators_file]
/etc/opt/ripple/validators.txt
[rpc_startup]
{ "command": "log_level", "severity": "warning" }
[signing_support]
true
[ssl_verify]
1

If you put <IP_ADDRESS> as admin configuration all admin methods will be available only from the node  directly.
Put <IP_ADDRESS> there and try again.

Ok.


Replace Ember.K usage with JavaScript syntax

Hi, are all the failing tests related to my PR? I'm not familiar with the test suite, so I need a bit of help unpacking the failures.

Bump, can some kick the CircleCI for me?

Bump. Ember 2.12 Beta has deprecated Ember.K and we get lots of deprecation warnings. Could someone merge this pull request and release a new version? Thanks!

Kicked 😬 let's see

Looks like the same Node 0.10/0.12 incompatibility issue I had with ember-cli-deploy-build. broccoli-persistent-filter -> async-disk-cache ^1.2.1 -> username ^2.3.0 no longer supports Node 0.12.

closed in a rebased version of this PR ( #346 )


Language Feast: C++

An attempt to start up a BTAGSIL implementation in C++.
This implementation should have the following:

You start with bare fists as your weapon.
Four locations: Forest, Square, Weapon Shop, Cave. You can get a new weapon in the Weapon Shop and fight a monster in the Cave.
Three weapons: Axe, Sword, Bow: all with different damage stats.
Navigational commands: you can ask where you are, where you can go, move between neighboring locations, etc.
On the square, you can talk to the guard who can tell you a random fact or joke.

Monitor your experience and impressions from developing this kind of application in C++, and once the implementation is finished, think about whether you liked it enough to start a gigantic application of this style in it or not.
Extra notes: I feel like I'm slowly running out of steam with the Language Feast and I'm going to have to make the decision soon. That said, considering that C++ doesn't have pattern matching, this "standard" prototype implementation may end up being unnecessarily more complicated than it is in the more functional languages. If it turns out that way, I'll probably quit this prototype halfway. However, if it goes well and compiles without issues on all major compilers, I may actually think about adopting C++ as BTAGSIL's implementation language. We'll see how it goes.

The C++ prototype has been abandoned. For a time being, anyway.
The pros:

It's fast? I guess?

The cons:

A std algorithm crashed on me because it didn't like mixing up char* and std::string. It didn't give me any warnings or errors, didn't throw any exceptions, it just segmentation fault (core dumped) on me.
Methods like join, split, comparing vectors, displaying vectors on console, they are just not there. You have to write them yourself and you can't even use std algorithms, because they're inconsistent as hell and they simply don't work the way you're expecting them to.
In general, inconsistency has been the main theme of this prototype. It's not even that it's hard to write code in C++ or that quite a few common algorithms don't exist in C++, no: the worse thing is that all the std functionality that you could have been using for your application is inconsistent as fuck. It behaves differently between compilers/systems, and you cannot even assume the most basic things like "this std algorithm won't crash for sure". A basic thing to guarantee that an std function won't crash, right? Wrong. It does.
No pattern matching. I would probably have to use a ton of if else if else if else if else if ...'s, which is annoying.

The C++ "experience" greets you with crashes, segmentation faults and 300-line-long template errors right off the bat. Writing an entire massive application in that would be a nightmare. No. Just... No. I love bashing my head against the wall, but I'd rather make the result of the bashing consistent, not a crash one time and a 200-line long error another time. For that, I'll probably revive the Haskell prototype.


Fix parsing and behaviour of ->foo.[] and other operators

Fixes #7319
Split into several commits, but basically:

parsing of ->foo.op where op was [], +, etc. didn't work, so that's fixed
after fixing that I tried taking a proc pointer where the variable was an integer and it crashed. The reasons are many: most of these methods (like +) are primitives and inlined by the compiler, and this didn't work when used as proc pointer. Another reason is that primitives are not passed by reference (pointer) and that's needed when the proc pointer closures over something (it's a pointer). Both of these things are fixed.
there's another commit that improves something by making it include Indexable

The code in this PR feels slightly hacky, but primitives are a special case in the language and so they usually need special code to handle them, so it's probably fine.

This seems go to :ship: :+1:

@asterite Can you rebase this branch on master to make sure it's all still good?

@straight-shoota Rebased and green.

Hm, should the last commit be squashed and then merge three indivdual commits?

@straight-shoota Done

Awesome! Thanks @asterite


Prefetching not used in JAX agents based on LocalLayout.

Hi,
After reading through the source of single-process implementation of JAX TD3, SAC agents (which uses local layout), I have a question.
In LocalLayout, there is an option to specify prefetch_size and prefetch_to_device. However, I noticed that they were not passed to the superclass by the agent implementations, is this choice intentional?
For example,
https://github.com/deepmind/acme/blob/3b5c5744198be8f18ebaf6420c5c6b8386051f1a/acme/agents/jax/sac/agents.py#L121-L132
I would think that prefetching should improve the pipelining of the agents further but I was worried that since the single-process agents do not use Reverb's rate limiter, this would cause the actors to be more off-policy and would hurt the baselines' sample efficiency. It would be great if the authors can provide comments on this.

@ethanluoyc, thanks for the question.
Note that there are couple of reasons why Reverb rate limiter is disabled in this layout:

Is that it's not needed. LocalLayout is synchronous - it does fixed number of actor steps followed by a fixed number of learner steps in the same thread. This functionality is equivalent to what the rate limiter tries to achieve in distributed setups.
If rate limiter triggers in synchronous setup, it will cause a deadlock as it blocks the thread which does both acting and learning. In fact, even with the current setup we've experienced reverb-related deadlocks in some of the agents.

Given this, my only worry with enabling prefetching is that if you are not careful with how you use it, you might end up deadlocking the agent. I'll check with the authors and fix if they have no concerns.

Thanks for the clarification @nikolamomchev!
Actually, speaking of local layout being synchronous. There has been an issue that always troubles me. When the actor update, it triggers an async update in the variable client which tries to pull the latest parameter from the learner in a separate thread. This means that the actor is not in sync with the learner and 1 learner step != 1 actual actor parameter update. In theory, this is fine since many of these are off-policy algorithms but this deviates from the majority of the other open-source implementations of these algorithms out there which, despite implementing off-policy algorithms, are fully synchronous in their parameter updates.
One thing that troubles me is that if this would hurt sample efficiency but I have not yet tried to benchmark this. Is there any insight that you can share regarding whether using async updates in a single process might hurt sample efficiency?
On an unrelated note, the SAC/TD3/D4PG single process agents' runtime performance is super awesome. I was a bit surprised when I found that 1M mujoco environment steps would only take less than half an hour.

Thanks for the clarification @nikolamomchev!
Actually, speaking of local layout being synchronous. There has been an issue that always troubles me. When the actor update, it triggers an async update in the variable client which tries to pull the latest parameter from the learner in a separate thread. This means that the actor is not in sync with the learner and 1 learner step != 1 actual actor parameter update. In theory, this is fine since many of these are off-policy algorithms but this deviates from the majority of the other open-source implementations of these algorithms out there which, despite implementing off-policy algorithms, are fully synchronous in their parameter updates.
One thing that troubles me is that if this would hurt sample efficiency but I have not yet tried to benchmark this. Is there any insight that you can share regarding whether using async updates in a single process might hurt sample efficiency?
On an unrelated note, the SAC/TD3/D4PG single process agents' runtime performance is super awesome. I was a bit surprised when I found that 1M mujoco environment steps would only take less than half an hour.

Thanks for the feedback!

I verified the question about prefetch_size and submitted a fix.

I think it may be fine to set wait=True here (https://github.com/deepmind/acme/blob/master/acme/agents/agent.py#L90) and make the updates synchronous. We already do synchronous updates for agents which use reverb queue (see https://github.com/deepmind/acme/blob/master/acme/jax/layouts/local_layout.py#L152). It'll need some more extensive testing as all agents go through this. If you think that's important, could you please submit a separate issue for it?

I'm glad you are happy with the performance. We spent non-trivial amount of time optimising it. You should stay tuned as we have some non-trivial performance optimisations coming forward ;-)

FYI, regarding 2) there are (unverified) concerns that doing synchronous updates might affect the runtime performance when running on GPU/TPU as it will trigger synchronisation point between the steps which can be avoided with asynchronous update. So, unless you have a confirmation that it makes a difference in training I would keep the asynchronous updates.
Note that PPO uses a queue and will use synchronous update. SAC and TD3 should be able to handle off-policy data better.

Sounds good. @nikolamomchev I think it definitely affects the runtime due to increased latency in transferring the weights back and forth. I remember seeing runtime slowdown when forcing synchronous updates. I will let you know if I have some results comparing sample complexity with/without synchronous updates.

Regarding 3), really excited about that as well!


Remove left arrow for level 1

On the first level, there is left arrow on the top-right. This doesn't need to be there, however, since there aren't any levels before level 1.

And arrow right in last level !

Task has been completed.


Code for DiscreteDistribution

Describe the bug
The code on this repository for HARK.distribution.DiscreteDistribution does not seem to match what is used when you call HARK from a conda install. Where can I see the most up to date code?
To Reproduce
Steps to reproduce the behavior:

run conda install -c conda-forge econ-ark
run the following:

from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType

HARKExample = IndShockConsumerType()
HARKBase2.TranShkDstn[0].pmv

The following error is returned:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/var/folders/bm/65k97f4j77q2bn74yvqyjk3c0000gq/T/ipykernel_39862/698395917.py in <module>
----> 1 HARKBase2.TranShkDstn[0].pmv

AttributeError: 'DiscreteDistribution' object has no attribute 'pmv'

Expected behavior
On this repository, HARK.distribution.DiscreteDistribution has a class for DiscreteDistribution that has pmv as an attribute. However, when HARK is loaded via conda it is using a different class, that has attributes such as pmf and X. I expected the code on this repository to reflect what was being used by HARK when installed via conda.
Screenshots
N/A
Desktop (please complete the following information):

OS: macOS Monterey
Browser: N/A
Econ-ARK and Python version [0.12.0 and python 3.9.13]

Additional context
N/A

The most up to date code is on the master branch of the repository which can be installed by 'pip install git+https://github.com/econ-ark/HARK.git'
When you install from conda, you get version 'econ-ark=0.12' which was released almost a year ago. We have not had a release since.

@alanlujan91: Is there a branch of the repository that has the underlying code for version 0.12?
Thanks

yes, you can see the source code for version 0.12 at https://github.com/econ-ark/HARK/tree/0.12.0

@nomadj1s,
Thanks for posting this (and your earlier posts).
@alanlujan91 is right that you can see the source code at the link he provided.
But if you installed it via conda install you should also be able to find it at whatever location conda already installed it under when you executed the conda install command.  I don't remember exactly how to figure that out, but Google will.
In any case, your example should work because it is using the standard instructions.
@alanlujan91, can you work with @nomadj1s to see if you can get it working for him?  And, more importantly, to resolve the bug (in the sense that it seems like @nomadj1s did what you're supposed to do and it didn't work).  "resolving" might mean fixing our instructions, fixing our code, or otherwise trying to prevent future users from having @nomadj1s's problems.

@llorracc and @alanlujan91: That link works fine for me, thanks! I didn't know the version from conda was different than the version on your master branch, but now everything makes sense.

@nomadj1s no worries, let us know if you have other questions about the library. We have not had a release since December 2021 but are in discussions to have a new release soon, for which there will be some breaking changes. We'll have to be very explicit about what those are on the release notes.

Several releases have happened now! More will happen! Exciting times! Closing!


upm: enable LIDAR-Lite V3 Optical Distance Measurement sensor library and example

LIDAR-Lite v3, a compact, high-performance optical distance measurement
sensor from Garmin™. It is the ideal solution for drone, robot or unmanned
vehicle applications.
The library provided is libupm-lidarlitev3.so
The example provided is lidarlitev3.cxx where it will print the distance
of object/obstacle from the sensor.
The image of the sensor is at docs/images/lidarlitev3.jpg
Signed-off-by: Saloni Jain<EMAIL_ADDRESS>Signed-off-by: Niti Rohilla<EMAIL_ADDRESS>

Thanks for submitting this, @malikabhi05 will work with you to review/test the code and get this merged!

Merged. Thank you very much for your contribution @nitirohilla !

Thanks @Propanu and @malikabhi05 :)


feat(*) disable KongClusterPlugins if unavailable

What this PR does / why we need it:
Check if KongClusterPlugins are available from the API Server. If not, do not create their informer or store, and handle the store's absence elsewhere:

When getting a specific plugin, return a not found error. This is equivalent to existing behavior when no KongClusterPlugin with that name is found; we just now assume that no such KongClusterPlugin exists because we know no KongClusterPlugins exist.
When listing global plugins, silently return an empty list.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #717
Special notes for your reviewer:
We only want the above no-ops if the resource isn't available, though it doesn't appear that there's a great way to determine this. client-go doesn't appear to offer any means to check if an individual resource is supported. Listing everything in configuration.konghq.com/v1 and searching it exhaustively works, though it feels a bit ham-fisted, even if we don't expect the list to be large and only need to search once.
Alternatives would be to make this an explicit flag or rely on something else. We can kinda assume that specifying --watch-namespace means you won't be using KongClusterPlugins, though that's not immediately obvious to users.

Going ahead and marking this ready for review after the holidays. The "pull all resources in our config group and loop over them to see if KongClusterPlugin is defined" approach isn't lovely, but realistically we likely won't ever have so many CRDs that a one-off loop on start is an efficiency concern.
Given the K8S APIs available I don't think there's any other option except a manual flag, and that's cumbersome for a boolean value that we can infer from the environment.

Going ahead and marking this ready for review after the holidays. The "pull all resources in our config group and loop over them to see if KongClusterPlugin is defined" approach isn't lovely, but realistically we likely won't ever have so many CRDs that a one-off loop on start is an efficiency concern.
Given the K8S APIs available I don't think there's any other option except a manual flag, and that's cumbersome for a boolean value that we can infer from the environment.

Force to move the comment into the commit. Only other change was using the suggested variable rather than the literal string.

Force to move the comment into the commit. Only other change was using the suggested variable rather than the literal string.


Update Ukrainian translation

Description

based on https://github.com/elgatito/plugin.video.elementum/pull/719
fixed merge conflicts.
text was not changed and not verified.
also i will not be able to ma make changes since i do not know the language.
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@elgatito
скопипастил изменения.
кстати, можно сразу менять файл, так как галка стоит Allow edits by maintainers и мне кажется автор оригинального ПР уже вряд ли придёт.

@antonsoroko Looks good. Thanks


SPIKE: Investigate the best approach to test the BCGov iam-role permission boundaries

Describe the issue
One important element of the BCGov implementation of the SEA are the  iam-role permission boundaries that are put in place.
The complete set of permissions polices enforced by the different layers of system (from AWS, to GoC to BCGov) is huge. The goal in this case is to check the specific BCGov policies.
However, at this moment, it is not documented the number or roles, permissions and other constrains that are in place.
This task will require input for other members of the team
Background
It seems there will be dozens if not hundreds of different policy checks. So triaging will be require otherwise the tests, even automated, will be impractically long.
They following links may contain information about the different permission layers

https://github.com/BCDevOps/terraform-aws-keycloak-lz-sso-setup
https://github.com/BCDevOps/terraform-aws-keycloak-lz-sso-setup/blob/a185c0cfca1299ddc5ada1551767a5291002a0f7/main.tf#L68

Definition of done
Basically a document(s) hopefully as short and simple as possible that will capture:

A list of the policies that will be checked
Triaging/prioritization of the previous list (involve stakeholders)
Which will be the best approach to automate testing such policies (AWS CLI, API testing...)

See #1589, as probably will require long-life test accounts

Tickets #1702 and #1765 cover this issue. Actually, based on my understanding of the system, architecture and policies, this ticket is ill formed.
In addition, the first approach to testing the guardrails has been decided: comparing list of policies and roles before/after the upgrade to verify there have been no changes
In this context this ticket will be closed.


Yarn berry error: react not in dependencies

Version affected: v0.15.2 and below
In my case using<EMAIL_ADDRESS>with workspaces, PnP, and zero installs

When using yarn berry, starting a dev server or build fails with the following error:
Error: next-image-export-optimizer tried to access react, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Workaround is to explicitly add the dependency to .yarnrc.yml followed by a new yarn install:
packageExtensions:
  "next-image-export-optimizer@*":
    dependencies:
      "react": "*"

Hi @kryp71c,
I am not familiar with yarn. Would adding react to the peerDependencies in the package.json be sufficient?
Currently, it only specifies next:
"peerDependencies": {
    "next": "12.x"
  },

So next.js itself specifies the following peer dependencies:
"peerDependencies": {
"fibers": ">= 3.1.0",
"node-sass": "^6.0.0 || ^7.0.0",
"react": "^17.0.2 || ^18.0.0-0",
"react-dom": "^17.0.2 || ^18.0.0-0",
"sass": "^1.3.0"
},
I think we can do the same with regards to the react version.


Considering upgrade outdated crate curve25519-dalek 3.2.1 -> 4.x

Problem
Since curve25519-dalek 3.2.1 constrains its dependence zeroize to version >=1, < 1.4, this would conflict while using crate tiny-bip39 1.0.0 and solana-sdk together.
Proposed Solution
I've tried to change curve25519-dalek version to the latest one 4.1.2, and import it with path specification, it works properly with address generation. However, i saw there's some crates outdated, too. Are there some known problems that can not upgrade the dependencies? If not, please considering upgrade the dependencies version to the latest one, especially curve2559-dalek.

After checking with the dependecies tree via cargo tree -d, seems there's huge work to do for upgrade curve25519-dalek or zeroize.
Therefore, the current solution is to downgrade crate zeroize to v1.3.0 for other's who want to integrate solana-sdk to their project. Hopefully, others would get involved into this issue and make a full upgrade.

Finally, figuring out to how to integrate solana-sdk with latest zeroize crate. Just set the features to full, and everything went well.
The full dependency config is:
solana-sdk = { version = "1.8.7", features = ["full"] }

Hope this helps.

This still needs to be looked at imo. As well as curve25519-dalek 3.2.1 there's also conflicts due to aes-gcm-siv and the programs repos.
error: failed to select a version for `zeroize`.
    ... required by package `aes-gcm-siv v0.10.3`
    ... which satisfies dependency `aes-gcm-siv = "^0.10.3"` of package `solana-zk-token-sdk v1.17.17`
    ... which satisfies dependency `solana-zk-token-sdk = ">=1.17.17, <=2"` of package `spl-token-2022 v2.0.1`
    ... which satisfies dependency `spl-token-2022 = "=2.0.1"` of package `solana-account-decoder v2.0.0 (https://github.com/anza-xyz/agave)`
    ... which satisfies git dependency `solana-account-decoder` of package `zil v0.1.0 (zil)`
versions that meet the requirements `>=1, <1.4` are: 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.0

all possible versions conflict with previously selected packages.

  previously selected package `zeroize v1.5.3`
    ... which satisfies dependency `zeroize = "^1"` of package `ed25519-dalek v1.0.1`
    ... which satisfies dependency `ed25519-dalek = "=1.0.1"` of package `solana-sdk v2.0.0 (https://github.com/anza-xyz/agave)`
    ... which satisfies git dependency `solana-sdk` of package `zil v0.1.0 (zil)`


Add training parameters

Could you please add the training command line or parameters to this repo?

I see it's already in the repo. Can you link it from the README as well?

fixed in #8. i added the shell script to the current (and only) release


segmentation fault (core dumped)

I get following error when I try to install mindmapp:
$ chmod a+x Mindmapp-0.7.9.AppImage
$ ./Mindmapp-0.7.9.AppImage
[1]    15528 segmentation fault (core dumped)  ./Mindmapp-0.7.9.AppImage

Hello @hubitor, I don't get this error.
Can you give me more informations about OS?
Have you tried the new version 0.7.10? Do you get the same error?

Hello @cedoor,

Can you give me more informations about OS?

Arch Linux

Have you tried the new version 0.7.10? Do you get the same error?

Just did. The same error.

Hello @hubitor. Yes, open a new issue!
Thanks for this fix! Soon I try the application directly on Archlinux.


Search box fixes

Search box incorrectly resizes due to the addition of labels.

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