Refreshing or following links to private projects go to dashboard

Describe the bug
If you are working with a private project in Infrabox and refresh the page, or try to follow a link to a private project, it will end up at the dashboard and sometimes show a toast saying "Unauthorized", even though the project is visible in the dashboard and the user is still logged in.
To Reproduce
Steps to reproduce the behavior:

Set up Github connection, users log in via Github
Create a private project, linked to a private Github repo.
Open the project in Infrabox (e.g. view the builds or a build step, whatever it might be)
Refresh the page
See error (redirected to dashboard)

Alternatively, you can try to follow a link, e.g. from the Slack notification, which will bring you to the dashboard. If you go to the build described by the link, the address bar shows the same, correct URL.
Expected behavior
I would expect that as long as I am logged in to the system, I can refresh the page and stay on the same page, or follow a deep link in the application and be put to the right place, even for private projects.
Desktop (please complete the following information):

OS: macOS Mojave 10.14.2 (18C54)
Browser Chrome
Version 71.0.3578.98 (Official Build) (64-bit)

Additional context
We also have the issue of the websocket being reset every minute or so, which means we need to refresh more often until that issue is resolved on our end.

Just wanted to mention again that we are still seeing this issue.

Sorry seems we missed your first message, we will check it again. thanks for letting us know.

I can confirm that the latest fix resolves the issue, thanks! 😃


Investigate problem with forking graphs

The current implementation does not support forking graphs out-of-the box. We need to either add this support or temporary recognize and prevent forks.

Nearly solved with inference-only and training-only markers. Now we just need to keep track of training-only nodes and make sure they get initialized correctly for the backward step.


feat: don't merge from upstream if there's a different commit

Hi!
First of all, thank you for this great bot. It helped me keep up to date with upstream significantly, and I really appreciate it.
However, while I use this, I've found some of my PRs got force-pushed to the same commit as upstream, removing any changes I made on the branch. It seems like auto-merging only happens on the default branch, and while I think making PR from the default branch is not really a great practice pull should be able to detect if the branch contains any commit that isn't on upstream.
Could we have a failsafe like this?

Thanks for opening the PR! Please see #365. Tldr: Using pull or not, it's the best git practice to create new branches when working on a new feature or bugfix instead of working directly on the default branch.


Add new flag to emitLegacyCommonJSImports

Add a new flag to disable adding .js  extension by default which users can enable as need be.
Related: https://github.com/dotansimha/graphql-code-generator/issues/8065

https://github.com/dotansimha/graphql-code-generator/pull/8068

test here https://github.com/dotansimha/graphql-code-generator/pull/8077#issuecomment-1180705351

@kamilkisiela you can use this alpha release


Generated imports for models are incorrect

When using swagger generate server -f swagger.yml -A myApp, the imports for the model in the code inside restapi/operations are incorrect.
The import statement looks like this:
import (
	"net/http"

	"github.com/myRepo/myApp/operations/models"
	"github.com/go-swagger/go-swagger/httpkit/middleware"
)

The models are in github.com/myRepo/myApp/models and not in github.com/myRepo/myApp/operations/models.
This causes compile errors.

I botched a merge this weekend and I'm catching up. Please keep submitting issues as you find them though.
If it's critical to what you're trying to do, the latest working version of the server generator was: 797d4ba62b1


Code formatting doesn't match .editorconfig

What would you prefer to change? Fix the code to match the editorconfig or fix the editorconfig to match the code? Editorconfig currently insists on placing the opening curly on the previous line.

I just reviewed the editorconfig and it seems right. The curly should be on the same line as the statement except for types and methods.
Which code needs fixing? ListDiff.cs seemed OK.

Try formatting the file ListDiff.cs in latest VS 2017 - I think it should be types, methods, not types:methods (comma separated: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-settings)

https://github.com/praeclarum/ListDiff/pull/6 seems to be fixing it.

I've merged #6
Thank you!


Refactor modules communication model

WIP:

ToDos
IT tests

Description
Refactor of communication model in knotx core server.
Motivation and Context
Easier and better models introduces.
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I hereby agree to the terms of the Knot.x Contributor License Agreement.

This will be not continued.


Enhance background_fetch plugin for better squid logging

Right now it is hard to tell from squid log which requests are from background_fetch. By replacing TSHttpConnect with TSHttpConnectWithPluginId and adding %<pitag> to squid log format, we can easily differentiate requests from the plugin, which makes it easier to locate issues related to connections.
Example format:
%<pitag> %<cqtq> %<ttms> %<chi> %<crc>/%<pssc> %<psql> %<cqhm> %<cquc> %<caun> %<phr>/%<pqsn> %<psct>
Example output:
*<PHONE_NUMBER>.599 537 <IP_ADDRESS> TCP_MISS/206 1654 GET http://i.imgur.com/z4d4kWk.jpg - DIRECT/i.imgur.com image/jpeg
background_fetch<PHONE_NUMBER>.144 62 <IP_ADDRESS> TCP_MISS/200 147068 GET http://i.imgur.com/z4d4kWk.jpg - DIRECT/i.imgur.com image/jpeg

👍
looks reasonable


docs(CONTRIBUTING): Correct pre-commit command

The post-checkout hooks were not installed. Also, recommend installing all hooks synchronously rather than waiting until the first time they are run. This way the hook environments can be setup while developers finish reading the documentation.

No issues


revise intro per suggestion from @wpostma

@wpostma please review

Looks good to me.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

aspnetcore/fundamentals/servers/aspnet-core-module.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Constant reload information in WSL2

please complete the following information:

OS version: [e.g. Win 10, Mac Catalina] - Windows 11 Pro 22H2 / WSL2 - <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Editor: [e.g. vscode, intelij, sublime]	vscode
Editor version:	1.80.1
Programming language: [e.g. js, ts, c++]	all
TabNine extension version: 3.6.77
Engine version (could be located within Tabnine Hub):

Issue Details:
TabNine constant information about Reload Required.
The reload doesn't help. Neither uninstalling and back installing the extension. I have the same issue all the time.
Would like to attach the reload but the file is too big.

gz#25335(related to Zendesk ticket #25335)

@kapalkat
Hi kapalkat,
Thanks for contacting us!
There can be problems working remotely indeed. Check here  and hereTabnine is not working on VSCode working remotely
There are various issues.
Best,
Tzuf Stokelman
Tabnine Support


Pass yarn install options

What happened?

What were you attempting to do?
I'd like to provide yarn install with one of the CLI options - specifically, call it with yarn --registry <MY_REGISTRY>.

What did you expect to happen?
I was expecting the yarn buildpack to respect an ENV variable that would allow me to set yarn options

What was the actual behavior? Please provide log output, if possible.
There is no such env variable that allows configuring yarn install behavior.

Build Configuration

What platform (pack, kpack, tekton buildpacks plugin, etc.) are you
using? Please include a version.
This is with pack v0.20.0

What buildpacks are you using? Please include versions.
yarn install @v0.4.0

What builder are you using? If custom, can you provide the output from pack inspect-builder <builder>?
paketobuildpacks/builder:base

Can you provide a sample app or relevant configuration (buildpack.yml,
nginx.conf, etc.)?

In this case, there's a bug in yarn that makes it not accept environment variables (https://github.com/yarnpkg/yarn/issues/2091), so passing it in as a yarn install option would be really helpful

I think we can take it as a feature request where users can request custom extra flags, something like BP_YARN_INSTALL_FLAGS="--X Y --Z A". Given there's a way around it via yarnrc, we'll take it as a low-prio feature request

I'm wondering if @dfreilich can speak to whether or not the issue is resolved by #292.

I think it could still be useful. Currently, our system writes a .yarnrc file in all cases and passes it along to pack, so #292 doesn't quite help in that sense, and the advantage of this would be that we'd save on creating that file for every single build we do.


WebView2 unable to connect to any websites

Describe the bug
I am attempting to code a small web browser in Visual Studio 2019 using the Windows App SDK, WinUI3, and C#. In my MainPage.xaml, I have WebView2 defined as myWebView, with the source set to go to http://google.com. However, when I run the app, it stays on a blank page for a while and then loads the Microsoft Edge "ERR_NAME_NOT_RESOLVED" error page. I have tried this with several different websites. On the other hand, if I try to access Google through its numerical IPv4 address I get ERR_NETWORK_ACCESS_DENIED (your internet access is blocked). Microsoft Edge runs fine. I've tried disabling Windows Firewall and that changes nothing.
Steps to reproduce the bug

Create a WinUI3 blank C# application project in Visual Studio.
In the MainPage.xaml, paste in the following code:
<WebView2 x:Name="myWebView" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="http://google.com"/>
Run the code and wait around 10-20 seconds until the error page loads.
Replace the Source with an IP address of a website (with http:// before) and you will get ERR_NETWORK_ACCESS_DENIED.

Expected behavior
WebView2 will load the page specified.
Screenshots
No response
NuGet package version
No response
Packaging type
Unpackaged
Windows version
Insider Build (xxxxx)
IDE
No response
Additional context
No response

Hi @ChasTechProjects, since this is a WebView2 bug, please report it on the WebView2Feedback repo: https://github.com/MicrosoftEdge/WebView2Feedback/issues


[QUERY] Azure FormRecognizer resource temporarily unavailable error on Azure VM

Query/Question
I have the following console app (.net core 5.0):
    class Program
    {
        static void Main(string[] args)
        {
            var test = Test();
            Task.WaitAll(test);
        }

        private static async Task Test()
        {
            Console.WriteLine("Start using Azure Form Recognizer ...");

            var endpoint = "https://my-formrecognizer.cognitiveservices.azure.com/";
            var apiKey = "my-api-key";

            var credential = new AzureKeyCredential(apiKey);
            var client = new FormRecognizerClient(new Uri(endpoint), credential);

            var invoiceUri = new Uri("SAS-URI-to-my-invoice-pdf-blob");

            FormPageCollection formPages = await client
                .StartRecognizeContentFromUri(invoiceUri)
                .WaitForCompletionAsync();

            if (formPages != null)
            {
                Console.WriteLine("Got Form Recognizer working");
            }
            else
            {
                Console.WriteLine("Something is wrong here");
            }
        }
    }

I executed the above console app from my WIndows 10 PC, like below:
dotnet FormRecognizerTest.dll

And it worked as expected; the line "Got Form Recognizer working" was printed on my console.
Now I executed the same app on my Azure VM (Ubuntu 20.04) like below:
sudo dotnet FormRecognizerTest.dll

But, this time it printed "Start using Azure Form Recognizer ..." and after some time it threw the following errors:
> Start using Azure Form Recognizer ...
Unhandled exception. System.AggregateException: One or more errors occurred. (Retry failed after 4 tries. Retry settings can be adjusted in ClientOptions.Retry. (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)))
 ---> System.AggregateException: Retry failed after 4 tries. Retry settings can be adjusted in ClientOptions.Retry. (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)) (Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443))
 ---> Azure.RequestFailedException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000001, 11): Resource temporarily unavailable
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
   at System.Net.Sockets.Socket.Connect(String host, Int32 port)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.HttpClientTransport.Process(HttpMessage message)
   at Azure.Core.Pipeline.HttpPipelineTransportPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RequestActivityPolicy.ProcessNextAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RequestActivityPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.ResponseBodyPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.LoggingPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.RetryPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipeline.Send(HttpMessage message, CancellationToken cancellationToken)
   at Azure.AI.FormRecognizer.FormRecognizerRestClient.AnalyzeLayoutAsync(IEnumerable`1 pages, Nullable`1 language, Nullable`1 readingOrder, SourcePath fileStream, CancellationToken cancellationToken)
   at Azure.AI.FormRecognizer.FormRecognizerClient.StartRecognizeContentFromUri(Uri formUri, RecognizeContentOptions recognizeContentOptions, CancellationToken cancellationToken)
   at FormRecognizerTest.Program.Test() in C:\Users\MeDev\source\repos\TestFormRecognizer\FormRecognizerTest\Program.cs:line 29
 ---> (Inner Exception #1) Azure.RequestFailedException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000001, 11): Resource temporarily unavailable
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
   at System.Net.Sockets.Socket.Connect(String host, Int32 port)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.HttpClientTransport.Process(HttpMessage message)
   at Azure.Core.Pipeline.HttpPipelineTransportPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RequestActivityPolicy.ProcessNextAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RequestActivityPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.ResponseBodyPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.LoggingPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

> ---> (Inner Exception #2) Azure.RequestFailedException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000001, 11): Resource temporarily unavailable
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
   at System.Net.Sockets.Socket.Connect(String host, Int32 port)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.HttpClientTransport.Process(HttpMessage message)
   at Azure.Core.Pipeline.HttpPipelineTransportPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RequestActivityPolicy.ProcessNextAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RequestActivityPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.ResponseBodyPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.LoggingPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

> ---> (Inner Exception #3) Azure.RequestFailedException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Http.HttpRequestException: Resource temporarily unavailable (my-formrecognizer.cognitiveservices.azure.com:443)
 ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000001, 11): Resource temporarily unavailable
   at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses)
   at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
   at System.Net.Sockets.Socket.Connect(String host, Int32 port)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.Connect(String host, Int32 port, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageHandlerStage.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.SocketsHttpHandler.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.Send(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.Send(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   --- End of inner exception stack trace ---
   at Azure.Core.Pipeline.HttpClientTransport.ProcessAsync(HttpMessage message, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.HttpClientTransport.Process(HttpMessage message)
   at Azure.Core.Pipeline.HttpPipelineTransportPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RequestActivityPolicy.ProcessNextAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.RequestActivityPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.ResponseBodyPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)
   at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted(ValueTask task)
   at Azure.Core.Pipeline.ResponseBodyPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.LoggingPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline)
   at Azure.Core.Pipeline.RetryPolicy.ProcessAsync(HttpMessage message, ReadOnlyMemory`1 pipeline, Boolean async)<---

>   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks)
   at FormRecognizerTest.Program.Main(String[] args) in C:\Users\MeDev\source\repos\TestFormRecognizer\FormRecognizerTest\Program.cs:line 14
Aborted

What might be wrong here?
Environment:

Package used: Azure.AI.FormRecognizer Version="3.1.1"
Local PC: Windows 10; .NET Core runtime: Microsoft.NETCore.App 5.0.8, SDK: 5.0.302
Azure VM: Ubuntu 20.04; .NET Core runtime: Microsoft.NETCore.App 5.0.8
IDE: and version : Visual Studio 2019, v16.10.3

Hi @JandosHk.   Thank you for your feedback and we regret that you're experiencing difficulties.  Your stack trace indicates that your VM is unable to reach the host at my-formrecognizer.cognitiveservices.azure.com:443 which is causing the socket to fail when attempting to bind.
Unfortunately, this isn't something under control of the SDK.  Most likely, the root cause is related to the network configuration of your VM, which isn't something that we're able to assist with.  You may want to try verifying DNS resolution using dig or a similar utility, testing whether a ping is successful, or whether you can reach that address using curl or a browser.
#feedback

@jsquire, thank you for your prompt answer. It helped me where to search. Closing this issue.


[TextInput] Blur event is broken in v0.57.6

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
React Native Environment Info:
    System:
      OS: Windows 10
      CPU: (4) x64 Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
      Memory: 4.29 GB / 11.87 GB
    Binaries:
      Yarn: 1.12.3 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
      npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
    IDEs:
      Android Studio: Version  <IP_ADDRESS> AI-173.4907809
    npmPackages:
      react: 16.6.1 => 16.6.1
      react-native: 0.57.6 => 0.57.6

Description
The input is not focused after the blur event with the done button.
Blur event was broken with this commit,
Reproducible Demo

Focus the input
Press the done button in keyboard
Try focus the input again

@gazoudoudou can you check that please?

Happens only on Android for me (I will label it like that), if anyone can reproduce on iOS please write it here.

Hey @ahce thanks for the report, since it's a fairly big issue I'll revert that commit and create a new release asap.

@kelset Shouldn't we fix the underlying issue? It seems wrong that this "double blur" is needed on Android and not on iOS

@kelset works fine in 0.57.7, Thanks!

FYI, @RSNara has a fix incoming to master.

Fix is to revert https://github.com/facebook/react-native/pull/22156

@sahrens so there's no better fix for that? IMO at least on iOS we should not call it twice.

We're reverting for now to be safe. Potentially add an iOS check if it's causing problems.


Widget is broken on Brave

The Firebase SDK for desktop notifications broke the widget on some browsers like Brave

Fixed in latest branch of w3i


Read document variable by checking if it exists

so we don't get errors when it's required on serverside

Thanks


Callery chest boat recipe is incorrect, using planks instead of a boat

See https://github.com/ArshiaDPG/Pearfection-Fabric/blob/main/src/main/generated/data/pearfection/recipes/callery_chest_boat.json

It's no worries. Thanks for making a really cool mod :)

I'm glad you like it. The fix should be out now :)


Refactor paths

Refactor paths of the "misc" section to not be a "minigame"

Implemented in 1530c9affaae089bf6c69c3fe1699319ee8f54fa


Add automated unit testing for timeserver.py

I added basic testing for the timeserver to the automated tests run by travis-CI via tox.
For better testing, signature validation steps should be added to the tests.

Coverage increased (+1.7%) to 79.559% when pulling 652e5ae2d51bbd404930e658bbd407a9d1059c4d on awwad:unit_test_timeserver into 5edb7e498bbb9f5ea833009b600040ac1c6a3f9b on uptane:develop.


VICC members in Supplementary Note

Please list the individual members of the Variant Interpretation for Cancer Consortium in the Supplementary Note.

In addition, I intend to add institutions to Supplementary Note as well. Format similar to prior Nature Genetics publication: https://www.nature.com/articles/s41588-018-0090-3

Consider format of similar Nature Genetics publication: https://www.nature.com/articles/s41588-018-0090-3

Added to Supplementary Information document, to be split out in downstream issue (e.g. #20).

See Google Drive folder (private access) for data and code to generate the member list.


Can't get inline comments to work on GitLab, even though other plugins generate them successfully

Report
What did you do?
Run bundle exec danger --fail-on-errors=true --remove-previous-comments from CI.
What did you expect to happen?
The Brakeman warning should be posted as an inline comment attached to the relevant piece of code.
I expected this to work asdanger-rubocop manages it when called with inline_comment: true:

What happened instead?
The Brakeman warning was posted in a table with all the other warnings and errors, and there was no easy way to see the relevant code.

Your Environment

Which CI are you running on?
GitLab CI, on GitLab Community Edition 12.1.2
Are you running the latest version of Danger?
Danger 6.0.9 with danger-gitlab 7.0.0
What is your Dangerfile?

# frozen_string_literal: true

CHANGED_FILES = (git.added_files + git.modified_files).freeze
ADDED_FILES = git.added_files.freeze

# Check that db/structure.sql is changed if migrations changed
updated_migrations_files = CHANGED_FILES.select { |path| path =~ %r{db/migrate} }
structure_updated = CHANGED_FILES.include?('db/structure.sql')

if updated_migrations_files.any? && !structure_updated
  warn <<~MESSAGE
    Check if db/structure.sql needs to be updated.
    You have the following migrations updated or added:
    #{gitlab.html_link(updated_migrations_files)}
  MESSAGE
end

# RuboCop
rubocop_reports = rubocop.lint(inline_comment: true)
if rubocop_reports&.any?
  failure <<~MESSAGE
    There are Rubocop violations that need to be fixed.
  MESSAGE
end

# Brakeman
require 'brakeman'

brakeman = Brakeman.run(app_path: '.')
if brakeman.filtered_warnings&.any?
  brakeman.filtered_warnings.each do |warning|
    failure("**#{warning.check}**: #{warning.message}", file: warning.relative_path, line: warning.line)
  end
end
if brakeman.errors&.any?
  brakeman_message = <<~MESSAGE
    Brakeman failed!
    Errors: #{brakeman.errors.count}
    Warnings: #{brakeman.filtered_warnings.count}
  MESSAGE
  failure brakeman_message
end

if CHANGED_FILES.include?('config/brakeman.ignore')
  warn <<~MESSAGE
    Brakeman ignore config has been updated.
    Don't forget to explain this change in the merge commit message.
  MESSAGE
end

Output from CI job:

$ bundle exec danger --fail-on-errors=true --remove-previous-comments --verbose
Results:

Errors:
- [ ] app/controllers/beer_festivals_controller.rb#L56: **Brakeman::CheckRedirect**: Possible unprotected redirect

Warnings:
- [ ] Brakeman ignore config has been updated.
Don't forget to explain this change in the merge commit message.

Is it possible that plugin isn't using the inline API?

It seems to be… at least, I'm doing the same as it is:
https://github.com/ashfurrow/danger-rubocop/blob/3959cca96dca031a0740576ac22471b80f671b82/lib/danger_plugin.rb#L93

Are you sure they're the same regex etc?
Otherwise it could be that the warnings are outside of the diff, and the APIs for inline comments are only for inside the diff

Yes, that's it — I generated the test by removing a brakeman.ignore entry for that line, rather than adding something that would trigger Brakeman. Adding a comment to the end of the caused it to appear in the diff and things worked as expected. Thanks!

Incidentally, is there a way for the Dangerfile to determine if a given line is part of the diff?
I'd quite like to be able to only show warnings for things that have changed in this MR in the case of things like adding "FIXME" comments, and ignore those that were already there…


Support Finch with AWS CodeBuild

What is the problem you're trying to solve?.
Currently AWS CodeBuild support Docker, but not Finch, as the build container.
Describe the feature you'd like
Finch supported on AWS CodeBuild

Hi @branrin, thanks for trying out Finch. Working to understand your use case better. Can you provide some details to help clarify?
Some initial questions I had:

Is the gap for be able to run AWS CodeBuild local builds using Finch or for AWS CodeBuild to swap to Finch as a container runtime?
If 2, as a AWS CodeBuild user, are they some advantages to using Finch that you are interested to gain?

Hi @austinvazquez

I think the gap here is mostly being able to run AWS CodeBuild local builds using Finch
We are looking to avoid having to pay for Docker licenses going forward and using Finch as the replacement

Thanks for the additional details.
Initial triage
AWS CodeBuild provides a mechanism for testing builds locally using the CodeBuild local agent. See https://github.com/aws/aws-codebuild-docker-images/tree/020c2a44daa209a4fcab13d9eec8023616463498/local_builds.
This enables AWS CodeBuild users to simulate a environment locally to troubleshoot commands and settings in the BuildSpec file and build applications locally before committing changes to build in the cloud.
The CodeBuild local agent simulates the environment by running a Docker container with the Docker socket volume mounted  for Container-in-container mode. (also sometimes referred to as Docker-in-Docker or DinD) See https://github.com/aws/aws-codebuild-docker-images/blob/020c2a44daa209a4fcab13d9eec8023616463498/local_builds/codebuild_build.sh#L100-L105
At this time, Finch does not support container in container mode. Further analysis is required to understand if this is a hard requirement for the AWS CodeBuild local agent or if local builds can be achieved via another method.


PIP Checker: Fix Timecop vs ::ActiveSupport::TimeWithZone issue

Trello cards

#409
#414

Description
It appears to me the main reason this fails (i.e middle_group?),
This is because the 16.year.ago (which is from ActiveSupport::Duration#ago [1])
uses :Time.current [2], which underneath returns ::Time.zone.now.
::Time.zone.now is an instance of ActiveSupport::TimeWithZone which
Timecop [3] appears to ignore.
According to this comment [3] Time.cop only caters for the following:

Date.today
Time.now
DateTime.now

Years (i.e 16.years) is only a measurement of time .. see its
implementation here [4]
This is the reason why it is now important to include pass Date.today
to ago.
[1] https://github.com/rails/rails/blob/03cd88a07221a1511c9d06fe4173052bb5554d0b/activesupport/lib/active_support/duration.rb#L69
[2] https://github.com/rails/rails/blob/b775987e72260233c66080483b3c964f9549d094/activesupport/lib/active_support/core_ext/time/calculations.rb#L45
[3] https://github.com/travisjeffery/timecop/blob/master/lib/timecop/timecop.rb#L10
[4]  https://github.com/rails/rails/blob/b451de0d6de4df6bc66b274cec73b919f823d5ae/activesupport/lib/active_support/core_ext/integer/time.rb#L35

@ikennaokpala  Thank you for fixing it 👍
LGTM


Dirty tracking in Elasticsearch::Persistence::Model?

Is there dirty tracking in Elasticsearch::Persistence::Model?  I tried including ActiveModel::Dirty but to no avail.  I see it a few times in the documentation for Elasticsearch::Model but no actual reference.  As far as I can tell Virtus doesn't have great support for dirty tracking since the assumption is those models are not persisted.
Our ecosystem has multiple clients writing to ElasticSearch, so partial updates are important.  I'd like to adjust the save method on my model to use the partial update API to persist any changes.  This behavior is also similar to mongoid and ActiveRecord, and consistency across libraries would be nice (one can dream, right?).

Hi @jnfeinstein We have plans to deprecate the ActiveRecord pattern (Elasticsearch::Persistence::Model) in the next major version, 6.0.
I recommend checking out the Repository pattern in the Elasticsearch::Persistence gem, as we will focus our future development efforts there.
If you don't mind, I'd like to close this issue as it's unlikely we will work on it. Thanks for your understanding.
Emily


Hide domains for google auth

Expected Behaviour
When exposing oauth2_proxy to the internet we need to not list the domains that are valid to auth with. This is to stop leaking data about which external domains (customers) we are interacting with.
Current Behaviour
Currently the following is printed, leaking details about which accounts are valid:
Authenticate using one of the following domains: @foo.com, @bar.com

Possible Solution
I would propose we add a -banner flag (and associated OAUTH2_PROXY_BANNER env variable) which a custom banner could be set.

@steakunderscore Is this now ok to be closed?


L:167 elif indendation breaks the code in auth-passwd-bbb.py

Hello. Lines 167 and 168 should be pulled by 1 tab or 8 whitespaces:
https://github.com/ichdasich/bbb-rec-perm/blob/master/gl-auth/auth-passwd-bbb.py#L167

fixed.


luci-base: strange section tabs with client-side view after login

Reproduce steps:

Logout
Go to http://<IP_ADDRESS>/cgi-bin/luci/admin/services/test
Login
Result:

This bug is not always reproducible, and it seems that it only occur after login. It doesn't occur by reloading the page. My browser is Google Chrome Version 77.0.3865.90.
I found it's caused by this code:
https://github.com/openwrt/luci/blob/e459683822925bcdeb552673a4811aa3b4322640/modules/luci-base/htdocs/luci-static/resources/ui.js#L2016-L2045
Sometimes the view is loded before this code execute, so that document.querySelectorAll('[data-tab]') selects the tabs.
I guess it's some kind of race condition. There shoule be some restriction to ensure the view is loaded after that.
Code:
/usr/lib/lua/luci/controller/test.lua
module("luci.controller.test", package.seeall)

function index()
	entry({"admin", "services", "test"}, view("test"), _("test")).dependent = true
end

/etc/config/test
config test1
	option opt1 'opt1'

config conf common
	option opt2 'opt2'

config conf conf1
	option opt3 'opt3'

/www/luci-static/resources/view/test.js
'use strict';
'require form';

return L.view.extend({
	render: function() {
		var m, s, o;

		m = new form.Map('test', 'test');

		s = m.section(form.TypedSection, 'test1', 'section');
		s.anonymous = true;

		s.tab('tab1', _('tab1'));
		s.tab('tab2', _('tab2'));

		for (var i = 0; i < 20; ++i) {
			s.taboption('tab1', form.Value, 'opt' + i, 'Opt' + i);
		}

		o = s.taboption('tab2', form.SectionValue, 'common', form.NamedSection, 'common', 'conf', 'tab2');
		s = o.subsection;

		s.option(form.Flag, 'opt', 'opt');

		return m.render();
	}
});

It was quite hard to debug, whenever I added some debugging code, the race condition stopped occurring but now I'm confident that it is solved.

@jow- Thanks for solving!


Do not add smart space after entry is interrupted

It would also be better -- and more consistent -- to ignore smart spacing in the same situations [when entry is interrupted] because currently, e.g. adding a comma into a sentence after moving the caret adds an extra space).
Originally posted by @psoukie in https://github.com/psoukie/zipchord/issues/159#issuecomment-1627771438

Regression in 2.2.
Test case name: interrupts


fargate → lambda の検討

related: https://github.com/aws-samples/bedrock-claude-chat/issues/53

merged


Added ConfigureAwait(false)

In my case everything works good, when i send messages from desctop app. When I try to send message from web app (IIS hosted), SendAsync method hang up. ConfigureAwait(false) solve this problem.

Thanks for your pull request. Just a question, the FcmClient allows to pass in a CancellationToken, which will be passed all the way down to the HttpClient. Can't you pass in a Token with the ConfigureAwait in your situation? 🤔

If it is an MVC or Web API Project, can you use Asynchronous Actions? They should solve the problem effectively, without changing the code base.

You know, I am trying to determine what are the effects of using ConfigureAwait(false) throughout the Code Base. I know the Problem with MVC, because the SynchronizationContext only allows 1 Thread and your await tries to continue on the SynchronizationContext... you are deadlocked.

Hmmmm... I am reading through Stackoverflow Posts (https://stackoverflow.com/a/13489639/513875). I want to evaluate some more libraries and see what's best practice. Thanks for bringing up the issue! In the meantime, let me know if making the Controller Action an Async works for you.

You know, of course I know the problems with ASP.NET and UI Code and where the Deadlocks can occur. The question to me is: What are the downsides of using ConfigureAwait(...) all the way down in the library?

I looked into Microsoft SDKs and they also use ConfigureAwait(...) everywhere. So I will do this aswell, I will update the library and release a new version, when I get back to a Computer.

I've already tried to use async Controller Action before creating pull request. Unfortunately, it didn't solve thr problem. Thank you for the fast response! Will wait for new nuget package

Can you tell me how you call the SendAsync method in your application? I want to add it to the README, so it is clear how to use it in a MVC Context. Do you also add ConfigureAwait(false)?

I have released Version 2.3.0 to NuGet. Please let me know, if it fixes your problems. 👍

@Sverdel Still maybe you can share an example on how you call the library, because it is something a lot of people might now know and it would be worth including a minimal sample in the README. I see that my example on how to do synchronous calls is probably very misleading.

New version fixes my problem. Thanks a lot! I'll send you an example soon

this is simple web api example, where a had deadlock with version 2.2.0. It is strange that in this example async action solve the problem, but in real project it didn't help. Perhaps, i'll make some research in my project later
public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            var configuration = new HttpConfiguration();
            configuration.MapHttpAttributeRoutes();

            app.UseWebApi(configuration);
        }
    }

    [RoutePrefix("v1/test")]
    public class TestController : ApiController
    {
        [HttpGet, Route("")]
        public IHttpActionResult Get()
        {
            // Read the Credentials from a File, which is not under Version Control:
            var settings = new FcmClientSettings("<project id>", "<credentials>");

            // Construct the Client:
            using (var client = new FcmClient(settings))
            {
                // Construct the Data Payload to send:
                var data = new Dictionary<string, string>()
                            {
                                {"A", "B"},
                                {"C", "D"}
                            };
                string registrationId = "<registration id>";

                // The Message should be sent to the given token:
                var message = new FcmMessage()
                {
                    ValidateOnly = false,
                    Message = new Message
                    {
                        Token = registrationId,
                        Data = data
                    }
                };

                // Finally send the Message and wait for the Result:
                CancellationTokenSource cts = new CancellationTokenSource();

                // Send the Message and wait synchronously:
                var result = client.SendAsync(message, cts.Token).GetAwaiter().GetResult();

                return Ok($"Message ID = {result.Name}");
            }
        }
    }

Thanks!

Maybe this is an ASP.NET Core Project? I read, that ASP.NET Core doesn't have a SynchronizationContext anymore, so ConfigureAwait has basically no effect there. If your real project is a MVC5 project, I am quite sure it behaves differently.

No, both projects are MVC5

I have a question. Does the token already include the topic? Because if I set both the token and topic in the Message, I receive an error: "Invalid value at 'message' (oneof), oneof field 'target' is already set. Cannot set 'topic'"
If I set the Topic only, the notification is not received by the device. It works when the Token is set alone.


STORM-1549: [master] Add support for resetting tuple timeout from bolts via the OutputCollector

This is a port of https://github.com/apache/storm/pull/1107 to master.

Looks good to me after the possible NPE is fixed.

Overall things look good.  Just a few minor nits about javadocs and what @abhishekagarwal87 pointed out.

The NPE should be fixed, I've added the missing space to the if, and added a comment to the javadoc about reset timeout being an expensive operation. The comment has also been added to the 1.x-branch version

As all review comments are addressed, will it be merged soon? :-)
We need this feature in the IoT storm topology we're building, where bolts send to unstable external systems and we need at-least-once consistency, so dropping tuples on tuple timeout is bad for us.

@revans2 @abhishekagarwal87 Sorry, didn't notice this had merge conflicts. It should be good to go now though :)

Looks good to me.

LGTM

+1


created BenefitCustomCreateProperties with default note to None

Fix issue #4005
Create a BenefitCustomCreateProperties same as others CreateProperties in schema

Thank you @nareshNishad, but that's not the way it works in our codebase ☺
The schema is auto-generated from actual Python (Pydantic) models. So the changes should rather happen over here: https://github.com/polarsource/polar/blob/07dfb2b56a1473ec3ad041e7c1893a08bcc30e5b/server/polar/benefit/schemas.py#L60

Thanks @frankie567 for guiding, i will make the changes.

@frankie567 updated the code, let me know anything else I can update in it.

@frankie567  Removed schema.json changes.

Took the liberty to fix a small typing issue. Thank you for your help in fixing this @nareshNishad :pray:

Sorry for being negligent about the test case, I will make sure about these in future contributions.


Add field metadata to valueEditor

We have the necessity to change the valueEditor input, depending on some property of the selected field (to a datepicker, or two inputs, or a simple select vs simple input).
We need some kind of information to show the correct input, and as such, we added the metaData when adding a new rule, and when the field is changed, we populate the rule with the metaData of the selected field.
I made a fork from this at https://github.com/rubenbarros-byside/react-querybuilder

Can you not base the valueEditor type on the field and operator alone?  If you need more information about the field, you could maintain that in a separate object or function and read that from your custom valueEditor component.
Something like this:
const getFieldMetaData = field => {
  switch (field) {
    case 'FIELD1':
    case 'FIELD2':
      return 'datepicker';
    case 'FIELD3':
      return 'twoinputs';
    ...
  }
}

const ValueEditor = props => {
  const metaData = getFieldMetaData(props.field);
  switch (metaData) {
    case 'datepicker':
      return <DatePicker />;
    case 'twoinputs':
      return
<input /><input />

    ...
  }
}

Can you show an example of how this metaData prop would be used?

In our scenario it is not possible to have a separate object or function to retrieve that metadata since our available fields are dynamic (with numeric ids) and retrieved by the backend. Even our operator values are based on dynamic info.

@zaphide, I'm still struggling to understand the necessity of a new prop when you can get what you need from an external object or function that's indexed by field.  See my example above.  Can you provide an example where this approach wouldn't work?

Yeah I do agree it's not strictly 100% necessary and there are other ways it can be done but this (to me) feels more of a workaround of something that should be core functionality.
Maybe consider something like a off-the-shelf grid component that supports fully customising the display of the data in each grid cell. Generally, such a component would allow passing the data structure through to the custom render function such that the full object is available for usage (in whatever form it may take) so that a custom render function does not have to call out/back to  to get the full object (via an object key or similar).
I guess the part that is missing from your example is that when the source of the data for the fields is not hard coded, then we need considerably more application infrastructure than I feel should be necessary for providing (easily available) object data into essentially a render function.
I think for me it comes down to 'we have the object, and potentially a need for the whole object, so why not pass everything'. If I was writing this completely from scratch, I would much rather pass the full object to the child component rather than calling back/out to  to get the data.

OK, I think I understand what you're saying.
What if, instead of something specific to the field prop and ValueEditor components, we added a context prop that was passed to every custom component?  The context prop could be anything (any in TypeScript), so you could store your field configuration in there or whatever else you'd need to render the elements.
We use react-querybuilder in conjunction with ag-grid at work, which is where I got the idea.

Yeah I was also going to suggest something similar but didn't want to complicate things :)
We are using office-ui-fabric-react and it generally has a similar data prop that can be used if needed.
Not sure if this would be worthwhile but could also use generics for the Typescript typings, so something like:
interface CommonCustomControlProps<T = any> {
   ...
   context?: T;
}

interface SelectorEditorCustomControlProps<T = any> extends CommonCustomControlProps<T> {...}

interface ValueEditorCustomControlProps<T = any> extends SelectorEditorCustomControlProps<T> {...}

which could then be type-enforced with something like:
export class MyCustomValueEditor extends React.PureComponent<ValueEditorCustomControlProps<string>> {
    constructor(props: ValueEditorCustomControlProps<string>) {
        super(props);

        const myString: string = props.context;
    }
}

Obviously instead of  the  for the context object could be whatever data structure is being used to store/manage fields.
I guess that then leaves what to do with individual operators, as passing custom data to a custom OperatorControl would be worthwhile too I think (both for the selected field, and for each individual operator, as constructed by the getOperators custom function). My use case here is again for tooltips, custom styling etc. per distinct operator.
But regardless, being able to pass via props additional data for fields would be awesome :)

Feel like doing a PR for this?

Sure, I'll put something together and PR it.

@zaphide So... #105 wasn't exactly what I was thinking of, but it's close.  However, I actually took a look at the code today and I think I finally understand what you were saying in this comment about a the fieldData prop.  That's a simpler solution and I think we should go with that.  I'll put a PR together so we can all have a look.

Yeah definitly a simpler (and so generally better) option imo :) I was half way through the other implementation and was thinking it was a lot of work instead of just passing the field object :P

@rubenbarros-byside and @vitorhsb - would you mind taking a look at #107 to see if that meets your requirements?  It adds a new fieldData prop to the ValueEditor and OperatorSelector components that includes the entire field object instead of just the field name.

@jakeboone02 , the PR seems to do what we need.
Thanks @zaphide .


PG::DuplicateTable: ERROR:  relation "accounts" already exists

I am in the page 16 and when I generate the model account:
rails g model account name:string
and run
rake db:migrate
I get an error of duplicating table, the table was already created before and with more columns.
-- create_table(:accounts)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::DuplicateTable: ERROR:  relation "accounts" already exists
: CREATE TABLE "accounts" ("id" serial primary key, "name" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)

And I saw this is with rails 5 and the command is not rake anymore, it's rails db:migrate.
What I need to do now for continuing?
because when I try to run I'm getting this error:
rspec spec/features/accounts/sign_up_spec.rb
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/activerecord-5.0.2/lib/active_record/migration.rb:573:in `check_pending!':  (ActiveRecord::PendingMigrationError)

Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=test

And I try to do what's is recommend and it was no solved.
       bin/rails db:migrate RAILS_ENV=test

I delete the model generated in the folder db. Then I run the:
rspec spec/features/accounts/sign_up_spec.rb
and I have the same error like the ebook:
undefined method `accounts_path' for ...
Failures:

  1) Accounts creating an account
     Failure/Error: <%= simple_form_for(@account) do |account| %>

     ActionView::Template::Error:
       undefined method `accounts_path' for #<#<Class:0x007fd201bd02b0>:0x007fd201b91e20>
       Did you mean?  font_path

so I will try to continue.

Hi again :) The table absolutely shouldn't exist. The only way I can think of it existing is if you had already created the migration. It's hard to know without seeing the codebase itself.
Regarding rake db:migrate and rails db:migrate, they're now interchangeable. rails db:migrate actually ends up calling rake db:migrate.
Regarding the accounts_path method missing, it's likely that you didn't add the accounts route. Again, I don't know for certain as I can't see the code.
Could you please put your version of Twist up on GitHub so that I can see it?
Thanks!

Hello Ryan Bigg, I stop yesterday in the page 18.
So the only problem was for to create the model accounts that already exists. And so the terminal complains that errorPG::DuplicateTable: ERROR:.
So I delete that migration and was posible to continue the book.
The rest I understand very well I just put the results for shows you I'm not anymore with doubt and I'm continuing reading the book successfully.
So I just do the first commit of the book. And I will continue to reading now.
So here is my repository if you want to watch how i'm going:
romenigld/twist
Thank's for reply, have a good day!

Hello Ryan I'm in the page 21 and the tables and columns is already created. So I don't need to do the migrations like in that page:
rails g migration add_owner_id_to_accounts owner_id:integer
my rails console:
Account.column_names
=> ["id",
 "name",
 "created_at",
 "updated_at",
 "owner_id",
 "subdomain",
 "stripe_customer_id",
 "plan_id",
 "stripe_subscription_id",
 "stripe_subscription_status",
 "card_last_4",
 "card_brand",
 "card_expiry_month",
 "card_expiry_year"]

So what you recommend(wait for a new version or continue with this sample)?

So I have a different error on the page 25 when I change the  app/controllers/accounts_controller.rb
for redirect_to root_url(subdomain: account.subdomain)
When I try rspec spec/features/accounts/sign_up_spec.rb
I have a different failure:
F

Failures:

  1) Accounts creating an account
     Failure/Error: expect(page).to have_content("Signed in as<EMAIL_ADDRESS>       expected to find text "Signed in as<EMAIL_ADDRESS>in "Twist | Sign in Create a new account"

the failure expected on the book is in the flash_notice:
Failure/Error: within(".flash_notice") do
Capybara::ElementNotFound:
Unable to find css ".flash_notice"

Which branch did you start with? It looks like you've started with the stripe branch instead of the master branch.

On 1 Apr 2017, at 01:15, Romenig Lima Damasio<EMAIL_ADDRESS>wrote:
Hello Ryan Bigg, I stop yesterday in the page 18.
So the only problem was for to create the model accounts that already exists. And so the terminal complains that errorPG::DuplicateTable: ERROR:.
So I delete that migration and was posible to continue the book.
The rest I understand very well I just put the results for shows you I'm not anymore with doubt and I'm continuing reading the book successfully.
So I just do the first commit of the book. And I will continue to reading now.
So here is my repository if you want to watch how i'm going:
romenigld/twist
Thank's for reply, have a good day!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

was the master I just have this:
git branch
* master

I don't see the create accounts migration. I suspect it may have run twice, but I don't know why. Try to recreate it and then run rake db:reset to reset the state of your database.

So I try this:
$ rails g model account name:string
      invoke  active_record
      create    db/migrate/20170406153248_create_accounts.rb
    conflict    app/models/account.rb
  Overwrite /Users/romenigld/workspace/ebooks/Multitenancy with Rails 2nd Edition/twist/app/models/account.rb? (enter "h" for help) [Ynaqdh] y
       force    app/models/account.rb
      invoke    rspec
      create      spec/models/account_spec.rb
➜  twist git:(master) ✗ rake db:reset
Dropped database 'twist_dev'
Dropped database 'twist_test'
Created database 'twist_dev'
Created database 'twist_test'
-- enable_extension("plpgsql")
   -> 0.0382s
-- create_table("accounts", {:force=>:cascade})
   -> 0.0170s
-- create_table("books", {:force=>:cascade})
   -> 0.0099s
-- create_table("chapters", {:force=>:cascade})
   -> 0.0188s
-- create_table("comments", {:force=>:cascade})
   -> 0.0203s
-- create_table("elements", {:force=>:cascade})
   -> 0.0118s
-- create_table("images", {:force=>:cascade})
   -> 0.0104s
-- create_table("invitations", {:force=>:cascade})
   -> 0.0150s
-- create_table("memberships", {:force=>:cascade})
   -> 0.0114s
-- create_table("notes", {:force=>:cascade})
   -> 0.0110s
-- create_table("plans", {:force=>:cascade})
   -> 0.0051s
-- create_table("subscription_events", {:force=>:cascade})
   -> 0.0128s
-- create_table("users", {:force=>:cascade})
   -> 0.0215s
-- add_foreign_key("accounts", "plans")
   -> 0.0028s
-- add_foreign_key("books", "accounts")
   -> 0.0019s
-- add_foreign_key("invitations", "accounts")
   -> 0.0018s
-- add_foreign_key("memberships", "accounts")
   -> 0.0018s
-- add_foreign_key("memberships", "users")
   -> 0.0021s
-- add_foreign_key("subscription_events", "accounts")
   -> 0.0017s
-- initialize_schema_migrations_table()
   -> 0.0045s
-- enable_extension("plpgsql")
   -> 0.0359s
-- create_table("accounts", {:force=>:cascade})
   -> 0.0270s
-- create_table("books", {:force=>:cascade})
   -> 0.0192s
-- create_table("chapters", {:force=>:cascade})
   -> 0.0231s
-- create_table("comments", {:force=>:cascade})
   -> 0.0118s
-- create_table("elements", {:force=>:cascade})
   -> 0.0157s
-- create_table("images", {:force=>:cascade})
   -> 0.0111s
-- create_table("invitations", {:force=>:cascade})
   -> 0.0259s
-- create_table("memberships", {:force=>:cascade})
   -> 0.0138s
-- create_table("notes", {:force=>:cascade})
   -> 0.0186s
-- create_table("plans", {:force=>:cascade})
   -> 0.0056s
-- create_table("subscription_events", {:force=>:cascade})
   -> 0.0122s
-- create_table("users", {:force=>:cascade})
   -> 0.0208s
-- add_foreign_key("accounts", "plans")
   -> 0.0072s
-- add_foreign_key("books", "accounts")
   -> 0.0035s
-- add_foreign_key("invitations", "accounts")
   -> 0.0019s
-- add_foreign_key("memberships", "accounts")
   -> 0.0017s
-- add_foreign_key("memberships", "users")
   -> 0.0016s
-- add_foreign_key("subscription_events", "accounts")
   -> 0.0019s
-- initialize_schema_migrations_table()
   -> 0.0041s
You have 1 pending migration:
<PHONE_NUMBER>3248 CreateAccounts
Run `rails db:migrate` to update your database then try again.
➜  twist git:(master) ✗ rails db:migrate
==<PHONE_NUMBER>3248 CreateAccounts: migrating ===================================
-- create_table(:accounts)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::DuplicateTable: ERROR:  relation "accounts" already exists
: CREATE TABLE "accounts" ("id" serial primary key, "name" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)

At this point you definitely shouldn't have the accounts, invitations or subscription events tables already. Can you please show me the git log of the last few commits, up to and including the most recent one of mine that you have there?

On 7 Apr 2017, at 01:35, Romenig Lima Damasio<EMAIL_ADDRESS>wrote:
So I try this:
$ rails g model account name:string
invoke  active_record
create    db/migrate/20170406153248_create_accounts.rb
conflict    app/models/account.rb
Overwrite /Users/romenigld/workspace/ebooks/Multitenancy with Rails 2nd Edition/twist/app/models/account.rb? (enter "h" for help) [Ynaqdh] y
force    app/models/account.rb
invoke    rspec
create      spec/models/account_spec.rb
➜  twist git:(master) ✗ rake db:reset
Dropped database 'twist_dev'
Dropped database 'twist_test'
Created database 'twist_dev'
Created database 'twist_test'
-- enable_extension("plpgsql")
-> 0.0382s
-- create_table("accounts", {:force=>:cascade})
-> 0.0170s
-- create_table("books", {:force=>:cascade})
-> 0.0099s
-- create_table("chapters", {:force=>:cascade})
-> 0.0188s
-- create_table("comments", {:force=>:cascade})
-> 0.0203s
-- create_table("elements", {:force=>:cascade})
-> 0.0118s
-- create_table("images", {:force=>:cascade})
-> 0.0104s
-- create_table("invitations", {:force=>:cascade})
-> 0.0150s
-- create_table("memberships", {:force=>:cascade})
-> 0.0114s
-- create_table("notes", {:force=>:cascade})
-> 0.0110s
-- create_table("plans", {:force=>:cascade})
-> 0.0051s
-- create_table("subscription_events", {:force=>:cascade})
-> 0.0128s
-- create_table("users", {:force=>:cascade})
-> 0.0215s
-- add_foreign_key("accounts", "plans")
-> 0.0028s
-- add_foreign_key("books", "accounts")
-> 0.0019s
-- add_foreign_key("invitations", "accounts")
-> 0.0018s
-- add_foreign_key("memberships", "accounts")
-> 0.0018s
-- add_foreign_key("memberships", "users")
-> 0.0021s
-- add_foreign_key("subscription_events", "accounts")
-> 0.0017s
-- initialize_schema_migrations_table()
-> 0.0045s
-- enable_extension("plpgsql")
-> 0.0359s
-- create_table("accounts", {:force=>:cascade})
-> 0.0270s
-- create_table("books", {:force=>:cascade})
-> 0.0192s
-- create_table("chapters", {:force=>:cascade})
-> 0.0231s
-- create_table("comments", {:force=>:cascade})
-> 0.0118s
-- create_table("elements", {:force=>:cascade})
-> 0.0157s
-- create_table("images", {:force=>:cascade})
-> 0.0111s
-- create_table("invitations", {:force=>:cascade})
-> 0.0259s
-- create_table("memberships", {:force=>:cascade})
-> 0.0138s
-- create_table("notes", {:force=>:cascade})
-> 0.0186s
-- create_table("plans", {:force=>:cascade})
-> 0.0056s
-- create_table("subscription_events", {:force=>:cascade})
-> 0.0122s
-- create_table("users", {:force=>:cascade})
-> 0.0208s
-- add_foreign_key("accounts", "plans")
-> 0.0072s
-- add_foreign_key("books", "accounts")
-> 0.0035s
-- add_foreign_key("invitations", "accounts")
-> 0.0019s
-- add_foreign_key("memberships", "accounts")
-> 0.0017s
-- add_foreign_key("memberships", "users")
-> 0.0016s
-- add_foreign_key("subscription_events", "accounts")
-> 0.0019s
-- initialize_schema_migrations_table()
-> 0.0041s
You have 1 pending migration:
20170406153248 CreateAccounts
Run rails db:migrate to update your database then try again.
➜  twist git:(master) ✗ rails db:migrate
==<PHONE_NUMBER>3248 CreateAccounts: migrating ===================================
-- create_table(:accounts)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::DuplicateTable: ERROR:  relation "accounts" already exists
: CREATE TABLE "accounts" ("id" serial primary key, "name" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Which kind of git log you want? this git log --oneline serves?
$ git log --oneline

9d9f781 Accounts are now linked to owners
3363995 Added accounts
d1065a1 Escape paths in Git using Shellwords
178fc6a Use rm_rf to delete markdown_book_test directory in tests
a44ab25 Bump Rails to 5.0.2
883d079 Sign out via delete
bfb1396 Merge branch 'rails-5-upgrade'
aae0e87 Bump Ruby + Bundler versions
a68ece6 Add silence_stream to Git.rb
fe253b8 Bump Rails dependencies
62d24c6 Bump rake version
2c0e86e Enable Pygments highlighting in all envs
8c88d31 Uncomment git.update
b14f9ec Space out ols and uls
f9ad22b Merge pull request #12 from zhaqiang/remove-unnecessary-private-keyword
bcf8867 Remove unnecessary private keyword
f107303 Bump Ruby version
ca6b1a5 Deal with deprecation warnings
5726e03 Use right method for sign out link
a4d3d67 Update capybara
db89b23 Update stylesheets
8af149a Remove deprecated silence methods from git.rb
b6adf09 Rails 5 update config
acd639d before_filter -> before_action
d8feff0 replace serve_static_file and static_cache_control in test.rb
62cf185 Define versions in migrations
3ff6362 update binstubs
4b14c5d Update schema
f126b4c Update dependencies
3cdfbb9 Make tests faster by not calling Pygments in them
a898270 Remove 'account' column from books + invitations table from schema
e32a12f Do not require_tree in application.js
b51f135 Add logo
9ad6812 Style asides and tips the same way
43295a0 Add support for ch2 in markdown book test to book_spec
fc51565 Ensure chapter navigation works
e636c7e Move previous / next chapter logic into Chapter model
28760a7 Fix previous / next chapter links
f0e353b Reduce letter spacing so that code examples are less-likely to overflow
eced203 Fix markdown chapter process specs
5ca08e3 Correct chapter spec tests
:

Sorry about that. Could you please pull from my repository again? I realised that my db/schema.rb contained the tables from MTWR, which is another failure on my behalf. This only becomes a problem when someone runs rake db:reset, which is what you're doing.
e64d144 is the commit which should fix this up.

Don't worry Ryan, I will do that.
And other thing's I saw some bit problem's like a link not working.
Should I inform you here to help you??
Have a great weekend, Thank's!

Yes please tell me about the link that doesn't work

On 7 Apr 2017, at 20:11, Romenig Lima Damasio<EMAIL_ADDRESS>wrote:
Don't worry Ryan, I will do that.
And other thing's I saw some bit problem's like a link not working.
Should I inform you here to help you??
Have a great weekend, Thank's!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Page 9 in the part "If you get stuck...":
link https://github.com/radar/twist/tree/mtwr-walkthrough

And another thing I will delete the twist app. I need to drop the table or do something with database before delete??

And another question what you recommend for me to push the twist app for my repository?
the other time I do with the
 git remote set-url origin http://github.com/my_user/my_repos
But I notice the original app has sometimes updates and I want to have them.
Then it's better I do this with what type of ways?:
git remote add personal http://github.com/my_user/my_repos
or with upstream:
$ git remote rename origin upstream
$ git remote add origin http://github.com/my_user/my_repos

I watched this information here. If you knows what is better for do this I will appreciate!

other error is the page 16 the correct error for show is this:
 Failure/Error: @account = Account.new

     NameError:
       uninitialized constant AccountsController::Account

and not:
  Failure/Error: click_link "Create a new account"

In that page 16 I'm having the same problems that the account already exists, maybe it's the other time.
rake db:migrate
==<PHONE_NUMBER>2118 CreateAccounts: migrating ===================================
-- create_table(:accounts)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::DuplicateTable: ERROR:  relation "accounts" already exists
: CREATE TABLE "accounts" ("id" serial primary key, "name" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)

So I try the rake db:reset  and work's successfully!
rake db:reset
Dropped database 'twist_dev'
Dropped database 'twist_test'
Created database 'twist_dev'
Created database 'twist_test'
-- enable_extension("plpgsql")
   -> 0.0358s
-- create_table("books", {:force=>:cascade})
   -> 0.0091s
-- create_table("chapters", {:force=>:cascade})
   -> 0.0147s
-- create_table("comments", {:force=>:cascade})
   -> 0.0084s
-- create_table("elements", {:force=>:cascade})
   -> 0.0087s
-- create_table("images", {:force=>:cascade})
   -> 0.0088s
-- create_table("notes", {:force=>:cascade})
   -> 0.0167s
-- create_table("users", {:force=>:cascade})
   -> 0.0141s
-- initialize_schema_migrations_table()
   -> 0.0041s
-- enable_extension("plpgsql")
   -> 0.0383s
-- create_table("books", {:force=>:cascade})
   -> 0.0072s
-- create_table("chapters", {:force=>:cascade})
   -> 0.0164s
-- create_table("comments", {:force=>:cascade})
   -> 0.0080s
-- create_table("elements", {:force=>:cascade})
   -> 0.0109s
-- create_table("images", {:force=>:cascade})
   -> 0.0084s
-- create_table("notes", {:force=>:cascade})
   -> 0.0079s
-- create_table("users", {:force=>:cascade})
   -> 0.0139s
-- initialize_schema_migrations_table()
   -> 0.0036s
You have 1 pending migration:
<PHONE_NUMBER>2118 CreateAccounts
Run `rails db:migrate` to update your database then try again.
➜  twist git:(master) ✗ rake db:migrate
==<PHONE_NUMBER>2118 CreateAccounts: migrating ===================================
-- create_table(:accounts)
   -> 0.0161s
==<PHONE_NUMBER>2118 CreateAccounts: migrated (0.0161s) ==========================

So when I try to run the rspec command I have this error:
rspec spec/features/accounts/sign_up_spec.rb
rails aborted!
ActiveRecord::EnvironmentMismatchError: You are attempting to modify a database that was last run in `development` environment.
You are running in `test` environment. If you are sure you want to continue, first set the environment using:

        bin/rails db:environment:set RAILS_ENV=test

/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/activerecord-5.0.2/lib/active_record/tasks/database_tasks.rb:55:in `check_protected_environments!'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/activerecord-5.0.2/lib/active_record/railties/databases.rake:11:in `block (2 levels) in <top (required)>'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/activerecord-5.0.2/lib/active_record/railties/databases.rake:375:in `block (3 levels) in <top (required)>'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/railties-5.0.2/lib/rails/commands/rake_proxy.rb:14:in `block in run_rake_task'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/railties-5.0.2/lib/rails/commands/rake_proxy.rb:11:in `run_rake_task'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:51:in `run_command!'
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/railties-5.0.2/lib/rails/commands.rb:18:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:test:load => db:test:purge => db:check_protected_environments
(See full trace by running task with --trace)
/Users/romenigld/.rvm/gems/ruby-2.3.3/gems/activerecord-5.0.2/lib/active_record/migration.rb:573:in `check_pending!':  (ActiveRecord::PendingMigrationError)

Migrations are pending. To resolve this issue, run:

        bin/rails db:migrate RAILS_ENV=test

So I run this what complained me and works:
bin/rails db:environment:set RAILS_ENV=test
➜  twist git:(master) ✗ rspec spec/features/accounts/sign_up_spec.rb
F

Failures:

  1)  Accounts creating an account
     Failure/Error: <%= simple_form_for(@account) do |account| %>

     ActionView::Template::Error:
       undefined method `accounts_path' for #<#<Class:0x007fe287906e58>:0x007fe2878f4758>
       Did you mean?  font_path

And another thing I will delete the twist app for pull again the code.
I need to drop the table or do something with database before delete??

Running rake db:reset will do this for you.

The "undefined method" error is expected. The book says to fix this you need to define a route:
post "/accounts", to: "accounts#create", as: :accounts

Regarding repo config:
git remote add personal git@github.com:romenigld/twist

This is what I would recommend you do, then git push personal master

No, you don't understand me sorry, look on the page 16 has this:
 Failure/Error: click_link "Create a new account"
   NameError:
     uninitialized constant AccountsController::Account

the correct error for the ebook on page 16 is this error:
Failure/Error: @account = Account.new
 NameError:
     uninitialized constant AccountsController::Account

You're right here that the error message is different. I saw it myself tonight during my read through. I have fixed it up in my local copy now, and you'll see the fix when I publish a new edition in a few weeks time.

On 8 Apr 2017, at 21:05, Romenig Lima Damasio<EMAIL_ADDRESS>wrote:
No, you don't understand me sorry, look on the page 16 has this:
Failure/Error: click_link "Create a new account"
NameError:
uninitialized constant AccountsController::Account
the correct error for the ebook on page 16 is this error:
Failure/Error: @account = Account.new
NameError:
uninitialized constant AccountsController::Account
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I should really reconfigure my email so that I use the right user...


Plan to v0.10.0

We are planning to bump up Digdag version from 0.9.xx to 0.10.0.
In this version we have some major changes with some incompatibility.
Some of them are as follows.

AccessController SPI for authorization
CommandExecutor SPI and the implementation for Amazon ECS and Kubernetes
DigdagMetrics SPI for monitoring

You can confirm them in v0_10 branch.
The release note for v0.10.0 will be written later.
The schedule is not clear but we hope we can release v0.10.0 after 0.9.40 or 0.9.41 in this fall.

The plan had been changed.
We are preparing for the release v0.10.0 but not yet decided the schedule.


Fix code scanning alert - Inefficient regular expression

Tracking issue for:

[x] https://github.com/rami-HP/desktop/security/code-scanning/330

git fetch origin
git checkout 31-fix-code-scanning-alert-inefficient-regular-expression


"Kap" can't be opened because the identity of the developer cannot be confirmed. | after brew install

macOS version: 10.13.6
Kap version: 3.2.2
Steps to reproduce

brew cask install kap
Try to open the app

I don't have the open to "open anyway" in my settings so it seems as though I just can't use the app.
Current behaviour
App won't open
Expected behaviour
App opens
Screenshot:

We have had reports of issues with installations via Homebrew Cask in the past, while we take another look, are you able to download and open it as expected via getkap.co?

I only tried homebrew after downloading the dmg had the same issue.

Can you try right-click -> open? Sometimes that helps

Just tried and that didn't help

@RayBB Can you uninstall then re-install and post the raw brew logs?
brew uninstall kap
brew cask install kap

Especially the downloading source url

RaymBe3-SYS:~ 2$ brew cask uninstall kap
==> Uninstalling Cask kap
==> Backing App 'Kap.app' up to '/usr/local/Caskroom/kap/3.2.2/Kap.app'.
==> Removing App '/Applications/Kap.app'.
==> Purging files for version 3.2.2 of Cask kap
RaymBe3-SYS:~ 2$ brew cask install kap
==> Downloading https://github.com/wulkano/kap/releases/download/v3.2.2/Kap-3.2.
Already downloaded: /Users/210118/Library/Caches/Homebrew/downloads/219efe4e664569aaad7578e4874d885f28a1e93ecd1072f6599d14e66af807e9--Kap-3.2.2.dmg
==> Verifying SHA-256 checksum for Cask 'kap'.
==> Installing Cask kap
==> Moving App 'Kap.app' to '/Applications/Kap.app'.
🍺  kap was successfully installed!

Thanks, and can you get the sha of the binary?
shasum /Users/210118/Library/Caches/Homebrew/downloads/219efe4e664569aaad7578e4874d885f28a1e93ecd1072f6599d14e66af807e9--Kap-3.2.2.dmg

a8f1e627b2ee12c2c812cdb6a7a70f67bf3edf28
/Users/2/Library/Caches/Homebrew/downloads/219efe4e664569aaad7578e4874d885f28a1e93ecd1072f6599d14e66af807e9--Kap-3.2.2.dmg
On Fri, May 8, 2020 at 11:18 AM Steve Lacy<EMAIL_ADDRESS>wrote:

Thanks, and can you get the sha of the binary?
shasum /Users/210118/Library/Caches/Homebrew/downloads/219efe4e664569aaad7578e4874d885f28a1e93ecd1072f6599d14e66af807e9--Kap-3.2.2.dmg
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wulkano/kap/issues/845#issuecomment-625866073, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHA5AOEM3EXXGYA3YTX4V3RQQPDXANCNFSM4M22M4AQ
.

a8f1e627b2ee12c2c812cdb6a7a70f67bf3edf28  /Users/210118/Library/Caches/Homebrew/downloads/219efe4e664569aaad7578e4874d885f28a1e93ecd1072f6599d14e66af807e9--Kap-3.2.2.dmg

Quick workaround is to try opening the binary again then go to System Preferences > Security & Privacy and then allow Kap to run with Open Anyway

I would do that but I don't have that option. I suspect it's due to my this work computer being locked down for security. Anyway, this isn't a rush for me personally but wanted to flag it in case it's going to be an issue for others too.

I have the same problem, workaround it opening Kap from terminal:
alias kap="~/Applications/Kap.app/Contents/MacOS/Kap"


Update default command to call start-notebook.sh

All the recent jupyter docker images have a default command start-notebook.sh. The main function of this command appears to be to launch the notebook as the user jovyan, rather than as root.
However, orchestrate.py defaults to running ipython notebook, which (aside from being out of date) bypasses this command, and leaves the notebook server running as root. Although running as root inside a docker container is not as serious as on the host, it's definitely not best-practice security.
Attempting to pass start-notebook.sh as the --command option to orchestrate.py causes an error with su not recognising the --ip=<IP_ADDRESS> option. I presume this means that something is being escaped incorrectly, but I'm not sure what.
I think the ideal solution would be that start-notebook.sh is called by default, but in the mean-time I'd welcome a temporary solution so I can override this manually.

The playbook for the tmpnb.org site sets the command like so:
https://github.com/jupyter/tmpnb-deploy/blob/master/vars.yml#L10

We should definitely change our docs to reflect the current startup setup, possibly the defaults too.

In fact, the default command rendered by tmpnb should either be that shell script with args or jupyter notebook.


Concurrency to avoid memory leak

Current:
let consumer = Consumer.create({
    queueUrl: 'https://sqs.us-east-1.amazonxxxxxxxxxxxxxs',
    handleMessage: (message, done) => {
        console.log("PARSING: ", message.Body)
        puppeteer.launch({
            ignoreHTTPSErrors: true
        }).then(async browser => {
            let page = await browser.newPage();
            await page.goto(message.Body);
               ...
        }).catch(err => done(err))
    }
});

consumer.start();

When I attempt to move the puppeteer init outside the consumer, I can't access the browser variable from the scope of the handleMessage function. The above code results in many windows being spun up and eventually leaking memory. Any ideas?
Consumer is consuming a AWS SQS feed, for context.

@diit you should either close the browser after you finished working with it, or you should reuse the same browser instance and close the page.
For example:
let browserPromise = puppeteer.launch({
  ignoreHTTPSErrors: true
});
let consumer = Consumer.create({
    queueUrl: 'https://sqs.us-east-1.amazonxxxxxxxxxxxxxs',
    handleMessage: (message, done) => {
        console.log("PARSING: ", message.Body)
        browserPromise.then(async browser => {
            let page = await browser.newPage();
            await page.goto(message.Body);
               ...
            await page.close(); // <== Make sure to close page after you're done to not leak anything
        }).catch(err => done(err))
    }
});

consumer.start();


Stop memoizing plugin calls

Description
Plugin calls are currently memoized: calling a plugin function twice with the same set of arguments will only actually invoke the function once—the result is cached during the first call and retrieved from the cache during the second call. This is fine for pure functions, but WebAssembly does not require that functions be pure and allows mutable global data in the form of memories, tables, and mutable global variables.
This behavior was intentionally introduced in 5df550f. I believe this should be changed for two reasons:

It's counterintuitive. When you have functions that read and write from their module's state, it's pretty confusing when a function only sometimes works as expected (when you call the function with a set of args that it hasn't been called with before) and sometimes doesn't. There's no documentation suggesting that this behavior exists.
It's restrictive. I know that, as explained in the docs for state, having traditional global data is problematic in Typst, but I believe there are uses for it that don't have these issues like debug tools. Creating a plugin seems like the perfect avenue for implementing such tools for Typst, and using "global state is weird with typesetting" as a justification for keeping such restrictions on a system intended for advanced users that otherwise does not adhere to the typical rules of Typst would feel strange, in my opinion.

Of course, performance is a very valid reason to keep the existing behavior, so perhaps a middle-ground option where plugins or plugin function calls can opt in or out of memoization would be ideal. For instance:
#let plugin = plugin("plugin.wasm")
#plugin.foo(bytes("bar"), memoize: false)
// or...
#plugin.foo(bytes("bar"), pure: false)

// or...

#let plugin = plugin("plugin.wasm", memoize /* or pure */: false)
#plugin.foo(bytes("bar"))

If a solution like this isn't possible, I still think for the reasons above that it's a worthy trade-off. Plugin function calls are already quite efficient and have minimal overhead (for instance, I tried 100,000 identical diagraph.render calls with and without memoization on Typst 0.8.0 and both took 1-2 seconds on my Mac14,9) and further optimizations could theoretically be made on the Wasm interpreter level.
Other alternative solutions include:

Enforcing pure functions to prevent inconsistent behavior resulting from memoization
Documenting the behavior resulting from memoization on the plugin page

But these would only improve the intuitiveness without solving the restrictiveness.
Use Case
As mentioned above, one specific use case (which is my personal use case) is tools for debugging Typst documents, but this would benefit anyone using plugins with non-pure functions. Many non-Typst-specific programs that could otherwise be ported to Typst via plugins would have to deal with the strange effects of this behavior, should it not be changed.

I indeed forgot to document this. That said, the fix is likely changing the docs, not the semantics. Fundamentally, plugin function must be pure. The reason for this is not just that they can be memoized themselves, it is fundamentally important because Typst functions must be pure (which is enforced in the language) and since Typst functions can call plugin functions, these must be pure, too. Even if a plugin function wasn't memoized, it would be immediately memoized one level up because Typst functions are memoized. Purity is absolutely central for Typst, not just because of "global state is weird with typesetting", but also because of incremental compilation. Providing a memoize: false escape hatch doesn't help because it breaks memoization at all higher levels of the hierarchy.

Thanks for the explanation! I figured the lack of memoization would propagate up to the Typst functions invoking the plugin functions (and so forth), but that makes total sense and I apologize for not checking beforehand.
I'll leave the issue open since it seems like the lack of documentation is still a valid issue.


How to setup PtP tunnel

You module seems to be very oriented towards connecting two networks via an IPSec tunnel. What I'm trying to do is encrypt the traffic between two hosts only. I'm a little unsure of how to do that with your module. Any tips?

This module puppet is design to setup strongswan which is design to establish IPsec tunneling.
If you only wish to encrypt data between two computer in the same network, it works but it is perhaps not the best solution.
If you wish to setup PTP tunnel (as you refer to this in the title), you can't do it with this module.


Revert "Add the details of the column, relationship."

Reverts ATOMScience-org/AMPL#99
After merging the pull request #99, the following Colab notebook couldn't be loaded properly in the GitHub.
https://github.com/ATOMScience-org/AMPL/blob/master/atomsci/ddm/examples/tutorials/05_EDA_Curate_Merge_Visualize.ipynb
To avoid such issues, the admins may first open the original notebook in Colab, make changes, and save a copy of the revised notebook back to the GitHub.

Hi, I agree, we need to open the notebook in GitHub to make sure its properly formed. I've fixed the error in PR 103, so I'm going to close this PR.
Thanks!


Issue in ComprehensionTemplate and MatchTemplate.

If the user deletes meta data in Comprehension or Match template the options are still there.
I suggest that if the user delets meta data the options for that meta data are also deleted.
Because if the user wants to edit the meta he can do so by using button in toolbar, but deleting probably means that he wants to delete the whole question.

@opticod
I am making a PR for this.

No, its not a problem. If user deletes meta data, then the options can exists. Though the project cannot be saved without meta details, and will be asked for it.

@opticod
What I am trying to say is that if the user wants to edit the meta data he/she has the option to do that.
But deleting metadata probably means that user wants to delete the complete question.
Currently - If the user want to delete the complete question he has to first delete the metadata and then all the options individually.
If this is implemented then it becomes easier for user to delete the data.

@opticod
just let me know if you find its ok to implement this functionality.

Ok, it got it now. Then, while deleting the meta data, we can ask the user in dialog box, if he also wants to delete the questions.

@opticod
I don't think adding a dialog box to delete metadata is a good option.
There are following cases that can arise

User wants to edit metadata. (He can do it using edit buttons provided.)
User wants to delete the question. (He has to delete all options and then metadata.)

Letting the user just delete the metadata is illogical. He can edit it.
Deleting metadata means he wants to delete complete question.
Anyway, If you still think we should add the dialog box, I will do that.

@free4murad, if we don't keep the dialog box, then accidentally an user can loose his/ her all questions, It will be good to confirm from the user before deleting all the questions at a go.