Data extraction on DEV environment on Umbraco Cloud fails

Describe the bug
When creating a new DEV environment for a site using Vendr, running on Umbraco Cloud, the data extraction will fail.
Steps To Reproduce
Steps to reproduce the behavior:

Have a site on Umbraco Cloud that has Vendr installed.
Create a new Development environment for the site
Wait for the environment to be done setting up, and for data extraction to complete.
See error

Expected behavior
The extraction completes without errors.
Additional context
The site is running Umbraco 8.14.4 with deploy version 4.1.4. Vendr is setup with Vencr.Core.Web 1.8.6 and Vendr.PaymentProviders.Invoicing 1.1.0.
Vendr version:
Vendr version 1.8.6.
Full error from data extraction:
{"Date":"2021-09-23T11:32:41.118347+00:00","Message":"The INSERT statement conflicted with the FOREIGN KEY constraint \"FK_vendrCountry_vendrStore\". The conflict occurred in database \"r2plbxn1x0w\", table \"dbo.vendrStore\", column 'id'.\r\nThe statement has been terminated.","Ex":{"Errors":[{"Source":".Net SqlClient Data Provider","Number":547,"State":0,"Class":16,"Server":"umbwesrv03.database.windows.net,1433","Message":"The INSERT statement conflicted with the FOREIGN KEY constraint \"FK_vendrCountry_vendrStore\". The conflict occurred in database \"r2plbxn1x0w\", table \"dbo.vendrStore\", column 'id'.","Procedure":"","LineNumber":1},{"Source":".Net SqlClient Data Provider","Number":3621,"State":0,"Class":0,"Server":"umbwesrv03.database.windows.net,1433","Message":"The statement has been terminated.","Procedure":"","LineNumber":1}],"ClientConnectionId":"868b3af0-b73a-41b9-b4a0-c84a90d74b10","ClassName":"System.Data.SqlClient.SqlException","Message":"The INSERT statement conflicted with the FOREIGN KEY constraint \"FK_vendrCountry_vendrStore\". The conflict occurred in database \"r2plbxn1x0w\", table \"dbo.vendrStore\", column 'id'.\r\nThe statement has been terminated.","Data":{"HelpLink.ProdName":"Microsoft SQL Server","HelpLink.ProdVer":"12.00.2195","HelpLink.EvtSrc":"MSSQLServer","HelpLink.EvtID":"547","HelpLink.BaseHelpUrl":"http://go.microsoft.com/fwlink","HelpLink.LinkId":"20476"},"InnerException":null,"HelpURL":null,"StackTraceString":"   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)\r\n   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)\r\n   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)\r\n   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)\r\n   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n   at StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteNonQuery() in C:\\projects\\dotnet\\src\\MiniProfiler.Shared\\Data\\ProfiledDbCommand.cs:line 272\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<ExecuteNonQuery>b__31_0()\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.<>c__DisplayClass33_01.b__0()\r\n   at Umbraco.Core.Persistence.FaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.Execute[T](Func1 f)\r\n   at Umbraco.Core.Persistence.FaultHandling.FaultHandlingDbCommand.ExecuteNonQuery()\r\n   at NPoco.Database.ExecuteNonQueryHelper(DbCommand cmd)\r\n   at NPoco.Database.InsertImp[T](PocoData pocoData, String tableName, String primaryKeyName, Boolean autoIncrement, T poco)\r\n   at NPoco.Database.Insert[T](String tableName, String primaryKeyName, Boolean autoIncrement, T poco)\r\n   at NPoco.Database.Save[T](T poco)\r\n   at Vendr.Core.Persistence.Repositories.CountryRepository.Save(CountryState state, CountryState originalState)\r\n   at Vendr.Core.Services.CountryService.SaveCountry(Country entity)\r\n   at Vendr.Core.Api.CoreVendrApi.SaveCountry(Country entity)\r\n   at Vendr.Deploy.Connectors.ServiceConnectors.VendrCountryServiceConnector.Pass2(ArtifactDeployState2 state, IDeployContext context)\r\n   at Vendr.Deploy.Connectors.ServiceConnectors.VendrCountryServiceConnector.Process(ArtifactDeployState2 state, IDeployContext context, Int32 pass)\r\n   at Umbraco.Deploy.Connectors.ServiceConnectors.ServiceConnectorBase3.Process(ArtifactDeployState dart, IDeployContext context, Int32 pass)\r\n   at Umbraco.Deploy.Environments.CurrentEnvironment.ProcessArtifacts(IEnumerable1 arts, IDeployContext context, CancellationToken token)","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":"8\nOnError\nSystem.Data, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089\nSystem.Data.SqlClient.SqlConnection\nVoid OnError(System.Data.SqlClient.SqlException, Boolean, System.Action1[System.Action])","HResult":-2146232060,"Source":".Net SqlClient Data Provider","WatsonBuckets":null},"Sender":"Umbraco.Deploy.Work.WorkItems.DiskReadWorkItem"}

I'm going to close this issue for now as this has already been raised on the support forums https://our.umbraco.com/packages/website-utilities/vendr/vendr-support/107156-after-restoring-local-site-from-dev-then-getting-issue
As it is yet unclear if it's a bug, or a specific instance issue, I'll wait to see how the discussion goes on the forum. If it does end up being a bug, I'll re-open this issue accordingly.


Close #65

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue so that it closes after successful merging.
[x] Address all merge conflicts and resolve appropriately.
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

Run lintr::lint_package() in R and it will give you advice on how to fix the linter check

Hi Ben!
Added Title.
Created Rd file.
Removed warnigns for lintr package.
Thanks!

Hi @pharmaverse/admiralvaccines  You can use this function spelling::update_wordlist() to help deal with the failing Spelling GitHub Action.  This will add new words in your PR to inst/WORDLIST.  Please double check that your newly added words are not mis-spellings!!

This one is good - merging in


Minute typo fix on README

A little fix on some of the terms and decreased some of the punctuations since we can expect this is an actual documentation of your framework and some chat messages.
And now, for the actual issue.
There seems to be a bug regarding your presence not being in the said place at the same time given that your call (confirm_appearance) to the request is working. Might want to check that out:
Expected behaviour

Actor(Mac) will be at the Hamon.venue

Actual behaviour

Actor(Mac) did not come to the Hamon.venue

Steps to replicate:

Declared a request of type Hamon with the following values:

data class Hamon(
   venue: "Most Holy Redeemer Parish",
   address: "Araneta, 1 Brixton Hill cor Landaragun St.",
   date: "2019-10-27T16:00:00.000'+0800'
);

Actor(Mac) sent the request<Hamon> to Actor(<Any>).
Actor(<Any>) responded with date and venue
Actor(Mac) will respond with a confirmation:

noted already freed my schedule.

Actor(Mac) will show up at the venue because of the confirmation the actor made.

Suspicion:

Actor(Mac) has no balls.

Note:

Included in this PR are pictures where broken actor is nowhere to be seen.

Additional sources:
https://www.instagram.com/p/B4IKUOVHzbB/
https://www.instagram.com/p/B4IKtn4H-tc/
https://www.facebook.com/SEDSI.UVPH/posts/2678373875526948

More additional sources:
https://www.facebook.com/zybjared/posts/3299074393466740
https://www.facebook.com/TimothytheThinker - check cover photo

@monicalabbao to make things clear "HAMON" is "CHALLENGE" in English.

For all the PHACKERS developer be clear to your dictionary "CONFRONT" is not equal to "CHALLENGE".

GitHub Community Guidelines
What is not allowed?
We are committed to maintaining a community where users are free to express themselves and challenge one another's ideas, both technical and otherwise. Such discussions, however, are unlikely to foster fruitful dialog when ideas are silenced because community members are being shouted down or are afraid to speak up.  We do not tolerate behavior that crosses the line into the following:
Threats of violence - You may not threaten violence towards others or use the site to organize, promote, or incite acts of real-world violence or terrorism. Think carefully about the words you use, the images you post, and even the software you write, and how they may be interpreted by others. Even if you mean something as a joke, it might not be received that way. If you think that someone else might interpret the content you post as a threat, or as promoting violence or terrorism, stop. Don't post it on GitHub. In extraordinary cases, we may report threats of violence to law enforcement if we think there may be a genuine risk of physical harm or a threat to public safety.
 Just realize that when approached in an aggressive or insulting manner, these (and other) sensitive topics can make others feel unwelcome, or perhaps even unsafe. While there's always the potential for misunderstandings, we expect our community members to remain respectful and civil when discussing sensitive topics.
Bullying and harassment - We do not tolerate bullying or harassment. This means any habitual badgering or intimidation targeted at a specific person or group of people. In general, if your actions are unwanted and you continue to engage in them, there's a good chance you are headed into bullying or harassment territory.
Impersonation - You may not seek to mislead others as to your identity by copying another person's avatar, posting content under their email address, using a similar username or otherwise posing as someone else. Impersonation is a form of harassment.
Doxxing and invasion of privacy - Don't post other people's personal information, such as phone numbers, private email addresses, physical addresses, credit card numbers, Social Security/National Identity numbers, or passwords. Depending on the context, such as in the case of intimidation or harassment, we may consider other information, such as photos or videos that were taken or distributed without the subject's consent, to be an invasion of privacy, especially when such material presents a safety risk to the subject.
Sexually obscene content - Don’t post content that is pornographic. This does not mean that all nudity, or all code and content related to sexuality, is prohibited. We recognize that sexuality is a part of life and non-pornographic sexual content may be a part of your project, or may be presented for educational or artistic purposes. We do not allow obscene sexual content or content that may involve the exploitation or sexualization of minors.
Gratuitously violent content - Don’t post violent images, text, or other content without reasonable context or warnings. While it's often okay to include violent content in video games, news reports, and descriptions of historical events, we do not allow violent content that is posted indiscriminately, or that is posted in a way that makes it difficult for other users to avoid (such as a profile avatar or an issue comment). A clear warning or disclaimer in other contexts helps users make an educated decision as to whether or not they want to engage with such content.
Active malware or exploits - Being part of a community includes not taking advantage of other members of the community. We do not allow anyone to use our platform for exploit delivery, such as using GitHub as a means to deliver malicious executables, or as attack infrastructure, for example by organizing denial of service attacks or managing command and control servers. Note, however, that we do not prohibit the posting of source code which could be used to develop malware or exploits, as the publication and distribution of such source code has educational value and provides a net benefit to the security community.


Add opportunity pass context

If webpack configuration file located not in root folder (like webpack/webpack.config.js) it's not possible use plugin. I've added opportunity to set root path.

awesome :sunglasses:


CB from Call.record() never called

I can't manage to get both cb() and cbifempty() working, after making a phone call to Twilio.
Here is my actual code :
function emptyCB(a,v) {
  console.log("EMPTY", a, v)
}

function functionCB(call, recordingUrl, recordingDuration, input) {
  console.log(call, recordingUrl, recordingDuration, input)
}

app.post('/voice', function (req, res) {
  var twiml = new twilio.TwimlResponse();
  twiml.say('Hello. This is my webtask to record your call.');

  twiml.record(functionCB, {maxLength : "50"}, emptyCB);

  twiml.hangup();

  res.type('text/xml');
  res.send(twiml.toString());
});

Any idea why this isn't working?
Thanks!

Yes.  After the recording completes, Twilio will contact your server using the auto-generated callback ID from the twiml.  But, you need to ensure that you are listening for that callback in another route.
The easiest way to do this is to setup the Twilio middleware for intercepting these HTTP requests.  Then, your callback will be automatically called.
See https://github.com/bminer/node-twilio-api/#basic-usage
Closing this issue for now, but please feel free to write back here if you have any more questions.

Believing the callback would be accessible to Twilio was a bit dumb from me ahah.
This one makes more sense indeed :
twiml.record({maxLength : "50", recordingStatusCallback: "anAbsoluteUrlToMyOwnServer"});
Thanks!

Yes, I forgot you could explicitly set recordingStatusCallback. :)

There is also an action parameter that you need to set explicitly if you don't want Twilio to call the current route twice!


The Android music wave is inverted

I have a strange problem. While iOS shows the music wave correctly with the silence spaces at zero, Android seems to show it inverted, in fact right from the start, when I haven't started talking yet it is at maximum and if I start talking it drops proportionally.
I don't understand if I have done something wrong (but I use your example) or there is a real problem.
Any suggestion?

I use normalizationFactor to obtain a good wave also in android

Are you ok recording in iOS?? I also use this repo example but iOS can't record. If you are ok, can you share your code for iOS?

@jackwill99 Check this out. And closing this since the issue is been resolved.

How do you resolved the problem?

I use normalizationFactor to obtain a good wave also in android


Add Dart API for VAD

I wonder whether you need help with this Flutter / Dart port

Yes, definitely. Help from the community is always appreciated.
As for the Dart API, there are the following TODO items:

Wrap the following to Dart

[ ] non-streaming ASR
[ ] TTS
[ ] Spoken language identification
[ ] audio tagging
[ ] keyword spotting

I am working on the streaming ASR part.
By the way, we are not using  ffigen. We prefer to wrap the C API one-by-one and test it incrementally as we wrap it.

Follow Federated plugin
to refactor our current approach.

There are two examples of federated plugin that we can follow.
- https://pub.dev/packages/url_launcher
- https://pub.dev/packages/record

Write Flutter demos for the above APIs.   I am also working on the Flutter streaming ASR demo.


[type:refactor] refactor application to scopespace

With pull requests:

Open your pull request against main
Your pull request should have no more than two commits, if not you should squash them.
You should pass all tests by go test -v ./... at the project root path in local.
It should pass all tests in the available continuous integration systems such as GitHub Actions.
You should add/modify tests to cover your proposed code changes.
If your pull request contains a new feature, please document it on the README.

Codecov Report

Merging #99 (c0cdcba) into main (200a644) will decrease coverage by 2.65%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
- Coverage   30.26%   27.61%   -2.66%
==========================================
  Files          14       14
  Lines         489      536      +47
==========================================
  Hits          148      148
- Misses        325      372      +47
  Partials       16       16

Impacted Files
Coverage Δ

internal/core/openapi/dictionary.go
0.00% <0.00%> (ø)

internal/core/openapi/openapi.go
0.00% <0.00%> (ø)

internal/core/openapi/scopespace.go
0.00% <0.00%> (ø)

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


How do we make the dashboard available in RBAC enabled cluster using az aks browse?

It is given that we cannot grant cluster role binding with cluster-admin role to kubernetes-dashboard service account. Any guidance around this would be greatly appreciated either using az aks OR with kubectl command.

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

ID: 2ba1dad2-9792-2a7b-cdb6-68da0524cff3
Version Independent ID: 42736112-f6db-d241-e89b-48fd2c35ceb7
Content: Manage Azure Kubernetes cluster with web UI
Content Source: articles/aks/kubernetes-dashboard.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

Thanks for the question! We are investigating and will update you shortly.

@badalk based on the doc it appears to provide a work around
https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard#for-rbac-enabled-clusters

For RBAC-enabled clusters
If your AKS cluster uses RBAC, a ClusterRoleBinding must be created before you can correctly access the dashboard. By default, the Kubernetes dashboard is deployed with minimal read access and displays RBAC access errors. The Kubernetes dashboard does not currently support user-provided credentials to determine the level of access, rather it uses the roles granted to the service account. A cluster administrator can choose to grant additional access to the kubernetes-dashboard service account, however this can be a vector for privilege escalation. You can also integrate Azure Active Directory authentication to provide a more granular level of access.

Does this not address the issue? If not please clarify so I can better assist :)

Below highlighted sections sounds contradicting to me
From: Micah<EMAIL_ADDRESS>Sent: Friday, September 14, 2018 10:04 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Badal Kotecha<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] How do we make the dashboard available in RBAC enabled cluster using az aks browse? (#14983)

This e-mail originated outside of Mindtree. Exercise caution before clicking links or opening attachments *

@badalkhttps://github.com/badalk based on the doc it appears to provide a work around
https://docs.microsoft.com/en-us/azure/aks/kubernetes-dashboard#for-rbac-enabled-clusters
For RBAC-enabled clusters
If your AKS cluster uses RBAC, a ClusterRoleBinding must be created before you can correctly access the dashboard. By default, the Kubernetes dashboard is deployed with minimal read access and displays RBAC access errors. The Kubernetes dashboard does not currently support user-provided credentials to determine the level of access, rather it uses the roles granted to the service account. A cluster administrator can choose to grant additional access to the kubernetes-dashboard service account, however this can be a vector for privilege escalation. You can also integrate Azure Active Directory authentication to provide a more granular level of access.
Does this not address the issue? If not please clarify so I can better assist :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/14983#issuecomment-421523003, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOYOqnE3-8IKlBpKcFpRJWk6AWbpX2dcks5ubGAogaJpZM4Woduu.

http://www.mindtree.com/email/disclaimer.html

@badalk sorry but I am not seeing any highlighted sections. If you reply from email you often lose the formatting. Could you reply from a PC and clarify which part is confusing?

Between these two statements:

The Kubernetes dashboard does not currently support user-provided credentials to determine the level of access, rather it uses the roles granted to the service account

You can also integrate Azure Active Directory authentication to provide a more granular level of access

How do we integrate dashboard with Azure AD auth, and in that case wouldn't it ask user to provide credentials?
Regards
Badal

We have a doc on how to integrate AKS with AAD
https://docs.microsoft.com/en-us/azure/aks/aad-integration
If you integrate with AAD it would prompt the user for credentials if they are not already logged into the account.
Is that not what you are looking for?

Not really. I am looking for access to dashboard based on the context of the user. For example if a user has access to a particular namespace in the cluster, will he have the similar permissions on the dashboard to deal with that specific namespace

@iainfoulds would you be able to comment further on this?

Rather than creating a role binding that is tied to a service account, a role binding can be created that points to the object of an Azure AD user or group. That's the only difference. It's still all controlled by that Kubernetes role and role binding in terms of which namespaces the Azure AD user or group can access, and what permissions they then have to perform actions.
There's doc update already in progress that shows how to apply these changes, but it's not really anything specific to AKS or Azure AD. The following example would grant read-only permissions for the kube-system namespace to the Azure AD group with an ID of d092bfb0-0000-0000-0000-19241f0e4e84:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: kube-system
  name: proxy-dashboard
rules:
  - apiGroups: [""]
    resources:
      - services
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources:
      - services/proxy
    verbs: ["get", "list", "watch", "create"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: kube-system
  name: user-binding-dashboard
roleRef:
  kind: Role
  name: proxy-dashboard
  apiGroup: ""
subjects:
- kind: Group
  name: "d092bfb0-0000-0000-0000-19241f0e4e84"
  apiGroup: ""

Thanks @iainfoulds , i created the role and role binding as you stated above but does this work with az aks browse? because I get a message post login with the user which is part of this new group i created in AD, saying that the logged in user does not have permissions to list pods in kube-system
az aks browse --resource-group rg-aks-arm --name myfirstakscluster Merged "myfirstakscluster" as current context in /tmp/tmpswmadxns To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code SOMECODE to authenticate. Error from server (Forbidden): pods is forbidden: User<EMAIL_ADDRESS>cannot list pods in the namespace "kube-system" Could not find dashboard pod: Command '['kubectl', 'get', 'pods', '--kubeconfig', '/tmp/tmpswmadxns', '--namespace', 'kube-system', '--output', 'name', '--selector', 'k8s-app=kubernetes-dashboard']' returned non-zero exit status 1.

@badalk any update on this?

its not working for me either ways. I will spend some time over the weekend.

@badalk any luck over the weekend?

@badalk I will close for now. When ready let me know and we can reopen and continue.

Hi @Karishma-Tiwari-MSFT,
I am following this issue from various closed issues and it appears that there is no solution available for this. Any idea if a fix has been proposed for this?

@love2dishtech This is the open issue: https://github.com/MicrosoftDocs/azure-docs/issues/23789
Further updates will be shared on that thread.

@love2dishtech This is the open issue: #23789
Further updates will be shared on that thread.
Please take a look there and let me know if you are seeing the same issue on your end.

Thanks a lot for quick reply. Appreciate it.

So.. this was closed but i

I haven't tested this from az aks browse. It's possible that since it tunnels the connection for the Kubernetes dashboard it first checks for the running dashboard pod and the port that it's running on. If that's the blocking behavior, would need to open an issue against the Azure CLI.
Try az account get-access-token --query accessToken -o tsv to get an access token for your user, then start the connection with kubectl proxy. You can then browse to the Kubernetes dashboard at http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/#!/login and enter the access token for your user.

This doesn't work for me either.. I tried i still get:
"persistentvolumeclaims is forbidden: User "system:serviceaccount:kube-system:kubernetes-dashboard" cannot list resource "persistentvolumeclaims" in API group "" in the namespace "default""
I followed the guides very closely to create the AKS cluster, everything seems to be operational besides this.
Following the guide here it is clearly stating:

Warning
This sample binding does not apply any additional authentication components and may lead to insecure use. The Kubernetes dashboard is open to anyone with access to the URL. Do not expose the Kubernetes dashboard publicly.
For more information on using the different authentication methods, see the Kubernetes dashboard wiki on access controls.

Is there a solution? Could you please reopen this issue?

I haven't tested this from az aks browse. It's possible that since it tunnels the connection for the Kubernetes dashboard it first checks for the running dashboard pod and the port that it's running on. If that's the blocking behavior, would need to open an issue against the Azure CLI.
Try az account get-access-token --query accessToken -o tsv to get an access token for your user, then start the connection with kubectl proxy. You can then browse to the Kubernetes dashboard at http://localhost:8001/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/#!/login and enter the access token for your user.

That did not work i still cannot access dashboard at <IP_ADDRESS>:8001 and the proxy stays in starting state. Any other solution for this issue in accessing dashboard , where i am giving access to user on a seprate namespace but should be able to access AKS dashboard which is running in kube-system namespaces ?

Rather than creating a role binding that is tied to a service account, a role binding can be created that points to the object of an Azure AD user or group. That's the only difference. It's still all controlled by that Kubernetes role and role binding in terms of which namespaces the Azure AD user or group can access, and what permissions they then have to perform actions.
There's doc update already in progress that shows how to apply these changes, but it's not really anything specific to AKS or Azure AD. The following example would grant read-only permissions for the kube-system namespace to the Azure AD group with an ID of d092bfb0-0000-0000-0000-19241f0e4e84:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: kube-system
  name: proxy-dashboard
rules:
  - apiGroups: [""]
    resources:
      - services
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources:
      - services/proxy
    verbs: ["get", "list", "watch", "create"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: kube-system
  name: user-binding-dashboard
roleRef:
  kind: Role
  name: proxy-dashboard
  apiGroup: ""
subjects:
- kind: Group
  name: "d092bfb0-0000-0000-0000-19241f0e4e84"
  apiGroup: ""

If someone is trying to setup 'Kuberntes Multitenancy' on the namespace, why one would give access to 'kube-system'  by role and role-binding. All we want to give acccess to only one namepsace to specific applicaion user ?
Do i sound right or not ?


tracking reportback errors

fixes #4027
image file size too big + image dimensions too small:
-these are in ImageUpload.js because that is where those checks actually occur (aka before the form is submitted)
-the calls to ga are definitely in the right places, but I'm not 100% sure the parameters are what we want them to be
no image uploaded:
-this is in dosomething_reportback.forms.inc because we only check for that when the user clicks submit, so there is no way to check for this in the js file
-less certain about the php syntax for ga, but this seems to follow what I could find online
-I am not sure if drupal gets mad at this or not, as I can't get it to throw this error on my machine (when I click submit without an image, it just scrolls up?)

@katiecrane see dosomething_helpers_add_analytics_event  for adding events in php


Organise dates and main attendee availability for phytochemistry hack

Aiming for Sep-Nov 2015

Closing for now - re-evaluate later


Implement communication with Jira

At some point we need to start talking to Jira. We need to add functionality for that. We need to be able to search for issues, file issues and update them.

This has been implemented in #20


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:22: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:25: python_build_tool_in_run: The python build tool setuptools is in run depends
ERROR: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:31: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:38: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:38: missing_description: The recipe is missing a description
ERROR: /tmp/abs_ddowsda3j2/clone/recipe/meta.yaml:38: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


items not being removed from the list - fix proposal

I noticed that when I have 2 browsers open and remove item in one browser, the other one doesn't react to the removal although it gets the notification when using -reactive extension. Same thing happens when re-querying the data and having some deleted records in the meantime between refresh: the list only gets additions and removals are kept.
So I updated the action addOrUpdateList with the removal logic (see comments).
Could there be some side-effects of changing this I could not see?
  const actions = {
    addOrUpdateList ({ state, commit }, list) {
      let toAdd = []
      let toUpdate = []
      let toRemove = [] // Added

      // Find IDs from the state which are not in the list
      state.ids.forEach(id => {
        if (!list.some(c => c.id === id)) {
          toRemove.push(state.keyedById[id])
        }
      })

      list.forEach(item => {
        let id = item[idField]
        let existingItem = state.keyedById[id]

        checkId(id, item)

        existingItem ? toUpdate.push(item) : toAdd.push(item)
      })

      commit('removeItems', toRemove) // commit removal
      commit('addItems', toAdd)
      commit('updateItems', toUpdate)
    },

Seems like a good fix to me.  Care to start a PR?  I can try to add a test for this.

Hi, there is still an issue with deleting items through services, the list does not update. I have created a service called rawsales with feathers generate service and I call the delete method from feathers-reactive like this this.$store.dispatch('rawsales/remove', this.idToRemove), when I look into database the record is deleted with idToRemove but the rawsales/list or the state in the store does not change.

I found out the issue. It was not with the service but I had defined the idField as _id in feathers().configure(rx(RxJS, {idField: '_id'})) while it must have been feathers().configure(rx(RxJS, {idField: 'id'}))


New version: OpenStreetMap.Josm 18678

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The application shows an error while launching:
2023-03-08 16:35:54.110 SEVERE: java.security.KeyStoreException: Windows-ROOT not found. Cause: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
java.security.KeyStoreException: Windows-ROOT not found
        at java.base/java.security.KeyStore.getInstance(Unknown Source)
        at org.openstreetmap.josm.tools.PlatformHookWindows.getRootKeystore(PlatformHookWindows.java:337)
        at org.openstreetmap.josm.tools.PlatformHookWindows.getX509Certificate(PlatformHookWindows.java:347)
        at org.openstreetmap.josm.io.CertificateAmendment.addMissingCertificates(CertificateAmendment.java:240)
        at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:884)
        at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:277)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:742)
Caused by: java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
        at java.base/sun.security.jca.GetInstance.getInstance(Unknown Source)
        at java.base/java.security.Security.getImpl(Unknown Source)
        ... 7 more

But the application continues to run normally.

@wingetbot waivers Add Validation-Executable-Error


Attempt to confirm that to-one descriptor don't require special handling for use_for_related_fields

PR for CI only

Please reopen if/when you need to do further testing.


Test performance: reuse project setups?

In a number of the --build and --incremental tests, we currently re-create the entire project setup from scratch and then tear it down before and after every single test. We could probably skip a lot of that by doing before and after instead of beforeEach and afterEach for tests which share their setups, while still have some kind of afterEach cleanup for the bits we generate along the way. This should shave at least some time off of those incredibly and annoyingly long test runs.

I stuck some performance.now() measurements in the beforeEach/afterEach blocks and then ran the "simple --build --watch" tests:
stdout | __tests__/cli/build-watch.test.ts > CLI: watched build mode typechecking > simple projects using `--build --watch > passes a valid basic project
passes a valid basic project [ 2.4674553871154785, 3.93450927734375 ]

stdout | __tests__/cli/build-watch.test.ts > CLI: watched build mode typechecking > simple projects using `--build --watch > reports diagnostics for a template syntax error
reports diagnostics for a template syntax error [ 1.2247447967529297, 2.9417600631713867 ]

stdout | __tests__/cli/build-watch.test.ts > CLI: watched build mode typechecking > simple projects using `--build --watch > reports diagnostics for a template type error
reports diagnostics for a template type error [ 1.76670503616333, 2.7261571884155273 ]

stdout | __tests__/cli/build-watch.test.ts > CLI: watched build mode typechecking > simple projects using `--build --watch > reports on errors introduced and cleared during the watch
reports on errors introduced and cleared during the watch [ 1.2449560165405273, 3.5986580848693848 ]

 ✓ __tests__/cli/build-watch.test.ts (11) 14883ms

The 4 tests took a total of 14.9s to run, and of that each spent 4-6ms combined on setup and teardown, which accounts for a total of around 0.1% of the total runtime. Maybe there are some other advantages we can squeeze out of sharing test setup, but "just" cutting down on the setup and teardown times by themselves doesn't look like it will make much of a dent.

Thanks for checking! It sort of makes sense given what we know about the overhead/time of just starting up tsc and the extra cost imposed by parsing all the templates for Glint that setup and teardown are not the major contributors. Would have been nice if it were a win but now we know.


[MINOR][CORE] Validate spark.deploy.defaultCores value during config setting

What changes were proposed in this pull request?
This aims to move spark.deploy.defaultCores validation logic to config setting.
Why are the changes needed?
In order to ensure the value range by early checking.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual review.
Was this patch authored or co-authored using generative AI tooling?
No.

GitHub Action is running here.

https://github.com/dongjoon-hyun/spark/actions/runs/6753090702

Thank you, @beliefer !

core module passed. Merged to master.


Re-Enable ANCM OutOfProcess tests  (#678)

Same thing that happened to Chris, my commit got lost in translation. Commit appears in history, but the files themselves aren't changed.

@pranavkm Any idea why this would happen?

@pranavkm @muratg @mkArtakMSFT @Eilon One missing commit was weird, but two in different repos is concerning. We need to go verify anything checked into dev Thursday & Friday is actually there.

Yeah, I’ll do a scan. Seems sketchy.

From: Chris Ross<EMAIL_ADDRESS>Sent: Monday, March 19, 2018 8:29:12 PM
To: aspnet/IISIntegration
Cc: Pranav Krishnamoorthy; Mention
Subject: Re: [aspnet/IISIntegration] Re-Enable ANCM OutOfProcess tests (#678) (#701)
@pranavkmhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpranavkm&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557562970|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=vLLMbh3s85m047mAnVNxlkzddaMe1smKvM1jtsTvk%2Fk%3D&reserved=0 @muratghttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmuratg&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557572979|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=my1VGtmxrPZiQ9ZJtCQ%2Fgi7c6m34QpKVYU0GFdA8G6k%3D&reserved=0 @mkArtakMSFThttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmkartakmsft&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557572979|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=Sk8TvDC%2BhCxipJH0KroZYKm0sffTujOhIhHXyWWrWXA%3D&reserved=0 @Eilonhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feilon&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557572979|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=auMhWosXQ1HBcVNjM5izyzZh1hKlfhEUdF3b9w38Y28%3D&reserved=0 One missing commit was weird, but two in different repos is concerning. We need to go verify anything checked into dev Thursday & Friday is actually there.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Faspnet%2FIISIntegration%2Fpull%2F701%23issuecomment-374461338&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557572979|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=h0GuT9T%2F6Nj3d5eu3fNIF2F5Lq5tg%2Bq%2BE033myWD9oI%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAKoydjVqsJyzK5f0HSmepW5VCADspDuks5tgHeJgaJpZM4SxLRo&data=04|01|prkrishn%40microsoft.com|6e6efa02ff0740924b3908d58e12c13b|72f988bf86f141af91ab2d7cd011db47|1|0|636571133557572979|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=27xba7NEiDF5ZXsCtdWTxaPMQoUAilsXnp49NEGdi4E%3D&reserved=0.

@pranavkm check in other repos for changes between these commits: https://github.com/aspnet/IISIntegration/commit/3195e23ba71591617b67cac86d386dafa93b88f9 https://github.com/aspnet/IISIntegration/commit/74083f60c9ecd070a678cdeac49daf981634694c

So here's the issue for this commit:

The changes were made in release/2.1 right after I branched, but not merged back in dev. The channel update is merged in as a no-op merge, so it would have merged the commit but ignored all the changes.

Also I'm guessing the two commits in dev are meant to completely no-op each other:

https://github.com/aspnet/IISIntegration/commit/8c4a83dbbf11eda3d889a6e437c17b4fc560c5a4
https://github.com/aspnet/IISIntegration/commit/db27e1c891a7c5e8b979f0ef4f6f4591f8833104

Also I'm guessing the two commits in dev are meant to completely no-op each other:

Yeah I accidentally merged that to dev rather than release/2.1.

Going to investigate why this is failing on CI tomorrow. Seems to still be a deployment issue.

@natemcmaster the appveyor PR is complaining about the nuget package issue when I am using the 15746 of korebuild. Thoughts?

Update this to match the version of KoreBuild:
https://github.com/aspnet/IISIntegration/blob/f4890ac7a277a93520d2f31793a71e2413e5daab/build/dependencies.props#L6

This got merged in already through https://github.com/aspnet/IISIntegration/commit/79b038afb44b5267f429efdc270659de77519361.


Please add YAML serialization tags for Go objects generated from the model

To be compliant with the requirements for gopkg.in/yaml.v2
As far as I can tell you just need to duplicate the JSON tags, substituting "yaml" for "json".

I agree with this: http://ghodss.com/2014/the-right-way-to-handle-yaml-in-golang/


Cleaned out some specific provisioning profile settings and made them generic.

For the sample project.

@Stunner Thanks for the PR. Unfortunately I think this may break our continuous integration.

No problem.


Support index option when adding a playlist

When adding a song to a queue, there is an option to add the song after a specific index in the queue.
This PR adds the same functionality when adding a playlist to a queue. If index is specified in the options, all the songs from the playlist will be inserted after the given index.

Working for me, adding that ^^


Switch Workflow Authentication from PAT to GitHub App

The brightway-documentation repository uses git submodules to integrate different Brightway software packages (bw2data, bw2io, etc.). GitHub actions are used to update these submodules whenever the underlying repositories change. This is described in the documentation as well.
The main downside of the current implementation is the use of a personal access token (PAT) to trigger workflows in the brightway-documentation repository. This token expires after a while, necessitating manual renewal. It was also not clear what permissions the PAT would need to have.
According to the GitHub documentation "Triggering a workflow from a workflow", we should really be using a GitHub app:

If you do want to trigger a workflow from within a workflow run, you can use a GitHub App installation access token or a personal access token instead of GITHUB_TOKEN to trigger events that require a token.

About GitHub App permissions
Authenticating with a GitHub App

Compare my discussion: https://github.com/github/docs/discussions/24018

...expiring PAT removed! We now have a shiny ✨ app (Documentation Workflow App) that is used for authenticating the workflow runs in the brightway-documentation repo. The associated secrets:


Calling $this->fail() from within a Job doesn't stop execution

Laravel Version: 8.19.0
PHP Version: 7.4.11
Database Driver & Version:

Description:
The documentation is not quite clear on this, but I would assume calling $this->fail() on a Job would stop execution immediately
Steps To Reproduce:
Create a new Job:
public function handle(){
  echo 'start';
  $this->fail();
  echo 'stop';
}

Running this in a queue worker will still echo out 'stop' after failing
[2020-12-21 11:50:06][53] Processing: App\Jobs\TestJob
start
[2020-12-21 11:50:07][53] Failed:     App\Jobs\TestJob
stop
[2020-12-21 11:50:07][53] Processed:  App\Jobs\TestJob

Feel free to send in a PR to the docs if you feel this isn't clear 👍

So you're saying this is the intended functionality? What is the purpose of this function then? Would it not be better to throw an exception instead?


[Bug]: Weird behavior of the "Speed" text in setup carousel tab

Describe the bug
I just noticed that it didn't translate the word "Speed" on the carousel tab of the setup screen. I thought I forgot to translate it, but all I found is LabelSpeedSetting = "Vitesse". Then I looked for other text in the code equal to "Speed", but the only other instance of "Speed" (outside of the word being part of bigger description like moves) was the SortSPE = "Speed" in LogSearchScreen and changing it didn't fix it. Then I tried changing LabelSpeedSetting in the English.lua, but it changed nothing neither for french or english language.
Edit: Just noticed that the tab's name aren't translated either even if they should be, and the exact same issue seems to applies. Changing the English.lua still won't affect the tab's name.
Other Edit: I am testing other tab's name and I think they all (or most of them) have the same issue. I tested the "tools" and "options" of the extraScreen, same issue.
Another Edit: Same thing for LabelInfoToShow

Steps to Reproduce

Go to the carousel tab in setup
Notice the word "Speed"
Go to French.lua in the setupScreen section
Notice the = "Vitesse",
Try changing language, changing the string for the labal or changing other instance of the string "Speed", probably nothing will change

What tracker version are you using?
v8.5.2
What operating system are you using?
Windows 11
What emulator(s) are you seeing the problem on?
Bizhawk 2.8
Relevant log output
No response
Additional Information
No response

Since it affects many texts, I am trying what they all have in common that other texts don't. So far my only idea is header? Most (if not all) of tab's name are affected (they are also highlighted when selected), "Speed" is kinda a header and "Info to show" is underline and introduce a list of settings. I have no idea if the tracker treats differently those "header", but I assume it does.

The original texts you found were correct. This was just a small bug with how the Tracker starts up and creates this screens initially. Some of the texts get locked in and never change, until you close and reopen the Tracker completely.
Fixed in https://github.com/besteon/Ironmon-Tracker/commit/acb9842a3af6a04003324572960a8a3a71886de7


Custom validation doesn't show when working with check boxes

What should happen?
Custom validation should insert error classes for check boxes.
What happens instead?
It is not submitting the form (assume invalid form) and not showing any error message with custom validation.
Possible Solution
Insert error classes in invalid inputs that aren't valid and insert error class in related form-error tag.
Test Case and/or Steps to Reproduce (for bugs)
How to reproduce:

Use custom validator:

Foundation.Abide.defaults.validators['require-an-answer'] = function($el) {
        //element is as array in for input of checked or radio button
        let id = $el[0].id;
        let valid = false;
        //check if any with the same id is checked
        $("[id=" + id + "]").each(function(index, item) {
            if (item.checked) {
                valid = true;
            }
        });
        return valid;
    };

Use html:

<form id="exampleForm" data-abide novalidate>
<input id="a" name="a1" type="checkbox" data-validator="require-an-answer"/>a1
<input id="a" name="a2" type="checkbox" data-validator="require-an-answer"/>a2
required
<button type="submit">Submit</button>
</form>

When submit with no checkboxes selected, validation doesn't show.

Context
This is to require a checkbox out of group of checkboxes.  I see there is an added way to do this with identical name attributes forming the group with addition of required attribute. This doesn't work out so nicely because the name attribute is what is used to bind to the server model (.net core).
This was working in foundation in 6.5.3.  This also works if the input types are switched to radio buttons.
Your Environment

Foundation version(s) used: 6.6.3 (this works in 6.5.3)
Browser(s) name and version(s): Chrome 86.0.4240.111
Device, Operating System and version: Windows 10

Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title and template are correctly filled.

You need to see if you init 'foundation' too much, make sure init 'abide' once.
The order of these are important: 'custom validator', 'foundation global init' and 'abide init'


Fix UI after login user

assign this issue to me under hacktoberfest

Thanks, the issue has been assigned to you.


ARROW-2185: Strip CI directives from commit messages

+1. I'll merge this using the modified script as validation that "it works"


Vehicle Menu

The vehicle menu does not close when away from the vehicle, so people can use transformers in buildings and not have to exit the building to access the vehicle trunk...

https://github.com/ImagicTheCat/vRP/commit/b5efad10f2cbd9ddb6c6d99af921d66bae8c4002


Nuget packages with FrameworkAssembly nodes not working

I have nuget packages which (only) contain frameworkAssemblies references. paket seems to process the assemblies fine, but doesn't add references to the projects.

Do you have a concrete repro case?
On Dec 13, 2015 12:41, "Matthijs ter Woord"<EMAIL_ADDRESS>wrote:

I have nuget packages which (only) contain frameworkAssemblies references.
paket seems to process the assemblies fine, but doesn't add references to
the projects.
—
Reply to this email directly or view it on GitHub
https://github.com/fsprojects/Paket/issues/1306.

Well, We have third party dependencies which we packaged "in" nuget packages.  I'll see If i can come up with an isolated sample.

Here it is. I have the following package in a private repository:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>TempPkg</id>
    <version>0.1</version>
    <title>TempPkg</title>
    <authors>MtW</authors>
    <owners>MtW</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>TempPkg</description>
    <language />
    <dependencies>
    </dependencies>
    <frameworkAssemblies>
      <frameworkAssembly assemblyName="System.Xaml" />
    </frameworkAssemblies>
  </metadata>
</package>

When I add it to a project using paket add nuget TempPkg project PaketTest, the reference doesn't show up.
Note, PaketTest is a .net 4.5 console app in my testing.

Verified. My test project works now. Now only have to test it in my actual project.. :)


Fix #253 - Better honor --zoom option.

When zooming in/out, start from the options zoom, not 1 (don't jump)
Add 'Zoom Reset' feature bound to Ctrl+0, with indicative label for non-100% zoom value

Addressed @jiahaog's feedback and pushed updated patch. Ready to merge.


Cleanup, Refactoring, and Code Comments In Preparation for First Pull Request to Main Weaviate Repo

What's being changed:

Added more code comments
Added active links from various README's
Improved language in READMEs
Ensured the toplevel Dockerfile can be used to build the main Weaviate container

Review checklist

Start with the main gsi/README and make sure the links work correctly
Check for spelling and awkward langage
Test the instructions in the "Quick Start" section

under README.md, Additional component descriptions:
should numpy be Numpy?


Faceebook

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Maaf masih blajar


Add KSAIVAUpgrade

ASETAvionics isn't currently a dependency but according to the author it will be in future versions (and rather than the mod breaking later on I'd rather future-proof things now).
Closes  #2477

Merging with Thanks


Misc changes

Updated to Quarkus 2.14.3 + some trivial changes

Thanks for submitting a PR. I will review it and if all checks out accept it.

rebased PR on current master

@SpeedsterF2 can you have a look at the review comment?

@SpeedsterF2 can you have a look at the review comment?

Sorry, i do not konw where to look for comments added to the PR. Maybe that is just due to me being used to bitbucket.

@SpeedsterF2 See the files tab when logged in to your account. You should see the comments then. https://github.com/quarkiverse/quarkus-rabbitmq-client/pull/138/files

@SpeedsterF2 See the files tab when logged in to your account. You should see the comments then. https://github.com/quarkiverse/quarkus-rabbitmq-client/pull/138/files

I do not see any.

@SpeedsterF2 I am closing the PR as it has diverged from the master branch and I am cleaning up to move to Quarkus 3.

OK,  I did not have time to work on this, lets reboot when v3 is out


[plugins/tmux] Support automatic session grouping

The current behavior with ZSH_TMUX_AUTOCONNECT enabled is to attach to an existing session. This change adds ZSH_TMUX_GROUP, which if enabled will group with an existing session instead.
This allows multiple terminals to share the same set of windows but display different active windows.

@AndrewKvalheim Can you please rebase this PR onto our latest master branch. Then update this PR with a Commit please? Thank You!

I'm personally not using this anymore so it's probably better just reimplemented by anyone who needs it.


feat(linter): remove the --timings feature

For a various reasons:
This features bloats the code size.
We have many tools for profiling in Rust (as compared to ESLint where the feature came from),
so a built-in feature is not really needed anymore.
ESLint needed --timings because it needs to monitor plugins.
We control all our code so we don't need this.

Current dependencies on/for this PR:

main

PR #2049   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 16, 1:21 AM: @Boshen merged this pull request with Graphite.


alpaca_eval_gpt4_turbo as evaluator quality

have we run any study on the human agreement if we use alpaca_eval_gpt4_turbo as the evaluator config? thanks

Yes, you can see alpaca_eval_gpt4_turbo_fn  here: https://github.com/tatsu-lab/alpaca_eval/tree/main/src/alpaca_eval/evaluators_configs
Note that:

I only evaluated it once per example so I don't have the estimates of bias and variance
I haven't tuned the prompt

You can see that it performs pretty well, it's cheaper, and has fewer biases than GPT4 (length and list preference)


Hide headings in embedded page

When embedding another full page that uses Nutshell, I'd expect hidden headings to remain hidden or invisible.
This should handle both : and :x cases

Ack, you're right! Thank you for not only catching this issue @toombs-caeman , but also doing a PR for the fix! Much appreciated 🚀


Middleware?

Interesting project!
I'm looking to retire my buggy home-grown copy of Redux in favor of something much more refined.
Where I'm a bit stuck is that it seems the yewdux design is lacking the notion of an "Action", and therefore I'm not sure that I can also retire my home-grown notion of Redux middleware.
Was the Redux action pattern eradicated in the yewdux design for less boilerplate, or for other reasons? (Obviously, I need to somehow recover it on top of yewdux if I am to support a proper middleware abstraction.)

Is this achieved by implementing Reducer<Store> for your action object? (see Mutating state predictably here)

Is this achieved by implementing Reducer<Store> for your action object? (see Mutating state predictably here)

Good point. Yes, it seems Msg can fill-in the role of an Action for me. I still need to develop a custom dispatch function that takes a store instance + an action instance (or Msg instances if you wish) though and thread it down to all components using e.g. use_context or something similar. Or am I missing something here as well?

These plain old dispatchers will do the job. The code example omits how they are created but it is above.
let dispatch = Dispatch::<S>::new();           // S impls Store
// or often more conveniently
let (_state, dispatch) = use_store::<S>();

dispatch.apply(Msg::DoIt);      // immediately
// or
let callback = dispatch.apply_callback(|_| Msg::DoIt);     // for use as a callback, eg. on_click

These plain old dispatchers will do the job. The code snippet I linked omits how they are created but it is shown above on the same page.
let dispatch = Dispatch::<S>::new();           // S impls Store
// or often more conveniently
let (_state, dispatch) = use_store::<S>();

dispatch.apply(Msg::DoIt);      // immediately
// or
let callback = dispatch.apply_callback(|_| Msg::DoIt);     // for use as a callback, eg. onclick

Are we talking about the notion of middleware here at all?
How are the above examples of plain old yewdux dispatchers solving this:

I still need to develop a custom dispatch function that takes a store instance + an action instance (or Msg instances if you wish) though and thread it down to all components using e.g. use_context or something similar. Or am I missing something here as well?

My point is: with middleware in place, your components are not even aware that the middleware exists. All they do is to dispatch actions to the store using a dispatcher function they somehow get (either form context, or threaded from props or - the best possible solution - directly from the store, if it was possible to monkey-patch the store dispatcher to become middleware-aware). The fact that there is a middleware that intercepts these dispatches and does whatever (logs the actions, does async calls to the server, you name it) is hidden from them. All the components know about is the dispatch function.

Is it possible that you are missing that Stores are singletons? Every Dispatcher for a Store, end-points with the same (logically static) singleton. A compound object accessed through use_selector is merely looking at a part (ie. attribute or collection member) of the singleton to make the decision about refreshing, rather than the whole thing.

Ok, I'm starting to see your point.

I think I would just build a more composable Reducer. I'm presuming you don't actually want components having different behaviours on dispatch of the same message (eg. only log dispatches from some components)? If that's the case, I'd need an intuition as to why.

I totally agree this is an interesting case and I can show you my sketch of this.

I totally agree this is an interesting case and I can show you my sketch of this.

Your sketch is hard-coding the communication with the server inside the reducers themselves. As in here and here. This is as far from the notion of middleware as one can get, sorry. With the middleware concept in place, reducers should just operate on the store, and the communication to the server happens totally outside  of the reducers.
To understand the middleware concept, ask your self the following question: "How would I design my DebugRelationView component in such a way, that the user can "plug" their own network protocol with the server?" As in e.g. using websockets to call the server. Perhaps re-reading the Redux middleware link I pasted might help as well?

The closest thing we have currently are listeners, however those don't have any context over how state changed, just that it did.
I'm definitely open to middleware support. We'll likely need to approach it differently than Redux, however I don't have a solid solution yet. Ideas and suggestions are welcome!

Right. I don't see any other good place to plug a middleware notion besides in between the actions and their application to the store (i.e. middleware should intercept the dispatch to the store). Which however would mean that actions need to become simple data carriers as I mentioned here rather than being potentially opaque store-mutating function closures as yewdux currently allows. Because the only "context change" signal a middleware has is the data in the action itself. So it needs to be capable of "peeking" into the action data so as to e.g. log it or send it over the wire. By the way, these mutating closures are not buying us much in terms of memory footprint I think - as they need to close over their environment, so I suspect their payload would be as big as their simple data carrier actions' equivalents.
The above would probably mean that it is cleaner if yewdux reverses the Reducer pattern and re-applies it onto the store rather than - as it currently is - on the actions themselves. Which in turn means a lot of breaking changes. Add to that disallowing of store mutating function closures, and perhaps we are ending up with a different framework?
I mean, a "dispatch-intercepting" middleware can be built with minimal changes to the existing yewdux approach, but it won't be very capable if the user is not consciously modeling their changes to the stores in the form of actions/reducers which do have publically-accessible payload. Perhaps putting this in big bold letters somewhere in the documentation, and then making changes to the dispatch mechanism, so that user-provided middleware can hook in there would be a good-enough initial step?

I mean, a "dispatch-intercepting" middleware can be built with minimal changes to the existing yewdux approach, but it won't be very capable if the user is not consciously modeling their changes to the stores in the form of actions/reducers which do have publically-accessible payload. Perhaps putting this in big bold letters somewhere in the documentation, and then making changes to the dispatch mechanism, so that user-provided middleware can hook in there would be a good-enough initial step?

A step even before that would be not to change yewdux but to just wrap the dispatching. I.e. instead of:
struct Msg {
    AddOne,
}

impl Reducer<Counter> for Msg {
    fn apply(&self, mut counter: Rc<Counter>) -> Rc<Counter> {
        let state = Rc::make_mut(&mut counter);

        match self {
            Msg::AddOne => state.count += 1,
        };

        counter
    }
}

#[derive(Debug, Default, Clone, PartialEq, Eq, Store)]
struct Counter {
    count: u32,
}

#[function_component]
fn App() -> Html {
    let (counter, dispatch) = use_store::<Counter>();
    let onclick = dispatch.apply(Msg::AddOne);

    html! {
        <>

{ counter.count }

        <button {onclick}>{"+1"}</button>
        </>
    }
}

user would have to write:
// Msg and Counter definition skipped for brevity, but they stay unchanged

#[function_component]
fn App() -> Html {
    let (counter, dispatch) = use_store::<Counter>();
    let middleware = Middleware::hook(dispatch); // <-- Hook the dispatch with the middleware framework so that all middleware provided by the user can inspect the `Msg` action prior to / after it is applied to the store
    let onclick = middleware.apply(Msg::AddOne);

    html! {
        <>

{ counter.count }

        <button {onclick}>{"+1"}</button>
        </>
    }
}

or with a custom hook that just wraps use_store:
// Msg and Counter definition skipped for brevity, but they stay unchanged

#[function_component]
fn App() -> Html {
    let (counter, middleware_dispatch) = use_store_with_middleware::<Counter>(); // Just a wrapper that uses `use_store` and wraps the returned `Dispatch` in `Middleware`. How to name this new "hook" is another topic...
    let onclick = middleware_dispatch.apply(Msg::AddOne);

    html! {
        <>

{ counter.count }

        <button {onclick}>{"+1"}</button>
        </>
    }
}

but that's acceptable IMO. And the middleware impl would sit completely on top of yewdux. And we can constrain the Middleware struct impl to only have the middleware-friendly apply / apply_callback methods and not have the reduce_* stuff which takes closures.
I can try that.

I think keeping it as a separate (optional) layer that sits on top of the normal dispatch is a great idea. We're really trying to remain as flexible as possible, and doing it that way will add capabilities, without taking any away.
Feel free to take charge here. My only suggestion is to try making this a separate crate, like crates/yewdux-middleware. This way the boundary is clear.
Thanks for your interest! Looking forward to progress :)

Another change I've been considering is breaking the different dispatch methods into dedicated traits, so they can be selected at will, without exposing unused or unwanted interfaces. This seems fairly relevant here as well

The above would probably mean that it is cleaner if yewdux reverses the Reducer pattern and re-applies it onto the store rather than - as it currently is - on the actions themselves

Thr current pattern is intentially designed to be action-generic. Meaning stores can accept any action that is able to be applied. One action type per store can be rather limiting, especially for larger applications.
I don't see this design limiting middleware, other than having to take a slightly different approach. Correct me if I'm wrong, of course. Here is a good place to put any conflicts you find.

I think keeping it as a separate (optional) layer that sits on top of the normal dispatch is a great idea. We're really trying to remain as flexible as possible, and doing it that way will add capabilities, without taking any away.
Feel free to take charge here. My only suggestion is to try making this a separate crate, like crates/yewdux-middleware. This way the boundary is clear.
Thanks for your interest! Looking forward to progress :)

Initial implementation here. Warning: no docs or tests yet.
And a usage pattern here.
The way this is supposed to work is that the user should essentially forget about the dispatch module of yewdux itself, and instead use the dispatch module of yewdux-middleware.
Btw, I'm having weird issues with anymap 0.8 in that it panics on me. Including in yewdux 0.8 itself. Have you seen that?

Another change I've been considering is breaking the different dispatch methods into dedicated traits, so they can be selected at will, without exposing unused or unwanted interfaces. This seems fairly relevant here as well

This might be a starting point then. Note that I've renamed apply to invoke as apply sounds as if the dispatch is going to "apply" this change to some store. Which is not necessarily the case. Look at this and this - dispatchers that don't really update any store.

The above would probably mean that it is cleaner if yewdux reverses the Reducer pattern and re-applies it onto the store rather than - as it currently is - on the actions themselves

The current pattern is intentially designed to be action-generic. Meaning stores can apply any action that is implemented to do so. One action type per store can be rather limiting, especially for larger applications.
I don't see this design limiting middleware, other than having to take a slightly different approach. Correct me if I'm wrong, of course. Here is a good place to put any conflicts you find.

For the middleware dispatch concept to work, your actions (that is - messages) should have a public state. And you should use messages, not really opaque closures. This is now enforced in yewdux-middleware by the Dispatch trait. My point is - it is not enforced in yewdux itself but oh well, I can live with that.

Btw, I'm having weird issues with anymap 0.8 in that it panics on me. Including in yewdux 0.8 itself. Have you seen that?

Haven't had any problems myself, but maybe try anymap2?

By the way, I would appreciate if you take a look at my stuff. :)
I would also like to publish a very initial version on crates.io soon, as I have a bunch of crates - some of these already published on crates.io and some that I want to publish soon that in the meantime depend on it - but I can't as yewdux-middleware itself is not published yet.
Which brings the question - where shall I host this project? I don't mind hosting it in my own github user space, but I'll take the yewdux-middleware name in crates.io that you might want to use in future?
On the other hand, you might feel uncomfortable pulling this code into the yewdux github repo at such an early stage,  and - it might lower my velocity, as I'll then have to PR every single change to you?
Perhaps we can have a "gentlemen"'s agreement of sorts that I'll host it myself, and take the yewdux-middleware name on crates.io, but if you decide to pursue your own middleware, I can give you back the crates.io name, as I'll anyway then switch to your middleware, if it ever sees the daylight?

Btw, I'm having weird issues with anymap 0.8 in that it panics on me. Including in yewdux 0.8 itself. Have you seen that?

Haven't had any problems myself, but maybe try anymap2?

The problem is - as I said:

Including in yewdux 0.8 itself

As in yewdux 0.8 not working for me at all and crashing at startup time in anymap.
Is it possible to release a patch-level update to 0.8 with anymap updated to - say - anymap2? I'm not ready to take another host of master dependencies in the form of yew 0.20 and yewdux master as of yet.

Can you share the error? Maybe a minimal reproduction?
It's looking good so far! My only note is the naming for Dispatch and use_store currently clashes with yewdux. Might be a little confusing, I could see users having trouble when trying to import both crates at the same time. Maybe use_store_value and MiddlewareDispatch.
As for hosting, feel free to publish yourself. Honestly still not convinced encouraging side-effects is the best approach, but if there's enough interest I'm not completely against the idea either. Merging is always an option in the future.

With async already supported, I struggle to see a problem that couldn't be solved currently, but I could definitely be wrong. Merging is always an option in the future.

The one, single problem I need middleware for is to be able to "plug" different type of client-to-server communication protocols. As in:

websockets
local queue (when the "server" is folded into the client; I have that use-case)
nothing (as in when you want - with an app - to demo a bunch of components without wiring them to the server)

There are other solutions of course, as in just abstracting away only the client-server protocol. But the moment you make the protocol a singleton, you end up with something that suspiciously like middleware anyway. Anyway, let's have this stuff separate from yewdux for now.
I'll try to provide a repro for my anymap struggles tmr. And will open another issue for that.

Just added AsyncReducer, which also fills this role a bit: https://github.com/intendednull/yewdux/tree/master/examples/async_reducer


Implement OpenAPI generator

Pretty self-explanatory, currently the backend API server has almost zero documentation and is almost entirely dependent on people who know the internal workings of each endpoint, aka me.
Go forth and implement the following thing...
https://github.com/swaggo/gin-swagger

Also take a look at this...
https://github.com/marketplace/actions/swagger-ui-action
Might save the hassle of hosting it on the backend server along with making it more accessible to the FE devs.


useDebounce hook

useDebounce hook
Short Description:
a hook accepting a function and value (and some optional configs). fires the function (with the value as an argument) only after the value has remained unchanged for a specified delay, returns the result (or error) of the function called with that value if there is one. works with synchronous or asynchronous functions.
Rationale/purpose of the feature:
when firing api calls (or any other potentially-expensive function) using a frequently-recurring event (for example, as a user types in a search bar), it may be desirable to limit the frequency with which the calls can be made, to reduce strain on the backend, and avoid wasted/redundant work. this hook is intended to encapsulate that behavior and allow it to be added wherever desired with minimal setup.
Checklist for author and reviewers:

[x] Commits are well named and descriptive
[x] PR is focused on a single problem, is small enough and easy to review
[x] Code is consistently formatted
[x] Code is suitably commented on
[x] There is no duplicate code
[x] Code tries to follow best practices

 create hook to debounce api calls


no evaluation prompt for replicate the result?

no ./prompts/eval_prometheus_no_ref.prompt file for eval/evaluation_prometheus.py?
Could you please show what this file looks like? Does it directly use the code from https://github.com/kaistAI/prometheus/tree/main?
e.g.
###Task Description:
An instruction (might include an Input inside it), a response to evaluate, a reference answer that gets a score of 5, and a score rubric representing a evaluation criteria are given.

Write a detailed feedback that assess the quality of the response strictly based on the given score rubric, not evaluating in general.
After writing a feedback, write a score that is an integer between 1 and 5. You should refer to the score rubric.
The output format should look as follows: "Feedback: (write a feedback for criteria) [RESULT] (an integer number between 1 and 5)"
Please do not generate any other opening, closing, and explanations.

###The instruction to evaluate:
{orig_instruction}
###Response to evaluate:
{orig_response}
###Reference Answer (Score 5):
{orig_reference_answer}
###Score Rubrics:
[{orig_criteria}]
Score 1: {orig_score1_description}
Score 2: {orig_score2_description}
Score 3: {orig_score3_description}
Score 4: {orig_score4_description}
Score 5: {orig_score5_description}
###Feedback:

Hi, the prompt file is in eval/eval_prometheus_no_ref.prompt and the rubric file is in eval/eval_rubric_5.json.

Hi, the prompt file is in eval/eval_prometheus_no_ref.prompt and the rubric file is in eval/eval_rubric_5.json.

thanks for updates


[Test] -typecheck -> -emit-ir in test fixed by #7389.

@swift-ci Please smoke test and merge

Thank you!

@swift-ci Please smoke test Linux

@swift-ci Please smoke test macOS

@huonw Looks like it's not fixed after all?

Weird... I must've tested it wrong. Also, it seems to pass on Linux?


MSCRM Plugin Registration task had some dead links.

Copied from the Mapping File Path info on the MSCRM Plugin Registration task.
Broken links are in bold
Plugin registration json/xml mapping used to register assembly/types/steps.
Mapping json(PluginRegistrationMappingExample.json)/xml file sample can be found here: https://github.com/WaelHamze/xrm-ci-framework/blob/master/MSDYNV9/Xrm.Framework.CI/Xrm.Framework.CI.PowerShell.Cmdlets/PluginRegistration.
JSON schema which will help you to generate plugin registration mapping can be found here: ### https://github.com/WaelHamze/xrm-ci-framework/blob/master/MSDYNV9/Xrm.Framework.CI/Xrm.Framework.CI.PowerShell.Cmdlets/PluginRegistration/PluginRegistrationMappingSchema.json.
How to use schema can be found here: https://blogs.msdn.microsoft.com/webdev/2014/04/10/intellisense-for-json-schema-in-the-json-editor/.
To generate plugin registration JSON mapping from existing assembly/type/steps from a specific solution, please use cmdlet: ### https://github.com/WaelHamze/xrm-ci-framework/blob/master/MSDYNV9/Xrm.Framework.CI/Xrm.Framework.CI.PowerShell.Scripts/GetPluginRegistrationJsonMapping.ps1

Thanks for spotting. This has been fixed and will be deployed in the next release

Fixed.


Experimental Details

The results are very impressive, I like it very much and thank you for sharing!
Would you mind giving me more details as I missed them in your paper or this repo:

What's the spatial size during training for each dataset (Youtube-VOS and DAVIS)?
What's the spatial size for numeric evaluation and visual results shown in the paper for each dataset (Youtube-VOS and DAVIS)?
How many frames of each testing video do you use for numeric evaluation?
You said in the paper that you only use a subset of 90 videos of DAVIS for testing, would you mind sharing the list?
Do you use all test split of YouTube-VOS for numeric evaluation?
Actually, YouTube-VOS has dense object segmentation masks for training samples, why not split a subset from the training list for object removal evaluation?

Looking forward to your response and big thanks again!!

@nbei These are very important details to reproduce the results. Could you please share them? Thanks

@nbei These are very important details to reproduce the results. Could you please share them? Thanks

Hi @leao1995, I will update the FAQ for your reference.

Hi @leao1995, I will update the FAQ for your reference.


Plugins does not seem to work

Hi there,
First, thanks for the great work on that very useful container.
I am having troubles using plugins with the your container.

I am building with:
 docker build -t mycaddy --build-arg plugins=filemanager github.com/abiosoft/caddy-docker.git

Running with:
docker run -it --rm -p 443:443 -p 80:80 -p 37040:2015 -v /Caddyfile:/etc/Caddyfile:ro \
-v /certificates:/root/.caddy mycaddy

I have a line filemanager / / in my Caddyfile (inside my domain name).

The container fails with the error: no action found for directive 'filemanager' with server type 'http' (missing a plugin?)

What am I missing here ?
Thanks !!

First verify if the plugin is present with docker run -it --rm mycaddy -plugins | grep filemanager

It shows nothing.  I also tried with docker build -t mycaddy --build-arg plugins=http.filemanager github.com/abiosoft/caddy-docker.git.
Entering docker run -it --rm mycaddy -plugins gives the following:
Server types:
  http

Caddyfile loaders:
  short
  flag
  default

Other plugins:
  http.basicauth
  http.bind
  http.browse
  http.errors
  http.expvar
  http.ext
  http.fastcgi
  http.gzip
  http.header
  http.index
  http.internal
  http.limits
  http.log
  http.markdown
  http.mime
  http.pprof
  http.proxy
  http.push
  http.redir
  http.request_id
  http.rewrite
  http.root
  http.status
  http.templates
  http.timeouts
  http.websocket
  on
  shutdown
  startup
  tls
  tls.storage.file

I also tried with git and it does not appear in the list either unfortunately.

It ran successful for me and I can find filemanager in the list of the plugins. Are you sure it's not using a cache ? Try --no-cache.

I retried by:

Removing all caddy related images
Removing dangling images with docker image prune
Building with docker build -t mycaddy --no-cache --build-arg plugins=filemanager github.com/abiosoft/caddy-docker.git

During the build, at step 11/18, the filemanager plugin is not present:
Step 11/18 : RUN /usr/bin/caddy -plugins
 ---> Running in 7538fe125434
Server types:
  http

Caddyfile loaders:
  short
  flag
  default

Other plugins:
  http.basicauth
  http.bind
  http.browse
  http.errors
  http.expvar
  http.ext
  http.fastcgi
  http.gzip
  http.header
  http.index
  http.internal
  http.limits
  http.log
  http.markdown
  http.mime
  http.pprof
  http.proxy
  http.push
  http.redir
  http.request_id
  http.rewrite
  http.root
  http.status
  http.templates
  http.timeouts
  http.websocket
  on
  shutdown
  startup
  tls
  tls.storage.file

 ---> dab5d13dec8f
Removing intermediate container 7538fe125434

Running docker run -it --rm mycaddy -plugins | grep filemanager which results in nothing still.

I'd be interested to see your output.
Note: checking out 'd3f338ddab9ee24b376b5c9c51e202581e2d43ba'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Switched to a new branch 'v0.10.11'
github.com/abiosoft/caddyplug (download)
github.com/abiosoft/errs (download)
github.com/fatih/color (download)
Fetching https://golang.org/x/sys/unix?go-get=1
Parsing meta tags from https://golang.org/x/sys/unix?go-get=1 (status code 200)
get "golang.org/x/sys/unix": found meta tag get.metaImport{Prefix:"golang.org/x/sys", VCS:"git", RepoRoot:"https://go.googlesource.com/sys"} at https://golang.org/x/sys/unix?go-get=1
get "golang.org/x/sys/unix": verifying non-authoritative meta tag
Fetching https://golang.org/x/sys?go-get=1
Parsing meta tags from https://golang.org/x/sys?go-get=1 (status code 200)
golang.org/x/sys (download)
github.com/fatih/color/vendor/github.com/mattn/go-isatty
golang.org/x/sys/unix
github.com/fatih/color/vendor/github.com/mattn/go-colorable
github.com/abiosoft/caddyplug/internal
github.com/abiosoft/errs
github.com/fatih/color
github.com/abiosoft/caddyplug/caddyplug
Cloning into '/go/src/github.com/caddyserver/builds'...
 ---> b9385b1f4d74
Removing intermediate container 2195eeab98a5
Step 5/18 : FROM alpine:3.7
 ---> 3fd9065eaf02
Step 6/18 : LABEL maintainer "Abiola Ibrahim<EMAIL_ADDRESS> ---> Using cache
 ---> 0d3d4bd5e4bb
Step 7/18 : LABEL caddy_version "0.10.11"
 ---> Using cache
 ---> 161a2ab14358
Step 8/18 : RUN apk add --no-cache openssh-client git
 ---> Using cache
 ---> d39dbfa275b7
Step 9/18 : COPY --from=builder /install/caddy /usr/bin/caddy
 ---> Using cache
 ---> 62043a823898
Step 10/18 : RUN /usr/bin/caddy -version
 ---> Using cache
 ---> cb1cf5ae8573
Step 11/18 : RUN /usr/bin/caddy -plugins
 ---> Using cache
 ---><PHONE_NUMBER>38
Step 12/18 : EXPOSE 80 443 2015
 ---> Using cache
 ---> 3191e6d6e700
Step 13/18 : VOLUME /root/.caddy /srv
 ---> Using cache
 ---> 4b111d6e760d
Step 14/18 : WORKDIR /srv
 ---> Using cache
 ---> 74d61f9869b2
Step 15/18 : COPY Caddyfile /etc/Caddyfile
 ---> Using cache
 ---> 7ddfa08959ed
Step 16/18 : COPY index.html /srv/index.html
 ---> Using cache
 ---> bc6e8198e8f4
Step 17/18 : ENTRYPOINT /usr/bin/caddy
 ---> Using cache
 ---> 356e5b6bdb5e
Step 18/18 : CMD --conf /etc/Caddyfile --log stdout
 ---> Using cache
 ---> 97203fb92dda
Successfully built 97203fb92dda
Successfully tagged mycaddy:latest

Kindly share the entire content of the log file. You can attach it or use a gist if you don't want to clutter this space.

This is where the problem lies. The arg is not getting recognised.
Step 3/18 : ARG plugins="git"

What is your docker version ?

Can you compare your log output to this ?
out.log

Thanks for the help ! I will try to debug it. My Docker version is 17.05.0-ce. I'll let you know and close the issue once I found out.

I have to admit this is strange. The only obvious difference I can see is the build context size. Yours is Sending build context to Docker daemon  155.6kB while mine is just 87.04kB.
I don't think this should have effect but maybe be explicit with the args.
 docker build -t mycaddy \
    --build-arg="plugins=filemanager" \
    https://github.com/abiosoft/caddy-docker.git

It is definitely a problem with passing build-args.
I tried with a test Dockerfile:
FROM alpine
RUN echo ${x} # shows nothing
ARG x=test
RUN echo ${x} # shows nothing
ENV y=${x}
RUN echo ${y} # shows zzzz

with the build command docker build -t mycaddy --build-arg x=zzzz ./. The result seems strange to me or maybe I did not fully understand the use of build args.
Anyway, it must be a problem with Docker and not your repository. I found a workaround in case anyone needs it as well. Thanks for helping !

Okay good to hear you found a workaround. Could also be something to do with your local Docker. If you have access to another machine or server, you can try it there and see.


Update and Enhance Open And Save Command Testing #153

Description:
This PR refactors the TestOpenSaveCommand class to improve the testing process by incorporating unittest.mock.MagicMock for better isolation and reliability. The changes include restructuring test methods and adding necessary assertions for validation.
Changes:
General Changes:

Introduced the setUp method to initialize the necessary settings and create mock instances of AssetsCommandsApi.
Incorporated unittest.mock.MagicMock to mock API interactions.

test_open_command:
Original:

Directly interacted with AssetsCommandsApi and file system.
Verified file existence and extension.

Modified:

Uses mock APIs for interactions.
Added verify_language method to ensure the code snippet is in a valid programming language.

Assertions:

Code snippet is not empty.
Code snippet is in a valid programming language.

test_save_command:
Original:

Directly created, opened, updated, and deleted assets using AssetsCommands.
Verified file content after saving.

Modified:

Mocked asset creation, opening, updating, and deletion processes.
Suppressed print statements to focus on test logic.

Assertions:

Asset name is not empty after creation.
Updated asset content is not empty after update.

Testing:
Setup:

Initialized settings using Settings.startup().
Created mock instances of AssetsCommandsApi.

Execution:

Ran test_open_command to open and validate an asset using mock data. in order to run this independently , use the command :
python -m unittest open_and_save_command_test.TestOpenSaveCommand.test_open_command

Ran test_save_command to create, update, and delete an asset using mocked processes and data.in order to run this independently , use the command :
python -m unittest open_and_save_command_test.TestOpenSaveCommand.test_save_command

Alternatively running the file directly would run both the commands together in order and give you the final output for the testing .

Results
results verify and validate the sanity and security of the code . a successful output of a code would look like as follows :

Impact:

Code Reliability:

Improved test isolation and reliability by using mocks, reducing dependencies on external systems.
Enhanced validation with additional assertions to ensure code correctness.

Maintainability:

Simplified test methods with clear separation of concerns.
Improved readability and understanding of test logic through structured mocking and assertions.

Scalability:

Easier to extend tests with additional cases and assertions in the future.
Reduced risk of flaky tests due to external dependencies or state.

would just make sure to update from main b4 the merge


Custom databases: python-client deprecations

Following the graphql API modifications in https://github.com/metaspace2020/metaspace/pull/585, I updated python-client so that it doesn't use the deprecated fields. However, I am not quite happy with the changes as they seem to add even more chaos to the code. There are also some potentially breaking changes in methods where I had to add one more argument.

@LachlanStuart

An alternative, less noisy approach would be to continue accepting a single databases parameter, and adding a shared "normalize_databases" function that converts names to IDs if necessary. Such a function would need to make a server call to look up the DBs if it was given string names, and it could provide a useful error message to the user if they gave an ambiguous name...

I like this approach more. We can actually completely avoid problems with ambiguous names if we go this way. The list of databases visible to a non-admin user will always have unique (name, version) pairs.

If we changed python-client to only use the new API parameters, we could confidently remove the deprecated parameters from the API much sooner.

I didn't completely get this, you mean our life would be easier if we changed python-client to only use the new API parameters but we cannot because our users won't be happy about such an upgrade of python-client?

you mean our life would be easier if we changed python-client to only use the new API parameters

Yes.

but we cannot because our users won't be happy about such an upgrade of python-client?

I mean that we can remove the parameters from the graphql API. The Python API could stay backwards-compatible, so users wouldn't notice.

@LachlanStuart I've re-implemented it the way discussed above.


I have problem

Hello,
When I want to use  I get an error:
The Python path set in the "python.pythonPath" setting is invalid or points to Python 2. Check the value or clear the setting to use the global Python installation. The extension is not compatible with Python 2.
settings.json:
"python.jediEnabled": false,
"[python]": {
"editor.defaultFormatter": "iansan5653.format-python-docstrings"
}
System: Ubuntu 19.10

@tw1sterPL This doesn't look like a docformatter problem.  Can you provide more information regarding your issue and how it's related to docformatter?  Otherwise, I'm going to close this issue as invalid.  Thanks.