MSOutput: workflows are not marked as done if the service is in dry-run mode

Impact of the bug
ReqMgr2MS - MSOutput
Describe the bug
If workflows don't get marked as done, they will keep getting evaluated cycle after cycle. Which means, once the service is fully enabled in production, it will go through all the previous documents already available in the database (unless we drop the database during the deployment).
How to reproduce it
none
Expected behavior
Once MSOutputConsumer has successfully consumed a workflow output placement - be the service fully operational or in dry-run mode - we should update the transfer document and mark it as done, such that that workflow doesn't come up again in the next cycle. Of course, if there is any error while handling that workflow, then it still needs to be kept for the future cycles.
Additional context and error message
One example among many others in the logs in vocms0731:
2020-07-04 03:41:54,123:INFO:MSOutput: Making transfer subscriptions for amaltaro_ACDC_SC_ReDigi_Harvest_HG2006_Val_200604_213413_8537
2020-07-04 03:41:54,124:WARNING:MSOutput: No data found in ddmResults for amaltaro_ACDC_SC_ReDigi_Harvest_HG2006_Val_200604_213413_8537. Either dry run mode or broken transfer submission to DDM. ddmResults:
[{'cache': None,
  'group': 'DataOps',
  'item': [u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/MINIAODSIM',
           u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/DQMIO',
           u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-RECO',
           u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch2-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-DIGI-RAW',
           u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch1-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM'],
  'n': None,
  'site': [u'T2_*', u'T1_*_Disk']}]
2020-07-04 03:41:54,125:INFO:MSOutput<EMAIL_ADDRESS>PipelineNonRelVal: Processed 'msOutDoc' with '_id': amaltaro_ACDC_SC_ReDigi_Harvest_HG2006_Val_200604_213413_8537.
2020-07-04 03:41:54,126:DEBUG:MSOutput: {u'Campaign': u'HG2006_Val',
 u'OutputDatasets': [u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch1-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM',
                     u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch2-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-DIGI-RAW',
                     u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-RECO',
                     u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/DQMIO',
                     u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/MINIAODSIM'],
 u'RequestName': u'amaltaro_ACDC_SC_ReDigi_Harvest_HG2006_Val_200604_213413_8537',
 u'_id': u'amaltaro_ACDC_SC_ReDigi_Harvest_HG2006_Val_200604_213413_8537',
 u'campaignOutputMap': [{u'campaignName': u'HG2006_Val',
                         u'datasets': [u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch1-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM',
                                       u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch2-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-DIGI-RAW',
                                       u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-RECO',
                                       u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/DQMIO',
                                       u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/MINIAODSIM']}],
 u'creationTime':<PHONE_NUMBER>,
 u'destination': [u'T2_*', u'T1_*_Disk'],
 u'destinationOutputMap': [{u'datasets': [u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/MINIAODSIM',
                                          u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/DQMIO',
                                          u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch3-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-RECO',
                                          u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch2-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM-DIGI-RAW',
                                          u'/RelValQCD_FlatPt_15_3000HS_13/CMSSW_10_6_1_patch1-SC_ReDigi_Harvest_HG2006_Val_Alanv11-v11/GEN-SIM'],
                            u'destination': [u'T2_*', u'T1_*_Disk']}],
 u'isRelVal': False,
 u'isTaken': False,
 u'isTakenBy': None,
 u'lastUpdate':<PHONE_NUMBER>,
 u'numberOfCopies': None,
 u'transferIDs': None,
 u'transferStatus': u'incomplete'}

@amaltaro I was considering both options (marking them as done and also not marking them) but at the end I deliberately left the workflows worked in DRY-RUN mode as not marked, because we at the end, do not act on any of them.  And also if we mark them then we would have only a single log of no more than 30 workflows in testbed and that wouould be our whole testing sample, which I considered quite not enough. But yes, you are right about the historical records in the database. I will switch the behavior of the service.

Thanks Todor. There is no need to push it over the weekend though - I do not think it's a blocker for production - so we can target the August production deployment.

Totally agreed!


Inspections can be very long

If I am logged in as<EMAIL_ADDRESS>I get 3170 inspections:

I think we should paginate /inspections and /alerts to about 100 per page. And add lazy loading if you scroll down further.
Building up the /diary screen takes about 5 seconds, after the data has been loaded.

Fixed ages ago :)


Export the EnvelopeVerifier type

Restore dsse.EnvelopVerifier as an external type as it was
in versions 0.1.0 and 0.2.0.
Fixes #11

@adityasaky would appreciate a review, merge, and release with this change if possible.
Without this change, we're unable to update our dependency of this module past version 0.2.0 because we have defined functions that use variables of type dsse.EnvelopeVerifier and it is no longer possible to do so because the type was made unexported in 0.3.0 (despite the fact that other exported functions still return values of this type).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.913%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
216

Relevant Lines:
230

💛  - Coveralls

@nmiyake thanks for the ping, here's https://github.com/secure-systems-lab/go-securesystemslib/releases/tag/v0.3.1 for you :)

Thank you, much appreciated!


authWithOAuthToken bug on mobile devices

Hi guys,
I am experiencing an issue with a function authWithOAuthToken on mobile devices. I login a user with gapi library and get a token.  Then I try to login the user in Firebase with:
Auth.$authWithOAuthToken('google', token).then(redirect, showError);

This works on my desktop, however, not on my mobile devices (tried Nexus 5 and iPad).
I tested that the token is correct and the same on both devices. Just to be sure, I include the json dump of the token data:
{"state":"","access_token":"ya29.xxx","token_type":"Bearer","expires_in":"3600","scope":"https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.me","id_token":"eyJHbGciOiJSxxx","client_id":"38812610813-xxxx.apps.googleusercontent.com","response_type":"token id_token","issued_at":"1436558734","expires_at":"1436562334","g-oauth-window":{},"status":{"google_logged_in":false,"signed_in":true,"method":"PROMPT"}}

Is this a bug?

This may very well be a bug, either in the cross-platform lib you're using (Cordova? Important to include the details here) or in Firebase. But very unlikely to be a big in AngularFire, which simply ferries the request from you to Firebase. Without a minimal repro we won't be able to help much.

No, I am not using any mobile cross-platform library such as Cordova. So I guess it should be a bug in Firebase then. I will try to create a minimal repro after the weekend.

Yeah, do you also have the error that is being returned by the Firebase client? I see you have a showError() method which catches the error, but you didn't include it in the post. It's hard to say what could be going wrong without it.

The error message is as follows:
"Error: Blocked a frame with origin "http://localhost:9000" from accessing a cross-origin frame.
    at Error (native)
    at da (http://localhost:9000/bower_components/firebase/firebase.js:4:271)
    at ea (http://localhost:9000/bower_components/firebase/firebase.js:5:105)
    at http://localhost:9000/bower_components/firebase/firebase.js:20:665
    at hb (http://localhost:9000/bower_components/firebase/firebase.js:20:550)
    at jb (http://localhost:9000/bower_components/firebase/firebase.js:20:646)
    at Dg.open (http://localhost:9000/bower_components/firebase/firebase.js:144:472)
    at Tg (http://localhost:9000/bower_components/firebase/firebase.js:160:293)
    at Rg (http://localhost:9000/bower_components/firebase/firebase.js:159:24)
    at Pg (http://localhost:9000/bower_components/firebase/firebase.js:154:168)"

This is not only the case with localhost but also with two other domains. I double-checked that all of the used hosts are added in the Google project Auth settings under 'Redirect URIs' and 'JavaScript origins'.

This works on my desktop, however, not on my mobile devices (tried Nexus 5 and iPad).
Once again, we need a complete picture here of what you are doing and where things are failing. Can you please describe, in glorious detail, what "doesn't work" means here?

We need a complete mcve, including steps to repro, error messages, and version info, to even get started on this. Closing this. If you add those details we can re-open and explore.

I created a minimal repro with angularfire generator: https://github.com/karensg/google-login-bug-repro
You can see the error on the login page.
Your help is appreciated.

@karensg
That does not feel like a "minimal" reproduction. You have multiple custom directives and a router. I appreciate that much of that may have been generated by yeoman, but it makes it hard to dig into what's happening.
Also, is the "Google Drive" auth scope necessary? If not, drop it.

@karensg
Consider using Firebase's API to grab the tokens you need directly. Use authWithOAuthPopup or authWithOAuthRedirect instead of authWithOAuthToken and let firebase handle the whole thing for you. (See the scope option for enabling Google Drive if that is what you need).

@jamestalmage
Thanks for your reply. I simplified the demo and pushed it back to the repository.
In the beginning I had the authWithOAuthPopup functionality. However, I had problems with double authentication when you are logged in with more than one Google account.  I wanted to have only 1 login to solve this bug.
I found this thread on Stackoverflow and implemented it according to @katowulf's suggestion.
According to the post, I assumed that the token which is produced by Firebase can not be used for Google Drive interactions.
What are your thoughts about it?
Karens
PS: the authWithOAuthToken example on the API reference website is incorrect.

I can't speak directly to the Google situation, but I have used Firebase to provide the authentication flow for Github API's, and it worked fine. I'd recommend trying the token returned by Firebase, if it works, you'll be moving forward with a much nicer API.
You may need to inspect the authData returned to your callback for the token value that will actually work to authenticate against google drive (that is what I had to do with GitHub).

Now that I've actually read kato's post I think your initial instincts were correct. Can't hurt to try though. When I get near a PC I can try your repo again.

OK,
I have a working example completed. It is not as straightforward as it was for Github, but definitely doable. I've written up a gist complete with example code, instructions, and some explanation on how I did it.

Thanks for your extensieve answer. I will check it out as soon as I am in the neighborhood of my laptop.
Your help is very appreciated

Fantastic write up @jamestalmage! Thanks so much for diving in and getting this issue resolved. I'm going to be sending people to that gist for many months to come :)
@karensg - I think James left you with a working solution. Also, I just sent a PR with a fix for our AngularFire docs. The fix should get deployed in a day or two.

When it comes right down to it, the authentication part of the solution is only about 10 lines of code. They were a hard won 10 lines for me, but now that I know how to do it, it really is about the simplest OAuth solution out there (though it could be even better).
At some point, it would be nice to see authData.google get reformatted so it could be passed directly into gapi.auth.setToken() without reformatting. For example, my code doesn't set the expires value on the object. I'm not sure what the implications of that are. There could certainly be other such minor details that need exploring.
Also, when you use gapi.auth.authorize directly, the value returned to the callback contains a list of the included scopes. That would be handy for knowing if you needed to create an additional request for whatever action you were about to perform.  The developer docs for Google Sign-In specifically state that you should request permissions "as you need them", (i.e. don't ask for access to Drive until they click "Save to my Google Drive"). They detail how to ask for "incremental" permissions in those docs. With some of the Google+ SignIn stuff you can deny specific permissions (i.e. deny access to the friend list, etc). It would nice to have that data available so you can make decisions.
Pretty much every OAuth provider you guys integrate with takes a scope argument, and has their own version of "incremental permissions" (requesting scopes as you need them). It would be awesome if Firebase made all of that dead simple as well. Right now if you call authWIthOAuthPopup, the user is going to see a popup whether or not you already have access to the requested scopes. It would be cool if you parsed those and simply just "faked" a success callback if we already have all the pertinent permissions.
See the hasGrantedScopes(), and signIn(options) from the Google Sign-In docs

@jamestalmage
Thanks a lot for your help and your willingness to dig in to the problem. I implemented your approach in to my application and it finally works!
I agree with you that
A good part of this solution is that the google clientId can be removed from the code, as it is already available in Firebase and used from there.


Update cache

This fixes #36

[x] Add the cache to each room
[x] Update the cache on replace events

Decided to switch back to the root of loading the server instead :p


Feature: FlowList and DeploymentList components

This PR:
New:

FlowList component; functionally equivalent to the FlowsTable
FlowListItem component; functionally equivalent to a row in the FlowTable except contains a list of its deployments, used in FlowList
DeploymentList component; functionally equivalent to the DeploymentsTable, used in FlowListItem
DeploymentListItem component, functionally equivalent to a row in the DeploymentsTable, used in FlowListItemDeployments
lastFlowRun composition; creates a subscription for the most recent flow run (by expected start time) matching the passed filter and returns a ComputedRef for the run and the subscription itself
nextFlowRun composition; creates a subscription for the next flow run (by expected start time) matching the passed filter and returns a ComputedRef for the run and the subscription itself

Enhanced:

deployment, flow, and flow run mock APIs all support basic filtering and sorting
StateListItem component now supports an action slot, along with several other enhancements (non-breaking, should all be purely additive)

Fixed:

mock data store utilities are now properly hydrating date objects for flows, deployments, and flow runs and schedule objects from deployments

I haven't had a chance to self-review this yet so there might be a few rough edges - will do so tmr morning.

Just testing in the UI a bit.
It looks like when expanding Deployments, the FlowRunListItem shadow and bottom border radiuses change somewhat unexpectedly:
https://user-images.githubusercontent.com/6776415/232790818-4c60e369-cfee-41ff-ade0-66da3245f550.mov
I kinda wonder if icon usage is worth here? Sort of helps distinguish things as this pattern is being used more, but maybe in a list it would look too noisy. I'm sure you considered it:

@brandonreid fixed the border radius issue; I'm not against an icon per-se but I also don't want to shoe-horn them into this design when we're not using them for top-level items anywhere else.

Also this PR is missing commits atm cause of the ongoing github issues - some of the fixes won't yet be applied

Ok looks like all commits are showing up and should be in the demo now

So I went ahead and wrote useDeployments, useDeploymentsCount, useFlowsCount compositions and modified the existing useFlows composition to add a new overload for passing flow ids or a flows filter; lmk what you think of that implementation. The one caveat is that I retained permissions checks in the filter the composition uses, which means that technically every component will still need to do objectList ?? [] because there's a chance a user is missing permissions and the subscription never runs, according to the UseEntitySubscription overload. We could relax that type a bit but I think it makes sense as a generic and the undefined return might be a useful indicator.
All other feedback has also been addressed 😄


Flex Server Request

I tested modbus tcp so many times, it is a very robust component
but it could really use dynamic server change in read and write.
let's say I have more the 10 Modbus TCP slave. I configure the servers at start up with Modbus flex connector I need to add one Modbus flex getter for each server to read their data.
sure I could just use 1 Flex connector and change the server every time I want to connect, but it takes time and do not work with big Modbus networks and also some slaves could not handle the TCP disconnect very well and stay connected for a long time and the second request from the same master become a new connection to them and eventually they overflow.
in Modbus RTU it is different: you have only 1 bus specification (baud rate , stop bit ,...) and the slaves distinguished by their Slave ID , so you don't need multi getter to connect to slaves
anyway it would be REALLY practical if you could add a server name (or IP) to flex getter and writer parameters
this way we could have 1 getter for all servers.
Thanks again.

As you wrote it takes time to connect via TCP and it is to much work for now. I'm sorry.


Align.Process not upscaling IR and Depth to Color.

Camera Model: Intel D415
Firmware: <IP_ADDRESS>
Operating System: Windows 10
Platform: PC
SDK version: C# RealSense SDK 2.38
Language: C#
Segment: Windows Forms application.
I am currently using Intel RealSense C# SDK version 2.38 with Intel D415 sensor.  Trying to understand why the following code does not upscale the IR and Depth frame to 1080 P.  Any suggestion will be helpful.
using (frames)
                            {
                                foreach (var frame in frames)
                                {
                                    using (frame)
                                    {
                                        using (var p = frame.Profile)
                                        {
                                            Logger.Info(
                                                $"    {p.Stream} {p.Format,4} #{frame.Number} {frame.TimestampDomain} {frame.Timestamp:F2}");
                                            if (p.Stream == Stream.Color)
                                            {
                                                OnColorFrame(frame);
                                                LastFrameTime = DateTime.UtcNow;
                                            }

                                            if (p.Stream == Stream.Infrared)
                                            {
                                                using (var aligned = new Align(Stream.Color).Process(frame))
                                                {
                                                    OnInfraRedFrame(aligned);
                                                }
                                            }

                                            if (p.Stream == Stream.Depth)
                                            {
                                                using (var aligned = new Align(Stream.Color).Process(frame))
                                                {
                                                    OnDepthFrame(aligned);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

Hi @rajrajeswaran Infrared cannot be aligned to Color in this way with an Align(...).Process instruction, as one of the two stream types in this kind of alignment has to be Depth (such as Depth to Color, or Color to Depth).
#1556 (comment) provides advice regarding an alternative method for how infrared and color might be aligned. There is not an example available of C# code for doing so though.
#5093 is a case that explores aligning all three streams as the above link suggests. Again, there is not a C# example for doing so, unfortunately.

@MartyG-RealSense  as always, Thank you for the quick response.  I will review those posts.  You may close this request.  Thanks again.

@MartyG-RealSense as always, Thank you for the quick response. I will review those posts. You may close this request. Thanks again.

You are very welcome, @rajrajeswaran -thanks very much for the update!


Add support to the Optional attribute for the Conditional tag

In this PR I've added support for the Optional attribute for the Conditional tag in the DocumentAssembler.
This modification comes from the need of being able to have a Select with XPath selecting a (sometimes) missing node from the data XML.

Any updates?

Any news on the subject @EricWhiteDev ?


Fix #2342 Un-select row

Description
Allow Appsmith users to clear selection in a widget table without multi-select option enabled.
Fixes #2342
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Manually

Checklist:

[o] My code follows the style guidelines of this project
[o] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[o] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[o] New and existing unit tests pass locally with my changes

@all-contributors please add @Devedunkey for code.


Credible intervals

Hi,
Is it possible to calculate, from the data provided by the regional_rt_pipeline, the smallest credible interval which excludes r=1?
I would like to calculate this in order to be able to report a probability that r is above or below 1 for a given region on a particular day. However, I couldn't work out how to replicate the calculations of the 50% and 90% credible intervals.
Thank you

Hello,
Off the top of my head, would an approximation for this be to take the samples of R on the date of interest and then do
(number of samples where R > 1) / (number of samples)
Is this what you were thinking of?
Cheers,
Joel

Hey, thanks for getting back to me.
I think the solution was hiding in plain sight, but would like to check with you because I'm not totally sure: Is 'prob_control' in time_varying_params.RDS what I'm looking for?

Hi Ben,
Yes, that is correct. Just to note we will be transitioning the website estimations to a new approach (https://github.com/epiforecasts/EpiNow2) with a different data structure in the next few days. I will ping this issue when we do with the new location for this.
Sam


Add lambda embedded metrics plugin

Which issues does it affect?

https://github.com/OS-Guild/monitored/issues/20

What it does
This feature adds a support for lambda EMF custom metrics

I think It will be easier to use this package:
https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/#getting-started

It writes to console in a format that AWS knows how to take it without async calls.
The api is easier
I would call the plugin CloudwatchPlugin

const metrics = new Metrics({
            namespace: METRICS_NAMESPACE,
            serviceName: process.env.AWS_LAMBDA_FUNCTION_NAME || '',
            defaultDimensions: labels
        });

        metrics.addMetric(metricName, unit, value);
        metrics.publishStoredMetrics();


Cask request: Drive File Stream

Cask details
Name: Drive File Stream
Homepage: https://support.google.com/drive/answer/7329379
Download URL: https://dl.google.com/drive-file-stream/googledrivefilestream.dmg
Description: Request for a new cask for Drive File Stream is the enterprise version of Google Drive. It streams Drive files directly from the cloud to the Mac or PC, freeing up disk space and network bandwidth.

google-drive-file-stream


Remove unneeded doc generation script

This script is not needed anymore with the new mechanism in #411. Just forgot to remove it.

I see the dataconverter_help_output.md file has also been removed. Just a question, do you have other script that will automatically update the docs for --help output?

I see the dataconverter_help_output.md file has also been removed. Just a question, do you have other script that will automatically update the docs for --help output?

These now get autogenerated, e.g. on this page using mkdocs-click (see relevant changes in #411). This is so much cleaner than having to run this script every time.


Widget parsing

Major changes to widget parsing, with the aim of making it more generic.

@TimGuiteDiamond I'll merge this later today unless you have some comments.

Will review this morning

Agreed re. documentation. In principle this structure could work for EDM parsing but I'm not sure what difficulties we might run into with the actual implementation. Probably I need to document this as it is now so that someone else could try to implement that parser.

To resume the discussion about grouping containers:
The simplest way for me would be to allow any widget to have any style of border including a group box. Then the grouping container handles grouping things within a display and the display handles things relevant to the root widget of a display. They are conceptually different in my head. Unfortunately it's not immediately straightforward to do this because the group-box-style border requires additional elements, but we can probably find a sensible way of doing that.
We have four similar widgets:

dynamic page
embedded display
display
grouping container

What is the dynamic page widget? Your url-info branch is related but I haven't really looked at this part of the code.

In my mind:

Display - the outermost box within which other widgets should be placed. We have often used this at the top of screen files as a root component - because it had different properties to other widgets in our initial attempts to parse JSON into components - but I don't think this is necessary any more. The root component could (I believe, but have not tested) similarly be a FlexContainer or Shape. It is not special.
EmbeddedDisplay - a widget with a defined position which renders a file as children components. It is special because it performs the action of fetching the contents of a file from a remote server and renders this file upon reception.
DynamicPage - a widget which may render different pages with different macros at runtime based on the information encoded in the URL. We use this to handle OPEN_PAGE and CLOSE_PAGE actions, where pages can be opened in a specific DynamicPage widget, based on the routePath prop. It is special because it looks at the URL information at runtime and uses that information to decide which file to render (it uses the EmbeddedDisplay widget to perform this rendering).
GroupingContainer - widget for the built in HTML element fieldset which looks like a grouping container in CS-Studio (if you have a title). It is not special.

NOTE: I have used special here to mean it does something other than directly mapping props into HTML
Hope this helps clear things up a bit!

I think both the Display and the GroupingContainer will be special, as in they will have their own functionality. We could have a special widget just to put a group-style border around another widget, but only if we can't find a simpler way of doing it. I wouldn't call it a grouping container though, because that has a meaning already in CS-Studio and Phoebus.

That makes sense.
Can I clarify two things?

did the above breakdown help to separate the four widgets in your mind?
what is special about the border for a grouping container in CS-Studio/Phoebus? Perhaps you could send me a simple *.opi file or upload a screenshot? P.S The grouping container seems to be quite different between CS-Studio and Phoebus

What is currently the GroupingContainer component could definitely be renamed and as it is a wrapper for a basic HTML element would probably be useful in the future?

yes
what is special about the border for a grouping container in CS-Studio/Phoebus? I'm not sure what this question means. In CS-Studio any widget can have a group-box-style border (I think), but in Phoebus it seems only the grouping container allows you special border styles.

Okay, looks like we are mostly on the same page 😄
If the grouping container border you want is one of these: https://www.w3schools.com/css/css_border.asp then could it not just be applied to the Display widget? Or any other widget for that matter, using the border prop? Doe we need a separate widget just for this?

That's how we're doing all the other border styles, it's just the group-box border style including the name that is more difficult.

Does the GroupingContainer as on this PR do what you want it to do? I don't see how it includes the title?

That's what I mean by

Unfortunately it's not immediately straightforward to do this because the group-box-style border requires additional elements, but we can probably find a sensible way of doing that.

and similar comments above.

Ah right!
Well could the fieldset and legend elements render only when a title is provided?

It could render only when the border style is GroupBox:
https://github.com/dls-controls/cs-web-proto/blob/widget-parsing/src/types/border.ts
If we put this logic in the groupingContainer widget then we are a bit further forward, but the logical conclusion is to do this for every widget, leading to a lot of repeated code.

Wow. I really didn't know that this could be added to every single widget 😮
I wonder if the logic for this is ugly in Java too?
Possible solutions:

we could not support this feature, except for one or two widgets, such as GroupingContainer
if border style is "groupBox" then wrap the internal widget in fieldset and title (or a groupingContainer component). This might work but I think the background colour wouldn't be preserved exactly
wrap every widget in a special component with this functionality, in a similar manner to MenuWrapper and TooltipWrapper
Render opi and bob files grouping containers always with a title (they should have a widget title anyway)

We have spent quite a long time talking about this for what is quite a small detail haha
If you want to keep the GroupingContainer to how you have it now, could I ask that you make a new widget with the fieldset and title elements, as I find them quite nice for layout and design?
I have also added one of the features I mentioned above in #167
Then I think we should put this important step forwards in terms of file parsing into master 👍

We have spent quite a long time talking about this for what is quite a small detail haha

My observation is that you do not like to leave small details undiscussed. I'll look at finishing this up today.

I think it's worth discussing so that we both understand the issue but I definitely see the value in including this parsing work so we can include it in our other work 👍


Error after installing Umbraco ModelsBuilder Custom Tool

I've installed Umbraco ModelsBuilder Custom Tool (also have the old VERSION <IP_ADDRESS> installed for older projects) and now I'm getting this error in Visual Studio 2012:
Could not load file or assembly 'Microsoft.VisualStudio.Shell.Design, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

It's trying to load a Visual Studio 2015 (version 14.x) DLL in Visual Studio 2012. No idea why. Will look into it.
That's http://issues.umbraco.org/issue/U4-8041.

After this both versions didn't work. So I uninstalled the new version and now version 2.1.4 is working again.

Mmmm... so installing the new version killed the old version? Odd. Anyways, still have 2012 on my machine, will test.

Also proposing we continue the discussion on YouTrack.

Initial issue fixed. Now as to why the old 2.x breaks...


1.7.10 support

Thanks for the mod and sorry to bring this up here but I couldn't find any forums or anything to discuss it on. Is the 1.7.10 forge version no longer supported? There is a bug which messes up mob spawning and basically overrides any other mod attempting to change it. I noticed in a changelog that it looks like this issue was fixed, but only for 1.8. Considering a lot of mods have not moved beyond 1.7.10 I was wondering if there's any patched 1.7.10 versions floating around. Thanks for your time and thanks again for the great mod!

I'm not going to support it myself, but the code of TerrainControl is open source, so it is possible for someone to update it.

Ok, thanks. Do you have a patreon or anything?


Add only days in week view.

In week view it shoe date and day both. I just need to show day not with date. Is it possible to show only days without date in week View ?????????

Can you not pass down a custom header component on the day view?
http://intljusticemission.github.io/react-big-calendar/examples/index.html#prop-components

Or you can use formats to format the day header: http://intljusticemission.github.io/react-big-calendar/examples/index.html#prop-formats

format day header works for me thank you so much for quick reply and very useful suggestion.

@arecvlohe The prop components approach in your first response doesn't seem to be working unless I'm getting the prop name wrong


Request - Can you please add existing contributors to grant access to this code's repo?

https://github.com/cornerAnt/Digger/network
Hi @cornerAnt
This is a great library - but colleagues are turned off that it's not been updated in a long time.
Please grab the usernames from network that you see fit - and just add them into repo -
this will allow Digger to live on.  People that have spent the time to do pull request - will have time to fix stuff too.
I'm finding swiftlint autofix is making the network stuff stop working - I'd be happy to spend time fixing - but if the project is abandoned - less so.
Also completely open to suggesting a different repo to use.

@sugadevtop @jln19 @doc22940 @codeElves @yRerikh @moshiwu @silexKhan @nishitmishra96 @kenkouGmBH

i wrote e-mail to @cornerAnt but he did not response and..
so.. i made new project
if you want we can make it together
thank you~
https://github.com/silexKhan/Scoop


Introduce sub-device id for the profiler

For fixing op-to-op times for sub-device ops and for proper support of multiple sub-device per program, bring sub-device ID to be able to distinguish between different sub-device setups.

Will need to aggregate device_id and sub-device_id to do proper op device time analysis


Noise report: microsoft.insights/diagnosticSettings

Describe the noise
I expected no noise since the template since the resources were deployed.
But the what-if output says it will remove some properties, that currently are set to the default value.
resource afw 'Microsoft.Network/azureFirewalls@2022-07-01' existing =  {
  name: 'afw-resource'
}

resource afwDiagSettings 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = {
  name: 'setbypolicy'
  scope: afw
  properties: {
    workspaceId: '/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/rg-log/providers/Microsoft.OperationalInsights/workspaces/log1'
    logs: [
      {
        category: 'AzureFirewallApplicationRule'
        enabled: true
      }
      {
        category: 'AzureFirewallNetworkRule'
        enabled: true
      }
    ]
    metrics: [
      {
        category: 'AllMetrics'
        enabled: true
      }
    ]
  }
}

- properties.logAnalyticsDestinationType: "AzureDiagnostics"
~ properties.logs: [
      ~ 0:
        - retentionPolicy.days: 0
      ~ 1:
        - retentionPolicy.days: 0
      ]
~ properties.metrics: [
      ~ 0:
        - retentionPolicy.days: 0
      ]

#165 discuses the same resource, but an older api version


[1.0.0] Exception on 'SELECT *, MAX(...) FROM ...' query

It's easier to understand this from an example. I tried to make a simplified version of what is used in my project. Let's say we have the following null-safety code:
// foo.dart

@entity
class Foo {
  @primaryKey
  final int id;

  Foo({required this.id});
}

// foo_dao.dart

@dao
abstract class FooDao {
  @Query('SELECT *, MAX(id) FROM Foo')
  Future<List<Foo>> getMax();
}

database.g.dart will generate code like this for the getMax() method:
// database.g.dart

  @override
  Future<List<Foo>> getMax() async {
    return _queryAdapter.queryList('SELECT *, MAX(id) FROM Foo',
        mapper: (Map<String, Object?> row) => Foo(id: row['id'] as int));
  }

But there will be an exception when calling the method if the DB is empty. SELECT *, MAX(id) FROM Foo query is an important condition for reproducing the error. If you write just SELECT * FROM Foo, there will be no error.
type 'Null' is not a subtype of type 'int' in type cast
package:example/database.g.dart 110:65              _$FooDao.getMax.<fn>
package:floor/src/adapter/query_adapter.dart 40:36  QueryAdapter.queryList.<fn>
dart:_internal                                      ListIterable.toList
package:floor/src/adapter/query_adapter.dart 40:43  QueryAdapter.queryList

Yes.

I modified the example:
test('Get max', () async {
    await taskDao.insertTask(Task(null, 'test'));
    print(await taskDao.getMax());
  });

Output:
[Task{id: 1, message: test}]
✓ test

test('Get max', () async {
    print(await taskDao.getMax());
  });

Output:
type 'Null' is not a subtype of type 'String' in type cast
package:example/database.g.dart 152:52              _$TaskDao.getMax.<fn>
package:floor/src/adapter/query_adapter.dart 40:36  QueryAdapter.queryList.<fn>
dart:_internal                                      ListIterable.toList
package:floor/src/adapter/query_adapter.dart 40:43  QueryAdapter.queryList

@vitusortner
1.0.1 version still has this problem.

@vitusortner
Hi. Any ETA for issue resolving?

I looked at it briefly and I'm not sure what your're expecting the query to return, purely from an sql viewpoint. Afaik, on an empty database, this query will normally return no rows, but due to the max() function will return a single (aggregated) row, where all other columns are set to null. If the returned type (in this case Foo) can't set its values to null, thats when you get the error. As this is specified behaviour by SQL itself, I don't see the bug here.

@mqus
So, what to do in this situation? I can’t give up the list here, just like I can’t make all entity fields as nullable (this is at least silly)

I don't think this would work either way because the ´MAX(id)´ will not get mapped either way(as you can see in the generated code). Where should it even be mapped to?
Maybe you could explain your situation(what do you have and what do you want to achieve) from a higher level and we could start from there.
I want to add that we sadly do not yet support arbitrary return values for queries, so returning the maximum might require workarounds.

@mqus
The situation is to get all entities with the highest priority, the priority can be duplicated (therefore, a list is needed). It's probably easier to solve this problem on the Dart side by doing sorting or searching through the list.

What you are trying to do should be easy with floor and needs no workarounds. The query you could try(I'm not entirely sure the syntax is right) is
SELECT * FROM mytable WHERE prio = (SELECT MAX(prio) FROM mytable).

Yes, it works.

Issue seems to be solved, so I'm closing this. Reopen if you disagree :)


⚠ Bofrost.at has degraded performance

In e4fa1a9, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1488 ms

Resolved: Bofrost.at performance has improved in 5a12723.


Task - Filter Collection objects - clarify Loans facet

Text and function need to be clearer there. Confirm that there is an option that is equivalent to "On loan".


Fix broken documentation links in all std.container modules.

In the header of each std.container module, the links to other std.container modules were missing the .html extension.

LGTM, but I thought the dlang.org server is configured such that the .html extension is optional? Try it -- http://dlang.org/phobos/std_array actually works without the .html extension.

Ah, I didn't realize that. I just saw that it was broken locally and fixed it. Still, AFAICS, std.container was the only place not adding the extension to links.

Explicit .html extensions are kinda going outta fashion, but whatever, for consistency's sake let's just keep everything the same instead of leaving out the extension here but including it everywhere else.


Undefined variable: g:d2_block_string_syntaxes

Using
~ % vim --version
NVIM v0.8.1
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by bmizerany@blaptopvm

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/share/nvim"

I installed d2-vim using vim's built-in plugins like:
; git clone https://github.com/terrastruct/d2-vim/ /home/bmizerany/.config/nvim/pack/github/start/d2-vim

Current HEAD is d1cb1e7e22bc0fb4d4034a1b93c2a13cc471acc6
When I opened vim x.d2, I got:
Error detected while processing /home/bmizerany/.config/nvim/init.lua:
E5113: Error while calling lua chunk: /home/bmizerany/.config/nvim/init.lua:5: Vim(if):E121: Undefined variable: g:d2_block_string_syntaxes
stack traceback:
        [C]: in function 'cmd'
        /home/bmizerany/.config/nvim/init.lua:5: in main chunk
Press ENTER or type command to continue

I tried pre-defining in my ~/.vimrc like:
" d2
let g:d2_block_string_syntaxes = {
        \ 'd2': ['d2'],
        \ 'markdown': ['md', 'markdown'],
        \ 'javascript': ['javascript', 'js'],
        \ 'html': ['html'],
        \ 'json': ['json'],
        \ 'c': ['c'],
        \ 'go': ['go'],
        \ 'sh': ['sh', 'ksh', 'bash'],
        \ 'css': ['css'],
        \ 'vim': ['vim'],
        \ }

but that didn't help.
I'm a little stumped because my vim-script fu is weak. Any pointers would be appreciated.

I have this issue too, on NVIM v0.8.0-dev-1025-gfb39bba5a-dirty.
I was not able to understand where the error comes from neither, all functions referencing d2_block_string_syntaxes appears to check for its existence before hand. And this variable is defined fairly early too.
One interesting thing I found is that if you open n*vim first, then open a d2 file you won't have an issue.
The issue only shows when you open the file directly (ie. vim test.d2).

One interesting thing I found is that if you open n*vim first, then open a d2 file you won't have an issue.

Thank you for your explanation! Now I've reproduced it, too.
E5108: Error executing lua [string ":lua"]:20: Vim(if):E121: Undefined variable: g:d2_block_string_syntaxes
stack traceback:
        [C]: in function 'cmd'
        [string ":lua"]:20: in main chunk

I'm not sure why but I'm not able to reproduce this issue. I'm on NVIM v0.9.0-dev-280+gfae754073 and don't have that variable predefined in my init.vim.

Do you guys have a syntax on or filetype plugin on somewhere in your init.vim?

yes

I checked on minimal configuration. It's true. syntax on broke this plugin.
I think it's very strange...

=============================================================================

Quick start						:syn-qstart
   	*:syn-enable* *:syntax-enable* *:syn-on* *:syntax-on*

Syntax highlighting is enabled by default. If you need to enable it again
after it was disabled (see below), use: >
:syntax enable
Alternatively: >
:syntax on

And I have to enable syntax on to enable syntax folding

If you add a filetype plugin on before syntax on things should work I think.

Though you shouldn't need syntax on for folding.

Just a friendly ping to see if you guys were able to fix by putting filetype plugin on before syntax on.

FWIW, adding filetype plugin on before syntax on did resolve this issue for me.

If this isn't "fixable", might be good to add a docs note about this in the README. I've never needed to set that up for other syntax plugins.
(side note: I'm using pathogen, if it matters)

hmm yeah, i'll leave this open after all then

I've already fixed this in MR. Why you don't want to merge it?

yeah i think if people are running into this with non-outlier vim configs, we should merge that. @nhooyr your call though

Ok I'll concede, there's supposed to be an order but perhaps in practice it's not strictly followed. I approved #5

Confirmed #5 resolves this for me (with vanilla vim 9), even if i remove filetype plugin on again.


Return result verbatim if raw=true is provided in the query string

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
Described in #1550
What is the new behavior?
Can now specify that the response is returned verbatim by adding ?raw=true to the query string
Closes #1550

So if i get this right.. this is for something like an image tag.. so it falls into the no js case but our setting of flash headers messes things.. or I guess more so us messing with the body encoding with seroval would be the issue. I don't like having to rely on query param.. but I also don't see a particularly great way to handle this in this case.
Our options are to use the query param as you have if the caller makes that decision. Or to do something on the response, if the response makes that decision. It sort of feels like the response knows what it wants sent back. We could use the content-type headers of the response object maybe to make this decision. I guess that is a bit weird.
I'm just unclear all the scenarios here and before adding a convention I'd like to consider them.

IMO we should use the Accept request header here instead, just to account for the case where seroval is wanted.
If Accept has text/javascript then seroval is used, otherwise it's returned verbatim (unless it's a redirect ofc)

So if i get this right.. this is for something like an image tag.. so it falls into the no js case but our setting of flash headers messes things.. or I guess more so us messing with the body encoding with seroval would be the issue. I don't like having to rely on query param.. but I also don't see a particularly great way to handle this in this case.
Our options are to use the query param as you have if the caller makes that decision. Or to do something on the response, if the response makes that decision. It sort of feels like the response knows what it wants sent back. We could use the content-type headers of the response object maybe to make this decision. I guess that is a bit weird.
I'm just unclear all the scenarios here and before adding a convention I'd like to consider them.

How about a response header
X-Solid-Start-Raw: 1

I went with going with "X-Content-Raw". So not going with this PR. Thanks for bring this up to my attention.


kernel/mem_slab: reorder Z_MEM_SLAB_INITIALIZER() initializers

Trivial changes for C++ that make the macro Z_MEM_SLAB_INITIALIZER initializing the members in the same order they were defined.
Fixes : https://github.com/zephyrproject-rtos/zephyr/issues/38219
Signed-off-by: Lucas Dietrich<EMAIL_ADDRESS>

Thanks @stephanosio, I fixed the commit message.


issue 367 - Draft entity query error

Refers to https://github.com/sapmentors/cds-pg/issues/367 . Changes a query parser behaviour when dealing with entity without alias inside expression in "select" clause.

Hi @ryegros,
thank you very much for your contribution. Could we use the existing, draft enabled Entity TypeChecksWithDraft instead of adding two new entities?
Best Regards
Gregor

Hi @gregorwolf.
Sorry for delay, I was quite busy since the begin of year and had no time to answer.
I did some changes today to be less invasive on current data model test-cases.
Unfortunately, I was only able to reproduce the issue with two draft entities, so a created the TypeChecksSibling entity making reference to the existing entity TypeChecks (also needs to annotate TypeChecksWithDraft with<EMAIL_ADDRESS>on service file).
It takes me some extra time because I had to deal with another error while making the changes, it seems that expand an entity that have virtual fields leads to another exception at:
[node_modules/@sap/cds/libx/_runtime/db/expand/expandCQNToJoin.js:677]
const cols = column.expand.filter(c => !c.expand && !(c.ref[0] in DRAFT_COLUMNS_MAP)).map(c => c.ref[0])
Seems like virtual fields don’t have a “ref” attribute, generating an exception.
But I think that this is a question for another issue, maybe at standard lib @sap/cds and also I’m not sure if it's a bug, feature or expected behavior. So, I used the "($select='field')" on expand odata query in the test case to avoid the virtual attribute.
Is there anything else that I can do to help, on this issue?
Best Regards
Rafael Yegros.

Thank you.

Yes... sorry,  I removed the entity itself but forgot to remove the annotations references to the entity.
Glad to help.


[ENH] remove sklearn dependency in test_get_params

This PR removes the sklearn dependency in get_test_params, by replacing _check_get_params_invariance with an skbase-native implementation.
The call to clone is replaced with the object's one clonemethod.

Codecov Report

Merging #212 (f8d8d0a) into main (e83bcf0) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #212      +/-   ##
==========================================
- Coverage   82.41%   82.38%   -0.03%
==========================================
  Files          43       43
  Lines        2832     2833       +1
==========================================
  Hits         2334     2334
- Misses        498      499       +1

Files Changed
Coverage Δ

skbase/testing/test_all_objects.py
79.43% <100.00%> (+0.07%)
:arrow_up:

... and 1 file with indirect coverage changes


Use inline SVGs for Feedback

What is the context of this PR?
Updates Feedback to use inline SVGs and update feedback to use the latest link styling, removing the underline on hover
How to review
Check Feedback works as expected

 Use inline SVGs for Feedback

I think this was already an issue but the left alignment is off

I think this was already an issue but the left alignment is off

Jon, said not to worry about this because the footer will be changing soon anyway


Executor: add no wait operator [[]]

Target Code:
controller.addListener([
  ...
  Executor1,
  [[Executor2]],
  Executor3,
  ...
]);

Executor1 should run, Executor2 should be started, but then Executor3 should be run immediately without waiting for Executor2 to finish.

Is this alternate syntax for the spawn(executor) functionality?


Possibility to specify listening IP

I'd need this to make LnMe -listen <IP_ADDRESS> so instance will not be directly reachable eventhough I might make some mistake with iptables - I have some reverse proxy sitting in front of it then.

good improvement! thanks
can we combine this with the port option?
to use --listen=":3000" or --listen="localhost:3000" ?
even though we then need to slowly deprecate the port option.

good improvement! thanks can we combine this with the port option? to use --listen=":3000" or --listen="localhost:3000" ?
even though we then need to slowly deprecate the port option.

I agree, if listen was used for ip & port that would be even better. Wasn't sure about the deprecation of port - in particular how to resolve conflicting port and listen, best option is probably just to error out in such a case. And if there is just port treat it as listen=:port and write some deprecation warning to stderr.

I think that's a good idea.
If port is set and NO listen is provided we do listen=:port. otherwise we error or ignore the PORT option and add a deprecation warning here
this way it is backward compatible for current deployments and newer deployments can use the new listen option.
We just need the support for the PORT environment variable for cloud providers like heroku

Is my second commit ok? I can squash the stuff into one so there will be a more linear history.

looks great! thanks a lot.
I think I can squash it here on GitHub when merging. that's good I think.


fix: Include remote canisters in canisters_to_generate

Description
Generate frontend declarations for remote canisters too because frontend JS code may want to call them too.
Checklist:

[x] The title of this PR complies with Conventional Commits.
[ ] I have edited the CHANGELOG accordingly.
[ ] I have made corresponding changes to the documentation.

Please also add a changelog entry


[Webportal] Add active sidebar menu in job list/detail pages

Add active sidebar menu in job list/detail pages.

Coverage decreased (-0.01%) to 52.647% when pulling 6886da3b8b38fc693cfbfdfab4a2670d9c294956 on xiongyf/fix-job-page into 019da95e9fc3186480326abc5b93501faf8264ad on master.

Coverage decreased (-0.01%) to 52.647% when pulling 6886da3b8b38fc693cfbfdfab4a2670d9c294956 on xiongyf/fix-job-page into 019da95e9fc3186480326abc5b93501faf8264ad on master.

Coverage decreased (-0.01%) to 52.647% when pulling 6886da3b8b38fc693cfbfdfab4a2670d9c294956 on xiongyf/fix-job-page into 019da95e9fc3186480326abc5b93501faf8264ad on master.

should this go to 0.11 too?

Yep, will add in #2394.


[swift-4.0-branch][stdlib] Bounds check in String subscript fast path

UnsafeBufferPoiunter subscript used in the fast path only checks bounds
in Debug mode, therefore extra checks are needed.
Addresses: rdar://problem/31992473

Explanation: Introduced fastPath did not implement necessary bounds checks in release mode
Scope of Issue: Without the fix, access past the end of string does not trap in certain circumstances
Risk: Minimal
Reviewed By: Michael Ilseman
Testing: Automated test suite
Directions for QA: N/A
Radar: rdar://problem/32026958

@swift-ci Please test

Similar to https://github.com/apple/swift/pull/9346


dart-sass-maven-plugin 1.77.4 is not a Win32 valid application

Since May the 30th, 2024, when compiling with this plugin, I receive a Windows error which says:
"[temp path]...no es una aplicación win32 válida".
I have Win 64 bits, and it seems that the plug-in correctly detects it (as the temp path, where the plugin puts dart.exe, contains x64 folder) but when compiling, the error mentioned appears.
Following the code published here, I guess this plug-in uses https://github.com/sass/dart-sass/releases/download/1.77.4/dart-sass-1.77.4-windows-x64.zip resource and extracts dart.exe from that source and download it to my temporary path (mentioned above), which as I could see has been modified exactly in May the 30th 2024.
I'm stucked with it. Could anyone please help me to solve this problem? I strongly need to compile my .sass files back again.
Thanks in advance.
Dani.-

Hey, @dani-arm .
Did you try running the Dart Sass executable for Windows x64 directly without the plugin?

Yes, and same error appears...

If you get the same results without the plugin, we can rule out the plugin as the source of the problem. Please do the following basic troubleshooting steps:

try compiling on another machine
try with another Dart Sass version (use the  configuration as explained in the documentation)
clean your temp (%TEMP%\dart-sass-maven-plugin) and cache (%LOCALAPPDATA%\dart-sass-maven-plugin\Cache) folders

I tried dart-sass version 1.71.1 and it works again! The point is that the latest version of dart-sass (today 1.77.4) uses DART 3.4 which needs Windows 10 or higher, while I use Windows 7.
You can see more details on: https://github.com/sass/dart-sass/issues/2261#issue-2343992998
So thank you for your support! Issue solved!


auto plugin + stage/release

Fixes #52

Thank you for the fast turnaround on this, @eed3si9n.

Hi @eed3si9n thanks for cleaning this up! There was a lot of ( good ) shifting around . I left a trail of comments asking about the things I didn't understand so that I will be able to understand what's going on when something needs added/removed later.

I'm seeing OOM when I tried this with sbt/sbt, so I need to fix that before this can be merged.
I'll follow up on commit comments now.

I should note that OOM I was seeing was "java.lang.OutOfMemoryError: unable to create new native thread."
Caching the repository wrapper instance seems to work out. This could also mean that sbt now publishes one JAR at a time for now.

Pushed a few more commits to reflect the discussion on #52


docs: fix grammar issues

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Update docs to fix grammar errors
Why was this change needed? (You can also link to an open issue here)
Improving documentation
Other information:

Thank you for you PR.
please keep changes in:
docs/pages/Deploying/Railway-Deploying.md
docs/pages/Guides/Customising-prompts.md
extensions/react-widget/README.md
And remove the rest.
Thank you!

Thank you for you PR. please keep changes in: docs/pages/Deploying/Railway-Deploying.md docs/pages/Guides/Customising-prompts.md extensions/react-widget/README.md
And remove the rest. Thank you!

Done

Thank you
@holopin-bot @ArpitPandey29


Please implement the Clone trait for the Identity

I see that in version 0.1.12 there was an incompatible change so that instead of using Certificate, now I have to use Identity.
Given that now I'm having the same issue as #89 , it would be nice to have the Identity to implement the Clone trait (and also please keep in mind the Clone trait for any future breaking changes 😉 ).

No, wait. I can pass a reference to the Identity, so the Clone trait is not needed.
My bad.


⚠ Bofrost.at has degraded performance

In f0907a7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2829 ms

Resolved: Bofrost.at performance has improved in d308ae8 after 33 minutes.


add watch_node support

this works kubeclient.watch_entities 'nodes/foo' so just needs an alias ... sounds good ?
@cben

watch_nodes seems to work.  AFAICT define_entity_methods only creates watch_plural methods — do you mean we should add watch_singular methods?

would be nice for completeness, at first I though it's not possible until I tried on kubectl and then made the workaround
watch_nodes with name does not work:
irb(main):015:0> w = kubeclient.watch_nodes 'fooo'
=> #<Kubeclient::Common::WatchStream:0x000055e5d6ad6580 @uri=#<URI::HTTPS https://<IP_ADDRESS>/api/v1/watch/nodes?resourceVersion=fooo>,

Hmm, it seems the "intended" way to do it now is client.watch_nodes(name: 'foo').
It's not documented in README though!
And it's quite surprising for one method to do singular/plural double duty...
See #312 for overview of our current APIs wrt. name and namespace :face_with_head_bandage:
We have #332 sketching a better replacement for *_entity, *_entities methods, which are not currently documented as public.
My current proposal there uses a similar pattern where .get and .watch do double duty, depending on presence of name and namespace — I don't know if that's good or bad, feedback wanted :pray:

I'm opposed to adding watch_singular methods like watch_node for clarity.  But I'd love to decide something on #332 first and align to that.
Anyway, current name: param should be documented in README.

I meant I'm not opposed :)

Much clearer docs added in #436, please review.


PointAnnotation tag giving infinite rendering with children prop with Hermes engine enabled in iOS with react-native 0.70.5

Mapbox Implementation
Mapbox
Mapbox Version
~> 10.11.1
Platform
iOS
@rnmapbox/maps version
10.0.0
Standalone component to reproduce
<MapboxGLView.PointAnnotation
key={Key-${Math.random() * 10}}
id={Id-${Math.random() * 10}}
coordinate={coordinate}
title=""
onSelected={(e: any) => (onPressMarker ? onPressMarker(e) : {})}
ref={(ref: any) => (this.annotationRef = ref)}
// style={styles.renderMarkerContainer}
>
{children ? (
children
) : (

{this.props.markerIcon}

<Text
style={[AppTheme.extraSmallTitle_BoldPrimary, styles.textContainer]}
>
{name}

)}
        </MapboxGLView.PointAnnotation>

Observed behavior and steps to reproduce
Above code is giving infinite rendering in iOS only when I am enabling Hermes engine with react-native version 0.70.5. But disabling Hermes in the project, code is working fine without infinite rendering.
Also when Hermes is enabled and I am commenting all code written inside "PointAnnotation" tag, it's working fine without infinite rendering.
I think issue is with PointAnnotation tag having children as props.
Expected behavior
No response
Notes / preliminary analysis
As a alternative solution right now I am using "MarkerView" tag  with following code:

                {children ? children : }

Additional links and references
No response

                {children ? children : }

            {children ? children : <View style={styles.renderMarkerContainer} />}
        </MarkerView>

<MarkerView coordinate={coordinate}>                 {children ? children : <View style={styles.renderMarkerContainer} />}             </MarkerView>
This is work around which I am using right now


Fix sdist build for multiple readme files

Resolves: python-poetry/poetry#6633

I fixed the issue by changing Poetry.local_config["readme"] type to a sequence. In the sdist builder, I am adding all the files found in that sequence.

[x] Added tests for changed code.
[x] Added downstream tests: python-poetry/poetry#6678
No further documentation is required.

Downstream tests failed because of the change in local_config.
Before I implemented the current solution, I wondered if I should handle the multi-type (str | Sequence) nature of readme in sdist, which would solve the downstream test problem, but I wonder if this would not make recurring to inspect readme type in other builders, if appears.

I don't think this fix is acceptable as-is -- in factory.py we explicitly handle the case of the readmes being a string or some other sequence (tuple/list), and I don't think it's unreasonable to do such downstream given it's in the schema.

I was expecting this :laughing:, thank you for the feedback. I will proceed that way.

@neersighted I added downstream tests to python-poetry/poetry#6678.
If you have something else in mind regarding this PR, let me know :-)

@neersighted this PR has exact 1 month. I've been told the next poetry release is nigh. How about to continue the discussions for this fix be included?

@neersighted would you be able to check this PR? 🎅

@radoering

All in all, there seem to be only minor concerns here. I think with some small changes this can be merged.

Thank you for the suggestions, I just applied them :slightly_smiling_face:


Peer to peer code review

Great job so far! 😃

good placing of your form in <footer> tag
<button> of the form shouldn't be placed in the <ul><li> tag
add the CSS to the contact form
add the action attribute to <form> linking to your formspree form
add the method attribute to <form>
add name & id attributes to your <form>

Great work so far!

Well-organized and readable code.
It would be better to add some comments, they increase your code's readability.


Is there a "NotNull" Tracer implementation?

Is there a Official/Not Official Tracer implementation for .net? Any suggestion to implement a simple version of ITracer interface (e.g. using a ms sql server database or files) ?

Checkout the code here: opentracing-contrib. No nuget package but looks good IMHO

My linked opentracing-contrib project is currently in a "work in progress" state and I haven't done much testing with it yet. It definitely needs more work before it can be published on NuGet.
Unfortunately, I'm currently a bit demotivated because I'm still not sure how this library should coexist with the new Activity type from System.Diagnostics.DiagnosticSource. It is similar to OpenTracing's Span but it also has some very important differences and missing features.
It would be great if more people were interested in this project and willing to help to discuss possible solutions.

I could help you. Before I need a bit of time to understand well this library, then I could offer my contribution! Thanks for your contribution!

@cwe1ss I'm also willing to help. I've been reading the code (The diagnostic adapter is really cool ) and actually got the samples to run + send traces to zipkin. We could move this to the contrib project and see how we could help

@cwe1ss @gideonkorir I've compiling your sources using old VS2015 prjs (due to not compatible prj versions with 2017). If you need I could give you this versions as well

@cwe1ss do you have the implementation for BackoffTimer and TickContext?

If anyone is interested in getting a OpenTracing compatible Zipkin tracer, please have a look at https://github.com/openzipkin/zipkin4net/issues/191 ("Coordinating the creation/endorsement of a OpenTracing->Zipkin tracer").

Another tracking issue for an upcoming C# Jaeger client: https://github.com/jaegertracing/jaeger/issues/578

I'll close this as there's now an official repo for the C# Jaeger tracer: https://github.com/jaegertracing/jaeger-client-csharp


Use systemd as the containerd cgroup driver

https://github.com/aws/containers-roadmap/issues/1210
Description of changes:
This PR sets systemd as the cgroup driver when using containerd, as recommended by the Kubernetes docs. This is complimentary to https://github.com/awslabs/amazon-eks-ami/pull/593 which adds support for the systemd cgroup driver to Docker but shouldn't be blocked by legacy eksctl constraints as containerd is newer than the systemd cgroup support there.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/assign @abeer91

FYI @ravisinha0506

@Callisto13 related to your https://github.com/awslabs/amazon-eks-ami/pull/593#issuecomment-890862183, I assume that the changes in here aren't likely to cause issue with the legacy path as containerd wouldn't be being used?

@stevehipwell from what I can see that is correct. We are not exposing the containerd option in the legacy codepath, so there should be no driver conflict. I am happy to verify with a test build before you release if you have any concerns, but I think we should be fine.

@abeer91 could you take a look at this?

@abeer91 if you're not the right person to look into this could you let me know who is?

Could one of the project maintainers please review or offer some feedback on this?

Thanks @rtripat, hopefully we can get this solved ASAP.

@rtripat how is the testing going?

@rtripat it's been almost 2 months since you said you'd get back in 2 weeks, how is this going?

@stevehipwell We are actively working on the change. Appreciate the patience.

@rtripat are you by any chance also looking at cgroup v2?

We need to address this kubelet issue by updating our runc. That change is in motion, and I'll keep you updated!
Regarding cgroup v2, we are unable to make this change until a newer version of systemd is available to us. That will most likely happen in the next major release of Amazon Linux.

@cartermckinnon after having had a look through that issue it looks like it's only relevant for Kubernetes v1.22? If so and as EKS v1.22 isn't due until "early 2022" can't this be added for the current EKS versions?
RE cgroup v2 is it worth adding a new issue to this repo to track the progress?

My understanding is:

The runc library, libcontainer, which is vendored in k/k, needed to be updated to 1.0.2 to fix #104280. This fix has only been back-ported to 1.21 as of 1.21.5.
The runc binary needs to be updated to at least 1.0.1 to avoid a similar (but more serious) issue. This is actually the more important issue to address.

Older Kubernetes release lines are affected by the first point regardless of the runc binary's version, because of libcontainer. However, as long as the binary is at 1.0.1+, the issue is not critical (and quite rare to begin with).
I've created #824 to track cgroup v2.

@rtripat could we get a status update on this?

Apologies for the delay, our packaging team has had to prioritize issues related to the log4j vulnerabilities. We will proceed as soon as the runc available to us is at 1.0.1+, and we expect that to happen soon.
Thanks for your patience! 🙏

Unfortunately, we aren't able to make this change in the near future. Our packaging team has to prioritize stability across a variety of Amazon Linux distributions, and the changelog of runc requires non-trivial evaluation and testing. I can assure you that we will make this change as soon as we are able to.
In the meantime, if anyone has experienced the sort of stability issues hinted at in the Kubernetes documentation, we would love to hear about it.

@cartermckinnon I'm interested in why this isn't seen as a high priority and what the blockers are here?
I guess this is the final nail in the coffin of running K8s workloads on AL 2 (and I assume AL 2022) and we should all move to Bottlerocket ASAP to stay inline with the community.

@cartermckinnon How come you think you need to make this change? Do you accept community PR-s for this? There's an open one already.

I'm not an authority on the priorities of the Amazon Linux packaging folks, but I can say: we have many users, and I'm not aware of any case in which we've attributed instability to the presence of two cgroup managers. Again, if you have observed this type of instability, we're very interested in hearing about it.
The runc available on Amazon Linux contains (and will continue to receive) security patches.

@stevehipwell I have good news! We now have a version of runc (1.0.3-2.amzn2) that lets us move forward with this change.
Two things we need to get this merged:

Resolve this branch's conflicts
Use jq to set "cgroupDriver": "systemd" instead of replacing the whole kubelet config. Example here: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh#L412

I'm happy to open a separate PR if you don't have the cycles. 😄

@cartermckinnon I'll update my PR.

@cartermckinnon this should be good now. I've copied the shell script patterns from the rest of the script rather than the ones I'd have used, but can update the PR to make them more correct if required.

Thanks, @stevehipwell, LGTM! I'll do some sanity tests and try to get this merged this week.

I built 1.19-1.22 AMIs from this branch, and created a nodegroup using each as follows:
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: systemd-test-120
  region: us-west-2
  version: "1.20"
managedNodeGroups:
  - name: "119"
    ami: ami-0d4655ebca7f3a80a
    ssh:
      allow: true
    minSize: 1
    maxSize: 1
    desiredCapacity: 1
    overrideBootstrapCommand: |
      #!/bin/bash
      source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh
      /etc/eks/bootstrap.sh systemd-test-120 --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}"
  - name: "120"
    ami: ami-0538a5514d4cfe90f
    ssh:
      allow: true
    minSize: 1
    maxSize: 1
    desiredCapacity: 1
    overrideBootstrapCommand: |
      #!/bin/bash
      source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh
      /etc/eks/bootstrap.sh systemd-test-120 --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}"

---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: systemd-test-122
  region: us-west-2
  version: "1.22"
managedNodeGroups:
  - name: "121"
    ami: ami-080237cf3a00f2e67
    ssh:
      allow: true
    minSize: 1
    maxSize: 1
    desiredCapacity: 1
    overrideBootstrapCommand: |
      #!/bin/bash
      source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh
      /etc/eks/bootstrap.sh systemd-test-122 --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}"
  - name: "122"
    ami: ami-021b3b95e7c2eace1
    ssh:
      allow: true
    minSize: 1
    maxSize: 1
    desiredCapacity: 1
    overrideBootstrapCommand: |
      #!/bin/bash
      source /var/lib/cloud/scripts/eksctl/bootstrap.helper.sh
      /etc/eks/bootstrap.sh systemd-test-122 --container-runtime containerd --kubelet-extra-args "--node-labels=${NODE_LABELS}"

Pods came up, LGTM.
I want to ship this change in a dedicated AMI release; so I'll wait to merge until we ship https://github.com/awslabs/amazon-eks-ami/pull/921.
@stevehipwell would you mind addressing the conflicts that came from #921 ?

@cartermckinnon I've rebased this PR so it should be good to merge when you're ready.

Any updates on this? Is there ETA for release?
Thanks

@cartermckinnon could we get this merged and released?

LGTM

I'm going to merge this.
We have an AMI build currently making its way through our release process, and this change won't make it into that version; it will land in the subsequent version. I'll update here once it's available.
Thanks for all your work on this, @stevehipwell! 🙏

This is creating a mismatch in the kubelet and container cgroupDriver when creating unmananged nodegroups with eksctl.

This is effecting clusters using eksctl v0.90.0(or less).
until this version eksctl makes its own kubelet config which does not have cgroupDriver setting, this is causing a mis-match where containerd using SystemdCgroup but kubelet does not have systemd

AFAIK older versions of eksctl are not supported, so the solution here is to not use old versions and download the latest binary.


Make sure all  elements specify initial and onSubmit

For accessibility reasons it's important that all forms have an explicit button of type="submit" and that each form handles saving through its onSubmit property.
We should make both properties (initial and onSubmit) required.

Related: #2681


Sort imports according to PEP8 for homekit_controller

Description:
I have sorted the imports for the homekit_controller component according to PEP8 using isort.
This affects:

homeassistant/components/homekit_controller/__init__.py
homeassistant/components/homekit_controller/climate.py
homeassistant/components/homekit_controller/config_flow.py
homeassistant/components/homekit_controller/connection.py
homeassistant/components/homekit_controller/cover.py
homeassistant/components/homekit_controller/storage.py
tests/components/homekit_controller/common.py
tests/components/homekit_controller/test_climate.py
tests/components/homekit_controller/test_config_flow.py
tests/components/homekit_controller/test_light.py
tests/components/homekit_controller/test_storage.py

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Looks like this missed tests/components/homekit_controller/specific_devices/*.py?
isort -rc homeassistant/components/homekit_controller/ tests/components/homekit_controller
Fixing /Users/john/Projects/home-assistant/tests/components/homekit_controller/specific_devices/test_aqara_gateway.py
Fixing /Users/john/Projects/home-assistant/tests/components/homekit_controller/specific_devices/test_hue_bridge.py
Fixing /Users/john/Projects/home-assistant/tests/components/homekit_controller/specific_devices/test_ecobee3.py
Fixing /Users/john/Projects/home-assistant/tests/components/homekit_controller/specific_devices/test_lennox_e30.py
Fixing /Users/john/Projects/home-assistant/tests/components/homekit_controller/specific_devices/test_koogeek_ls1.py


Sensitivity labels as conditions for DLP now GA ?

Sensitivity label-aware DLP policies (sensitivity labels as conditions in DLP policies) seems now in General Availability?
https://techcommunity.microsoft.com/t5/microsoft-security-and/general-availability-and-public-preview-of-microsoft-unified-dlp/ba-p/2250070

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


Console does not send commands

I have everything up and connected. The MC server is running and can be connected to, but the panel will not send console commands to it, and the automated tasks will not run.
uname -a:
Linux ns520261.ip-158-69-23.net 4.9.0-0.bpo.2-amd64 #1 SMP Debian 4.9.18-1~bpo8+1 (2017-04-10) x86_64 GNU/Linux
php -v:
PHP 7.0.19-1~dotdeb+8.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.19-1~dotdeb+8.1, Copyright (c) 1999-2017, by Zend Technologies

docker info:
Containers: 15
 Running: 6
 Paused: 0
 Stopped: 9
Images: 33
Server Version: 17.05.0-ce
Storage Driver: devicemapper
 Pool Name: docker-9:1-410037-pool
 Pool Blocksize: 65.54kB
 Base Device Size: 10.74GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.677GB
 Data Space Total: 107.4GB
 Data Space Available: 16.12GB
 Metadata Space Used: 3.027MB
 Metadata Space Total: 2.147GB
 Metadata Space Available: 2.144GB
 Thin Pool Minimum Free Space: 10.74GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.90 (2014-09-01)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Kernel Version: 4.9.0-0.bpo.2-amd64
Operating System: Debian GNU/Linux 8 (jessie)
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 125.8GiB
Name: ns520261.ip-158-69-23.net
ID: PTHY:OLLX:OEOD:KDCN:6EDG:OGK4:LH6I:YDXS:4HYT:754D:5H27:E42X
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

I'm currently running panel-0.6.1 and daemon 0.4.1

@Time6628 did you setup the queues ?

https://docs.pterodactyl.io/docs/queue-listeners

Yes.

Can you clarify for me. Are you saying that commands you type into the console do not send? Can you also clarify if scheduled tasks don't run, or if they run but don't send anything to the server.

They send, but are not run anything on the server.

Is the server in general running an can you join the server? If so what's the output of tps / what's your current servers TPS?
Lastly, you run the commands in the console without a leading /?
Can you maybe share a screenrecording of the issue?

The server is up, and running. TPS is 20, it's not lagging.
Cannot run the commands at all. I can get a screen recording in a bit

http://i.imgur.com/YPJZ0J8.gifv

Had an old version of npm, it's fixed now.


I cannot find the calculating or estimating of wasserstein distance!

In the paper, wasserstein distance is estimated with a new network f by minimum the minus of the two distribution, which is not displayed in this repository.

In the paper, wasserstein distance is estimated with a new network f by minimum the minus of the two distribution, which is not displayed in this repository.

I don't understand your explanation, meaning that the code doesn't implement EMD?

I can see what you mean by reading this blog.


AKS in CMS vs. Azure Monitor for Containers

Why does the documentation say this does not work for AKS when there are demos all over using this with AKS? Also, is there any section on when to use this vs. AKS?

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

ID: 7783cfe9-0508-9a73-3923-597cbc523cda
Version Independent ID: e2dba78f-0f1a-20d1-54d8-f30084328bb0
Content: Container Monitoring solution in Azure Monitor
Content Source: articles/azure-monitor/insights/containers.md
Service: log-analytics
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@kendallroden, thanks for comment. Just wanted to confirm this is the paragraph you are referring to (below)?
adding @MGoedtel for input and potential updates to the doc. If possible, can you share links to specific demo to confirm the above.

@kendallroden & @femsulu - I have no knowledge of these demos that you speak of.  Can you share an example? The documentation for the Container Monitoring solution is very clear about what it supports, which has nothing to do with the AKS service but Azure Container Services (which is Deprecated but still supported for customers using it until 2020) and Docker (for example).  Azure Monitor for containers is the only monitoring capability designed around AKS and the documentation has been designed to clearly differentiate and prevent any confusion around this.   Thanks.  #please-close since this isn't related to a specific doc issue.

I am currently able to view my AKS cluster data using the container monitoring solution. So how can it be that we say it is not supported? What does that mean? I think there could be a more clear distinction between these two offerings.

@kendallroden thanks for the above comment. I will work with @MGoedtel to add this to the backlog and see if we can make this clearer in the future.
We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Display management?

Absolutely love this script, nice work!
That said...
At the moment the button code, once placed in html, renders in all browsers including those that lack compatibility. It'd be great if the button was only rendered in browsers that were cast compatible.

You could check cjs.available and render your own button as you like 👍


"onDuration" not triggered on successive YouTube URLs

Current Behavior
If ReactPlayer has already loaded a Youtube URL, when loading the next Youtube URL no onDuration is called after onReady
Expected Behavior
onDuration is triggered right after onReady providing the length of the new YouTube URL
Steps to Reproduce

Go to demo website
Click stop
Click on YouTube Test A
Check duration: 6:10
Click on YouTube Test B
Check duration: still 6:10
Click play: duration of Test B is updated to 8:59

Repeat these steps with SoundCloud Test A / Test B for replicating the expected behavior.
Environment

Browser: Chrome
Operating system:  Linux

Further debug, I've modified onReady callback to print the duration instead of using onDuration in the following way:
onReady={(reactPlayer) => console.log('onReady', reactPlayer.getDuration())}

This will log "0" duration on successive YouTube URLs

Can replicate the bug also with v1.15.3

This is a quirk of the Youtube API that has been around for over 10 years by the looks of it. The duration is available for the first video that loads into the player, but any further videos loaded with cueVideoById will not have the duration available until after the video has started playing.
One workaround (although not a particularly nice one) would be to add a key:
<ReactPlayer key={url} url={url} ... />

which will force ReactPlayer to load a fresh youtube player every time the URL changes.

Thx for the explanation!
I'll just set a default video length for YouTube URLs until they are played. Ugly but that's ok 👍


[BUG] MQTT controls not working anymore

Hi. After updating to v7.0.0 the agent does not connect to the MQTT broker anymore from my system, resulting in all MQTT controls such as screenlock not working anymore. In the course of this major update I deleted the entire configuration folder and started over again from scratch. But apparently the mqtt.enabled setting in the newly created preferences.toml file is ignored.
I tracked down the issue to the following line, which seems to always return an empty default configuration:
https://github.com/joshuar/go-hass-agent/blob/72213853854c64a370f0d7bb5c45a8872503adf1/internal/agent/runners.go#L171
When I replace this line with a simple prefs, err := preferences.Load() the preferences are retrieved properly and MQTT works again. But I assume FetchFromContext is used here for some reason. Can you elaborate how those context based preferences are supposed to work and what their advantage is over simply loading them? If I understand it correctly EmbedInContext stores the preferences in the context and FetchFromContext can be used to retrieve them aftewards. However, I can only find a single occurrence of EmbedInContext in the entire project (apart from the tests) and this is in some UI package.

Hey @jaynis, oh dear! I'm sorry the new version didn't work correctly and you had to edit the code and re-register to get it working, that's not what was intended!
I can see the problem. I had changed what values were stored in the context from the all preferences to just the API URL and an HTTP client. Of course, this means all the MQTT preferences are missing, so MQTT control won't work.
What you have done is a good fix, thank you for your code sleuthing! I'll implement that in a patch release (7.0.1) ASAP.
For more background, indeed I've been exploring whether to continue embedding preferences in the context passed to those runners or just load it from file when needed with the load function. Advantage of the context is the preferences will stay consistent for the lifetime of the agent run. Loading gives an advantage of potentially being able to reload preferences in the future and dynamically change how the agent runs. So the code may change in the future, but I will look at adding more tests to try to catch problems like this (the amount of test code in general is on my mind constantly).
Thank you again for first reporting this, finding a good fix and for using the agent!


FeatureRequest: hasCastled(bool white)

Hi, the only tools related to castling as far as I know are:
Move.IsCastles
board.HasKingsideCastleRight(bool white)
board.HasQueensideCastleRight(bool white)
With this we can easily check if our own bot has castled, but since we can't access the oponent's last move (unless there's a board.LastMove function I'm not aware of) it's difficult to check if the oponent has.
We could, on our bot's turn, manually check the values of the oponent's 4 castling-related squares to check if they have castled. I've tried this and it's quite costly in terms of tokens.
I've looked at the Board.cs class and I think I can easily implement the functionality I'm looking for, but obviously that would be a waste of time if this change is deemed unreasonable for a pull request.
I think it's still early enough in the challenge to consider adding this feature, so let me know if that would be of interest.
Thanks!

Something I wanted earlier as well!

Hi, the only tools related to castling as far as I know are: Move.IsCastles board.HasKingsideCastleRight(bool white) board.HasQueensideCastleRight(bool white)
With this we can easily check if our own bot has castled, but since we can't access the oponent's last move (unless there's a board.LastMove function I'm not aware of) it's difficult to check if the oponent has.
We could, on our bot's turn, manually check the values of the oponent's 4 castling-related squares to check if they have castled. I've tried this and it's quite costly in terms of tokens.
I've looked at the Board.cs class and I think I can easily implement the functionality I'm looking for, but obviously that would be a waste of time if this change is deemed unreasonable for a pull request.
I think it's still early enough in the challenge to consider adding this feature, so let me know if that would be of interest.
Thanks!

I doubt Seb finds the time to do additional none-bugged features himself. You should do the Pullrequest to give him the chance to include the feature in the first place i think. But the Idea is nice although i can't see a way to use it in case of evaluation but i'm up to see ur version if it makes it to the video and probably also be code-reviewed then :)

@Selim What if the opponent manually castles their king by moving the king and rook to the correct positions. Does that count as castling?

@selim What if the opponent manually castles their king by moving the king and rook to the correct positions. Does that count as castling?

I guess so. Depends on if you are interested in the castling move itself or judging the safety of the king. I'd argue that this would make the king safer than if it hadn't moved at all so yes I would count it as castling for my purposes ;)

Update: Sebastian has added board.GameMoveHistory which lets you look at the moves played so far, making this very easy to check. Thanks everyone!

Update: Sebastian has added board.GameMoveHistory which lets you look at the moves played so far, making this very easy to check. Thanks everyone!

The problem is that GameMoveHistory is not updated during the bot search. So from my point of view it's kind of useless. We still need to maintain a custom history while using bot, right?


[RfC] Docker

how to start:
docker-compose build
docker-compose up -d
docker-compose exec php-fpm bash
composer install
composer pms-installer-docker
browse to: ip:8001
This docker-comopse.yml setup contains an php-fpm, nginx, mariadb and an adminer container.
Comments are welcome ;)

Awww... cool.
Thanks, I will defo test it in free time as I looked to get it at some point.
This won't happen to soon now but i gonna wipe windows from my desktop and make a switch between linux/windows and there i will need to have the fresh project anyway :D
However someone was interested in opened issue so maybe that person will find some time to check it.

I just made fast tiny look
  image: mariadb
    container_name: mariadb

Did You tested the migrations? I know from exp that maria is more strict so i wonder if there were/are any problems.


Document PyPI trove classifiers for Wagtail

As of https://github.com/pypa/warehouse/issues/3570, the following Wagtail trove classifiers are now supported on PyPI:
Framework :: Wagtail
Framework :: Wagtail :: 1
Framework :: Wagtail :: 2

We should add documentation of this, perhaps under the Contributing to Wagtail section. This might be a nice opportunity to also add a pointer to https://github.com/springload/awesome-wagtail as part of a new section for people who want to develop packages for Wagtail.

👏 this would be pretty cool! Just added a note in Awesome Wagtail that the classifiers do exist (https://github.com/springload/awesome-wagtail/pull/74). Ideally there would be more info about this, but it's a start.

+1 for a new documentation section "Developing extensions for Wagtail". There is lots we could add in there.