Deployment failed, multiple errors

We've been having issues for a few weeks since my last deployment, where the app was only installing for roughly ~7K of ~22K users, but did work for those that got it. So I decided to deploy another side by side. The powershell install mostly seemed to work until it errored out that the argument was basically too long:
Deploying app services, Azure function, bot service, and other supporting resources... (this step can take over an hour)
ERROR: {"status":"Failed","error":{"code":"DeploymentFailed","message":"The aggregated deployment error is too large. Please list deployment operations to get the deployment details. Please see https://aka.ms/arm-deployment-operations for usage details."}}
Fetching deployment status to check if deployment really failed...
Checking source control deployment progress...
Source control deployment is still in progress. Next check in 2 minutes.
Source control deployment is done.
Re-running deployment to fetch output...
Finished deploying resources. ARM template deployment succeeded.
Reading deployment outputs...
Updating required parameters and urls...
Admin consent permissions is required for app registration using CLI
Do you want to proceed?
[Y] Yes  [N] No  [?] Help (default is "N"): y
Waiting for admin consent to finish...
Admin consent has been granted.
Updating graph app...
App URI set
App reply-urls set
App optionalclaim set.
Subscription name      Tenant

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
InvalidOperation: C:\Users\pecks.Azure\companycommunicator5x\microsoft-teams-apps-company-communicator\Deployment\deploy.ps1:795
Line |
795 |      $app.Api.Oauth2PermissionScopes = $scopes
|      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| The property 'Oauth2PermissionScopes' cannot be found on this object. Verify that the property exists and can be set.
Set-AzureADMSApplication: Cannot bind parameter 'Api'. Cannot convert the "class ApiApplication {
AcceptMappedClaims:
KnownClientApplications: System.Collections.Generic.List1[System.String]   PreAuthorizedApplications: System.Collections.Generic.List1[Microsoft.Open.MSGraph.Model.PreAuthorizedApplication]
RequestedAccessTokenVersion:
Oauth2PermissionScopes: System.Collections.Generic.List1[Microsoft.Open.MSGraph.Model.PermissionScope] } " value of type "System.String" to type "Microsoft.Open.MSGraph.Model.ApiApplication". Scope access_as_user added. InvalidOperation: C:\Users\pecks\.Azure\companycommunicator5x\microsoft-teams-apps-company-communicator\Deployment\deploy.ps1:810 Line |  810 |      $app.Api.PreAuthorizedApplications = $preAuthorizedApplications      |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      | The property 'PreAuthorizedApplications' cannot be found on this object. Verify that the property exists and can be set. Set-AzureADMSApplication: Cannot bind parameter 'Api'. Cannot convert the "class ApiApplication {   AcceptMappedClaims:   KnownClientApplications: System.Collections.Generic.List1[System.String]
PreAuthorizedApplications: System.Collections.Generic.List1[Microsoft.Open.MSGraph.Model.PreAuthorizedApplication]   RequestedAccessTokenVersion:   Oauth2PermissionScopes: System.Collections.Generic.List1[Microsoft.Open.MSGraph.Model.PermissionScope]
}
" value of type "System.String" to type "Microsoft.Open.MSGraph.Model.ApiApplication".
Teams mobile/desktop and web clients applications pre-authorized.
ERROR: Failed to load token files. If you can reproduce, please log an issue at https://github.com/Azure/azure-cli/issues. At the same time, you can clean up by running 'az account clear' and then 'az login'. (Inner Error: [WinError -2146893813] : '')
Having gone through about every error possible with this app, whats wrong now?
Really need some help.

Hi @allthetrouts ,
Thanks for raising the query.

Please share the export results of first instance.
Coming to the second deployment of CC, we recommend you to follow the manual deployment over powershell approach as there is existing issue script that is not compatible with Azure CLI version. In addition, good troubleshooting is possible with manual approach.

So trying to the manual approach fails on the prep and data function for sourcecontrol. Here's the error:
{
"code": "BadRequest",
"message": "Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (502) Bad Gateway.\r\n   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)\r\n   at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.Utilities.WebRequestHelper.d__10.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Utilities\WebRequestHelper.cs:line 81\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.d__41.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\SiteRepositoryProvider.cs:line 757\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.d__31.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\SiteRepositoryProvider.cs:line 350\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.ExternalSiteRepositoryProvider.d__5.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\ExternalSiteRepositoryProvider.cs:line 78\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass378_1.<b__1>d.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Controllers\WebCloudController.cs:line 11540\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func1 func)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl) in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Controllers\\WebCloudController.cs:line 11535.",   "details": [     {       "message": "Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (502) Bad Gateway.\r\n   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)\r\n   at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Utilities\\WebRequestHelper.cs:line 81\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\SiteRepositoryProvider.cs:line 757\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<SetSettingsAsync>d__31.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\SiteRepositoryProvider.cs:line 350\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\ExternalSiteRepositoryProvider.cs:line 78\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass378_1.<<UpdateSiteSourceControl>b__1>d.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Controllers\\WebCloudController.cs:line 11540\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func1 func)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl) in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Controllers\WebCloudController.cs:line 11535."
},
{
"code": "BadRequest"
},
{}
]
}

Hi @allthetrouts , Thanks for raising the query.
* Please share the export results of first instance.

* Coming to the second deployment of CC, we recommend you to follow the manual deployment over powershell approach as there is existing issue script that is not compatible with Azure CLI version. In addition, good troubleshooting is possible with manual approach.

So trying to the manual approach fails on the prep and data function for sourcecontrol. Here's the error:
{
"code": "BadRequest",
"message": "Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (502) Bad Gateway.\r\n   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)\r\n   at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.Utilities.WebRequestHelper.d__10.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Utilities\WebRequestHelper.cs:line 81\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.d__41.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\SiteRepositoryProvider.cs:line 757\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.d__31.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\SiteRepositoryProvider.cs:line 350\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.ExternalSiteRepositoryProvider.d__5.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Providers\ExternalSiteRepositoryProvider.cs:line 78\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass378_1.<b__1>d.MoveNext() in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Controllers\WebCloudController.cs:line 11540\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func1 func)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl) in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Controllers\\WebCloudController.cs:line 11535.",   "details": [     {       "message": "Repository 'UpdateSiteSourceControl' operation failed with System.Net.WebException: The remote server returned an error: (502) Bad Gateway.\r\n   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)\r\n   at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Utilities\\WebRequestHelper.cs:line 81\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\SiteRepositoryProvider.cs:line 757\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.SiteRepositoryProvider.<SetSettingsAsync>d__31.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\SiteRepositoryProvider.cs:line 350\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Providers\\ExternalSiteRepositoryProvider.cs:line 78\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.<>c__DisplayClass378_1.<<UpdateSiteSourceControl>b__1>d.MoveNext() in C:\\__w\\1\\s\\src\\Hosting\\AdministrationService\\Microsoft.Web.Hosting.Administration\\Controllers\\WebCloudController.cs:line 11540\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func1 func)\r\n   at Microsoft.Web.Hosting.Administration.WebCloudController.UpdateSiteSourceControl(String subscriptionName, String webspaceName, String name, SiteSourceControl siteSourceControl) in C:\__w\1\s\src\Hosting\AdministrationService\Microsoft.Web.Hosting.Administration\Controllers\WebCloudController.cs:line 11535."
},
{
"code": "BadRequest"
},
{}
]
}

Hi @allthetrouts ,

To overcome the failed resources, Go to azure portal-->Go to resource group(Where the deployment has been done)-->Select prep-function(or failed resource) from list of resources-->Go to Deployment Center-->Click on Settings. Below is the screenshot for reference.

If the resource is not pointing to intended repository and  showing empty. Please connect to the external Git and point to the official repository(like above)
Once the status turns to Success(active) in the logs section then good to proceed with remaining steps of deployment.
Please do the same for other failed resource as well.
After performing the above steps, don't attempt for re-deploy again

First of all why isnt that clear in the instructions, and why since thats been an issue for like a year havent you guys fixed it? Its an ARM template deployment to all native microsoft services... why is this app such a mess to deploy and maintain?
And this still doesnt solve the problem we were trying the redeploy for where the app is installing for like 7k users only out of 20k. Is this a global issue?

Hi @allthetrouts ,
ARM template deployment of CC involves creation of multiple sources. In addition, it follows incremental approach. During this process, network should be strong and even if creation of one resource gets failed, final status eventually shows deployment failed only.
Please make sure that there is proper network connectivity, system is not going into idle state.

Hi @allthetrouts , ARM template deployment of CC involves creation of multiple sources. In addition, it follows incremental approach. During this process, network should be strong and even if creation of one resource gets failed, final status eventually shows deployment failed only.
Please make sure that there is proper network connectivity, system is not going into idle state.
And this still doesnt solve the problem we were trying the redeploy for where the app is installing for like 7k users only out of 20k. Is this a global issue?
No, there are multiple filters come in to picture. Please make sure that user is having proper teams license, not an guest user, user has not blocked/deleted the user app.

So your go to here is to blame our network? The network is fine. And the users have licenses. This has only been a problem in the last month, and theres clearly open issues similar.

Hi @allthetrouts , ARM template deployment of CC involves creation of multiple sources. In addition, it follows incremental approach. During this process, network should be strong and even if creation of one resource gets failed, final status eventually shows deployment failed only.
Please make sure that there is proper network connectivity, system is not going into idle state.
And this still doesnt solve the problem we were trying the redeploy for where the app is installing for like 7k users only out of 20k. Is this a global issue?
No, there are multiple filters come in to picture. Please make sure that user is having proper teams license, not an guest user, user has not blocked/deleted the user app.

you guys have been getting issues reported on this issue for months and you keep just closing them:
https://github.com/OfficeDev/microsoft-teams-apps-company-communicator/issues/1400

Yes, we do encounter failure count issues, but the root causes vary from user to user. We typically try to resolve these issues via GitHub. If that is not successful, we ask users to join a call so we can troubleshoot the issue directly. So, please do as mentioned in the last response. Once the SYNC is successful for all resources, proceed with further steps of deployment. This is for the second instance that you are trying to deploy.

@allthetrouts , Could you please let us know the status of the issue?


Add pcp for monitoring

There was a proposal to do this in Universal Blue desktops https://github.com/orgs/ublue-os/discussions/154  but this clearly fits well with ucore, at the very least in ucore-hci.

I pushed pause on the linked PR for troubleshooting...
I put notes here: https://github.com/orgs/ublue-os/discussions/154#discussioncomment-7095980
Also, I should add, I was able to get pmlogger working with SELinux enforcing by doing:
sudo restorecon -R -v /var/lib/pcp /var/log/pcp /var/run/pcp

Looks like bluefin has a solution... will test this soon.


triggers/interval_trigger.py

interval.py is inconsistent with other triggers and some files import trigger.interval, which is old.

jenkins, test this please

@niboshi AppVeyor failed at Trainer's test. I think this is not related to this PR.

I'm sorry for delay. LGTM!


Larger project gets SQLITE_ERROR: too many terms in compound SELECT when building

Hi everyone, I'm getting this error SQLITE_ERROR: too many terms in compound SELECT when trying to build the site. Not sure what is the best way to work around that, can you advice? Thanks!

Ok, found this issue: https://github.com/datopian/markdowndb/issues/22 and upgrade to mddb 0.9 (released two weeks ago) fixes this. I'm closing this but would be probably good to update in main of flowershow.

@mohamedsalem401 can you update dependency in flowershow asap to mddb 0.9

@honzasladek thanks for highlighting this!

@mohamedsalem401 can you update dependency in flowershow asap to mddb 0.9

@rufuspollock This's done https://github.com/datopian/flowershow/commit/35823463f99b6116446d878625d6f02488f6c991


Wrapping FlutterMap in a GestureDetector doesn't work

Hi, I'm new to flutter so please forgive me if this is a stupid.
As I'm not able go get the gesture recogniser I tried to put flutter_map inside a GestureDetector widget to programatically set rotation on mapController from onScaleUpdate.
Flutter map seems to block every callback from GestureDetector, even this doesn't work:
GestureDetector(
  onTap: () => print('Tap!'),
  child: FlutterMap(
    mapController: mapController,
    options: new MapOptions(
        ...
     ),
    layers: [
      new TileLayerOptions(
          ...
      ),
    ],
  ),
),

What's going on? Isn't this the way it's supposed to work?

Today I tried another approach to implement rotation in MapGestureMixin and MapState in my fork without luck. I can't quite figure out the choice of state management in this code.
I tried to add rotation information (MapState already have a field called rotation) to the void move(LatLng center, double zoom, {hasGesture = false}) function of MapState but I can't get it to render.

I believe the FlutterMap.options property has what you want.
For example:
`
...your code
void mapOnTap(LatLng arg) {
//do something with the coords
}
...
child: FlutterMap(
options: MapOptions(
center: LatLng(_latitude, _longitude),
onTap: (LatLng arg) => mapOnTap(arg),
zoom: 15.0,
),
layers: [...],
)`

It looks like @agersea's answer is correct


I cannot debug app with the latest version of gallery_saver on Android device(or Android Simulator), but everything run well on iOS devices

I wound why everything run well on iOS device, except android ones.
I am using gallery_saver: ^2.3.2 in pubspec.yaml.
Error result is in my.log
The versions of Flutter and Dart are as follow:
Flutter 2.5.3 • channel stable • https://mirrors.tuna.tsinghua.edu.cn/git/flutter-sdk.git
Framework • revision 18116933e7 (4 weeks ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4

i have the same error in my android, did you find any fix???

the problem is that gallary saver uses ext.kotlin_version = '1.5.20'  and your project uses ext.kotlin_version = '1.3.50' or lower.
to solve this go to:
1: android -> build.gradle
2: change ext.kotlin_version = '1.3.50' to ext.kotlin_version = '1.5.20'

Same issue here. I get an error when build app:
Launching lib\main.dart on AOSP on IA Emulator in debug mode...
Running Gradle task 'assembleProductionDebug'...

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file 'C:\flutter\.pub-cache\hosted\pub.dartlang.org\gallery_saver-2.3.2\android\build.gradle' line: 26

* What went wrong:
A problem occurred evaluating project ':gallery_saver'.
> Failed to apply plugin [id 'kotlin-android']
   > The current Gradle version 5.6.4 is not compatible with the Kotlin Gradle plugin. Please use Gradle 6.1.1 or newer, or the previous version of the Kotlin plugin.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':gallery_saver'.
> compileSdkVersion is not specified. Please add it to build.gradle

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 2s


🌐 Spherical coordinates: bug fix, docs and sanity checks

🦟 Bug fix
Fixes https://github.com/osrf/gazebo/issues/2022
Part of https://github.com/ignitionrobotics/ign-gazebo/issues/981
Summary

I believe that https://github.com/osrf/gazebo/issues/2022 is only an issue with the *FromLocal* functions. While the heading rotation from GLOBAL to LOCAL seems to be correct, the rotation from LOCAL to GLOBAL was not the inverse of that, which resulted in incoherent behaviour.
In order to preserve behaviour on version 6, which is being used by a lot of people who compensate for the bug, I introduced a new frame, LOCAL2, which can be used to get the correct calculation.
I also added several tests with sanity checks (i.e. higher latitude means further North...).
It's my first time playing with this class, so I'd appreciate it if people paid close attention to the math and test cases, in case I'm misunderstanding something.
Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

Maybe consider adding +/- altitude tests as well for completeness.

Done in a8933ca


dont-touch-timestamp=true is treated as CodeGen.TouchTimestamp=true

problematic line in question: https://github.com/mijia/modelq/blob/master/main.go#L28

Nice catch, the cli flag name seems to be contradictory with the real meaning.
I will fix this later.
Thank you very much.


C3: Stop running c3 e2e tests on forks

This is an attempt to resolve the problem of C3 e2e tests being run on forks. Each workflow currently checks if: github.repository_owner == 'cloudflare', but despite this c3 e2e tests are still being run on forks. Here's a few recent examples:

https://github.com/cloudflare/workers-sdk/pull/5547
https://github.com/cloudflare/workers-sdk/pull/5483
https://github.com/cloudflare/workers-sdk/pull/5482
https://github.com/cloudflare/workers-sdk/pull/5458

Author has addressed the following

Tests

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because: not needed

Changeset (Changeset guidelines)

[ ] TODO (before merge)
[ ] Included
[x] Not necessary because: not a public facing change

Public documentation

[ ] TODO (before merge)
[ ] Cloudflare docs PR(s): https://github.com/cloudflare/cloudflare-docs/pull/...
[x] Not necessary because: not a public facing change

Apparently didn't work.


Detect if its a Sunmi device

We are working on an app that will run on generic android devices and also on Sunmi devices.
Our expectation -

When its sunmi device - it will run the print action
When its generic android device - it won't do anything.

On Sunmi device - its working fine.
But on non Sunmi device its crashing.
I either need a way to detect if the app is running on a Sunmi device or support for try catch
On non Sunmi devices - it doesn't have the SDK's and it throws android native null object reference. Putting the print function with try catch can't catch the native library exception.
Any idea how would I be able to

Detect if the SDK available
If its an Sunmi device or not
Try/catch support

This interface is only suitable for determining Sunmi devices. You need to use getBrand in react-native-device-info to determine whether it is a Sunmi device.


removed unused files.

Deleted unused files and removed angularjs dependency. Fixes #101

Hello @c-bik , if you haven't finished the build yet and you think it is not too risky you can merge this pr with the cleanup / removal of deps.

@acautin Haven't build yet still collecting bugs. Can it break anything in DDErl? Can I just merge without verifying?

@c-bik  Better wait then until it can be properly tested.

@acautin Do we now have to use brunch with DDErl too?

@c-bik not yet, that is still on the branch https://github.com/K2InformaticsGmbH/dderl/tree/bower_and_updated_deps

@acautin is there an issue tracking it?

Part of #100 y will modify it :+1:


onClick event can not fired on mobile

Hi there, I implement a close button in the carousel. I set the onClick event for that close button. The onClick event does not fired when I try to make it work on mobile.
Please tell me the solution or workaround.
Best regards,
Suguru

related to https://github.com/brainhubeu/react-carousel/issues/47 . Moving there

@asaism
Can I ask you to fill in this form https://docs.google.com/forms/d/1tfRs1Io49tJBwz-06aDnz8hrJ3WySJTi45y4k6hHGaQ ?


Change this title, poorly formatted issues will not be handled

Requested Feature
Possible to search extended version from a track radio edit on spotify
Possible implementation
Is possible to add "extended" word to search in query params

--search-query
#2181

But i can't understand how to utilize --search- query. If I can downaload a track example: spotdl --search-query "extended" download http://url...
Is right?

Try read the documentation... https://spotdl.readthedocs.io/en/latest/usage/
--search-query "{artist} - {title} extended sounds like what you want.
 --search-query SEARCH_QUERY
                        The search query to use, available variables: {title}, {artists}, {artist}, {album}, {album-artist}, {genre}, {disc-number}, {disc-count}, {duration}, {year},
                        {original-date}, {track-number}, {tracks-count}, {isrc}, {track-id}, {publisher}, {list-length}, {list-position}, {list-name}, {output-ext}


memory readings are off for Arch-Linux

I added puts for the memory value, just for debugging, showed as -47
crystal spec
.......-47
F.

Failures:

  1) Hardware::Memory checks the percentage available
     Failure/Error: (1 < memory.percent(used: false) <= 100).should be_true

       Expected: true
            got: false

     # spec/memory_spec.cr:24

Finished in 2.01 seconds
9 examples, 1 failures, 0 errors, 0 pending

Failed examples:

crystal spec spec/memory_spec.cr:22 # Hardware::Memory checks the percentage available

Can you add the output of?
puts Hardware::Memory.new.meminfo

This is very likely not distribution specific, but more on a problem on the Hardware::Memory#available calculation.
It can be linked to your setup, like swap.

{"MemTotal" => 32730364_i64, "MemFree" => 17609728_i64, "MemAvailable" => 27658972_i64, "Buffers" => 1767276_i64, "Cached" => 6386428_i64, "SwapCached" => 0_i64, "Active" => 8768784_i64, "Inactive" => 3137932_i64, "Active(anon)" => 3800512_i64, "Inactive(anon)" => 311588_i64, "Active(file)" => 4968272_i64, "Inactive(file)" => 2826344_i64, "Unevictable" => 72_i64, "Mlocked" => 72_i64, "SwapTotal" => 0_i64, "SwapFree" => 0_i64, "Dirty" => 2352_i64, "Writeback" => 0_i64, "AnonPages" => 3752356_i64, "Mapped" => 1447432_i64, "Shmem" => 833968_i64, "Slab" => 2858464_i64, "SReclaimable" => 2724012_i64, "SUnreclaim" => 134452_i64, "KernelStack" => 20324_i64, "PageTables" => 66056_i64, "NFS_Unstable" => 0_i64, "Bounce" => 0_i64, "WritebackTmp" => 0_i64, "CommitLimit" => 16365180_i64, "Committed_AS" => 56035516_i64, "VmallocTotal" =><PHONE_NUMBER>7_i64, "VmallocUsed" => 0_i64, "VmallocChunk" => 0_i64, "HardwareCorrupted" => 0_i64, "AnonHugePages" => 0_i64, "ShmemHugePages" => 0_i64, "ShmemPmdMapped" => 0_i64, "HugePages_Total" => 0_i64, "HugePages_Free" => 0_i64, "HugePages_Rsvd" => 0_i64, "HugePages_Surp" => 0_i64, "Hugepagesize" => 2048_i64, "Hugetlb" => 0_i64, "DirectMap4k" => 737856_i64, "DirectMap2M" => 13727744_i64, "DirectMap1G" => 18874368_i64}

Can reproduce it: adding a to_f32 fix this issues.

Let's change all i64 to f64 ?

Do you talk about Hardware::Memory.meminfo? No, I don't think it's wise to change to 64bit, and to change to floats.
The 64 bit is only needed because of the size of VmallocTotal, which isn't used here.
The numbers in /proc/meminfo are all intergers.


CONTRIBUTING: drop obsolete mailing list and IRC channel

Not pointing to Libera.Chat for this one?

IMO #fedora-coreos doesn't host much development discussion for the upstream projects.  I did update the projects that already refer to that channel, but for the others (which are the more obscure ones anyway) it seemed better to keep development discussion on GitHub.  Thoughts?


[DO NOT MERGE] Compilation test for new Rust

Just probing whether compilation works on macOS with the latest Rust builds.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

OK, I've gotten the information that I needed out of this investigation.

OK, I've gotten the information that I needed out of this investigation.


fix(client): report-user btn to link and bottom

Hi @moT01,
I updated the report user button to a link and moved it to the bottom of the page.  Just to avoid people accidentally clicking it mistaking it for the settings.

I did it while testing 🤦♂

Please check.

Thanks @moT01,
I will let you add this to your PR then, I just did not want to rush you and we sort of need this before going live.


noqa forwarded import

Coverage remained the same at 50.444% when pulling 55be9088cde43a17ff49fc5795a364de8d05af00 on oleksiyVeretiuk:master into 039bb58919590c5867b7b531574ca2e09b2f2299 on openprocurement:master.


chore: adds custom domain email support

Signed-off-by: nitish<EMAIL_ADDRESS>PR summary
adds support for adding custom domain email as a destination
Fixes: <! -- link to issue -->
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] New tests
[ ] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
do not have support for custom domain email
What is the new behavior?
adds support for custom domain email destination
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

:tada: This PR is included in version 0.2.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


document server jvm options

This PR is for #26.
The initial commit only covers a subset of the options for C* 3.11. I want to get some feedback before I do anything more. I am happy to help out with adding some docs however/wherever it is done.
I have always been a fan of Clojure. I even attended the very first Clojure Conj conference, but I definitely do not think user should have to hunt through Clojure code to find keys and their corresponding properties :)

this is awesome! I have a couple specific comments and I would like @cpmcdaniel to check it out before we merge it, but thank you so much for putting this together

I think this is great. Ideally I would like to maybe add some metadata fields in definitions so we can generate this type of documentation. There is already a :description, which should satisfy the last column. Perhaps a :display-name would be good for the jvm.options property column.

To be clear, that is not a recommendation for this PR. There is a lot of room for improvement on the documentation of config-builder input.

I have only taken an initial pass through the Cassandra 3.11 options so far. I was thinking about doing a table per server type / version.
I wonder if it would be better to have a single table for Cassandra and just add a column or note to point out properties that are specific to 3.11 or 4.0. Thoughts?
I will follow the same approach for DSE.

I just pushed changes for Cassandra 4.0.
I am not sure how to document some of the JMX props like:

jmx-remote-ssl-opts
jmx-remote-ssl
jmx-remote-ssl-require-client-auth

I also left out jmx-port. Is that another property that should have a warning?
I noticed that there are some additional properties for Java 11. I have not documented these. Should I include them in this PR?
It would great to automate generating these docs. If that is going to happen, does it make sense for me to spend much more time on this?
If I do wind up spending more time on this, then I would prefer to add the DSE sections in a separate PR.

Yeah let's see about generating something like this before you spend more time on it. I like the way this looks for now, though!


Deprecation Warning

Unknown.getDOMNode(...) is deprecated. Please use ReactDOM.findDOMNode(instance) instead.
This happens when I click on the dropdown trigger. Any thoughts?

The same happens to me, React 0.14.3. Is this repo still maintained?

Sorry about this! I haven't cleaned this up for recent versions of React, but I'll get to it within the next day or so.

@jme783 @lukaszgrolik You should be able to use 1.0.0 from npm with no issues.

Great, thanks!

@jme783 You will need to use 1.0.1, as there is a critical problem with 1.0.0.


reduce threads

Issue link

#510 #579
What changes have been made

Reduced threads inside MCAD
Verification steps

Checks

[X] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

logs for test passing locally:
inc_perf_3_kuttl_2.log
inc_perf_3.log

It seems there are a lot of things that need to be addressed. Some things are meant to be temporarily changed, but in a lot of cases no explicit tag (e.g., TODO) is added to remember that. I just want to make sure these things are addressed and won't remain in the code in the future.

I have created relevant GitHub issues. the todos have not been introduced by this PR rather they are discovered and now annotated in the code base


Merging latest

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


Tidy up notifications

Task/Issue URL: https://app.asana.com/0/0/1202579465189676/f
Description
This PR address comments from this task
Steps to test this PR
Notifications

[ ] install from this branch
[ ] download a file and wait for it to complete
[ ] verify the download icon is the same icon used in the overflow menu
[ ] verify the notification has "Download complete." (with end punctuation) AND that the notification doesn't have the now byline in neither collapsed/expanded states
[ ] download a file and half way through force a download error (eg. turn on airplane mode)
[ ] verify the failure notification has "Failed to download." (with end punctuation) AND that the notification doesn't have the now byline in neither collapsed/expanded states
[ ] download a (big) file
[ ] verify the download in progress notification has the end punctuation, eg. "1GB.zip (25%)."
[ ] verify the download in progress notification does not have the now byline
[ ] start another (big) download to trigger the group notifications
[ ] verify the group notification does not have the now byline
[ ] (note: the individual notifications, when expanded will have the now byline...looking into why this happens)

Current dependencies on/for this PR:

develop

PR #2039

PR #2056   👈

This comment was auto-generated by Graphite.


Automate transfer of files to 003-ingested folder and wasabi cloud backup storage

Automate transfer of files to 003-ingested folder and wasabi cloud backup storage

complete


BackSpace key is Invalid

Issue Type: Bug
BackSpace key is Invalid in vscode，but in other software ，this key always be ok。
VS Code version: Code 1.55.0 (c185983a683d14c396952dd432459097bc7f757f, 2021-03-30T16:01:55.261Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz (8 x 2304)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.88GB (1.80GB free)

Process Argv
--crash-reporter-id e9242230-233b-45a6-b8a9-b2a117156246

Screen Reader
no

VM
0%

Extensions (22)

Extension
Author (truncated)
Version

bracket-pair-colorizer
Coe
1.0.61

gitlens
eam
11.3.0

vscode-html-css
ecm
1.10.2

code-runner
for
0.11.3

todo-tree
Gru
0.0.209

latex-workshop
Jam
8.16.1

vscode-language-pack-zh-hans
MS-
1.55.2

csharp
ms-
1.23.9

python
ms-
2021.3.680753044

jupyter
ms-
2021.5.702919634

remote-ssh
ms-
0.65.1

remote-ssh-edit
ms-
0.65.1

remote-wsl
ms-
0.54.6

cmake-tools
ms-
1.6.0

cpptools
ms-
1.3.0-insiders3

debugger-for-chrome
msj
4.12.12

korofileheader
OBK
4.8.5

material-icon-theme
PKi
4.6.0

markdown-preview-enhanced
shd
0.5.17

shader
sle
1.1.5

vscode-hexdump
sle
1.8.1

cmake
twx
0.0.17

(2 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvsdeb440:30248342
pythonvsded773:30248341
vstes516:30244333
pythonvspyt875:30259475
pythonvsnew554:30281908
pythontb:30283811
pythonvspyt943:30280189
openwsldoc:30282072
vspre833cf:30267465
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820cf:30276953
pythondataviewer:30283453

Please use the Start Extension Bisect command to investigate whether the problem is being caused by one of your extensions.
If it isn't, see https://github.com/microsoft/vscode/wiki/Keybinding-Issues

Let's first try to find out what command executes on your machine, with your settings and your keybindings when pressing Backspace. Could you please try the following:

Run the command Developer: Toggle Keyboard Shortcuts Troubleshooting
This will activate logging of dispatched keyboard shortcuts and will open an output panel with the corresponding log file.
Press exactly the keybinding you desire (Backspace)
check what VS Code detects and what command is invoked.

If you are having trouble understanding the output, please feel free to paste here and I can try to help.


Obtaining assessment data (pass/fail/trials)

Glancing over the documentation, the event recorders only supply data presently for submission, error, or hint. Is there any way to obtain more granularity on this such that the outcome of the submission could be discriminate as being either correct or incorrect?
If so, then potentially the responses could be aggregated in a database and used to effectively assess students under a Shiny Pro Server setup assuming login was required. In essence, this has the potential to be the nbgrader feature of the Jupyter notebooks but for R.

Yes, what you are describing is definitely a scenario want to support well. If you make use of an Exercise Checker (https://rstudio.github.io/tutor/exercises.html#exercise_checking) then the results of the check are included in the call to the event recorder.

#coatless One prototype exercise checker is the checkr package, available via
devtools::install_github("dtkaplan/checkr")

There's a vignette with the package that gives a quick overview and examples.
The newest version of checkr contains an (optional) login/verification component, so that you can have a login even you you are running the tutorial on a generic shiny server.
Shinyapps.io is great, but you need the "standard" account level which at $99/mo would cause many instructors pain. The login component I implemented uses Google spreadsheets, so just about any instructor can set up and maintain the accounts and access the submissions.
I wrote checkr with a focus on checking R code, but this can be expanded to cover other modes of submission, for example, entering equations or fill-in-the-blanks. I'd be interested to hear what modes you would be interested in having checked.

@jjallaire: Excellent! I'll try to throw something together.
@dtkaplan: Thanks for the information, I'll definitely look into checkr. From the exercise-template vignette, it seems like each problem could be isolate to its own .Rmd file and then be combined so that each student could have a "random" ordering of questions?
Presently, I'm able to use an education-licensed Shiny Server Pro. So, I'll likely study how results are sent to google spreadsheets and perhaps make a modification to stream the results into a database.
Regarding your assessment types question, I'm looking at allowing wide berth of assessments from allowing students to:

symbolic equations (input fields transformed with mathquill)
matching
explicitly mark points on a graph (think identify(x, y))
capturing different student models

The last of which I've worked on a bit extensively on over the past year or so (https://github.com/coatless/stat429-fa15-autograder).

@coatless Putting each exercise or question into it's own Rmd is working very well for me. I do this using the knitr child system.  Among other things, it let's me debug individual problems (which relates mainly to getting checkr to give a useful response to different kinds of errors.


console

full support as in es_runtime

for completeness it would be nice to also have console.assert working
should do the same as console.log but based on the first var being a boolean true


Repository seems to have gone stale. Objections to taking it over?

This repository hasn't moved much in almost a year but there is still a huge need for this. I do not mind taking it over here or forking it and maintaining it externally. However, I believe it makes sense to keep it under this main organization.
Are the plans for keeping this up and maintaining it or is it dead?
@rnorth  @TheConstructor  @moreirayokoyama  @bsideup  @farodin91

It seems like the primary fork of this is at https://github.com/HofmeisterAn/dotnet-testcontainers - if this project is abandoned, it may make sense to archive the repository and point newcomers in that direction (or merge it back here for continued development, depending on how @HofmeisterAn / the TestContainers team want to handle things).

We'll arrange some discussions to try and clarify things - it'd be nice if we could pull this all back together. Sorry for the slow response, but it is something we're aware of and want to resolve.

Any news on this? The last commit on master was nearly a year ago and the version from @HofmeisterAn is now much more popular than the official version with ~25x as many daily downloads (485 vs 19).
I think the best option for users by now would be to simply make the version from @HofmeisterAn the official one (ideally by moving it into the testcontainers org if @HofmeisterAn agrees to that) and then continue from there as @hauntingEcho also already suggested. That would allow most .NET users of Testcontainers an easy migration to the official library.

Some years ago, there were efforts to put all three Testcontainers (.NET) implementations together. Unfortunately, without success. I think today there are even more and similar implementations out there.
Back then, we tried to move the structure from @isen-ng implementation to the official repository. @isen-ng did a great job. As far as I know, his implementation is pretty close to the Java implementation. I offered to take care of the pipeline and the missing WCOW implementation. However, the (proposal) structure never got merged.
I can only repeat myself, that there are so many benefits and synergies bundling all the work together. As I said and offered a few times, I'm happy to share my knowledge and work. If there's anything I can do, I'm happy to jump in.

Hey @HofmeisterAn! I really think we should restart the conversation and consider making your version "official" 👍 Let's discuss in Slack, but I see no reasons why not - you are doing a great job and this repo indeed haven't received any love for many months.

@bsideup I'm on vacation until the end of the month. I'll get back to you afterwards.

Thank you for your kind words, @HofmeisterAn.
However, a nicely implemented version will not be as useful as a version that is in use by many people. Your version is a lot of more thoroughly tested by users than mine, and since it's a lot more popular than mine, I think your API designs resonate a lot more with .NET developers.
I also think we should use your version as the official version. I would be glad to help out in any way. CI, tests, documentation, etc. I'm all good. (I'll probably help to pick up issues with help needed tags)

FYI: We transferred the repository. There are a few small things we need to take care of, but nothing major 🎉.


Boilerplate: Update to 25bf1477435cc1d54ed1a0dff1c1f16405144db3

Conventions:

openshift/golang-osd-operator: Update

https://github.com/openshift/boilerplate/compare/1813fd0bf548ea39983ed6ed7ed7adab924ab5bf...25bf1477435cc1d54ed1a0dff1c1f16405144db3
commit: 567b9545e8fbdc825306c7d8a4ec1bfe2c893236
author: Eric Fried
openshift/golang-osd-operator: openapi-gen
Make consumers produce openapi by adding a target called
openapi-generate which runs openapi-gen if necessary. Put it in the
chain for generate.
commit: a0f4fba9914a5d95a5605f59e5fb87759917f3c8
author: Eric Fried
Image: Fix tests for image-v0.4.0
commit: 7bcdbc25c7614d5053a5bcef337bd4fbcb9f23a7
author: Eric Fried
Image: Install mockgen and openapi-gen
These will be used by go-generate and op-generate, respectively.
commit: c1b444f2f0fafc06afdee1f87629096e7185d11a
author: Eric Fried
Image: Don't use gvm
It turns out we don't need go1.14, so we don't need gvm. If we need to
upgrade the version of go used by consumers, we'll instead update the
backing image.
This (mostly) reverts commit 5efde524a0104b8b076f721144469934ac033391.
commit: e654a8ad5d75e0da63888b5be944ad605de2b226
author: Eric Fried
Update subscribers
...and fix a buglet introduced by 4feb777c that breaks on downlevel or
not-yet-onboarded consumers.
commit: 8159de6a4550f652c1033097f5b89a819cc11dd6
author: Eric Fried
pr-check: Color test output
...so it can be visually distinguished from the output of the commands
run by the tests. This will make debugging easier.
commit: ed5706ecedc236099532a0edb2c5a37e41e0235f
author: Rafa Porres Molina
Fix unbound variable
Older versions of bash didn't like it
Signed-off-by: Rafa Porres Molina<EMAIL_ADDRESS>commit: 4e834ca28bce6dc24b65f141d03cccc12ce8b256
author: Rafa Porres Molina
Fix non-existing target
Signed-off-by: Rafa Porres Molina<EMAIL_ADDRESS>commit: 596add63d56be4cd085ddb1606bc8c4c47883aee
author: Rafa Porres Molina
Add opm-build-push target

Opt-in target, we are not ready to force anyone to use this
Adds a script to build catalog using opm
Adds authentication to docker-push (breaking change)
Depends on a local hack/generate-bundle-contents.py script

Signed-off-by: Rafa Porres Molina<EMAIL_ADDRESS>commit: 46751efaeb58fa435659ee80a0787119ca3d8d4b
author: Eric Fried
Make go-build only build
Since we're running them in prow, and have made sure the prow
environment matches the appsre environment, there's no need for
validation steps like linting and go test to be run as part of the
container build.
This commit makes make go-build only do the go build. Since make go-build is the crux of make docker-build, this makes the container
build more efficient.
(Note that, prior to #103, make docker-build was the only way to run
these validation pieces "locally" in the proper container. Now you can
do it with boilerplate/_lib/container-make {target}.)
commit: 4feb777cb9d58159ea6d1c3e5f83fa7ac2cf294a
author: Eric Fried
Support containerized local builds
Add a utility, boilerplate/_lib/container-make, which can be used as a
drop-in replacement for the real make to invoke the target(s) in the
boilerplate container appropriate to the current level of boilerplate.
OSD-5096

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6d49364). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #83   +/-   ##
=========================================
  Coverage          ?   30.73%
=========================================
  Files             ?       14
  Lines             ?      436
  Branches          ?        0
=========================================
  Hits              ?      134
  Misses            ?      300
  Partials          ?        2

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6d49364). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #83   +/-   ##
=========================================
  Coverage          ?   30.73%
=========================================
  Files             ?       14
  Lines             ?      436
  Branches          ?        0
=========================================
  Hits              ?      134
  Misses            ?      300
  Partials          ?        2

/hold cancel
Followup commit in place.

/hold cancel
Followup commit in place.

/lgtm
/approve
👍 for dual commits to encapsulate what changed for boilerplate itself and the in-repo changes here.

/lgtm
/approve
👍 for dual commits to encapsulate what changed for boilerplate itself and the in-repo changes here.


High CPU load when PulsarClient (Java) is idle

Describe the bug
Running a simple consumer on Windows using the PulsarClient, I notice that there is considerable CPU usage when the consumer is just idling. Profiling showed that the 'pulsar-timer-x-y' thread is heavy on the CPU. Digging into the source code, we can see that the HashedWheelTimer is set up with 1 ms tick time:
timer = new HashedWheelTimer(getThreadFactory("pulsar-timer"), 1, TimeUnit.MILLISECONDS);
A simple test with similar values show that a running HashedWheelTimer can consume CPU equal to 100% of one hyperthread:
    @Test
    public void testTimerWheel() throws Exception {
        HashedWheelTimer timer = new HashedWheelTimer(1, TimeUnit.MILLISECONDS);

        timer.newTimeout(new TimerTask() {

            @Override
            public void run(final Timeout timeout) throws Exception {
                timer.newTimeout(this, 500, TimeUnit.MILLISECONDS);

            }
        }, 500, TimeUnit.MILLISECONDS);

        Thread.sleep(30_000);
        timer.stop();
    }

My understanding of the HashedWheelTimer is that it is indented to be used for a large number of approximated timeouts and not for millisecond precision scheduling, but I may be mistaken.
To Reproduce
Run a simple producer subscribing to a topic with no messages, or run the above simple JUnit test. Observe CPU usage.
Expected behavior
An idle consumer should not incur high CPU load. For example, when running 8 consumers on a i7-8700 (4 cores 2 threads per core), TaskManager reported 100% CPU usage - when there was no traffic, no messages on the topics.
Discussion
High CPU load is a high price to pay for immediate batch dispatching (which may be the primary reason for setting the 1 ms tick time). It should be possible to lax on immediate batch dispatching in favor of more compute resources available to other tasks.
An alternative is to use a plain old ScheduledExecutorService for batch dispatching/reception, tests suggest it will also be lighter on the CPU when millisecond precision is required and the number of task is not too high. For example, I could schedule 2000 simple tasks every millisecond (scheduleAtFixedRate) with more compute available on a single thread. When scheduling 10k tasks every millisecond, the thread was working 100%, but scheduling 10k tasks every 10 millisecond was OK. So if a client is used to create a huge number of producers/consumers, it might be better to lax the batch timeout so the timeout thread has a chance to actually perform its work. Another observation is that the HashedWheelTimer used with 1 millisecond tick time is not able to run a single simple task every millisecond, party due to the HashedWheelTimer approximate nature, and maybe party because spinning the wheel competes with task expiration.
Note that when using ScheduledExecutorService each task might not get exactly the same number of executions, for example when scheduling 1000 tasks run execute every millisecond for 30 seconds, task were executed between 29 986 and 30 012 times.
Some suggestions:

The tick time could be configurable, with default value = 1 millisecond to preserve current behavior.
Use default tick time 100 milliseconds, then create a ScheduledExecutorService in PulsarClientImpl that is exposed the same way as the Timer object for other classes to use. The ProducerImpl and ConsumerBase could use the ScheduledExecutorService to schedule batch dispatching/reception.

Additional context
Observed under Windows 10 64-bit, running Java 11.

Thanks a lot for @racorn 's detailed analysis.  your suggestions sounds great. Would you like to provide a fix for this?

Yes, I can try to implement what I suggested, by mid next week. Will that be OK with you?

I wish I had seen this before netty/netty#9710, and the fix netty/netty#9714
As the Netty version is now bumped to 4.1.45 on master, the CPU load is no longer an issue on Windows.
Anyway, @jiazhai, I made the suggested implementation in my forked repository, you can have a look to see if it is of any value. In my opinion, it is an improvement in the ProducerImpl, where client.scheduledExecutorService().scheduleAtFixedRate better reflects what you want to achieve than using a Timeout. Also, the keyGeneratorTask could use the ScheduledExecutorService instead of using the Netty eventLoopGroup.

Thanks @racorn for your great help. Agree with you, we could leave it as it is.  And would like to close this issue.


[ISSUE-321]Added redis service registration and discovery, Optimizing the jdbc Protocol

1.Service registration and discovery based on redis is more lightweight.
2.Tugraph analysis server optimization query metadata compilation.
3.Optimize the jdbc protoco.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: KevinLi724:x: nanxue.lwknanxue.lwk seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


feature Update release version

Thanks for the great work.
I have noticed that the master branch is quite old compared to the development one. Is it possible to make some release upgrade?

Hi @Mir1001 there is no big update that is in the develop branch, this is why there has been no release. That branch is basically me doing some cleanup and updating project/sample app but not the library.
However if it helps, I can make a point release with whatever is in the develop branch.
One of things I wanted to do is revamp this library to follow patterns that is common nowadays. For the most parts this library is still useable, but maybe the syntax is not "modern".

Since the last release is 3 years old, I think that the new release will give a signal that this great project is not dead. You can name it minor 1.8.1. For a more "modern" version, you can start with 2.0 ;) Please do it.

I have made a new release 1.9.0 🙇🏻♂
I haven't been able to do much testing on my own, so if you find any issues please file them in the issue tracker.


tests: Add the description for linux bridge integration tests

The following are the generated yaml states:
- question: Configure eth2 with the controller linux-br0
  answer: |
    ---
    interfaces:
    - name: eth2
      type: ethernet
      state: up
      controller: linux-br0
- question: Create the linux bridge linux-br0 with the ethernet port eth1 and eth2. For both ethernet port eth1 and eth2, configure the stp hairpin mode to false, configure the stp path cost to 100, configure the stp priority to 32
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port:
        - name: eth1
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
        - name: eth2
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
- question: Create the bond interface testbond0 with the controller {}, the bonding mode balance-rr, and ethernet port eth1 linux-br0
  answer: |
    ---
    interfaces:
    - name: testbond0
      type: bond
      state: up
      controller: linux-br0
      link-aggregation:
        mode: balance-rr
        port:
        - eth1
- question: Configure the linux bridge linux-br0 with the group address 01:80:C2:00:00:04
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          group-addr: 01:80:C2:00:00:04
- question: Configure the linux bridge linux-br0 with multicast-snooping set to true
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          multicast-snooping: true
- question: Bring up ethernet device eth1 with empty controller
  answer: |
    ---
    interfaces:
    - name: eth1
      type: ethernet
      state: up
      controller: ''
- question: bring up the linux bridge linux-br0
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
- question: Configure the linux bridge linux-br0 with port eth2 attached, set the stp hairpin mode to false, set the stp path cost to 100, set the stp priority to 32
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port:
        - name: eth2
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
- question: Create bridge linux-br0, add the ethernet port eth1 and eth2 to the linux bridge. In ethernet port eth1, set the stp hairpin mode to false, stp path cost to 100, stp priority to 32.
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port:
        - name: eth1
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
        - name: eth2
- question: Set accepting all mac to true for linux bridge linux-br0
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      accept-all-mac-addresses: true
- question: Set accepting all mac to false for linux bridge linux-br0
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      accept-all-mac-addresses: false
- question: Configure the linux bridge linux-br0 with the multi-cast router disabled
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          multicast-router: disabled
- question: Configure the linux bridge linux-br0 with the multi-cast router 0
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          multicast-router: disabled
- question: Configure the linux bridge linux-br0 with the multi-cast router enabled
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          multicast-router: enabled
- question: Configure the linux bridge linux-br0 with the multi-cast router 2
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          multicast-router: enabled
- question: Create the linux bridge linux-br0 with vlan default pvid set to 5
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          vlan-default-pvid: 5
- question: Create the linux-bridge linux-br0 with the IPv4 disabled and IPv6 disabled, and the bridge port testbond0 attached. Create the bond testbond0 with the controller linux-br0, the bonding mode balance-rr and the bonding port eth1
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      ipv4:
        enabled: false
      ipv6:
        enabled: false
      bridge:
        options:
          group-fwd-mask: 0
          mac-ageing-time: 300
          multicast-snooping: true
          stp:
            enabled: true
            forward-delay: 15
            hello-time: 2
            max-age: 20
            priority: 32768
        port:
        - name: testbond0
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
    - name: testbond0
      type: bond
      state: up
      controller: linux-br0
      link-aggregation:
        mode: balance-rr
        port:
        - eth1
- question: Create the bridge linux-br0 with the ethernet port eth1
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port:
        - name: eth1
- question: Create the linux bridge linux-br0 with the vlan protocol 802.1ad
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        options:
          vlan-protocol: 802.1ad
- question: Bring up the linux bridge linux-br0 with the empty port, configure the bonding interface test-bond0 with the bonding mode balance-rr and ethernet port eth1
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port: []
    - name: test-bond0
      type: bond
      state: up
      link-aggregation:
        mode: balance-rr
        port:
        - eth1
- question: Remove the bridge linux-br1
  answer: |
    ---
    interfaces:
    - name: linux-br1
      type: linux-bridge
      state: absent
- question: Set the description 'secondary' for the eth1 interface, set the description 'primary' for the eth2 interface
  answer: |
    ---
    interfaces:
    - name: eth1
      description: secondary
      type: ethernet
      state: up
    - name: eth2
      description: primary
      type: ethernet
      state: up
- question: Delete bridge linux-br0
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: absent
- question: Create the linux bridge linux-br0 with the MAC address 36:30:DB:60:75:A0, DHCP4 enabled, bridge stp option disabled, port eth1 and eth2 attached
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      mac-address: 5A:1C:E3:68:EE:84
      ipv4:
        enabled: true
        dhcp: true
        auto-dns: true
        auto-gateway: true
        auto-routes: true
      bridge:
        options:
          stp:
            enabled: false
        port:
        - name: eth1
        - name: eth2
- question: Remove the linux bridge linux-br0 and keep the ethernet port eth1 up
  answer: |
    ---
    interfaces:
    - name: eth1
      type: ethernet
      state: up
      controller: ''
    - name: linux-br0
      type: linux-bridge
      state: absent
- question: Create the linux bridge linux-br0 with the ethernet port eth2 attached
  answer: |
    ---
    interfaces:
    - name: linux-br0
      type: linux-bridge
      state: up
      bridge:
        port:
        - name: eth2

description: Configure eth2 with the controller linux-br0
interfaces:
- name: eth2
  type: ethernet
  state: up
  controller: linux-br0
description: Create the linux bridge linux-br0 with the ethernet port eth1 and eth2. For both ethernet port eth1 and eth2, do not allow traffic to be sent back to the same port on which it was received, configure the stp path cost to 100, configure the stp priority to 32
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port:
    - name: eth1
      stp-hairpin-mode: false
      stp-path-cost: 100
      stp-priority: 32
    - name: eth2
      stp-hairpin-mode: false
      stp-path-cost: 100
      stp-priority: 32
description: Create the bond interface testbond0 with the controller {}, the bonding mode balance-rr, and ethernet port eth1 linux-br0
interfaces:
- name: testbond0
  type: bond
  state: up
  controller: linux-br0
  link-aggregation:
    mode: balance-rr
    port:
    - eth1
description: Configure the linux bridge linux-br0 with the group address 01:80:C2:00:00:04
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      group-addr: 01:80:C2:00:00:04
description: Configure the linux bridge linux-br0 with multicast-snooping set to true
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      multicast-snooping: true
description: Bring up ethernet device eth1 with empty controller
interfaces:
- name: eth1
  type: ethernet
  state: up
  controller: ''
description: bring up the linux bridge linux-br0
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
description: Configure the linux bridge linux-br0 with port eth2 attached, do not allow traffic to be sent back to the same port on which it was received, set the stp path cost to 100, set the stp priority to 32
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port:
    - name: eth2
      stp-hairpin-mode: false
      stp-path-cost: 100
      stp-priority: 32
description: Create bridge linux-br0, add the ethernet port eth1 and eth2 to the linux bridge. In ethernet port eth1, do not allow traffic to be sent back to the same port on which it was received, set stp path cost to 100, set stp priority to 32.
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port:
    - name: eth1
      stp-hairpin-mode: false
      stp-path-cost: 100
      stp-priority: 32
    - name: eth2
description: Set accepting all mac to true for linux bridge linux-br0
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  accept-all-mac-addresses: true
description: Set accepting all mac to false for linux bridge linux-br0
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  accept-all-mac-addresses: false
description: Configure the linux bridge linux-br0 with the multi-cast router auto
interfaces: []
description: Configure the linux bridge linux-br0 with the multi-cast router 1
interfaces: []
description: Configure the linux bridge linux-br0 with the multi-cast router disabled
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      multicast-router: disabled
description: Configure the linux bridge linux-br0 with the multi-cast router 0
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      multicast-router: disabled
description: Configure the linux bridge linux-br0 with the multi-cast router enabled
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      multicast-router: enabled
description: Configure the linux bridge linux-br0 with the multi-cast router 2
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      multicast-router: enabled
description: Create the linux bridge linux-br0 with vlan default pvid set to 5
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      vlan-default-pvid: 5
description: Create the linux-bridge linux-br0 with the IPv4 disabled and IPv6 disabled, and the bridge port testbond0 attached. Create the bond testbond0 with the controller linux-br0, the bonding mode balance-rr and the bonding port eth1
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  ipv4:
    enabled: false
  ipv6:
    enabled: false
  bridge:
    options:
      group-fwd-mask: 0
      mac-ageing-time: 300
      multicast-snooping: true
      stp:
        enabled: true
        forward-delay: 15
        hello-time: 2
        max-age: 20
        priority: 32768
    port:
    - name: testbond0
      stp-hairpin-mode: false
      stp-path-cost: 100
      stp-priority: 32
- name: testbond0
  type: bond
  state: up
  controller: linux-br0
  link-aggregation:
    mode: balance-rr
    port:
    - eth1
description: Create the bridge linux-br0 with the ethernet port eth1
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port:
    - name: eth1
description: Create the linux bridge linux-br0 with the vlan protocol 802.1ad
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    options:
      vlan-protocol: 802.1ad
description: Create the linux bridge linux-br0 with the vlan protocol 802.1ad
interfaces: []
description: Bring up the linux bridge linux-br0 with the empty port, configure the bonding interface test-bond0 with the bonding mode balance-rr and ethernet port eth1
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port: []
- name: test-bond0
  type: bond
  state: up
  link-aggregation:
    mode: balance-rr
    port:
    - eth1
description: Remove the bridge linux-br1
interfaces:
- name: linux-br1
  type: linux-bridge
  state: absent
description: Create the linux bridge linux-br0 with the MAC address 36:30:DB:60:75:A0, DHCP4 enabled, bridge stp option disabled, port eth1 and eth2 attached
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  mac-address: 12:45:03:76:AA:B7
  ipv4:
    enabled: true
    dhcp: true
    auto-dns: true
    auto-gateway: true
    auto-routes: true
  bridge:
    options:
      stp:
        enabled: false
    port:
    - name: eth1
    - name: eth2
description: Delete bridge linux-br0
interfaces:
- name: linux-br0
  type: linux-bridge
  state: absent
description: Set the description 'secondary' for the eth1 interface, set the description 'primary' for the eth2 interface
interfaces:
- name: eth1
  description: secondary
  type: ethernet
  state: up
- name: eth2
  description: primary
  type: ethernet
  state: up
description: Remove the linux bridge linux-br0 and keep the ethernet port eth1 up
interfaces:
- name: eth1
  type: ethernet
  state: up
  controller: ''
- name: linux-br0
  type: linux-bridge
  state: absent
description: Create the linux bridge linux-br0 with the ethernet port eth2 attached
interfaces:
- name: linux-br0
  type: linux-bridge
  state: up
  bridge:
    port:
    - name: eth2

@cathay4t , thanks for taking time reviewing it, I addressed all your comments.


fix a couple of typos in ghc_01.md

...with the British English "specialise" for consistency with the folder name.
Also added a link to the readline home page.

Thanks! Say hi to Brendan. :smile:

haha, will do! : )


Calculation of carbonate and aragonite saturation states in Bling.

The Bling model may also be affected by issues #513 and #515 associated with calculating carbonate and aragonite saturation states OmegaC and OmegaAr in S/R BLING_CARBONATE_SYS:

Ksp_TP_Calc  and Ksp_TP_Arag bug (natural log of temperature dependence, instead of log_10) in S/R DIC_COEFFS_SURF here and here.
carbonate variable here is in mol/m3 from S/R CALC_PCO2_SOLVESAPHE as opposed to mol/kg from S/R CALC_PCO2_APPROX (calcium is already in mol/kg, and Ksp_TP_Calc  and Ksp_TP_Arag have units of (mol/kg)^2 in both cases).

Solutions proposed for pkg/dic (#514). 📢 @mmazloff and @averdy
(NB +1 for long term solution to #138)

@seamanticscience We addressed this in PR #776, it would be great if you had a chance to review it! Thanks!


LDAP Bind over SSL not working

Hi,
I can't bind to ldap over an SSL connection on port 636. I use the same settings as on other services, where LDAP bind works fine.
.env config
# General auth
AUTH_METHOD=ldap

# LDAP Settings
LDAP_SERVER=ldap.avionix.ee:636
LDAP_BASE_DN=dc=ldap,dc=avionix,dc=ee
LDAP_DN=uid=randomuser,cn=users,dc=ldap,dc=avionix,dc=ee
LDAP_PASS=randomepassword.
LDAP_USER_FILTER=(&(uid=${user}))
LDAP_VERSION=3

Error message:
ErrorException in Ldap.php line 94:
ldap_bind(): Unable to bind to server: Can't contact LDAP server
in Ldap.php line 94
at HandleExceptions->handleError('2', 'ldap_bind(): Unable to bind to server: Can't contact LDAP server', '/var/www/bookstack/app/Services/Ldap.php', '94', array('ldapConnection' => resource, 'bindRdn' => 'uid=randomuser,cn=users,dc=ldap,dc=avionix,dc=ee', 'bindPassword' => 'randompassword.'))

Am I missing some configuration (i.e. deine ssl or tls)?

This might be fixed in current master branch with this pull request/merge

Hi @av8orch, Sorry to hear you're having problems with SSL LDAP. Your config looks fine, but you're likely just running into this issue: #236
SSL LDAP will be fixed in the next release, At which point you'll need to update your LDAP_SERVER setting to ldaps://ldap.avionix.ee:636.
If you need to get around the issue until the next release and you have some development experience you could apply the fix shown in #236 as a temporary fix.

Ah, Thanks @lommes, You beat me to it while I was typing 😄

Thanks @ssddanbrown and @lommes
This temporary fix did it. LDAPS now works.


user16217248: Blacklist quickbooks

user16217248 requests the blacklist of the keyword quickbooks. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

quickbooks has been seen in 1330 true positives, 81 false positives, and 6 NAAs.

Rejected by Spevacus in Charcoal HQ. Reason: 'Please see the blacklisting requirements for keywords. In general, we like to ensure a 98% TP rate for blacklisted regexes even against keywords that can capture a lot of spam. This word is also used frequently all across the network.'

Rejected by Makyen in Charcoal HQ. Reason: 'Definitely not. Way to many uses on SE. It's very well known bookkeeping  software.'


chromium: 75.0.3770.90 -> 75.0.3770.100 (bump beta/dev too)

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I think we can close this in favor of #65013 or it's successor. But thanks for your effort @dtzWill :)


Kindle's character sprites

Sprite Artwork

[x] Standing
[ ] Losing
[x] Attacking
[x] Charging
[ ] Take Garbage
[ ] Battle Lost
[ ] Battle Won

#74 Kindle's character concept

moved to meistertask


docs(NavParams): remove bad links

Short description of what this resolves:
remove bad links (Nav API Docs, NavPush API Docs)
Changes proposed in this pull request:

remove bad links

Ionic Version:  2.x
Fixes: #

This has already been resolved.


add sensible pool names by default

I think this is a rather more useful default than HikariPool-0 etc.

Coverage increased (+2.2%) to 86.81% when pulling 5c00d1bfac5ff37cc1981b5f255953c7ab19e5f0 on mberndt123:master into 52319eddb80a20f54b0d7f5c05abdcada02e2f86 on edulify:master.

Thanks for the contribution, @mberndt123. :-)


[BUG]: drizzle-kit push:sqlite fails to apply migrations on a Turso (libsql) database when a table is modified on the Drizzle schema

What version of drizzle-orm are you using?
0.30.6
What version of drizzle-kit are you using?
0.20.14
Describe the Bug
If I try to run drizzle-kit push:sqlite after modifying a schema by adding a column to a table it fails with an error like this:
LibsqlError: SQLITE_UNKNOWN: SQLite error: table ptd_order_lines has 7 columns but 8 values were supplied
    at mapHranaError (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/hrana.js:257:16)
    at HttpClient.execute (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/http.js:56:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TursoSqlite.run (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:25414:9)
    at async Command.<anonymous> (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:63360:9) {
  code: 'SQLITE_UNKNOWN',
  rawCode: undefined,
  [cause]: [ResponseError: SQLite error: table ptd_order_lines has 7 columns but 8 values were supplied] {
    code: 'SQLITE_UNKNOWN',
    proto: {
      message: 'SQLite error: table ptd_order_lines has 7 columns but 8 values were supplied',
      code: 'SQLITE_UNKNOWN'
    }
  }
}

I tried to delete the table in question from the DB to see if it would be a valid workaround but the script fails because of the indexes defined in the schema already existing:
LibsqlError: SQLITE_UNKNOWN: SQLite error: index order_lines_product_id_idx already exists
    at mapHranaError (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/hrana.js:257:16)
    at HttpClient.execute (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/http.js:56:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TursoSqlite.run (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:25414:9)
    at async Command.<anonymous> (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:63360:9) {
  code: 'SQLITE_UNKNOWN',
  rawCode: undefined,
  [cause]: [ResponseError: SQLite error: index order_lines_product_id_idx already exists] {
    code: 'SQLITE_UNKNOWN',
    proto: {
      message: 'SQLite error: index order_lines_product_id_idx already exists',
      code: 'SQLITE_UNKNOWN'
    }
  }
}

After deleting all the indexes defined in the schema for that table directly on the DB, if I run again the push command I get an error like this:
LibsqlError: SQLITE_UNKNOWN: SQLite error: there is already another table or index with this name: __old_push_ptd_order_lines
    at mapHranaError (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/hrana.js:257:16)
    at HttpClient.execute (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.5.6/node_modules/@libsql/client/lib-esm/http.js:56:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TursoSqlite.run (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:25414:9)
    at async Command.<anonymous> (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:63360:9) {
  code: 'SQLITE_UNKNOWN',
  rawCode: undefined,
  [cause]: [ResponseError: SQLite error: there is already another table or index with this name: __old_push_ptd_order_lines] {
    code: 'SQLITE_UNKNOWN',
    proto: {
      message: 'SQLite error: there is already another table or index with this name: __old_push_ptd_order_lines',
      code: 'SQLITE_UNKNOWN'
    }
  }
}

After deleting manually the table mentioned in the last error the push will be executed correctly if I run it again.
Expected behavior
The push command should work consistenly like it works for other targets, like planetscale with push:mysql where it applies modifications to tables even if they exist and replaces existing indexes.
If it fails it should also cleanup tables that are generated during the process and rollback eventual deletion of tables and indexes.
Environment & setup
@libsql/client version: 0.6.0

Also please note that these exeptions create some kind of inconsistency in the database for the push command because if I reset the schema and try to run the push command again I would expect it to run without issues but it throws exceptions for the indexes like this one:
LibsqlError: SQLITE_UNKNOWN: SQLite error: index order_lines_order_id_idx already exists
    at mapHranaError (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.6.0/node_modules/@libsql/client/lib-esm/hrana.js:257:16)
    at HttpClient.execute (file:///Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/@libsql+client@0.6.0/node_modules/@libsql/client/lib-esm/http.js:56:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TursoSqlite.run (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:25414:9)
    at async Command.<anonymous> (/Users/alberto/github/medconnectsrl/presto-dottore/node_modules/.pnpm/drizzle-kit@0.20.14/node_modules/drizzle-kit/bin.cjs:63360:9) {
  code: 'SQLITE_UNKNOWN',
  rawCode: undefined,
  [cause]: [ResponseError: SQLite error: index order_lines_order_id_idx already exists] {
    code: 'SQLITE_UNKNOWN',
    proto: {
      message: 'SQLite error: index order_lines_order_id_idx already exists',
      code: 'SQLITE_UNKNOWN'
    }
  }
}

Also had this problem for weeks. It makes developing with drizzle such a hassle..

same issue with raw sqlite, hope they hand some love to sqlite.

I believe I'm running into the same problem. I'm using Supabase. Getting the following error about some problem with an index.
Anyone have any workaround? Basically no way to use the push command with Supabase?
No config path provided, using default path
Reading config file '/webdev/project/drizzle.config.ts'
error: relation "address_id_unique" already exists
    at /.../node_modules/drizzle-kit/bin.cjs:24462:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async PgPostgres.query (/.../node_modules/drizzle-kit/bin.cjs:25423:21)
    at async Command.<anonymous> (/.../node_modules/drizzle-kit/bin.cjs:63261:9) {
  length: 99,
  severity: 'ERROR',
  code: '42P07',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: 'index.c',
  line: '872',
  routine: 'index_create'
}

Still happening on 0.30.10
Any update regarding this issue?

Bump. Still an issue with drizzle-orm v0.31.1 and drizzle-kit v0.22.2


Rewrite storage module

Current implementation does not meet the requirements for:

cluster membership changes (all entries of one type)
log compaction (only one file with entries content, difficult to split while compacting)

Moreover, it is very inneficient and not properly tested.
Solution

Log is divided into smaller files of fixed size (e.g. 32 MB) called segments
The last segment is appendable and is memory-mapped file
Log append is thread safe
Each segment has corresponding index file storing entries positions in segment
Log (LogReader) can be open for reading
LogReader is greedy and allocates buffer larger than is needed for the next entry
LogReader implements interface Iterator and hide internal complexity
Object serializers/deserializers are configurable (custom, Kryo, protobuf)

resolved by #4


Request/Help: Limit to diff view only

Hello, and thank you for this wonderful tool! It's great for diff views, but I'd like to limit it to be active only in the diff view, and not on other pages on github. Is there an easy way?

Use split diffs :). https://github.com/blog/1884-introducing-split-diffs

Split diff makes the page wider, yes, but each column is still limited to half the screen size or so. When you use this tool with the unified view, you get nearly the whole screen width. Anyway, I take your reply as a "no" or possibly "yes but I'm not in the mood" :P Thanks for the reply.

Oh, yeah, that's not too difficult to do—I should've asked about unified vs split. There's no real way to do that without something more than CSS since these styles don't have any page classes to hook onto when in unified diff mode. Some fancy JS might be able to solve it, but that's out of my realm of possibilities. Sorry!

Sure, I understand. I'll just use Stylish to manually turn on/off the wide view as required. Thanks!

<3

you can modifiy
@-moz-document domain("github.com") { to limit usage to the specific pages

I'm no CSS guy, so, could you explain roughly how? Do I use regexp in the domain string?

info about that you can find here https://github.com/JasonBarnabe/stylish/wiki/Applying-styles-to-specific-sites

Ah, got it! Thank ye kindly :)


Create Public Kernel Circuit

Let me know if you'd like a tour of the circuits code, when you come to this; there's a bit of tech debt to be aware of.


Add highlightjs to the website again

This was accidentally removed when removing Google Analytics in #559:
Originally posted by @mansona in https://github.com/simplabs/ember-test-selectors/pull/559#discussion_r458701887

Nevermind – we don't need it anyway.


Develop

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 59.131%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

catalyst_utils/models.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
599

Relevant Lines:
1013

💛  - Coveralls


feat: sports event search result cards

Description

Cards design is implemented
Click redirects to the venue route with id (which does not exist yet)
Translation of the fields implemented

Issues
Closes
DEV-XXX:
Related
Testing
Automated tests
Manual testing
Screenshots
Additional notes

Codecov Report

Merging #103 (7027da0) into main (15af579) will decrease coverage by 6.31%.
The diff coverage is 29.41%.

:exclamation: Current head 7027da0 differs from pull request most recent head 2ffcd4a. Consider uploading reports for the commit 2ffcd4a to get more accurate results

@@            Coverage Diff             @@
##             main     #103      +/-   ##
==========================================
- Coverage   68.14%   61.83%   -6.32%
==========================================
  Files         101      111      +10
  Lines        2461     2696     +235
  Branches      557      601      +44
==========================================
- Hits         1677     1667      -10
- Misses        717      961     +244
- Partials       67       68       +1

Impacted Files
Coverage Δ

apps/sports-helsinki/src/constants.ts
100.00% <ø> (ø)

...inki/src/domain/event/eventCard/LargeEventCard.tsx
89.74% <ø> (ø)

...helsinki/src/domain/search/venueList/VenueList.tsx
0.00% <0.00%> (ø)

...sinki/src/domain/search/venueSearch/SearchPage.tsx
0.00% <ø> (ø)

apps/sports-helsinki/src/types.ts
100.00% <ø> (ø)

apps/sports-helsinki/src/utils/getTranslation.ts
0.00% <0.00%> (ø)

...inki/src/domain/venue/eventCard/LargeVenueCard.tsx
50.00% <50.00%> (ø)

...nki/src/domain/event/eventInfo/OtherEventTimes.tsx

...pps/hobbies-helsinki/src/assets/icons/IconRead.tsx

...src/domain/clients/eventsFederationApolloClient.ts

... and 207 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Issue with deletion / insertion

Playing around with smoke-and-mirrors in my app it seems there is an issue when an item is deleted and replaced with a new item. Looks as if the list knows there is an item there, but doesn't know it should be revealed until there is a scroll event.
http://youtu.be/r7sqcZ0Eabc

Fixed by scheduling a new check when an item is registered.


Removed AvoidSynonymsRule

As agreed with @maxim-tschumak in #576.

Codecov Report

Merging #589 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #589      +/-   ##
============================================
+ Coverage     84.58%   84.61%   +0.02%
+ Complexity      933      912      -21
============================================
  Files           150      149       -1
  Lines          2349     2321      -28
  Branches        307      303       -4
============================================
- Hits           1987     1964      -23
+ Misses          222      220       -2
+ Partials        140      137       -3

Continue to review full report at Codecov.

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

:+1:

👍


Download bpmn files as images

OPH-241
Corresponding PR's:

app-openproceshuis: https://github.com/lblod/app-openproceshuis/pull/14
frontend-openproceshuis: https://github.com/lblod/frontend-openproceshuis/pull/29

New endpoint (:id/download) serves given BPMN file in one of three file formats based on accept header's mime type:

image/svg+xml: SVG
image/png: PNG
application/pdf: PDF

Returning the original BPMN file is still carried out by the file service --> the dispatcher relays the different requests to the correct services based on accept header

⚠ The conversion functionality doesn't work yet due to the usage of the bpmn-to-image package, which in turn relies on puppeteer. Running puppeteer in a Docker container, requires some extra work (cfr. https://pptr.dev/troubleshooting#running-puppeteer-in-docker).

Solved by using older version of bpmn-to-image and installing necessary Chrome Linux packages in Dockerfile.


Support OpenGLES

Greetings,
Is it possible to support OpenGLES 3?
Thank you,
coast

Just as a note here. #5 adds OpenGL ES support, but I currently don't have a setup for testing it.

With modification to @ghost code, confirmed to work on the Quest 2. I had to use "#version 300 es\n" in the shaders instead of what ghost used to define the version.

@UnidayStudio Thanks! But just a question, you say OpenGL ES but the screenshot shows a web browser and you mention Emscripten. Is it OpenGL ES, or is your code converted into using WebGL? :)

I keep getting:  "error OpenGL header must be included prior to including glText header" despite opengles being defined before gltext. I've tried this both in headers and source file with the same result. How can this be fixed?