Using asio::composed

Async.MQTT5 addresses this by using a construct that launches composed operations via the
lower-level async_initiate. Once launched, the composed operation serially runs intermediate
asynchronous operations, supplying itself as the completion handler for each. However, for each
intermediate operation, the composed operation defines a unique operator() overload with a
type-distinct first argument, while the remaining argument types match the expected signature for
each intermediate operation’s completion handler. The correct operator() overload is then
selected by binding this distinct first argument to an instance of its respective type.

Isn't this possible even with composed operations?
https://godbolt.org/z/xx1o8Ghxa
#include <boost/asio.hpp>

namespace asio = boost::asio;

struct async_echo_implementation
{
    asio::ip::tcp::socket& socket_;
    asio::mutable_buffer buffer_;

    struct starting{};
    struct reading{};
    struct writing{};

    template<typename Self>
    void
    operator()(Self& self, starting)
    {
        socket_.async_read_some(
            buffer_, asio::prepend(std::move(self), reading{}));
    }

    template<typename Self>
    void
    operator()(
        Self& self,
        reading,
        boost::system::error_code error,
        std::size_t n)
    {
        if(error)
        {
            self.complete(error, 0);
        }
        else
        {
            asio::async_write(
                socket_,
                buffer_,
                asio::transfer_exactly(n),
                asio::prepend(std::move(self), writing{}));
        }
    }
    template<typename Self>
    void
    operator()(
        Self& self,
        writing,
        boost::system::error_code error,
        std::size_t n)
    {
        self.complete(error, n);
    }
};

template<typename CompletionToken>
auto
async_echo(
    asio::ip::tcp::socket& socket,
    asio::mutable_buffer buffer,
    CompletionToken&& token)
{
    return asio::async_initiate<
        CompletionToken,
        void(boost::system::error_code, std::size_t)>(
        asio::composed(async_echo_implementation{ socket, buffer }, socket),
        token,
        async_echo_implementation::starting{});
}

int
main()
{
    asio::io_context ioc;
    asio::ip::tcp::socket socket{ ioc };

    async_echo(socket, asio::mutable_buffer{}, asio::detached);
    ioc.run();
}

async_compose can leverage the same asio::prepend/append trick we use. However, with async_compose, you don't control how the executor, allocator, and cancellation slot are propagated to lower async operations. async_compose will pass to lower async operations the executor, allocator, and cancellation slot that were attached (if any) to the outer completion token. Sometimes, this is not desirable, as you may want to control, for example, which cancellation slot gets propagated to the lower async operation.
This is especially important when you need to implement a "total cancellation" type, where you may not want to immediately cancel a lower async_write operation but instead cancel the outer handle while allowing the underlying operation to continue. This scenario is particularly relevant in the case of total cancellation, such as with WebSocket. The same happens with MQTT—you must finish the conversation cleanly with the broker, even if someone abruptly cancels the PUBLISH operation in the middle of its execution.
The ability to control exactly what is propagated to lower-level async operations is the main reason we use async_initiate instead of async_compose. In many cases within the Async.MQTT5 library, async_compose and async_initiate result in the same behavior, but they differ in key areas. We use async_initiate to maintain consistency throughout.

Thanks for the explanation. That really cleared things up.


Does This Work?

Is this still being maintained? or is there any other solution for Google Login?

I havent worked on it in a long time but I am sure it shouldnt be too hard to adapt to the latest payload


Supports IntelliJ PathMacro like $PROJECT_DIR$

Supports IntelliJ PathMacro like $PROJECT_DIR$ in environment variable values. It allows the user to write TEST=$PROJECT_DIR$/test.txt in his env file instead of TEST=/path/to/project/test.txt
PathMacroManager was found at https://intellij-support.jetbrains.com/hc/en-us/community/posts/206781805-Working-with-PROJECT-DIR-in-plugin-configuration-options

Why is this needed given that EnvFile supports relative paths?

I need to set an environment variable containing absolute paths to some of my project files (for instance TEST=$PROJECT_DIR$/test.txt). Do you mean it's already possible to do that with the plugin ?

And by the way, the only two interesting lines in the Pull Request are:
PathMacroManager macroManager = PathMacroManager.getInstance(project);
String inlinedEnvVar = macroManager.expandPath(envVar);

They could be moved to EnvFileConfigurationEditor if you want to keep core as simple as possible.

Yes, I was trying to keep core free from dependencies on JetBrains platform. Not sure if it's wort it in long run though.
I wonder if such a feature should be optional so that those who don't want macros to be expanded can opt out (e.g., they need to set value of an env var to $PROJECT_DIR$) as it is with substitution.
And while we're discussing this, given that you mentioned that such macros are processed in run configuration env vars I believe you can set an env var PROJECT_DIR=$PROJECT_DIR$ on run configuration tab and then rely on env var substitution and just refer to ${PROJECT_DIR} in your env var files to get the absolute path as a workaround.

The PR looks good to me!
I have 2 concerns though that I'd like to discuss with you.

For people using .env files not only with JetBrains IDEs but with other tools like foreman/honcho the concept of "path macro" can be foreign and therefore I'm not sure it's a good idea to enable it by default. I'd rather kept it turned off by default. It's always possible to adjust default value in run configuration templates.
We perform env var substitution on every step in a loop but macro substitution only once at the very end. Should we move it into the loop so that we would perform it each time after a file entry was processed?

So:

Just updated the PR
Moving the path macro substitution inside the file entry loop would be less optimized than the current solution (as we would re-substitute every env variables on each file entry) and doesn't change the functional behavior. So I don't think it's really useful to do it. But if you really want I still can update this part of the code. In any cases there's not much difference.

Thanks!
With regards your 2nd point, I can imagine a situation like this:
1st file defines ROOT=%PROJECT_DIR%
2nd file defines CONFIG_DIR=${ROOT}/etc
3rd file defines SOME_CONFIG_FILE=${CONFIG_DIR}/my.conf
This would not work with current implementation but will be processed as expected if we will move macros expansion into the loop. I don't think we need to worry about optimizations here as it's relatively cheap operation and it's not like we're chasing milliseconds here.

Ugh, you're right, I missed that. Thanks!
OK, last thing before merging the PR - would you mind adding yourself to AUTHORS.md?

Done
ps: I just added my last name, my name was already in AUTHORS.md ;)

You're welcome ! :)

By the way, when do you think release and publish the last modifications ?

Ok! Thank you!


Logout and permission

Adding permissions.

@JReed21 Logout and thumbnail computation were added in other PRs--can you update yours just to have the permissions?


Backstage - Architectural Improvement Planning

Breaking the files by reponsability creating specific folders
Use SDK lib for health check, graceful shutdown, etc.
Analyze cache
Is necessary table creation?
Unit tests - use dependency injection


No errors shown with either ALE or Syntastic

Hello,
I am facing an issue were I can only see little errors like missing matching braces, but not errors like undefined identifiers.
My system: Ubuntu 18.04, Vim 8.0 with Python3
I use the following code to test:
using System;
namespace HelloWorld
{
    class Hello
    {
        static void Main()
        {
            Console.WriteLine(test);
        }
    }
}

My test vimrc for ALE:
set nocompatible              " be iMproved, required
filetype off                  " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'w0rp/ale'
Plugin 'OmniSharp/omnisharp-vim'

call vundle#end()            " required
filetype plugin indent on    " required

let g:OmniSharp_loglevel = 'debug'

let g:ale_linters = {
\ 'cs': ['OmniSharp']
\}

This is what I see in the python log after opening the file (I replaced the full path with <<SECRET>> while making this issue, in the logs it is the correct path):
2019-05-20 20:17:13,020 INFO Request: http://localhost:46135/checkalivestatus
2019-05-20 20:17:13,021 DEBUG b'{"line": 1, "column": 1, "buffer": "using System;\\r\\nnamespace HelloWorld\\r\\n{\\r\\n    class Hello\\r\\n    {\\r\\n        static void Main()\\r\\n        {\\r\\n            Console.WriteLine(test);\\r\\n        }\\r\\n    }\\r\\n}", "filename": "/home/<<SECRET>>/Test.cs"}'
2019-05-20 20:17:13,176 INFO Received Response: http://localhost:46135/checkalivestatus
2019-05-20 20:17:13,176 DEBUG true
2019-05-20 20:17:13,178 INFO Request: http://localhost:46135/updatebuffer
2019-05-20 20:17:13,179 DEBUG b'{"line": 1, "column": 1, "buffer": "using System;\\r\\nnamespace HelloWorld\\r\\n{\\r\\n    class Hello\\r\\n    {\\r\\n        static void Main()\\r\\n        {\\r\\n            Console.WriteLine(test);\\r\\n        }\\r\\n    }\\r\\n}", "filename": "/home/<<SECRET>>/Test.cs"}'
2019-05-20 20:17:13,361 INFO Received Response: http://localhost:46135/updatebuffer
2019-05-20 20:17:13,361 DEBUG true

ALEInfo gives me the following:
Available Linters: ['omnisharp', 'mcs', 'mcsc']
   Linter Aliases:
'omnisharp' -> ['Omnisharp', 'OmniSharp']
  Enabled Linters: ['omnisharp']

My test vimrc for Syntastic:
set nocompatible              " be iMproved, required
filetype off                  " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
Plugin 'vim-syntastic/syntastic'
Plugin 'OmniSharp/omnisharp-vim'

call vundle#end()            " required
filetype plugin indent on    " required

let g:OmniSharp_loglevel = 'debug'

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

let g:syntastic_cs_checkers = ['code_checker']

This is what I see in the python log after opening the test file:
2019-05-20 20:26:11,771 INFO Request: http://localhost:49621/checkalivestatus
2019-05-20 20:26:11,771 DEBUG b'{"line": 1, "column": 1, "buffer": "using System;\\r\\nnamespace HelloWorld\\r\\n{\\r\\n    class Hello\\r\\n    {\\r\\n        static void Main()\\r\\n        {\\r\\n            Console.WriteLine(test);\\r\\n        }\\r\\n    }\\r\\n}", "filename": "/home/<<SECRET>>/Test.cs"}'
2019-05-20 20:26:11,773 ERROR Could not connect to OmniSharp server: http://localhost:49621/checkalivestatus
Traceback (most recent call last):
  File "/usr/lib/python3.6/urllib/request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "/usr/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/usr/lib/python3.6/http/client.py", line 964, in send
    self.connect()
  File "/usr/lib/python3.6/http/client.py", line 936, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/lib/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pieter/.vim/bundle/omnisharp-vim/python/omnisharp/util.py", line 220, in doRequest
    response = opener.open(req, body, timeout)
  File "/usr/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.6/urllib/request.py", line 1346, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.6/urllib/request.py", line 1320, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>

When I go to http://localhost:50497/checkalivestatus myself manually via my browser, I see the text "true".
After I do :SyntasticCheck I see the following in the python log:
2019-05-20 20:35:29,708 DEBUG b'{"line": 1, "column": 1, "buffer": "using System;\\r\\nnamespace HelloWorld\\r\\n{\\r\\n    class Hello\\r\\n    {\\r\\n        static void Main()\\r\\n        {\\r\\n            Console.WriteLine(test);\\r\\n        }\\r\\n    }\\r\\n}", "filename": "/home/<<SECRET>>/Test.cs"}'
2019-05-20 20:35:29,857 INFO Received Response: http://localhost:60219/checkalivestatus
2019-05-20 20:35:29,857 DEBUG true
2019-05-20 20:35:29,859 INFO Request: http://localhost:60219/codecheck
2019-05-20 20:35:29,859 DEBUG b'{"line": 1, "column": 1, "buffer": "using System;\\r\\nnamespace HelloWorld\\r\\n{\\r\\n    class Hello\\r\\n    {\\r\\n        static void Main()\\r\\n        {\\r\\n            Console.WriteLine(test);\\r\\n        }\\r\\n    }\\r\\n}", "filename": "/home/<<SECRET>>/Test.cs"}'
2019-05-20 20:35:30,417 INFO Received Response: http://localhost:60219/codecheck
2019-05-20 20:35:30,418 DEBUG {"QuickFixes":[]}

SyntasticInfo gives me the following:
Info for filetype: cs
Global mode: active
Filetype cs is active
The current file will be checked automatically
Available checkers: code_checker mcs
Currently enabled checker: code_checker

I already tried Omnisharp with g:OmniSharp_server_use_mono = 1 (+ msbuild deb from https://aur.archlinux.org/packages/msbuild-stable/), but that did not help either.
Do you have any idea what could be going wrong? I have no preference for either ALE or Syntastic so fixing the issue for one of the two is enough for me.

I also want to add that other functions, like GoToImplementation work correctly, it really is only the "complex" errors that are not being shown.

Hi there,
Could you try running the server manually, outside of vim? cd into the project directory, then:
/home/me/.omnisharp/omnisharp-roslyn/run -v

If you see a Failed to load project file ... message, you're hitting a known OmniSharp-roslyn bug. You can work around it by adding a .omnisharp.json file, as described here

I do not see any errors when I run with -v:
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Cake, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.DotNet, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.DotNetTest, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Host, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.MSBuild, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Roslyn, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Roslyn.CSharp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Script, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
dbug: OmniSharp.CompositionHostBuilder[0]
      Loaded OmniSharp.Shared, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null
info: OmniSharp.Services.DotNetCliService[0]
      DotNetPath set to dotnet
dbug: OmniSharp.MSBuild.Discovery.Providers.MonoInstanceProvider[0]
      Can't use installed Mono because OmniSharp isn't running on it
info: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      Located 1 MSBuild instance(s)
                  1: StandAlone 15.0 - "/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin"
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      SUCCESS: Resolved to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.Build.Utilities.Core.dll' (name-only).
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      SUCCESS: Resolved to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.Build.Tasks.Core.dll' (name-only).
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      SUCCESS: Resolved to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.Build.Framework.dll' (name-only).
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      SUCCESS: Resolved to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.Build.dll' (name-only).
info: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      MSBUILD_EXE_PATH environment variable set to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/MSBuild.dll'
info: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      Registered MSBuild instance: StandAlone 15.0 - "/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin"
                  MSBuildExtensionsPath = /usr/lib/mono/xbuild
                  BypassFrameworkInstallChecks = true
                  CscToolPath = /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Roslyn
                  CscToolExe = csc.exe
                  MSBuildToolsPath = /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin
                  TargetFrameworkRootPath = /usr/lib/mono/xbuild-frameworks
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      Attempting to resolve 'Microsoft.CodeAnalysis.VisualBasic.Workspaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      FAILURE: Could not locate '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll'.
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      Attempting to resolve 'Microsoft.CodeAnalysis.VisualBasic.Features, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
dbug: OmniSharp.MSBuild.Discovery.MSBuildLocator[0]
      FAILURE: Could not locate '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Microsoft.CodeAnalysis.VisualBasic.Features.dll'.
info: OmniSharp.Http.Startup[0]
      Starting OmniSharp on ubuntu 18.4 (x64)
info: OmniSharp.Cake.CakeProjectSystem[0]
      Detecting Cake files in '/home/pieter/<<SECRET>>'.
info: OmniSharp.Cake.CakeProjectSystem[0]
      Could not find any Cake files
info: OmniSharp.WorkspaceInitializer[0]
      Project system 'OmniSharp.DotNet.DotNetProjectSystem' is disabled in the configuration.
dbug: OmniSharp.MSBuild.ProjectSystem[0]
      MSBuild environment:
      Mode: Standalone
      RunningTests: False
      RunningInVisualStudio: False
      MSBuildToolsDirectory32: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin
      MSBuildToolsDirectory64: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin
      MSBuildSDKsPath: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Sdks
      CurrentMSBuildConfigurationFile: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/MSBuild.dll.config
      CurrentMSBuildExePath: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/MSBuild.dll
      CurrentMSBuildToolsDirectory: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin
      VisualStudioInstallRootDirectory:
      MSBuildExtensionsPath: /home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin

dbug: OmniSharp.MSBuild.ProjectLoader[0]
      'MSBuildExtensionsPath' set to '/usr/lib/mono/xbuild'
dbug: OmniSharp.MSBuild.ProjectLoader[0]
      'TargetFrameworkRootPath' set to '/usr/lib/mono/xbuild-frameworks'
dbug: OmniSharp.MSBuild.ProjectLoader[0]
      'CscToolPath' set to '/home/pieter/.omnisharp/omnisharp-roslyn/omnisharp/.msbuild/Current/Bin/Roslyn'
dbug: OmniSharp.MSBuild.ProjectLoader[0]
      'CscToolExe' set to 'csc.exe'
info: OmniSharp.MSBuild.ProjectSystem[0]
      Detecting projects in '/home/pieter/<<SECRET>>/cs.sln'.
info: OmniSharp.Script.ScriptProjectSystem[0]
      Detecting CSX files in '/home/pieter/<<SECRET>>'.
info: OmniSharp.Script.ScriptProjectSystem[0]
      Could not find any CSX files
info: OmniSharp.WorkspaceInitializer[0]
      Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
info: OmniSharp.WorkspaceInitializer[0]
      Configuration finished.
info: OmniSharp.Http.Startup[0]
      Omnisharp server running on port '2000' at location '/home/pieter/<<SECRET>>' on host -1.

And at one point it even says: "Detecting projects in '/home/pieter/<>/cs.sln'."
That sln was created with dotnet new sln

Well I can't specifically see the errors I was expecting in there, although after "Configuration finished" it should be describing which projects it has found and is opening, but there doesn't appear to be any more in your output.
In any case, would you please try creating a ~/.omnisharp/omnisharp.json file containing the following, and see if it helps:
{
   "MsBuild": {
      "UseLegacySdkResolver": true
   }
}

After adding that I get the exact same output when I run ~/.omnisharp/omnisharp-roslyn/run -v from the project directory.
I also still don't see any errors show up within vim.

OK. I'm not really sure sorry, it seems more of an OmniSharp-roslyn issue since the server seems to be working, it's just returning no linting results ({"QuickFixes":[]}).
You could try switching to use the newly implemented stdio integration? I don't think it will be different but the output might be easier to understand? It'll at least be easier to lookup similar issues with OmniSharp-roslyn and OmniSharp-vscode, since vscode is the biggest consumer of OmniSharp-roslyn and it uses stdio.
To try it out, add let g:OmniSharp_server_stdio = 1 to your .vimrc, run :OmniSharpInstall (from a .cs file), then restart vim and see how you go.
You'll be able to see the server output by opening the logfile with :OmniSharpOpenLog

Ahh wait a tick. You say you created the solution with dotnet new sln ... did you also add the project(s) to the solution, with dotnet sln add *.csproj? Without that, I get the same output as you (with no projects mentioned in the server output).

Well... that is awkward. After doing that and executing :SyntasticCheck I get the error I expected about test not existing.
Still not automatically, but that should be easy to fix.
Thanks a lot for the help! :D


📦 Add @ianvs/prettier-plugin-sort-imports and update import order

this PR introduces @ianvs/prettier-plugin-sort-imports (improved @trivago/prettier-plugin-sort-imports) to ensure consistent import order across project. The following import order is applied:
  "importOrder": ["^react", "<THIRD_PARTY_MODULES>", "", "^@/(.*)$", "^[./]"]

example of new import order:
import { useNavigate } from 'react-router-dom'
import { User2 } from 'lucide-react'

import { Button } from '@/components/ui/button'
import {
  DropdownMenu,
  DropdownMenuContent,
  DropdownMenuGroup,
  DropdownMenuItem,
  DropdownMenuLabel,
  DropdownMenuSeparator,
  DropdownMenuTrigger
} from '@/components/ui/dropdown-menu'
import { useAuthStore } from '@/store/auth-store'
import { User } from '@/types/user'

[x] run build on local and passed
[ ] build does not exceed 500kb

@Kyziq try build using pnpm run build

@Kyziq try build using pnpm run build

dahh

@Kyziq use git convention for other pr

Alamak was used to gitmoji and commit message hehe 🤭


Does not work with MDC

I have been looking through the code, but haven't been able to figure this out. I have some MDC values. If I use Play's built-in logging, which is also based on SLF4J and Logback, they appear in my logs. But with ScalaLogging, they do not.

It works (tested versions 3.1.0 and 3.4.0).
import org.slf4j.MDC
[...]
MDC.put("requestId", requestId)

Here's my logback file:
<configuration>
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ssZZZZ} [%level] from %logger in %thread - %X{requestId} - %message%n%xException</pattern>
        </encoder>
    </appender>
    <root level="DEBUG">
        <appender-ref ref="consoleAppender"/>
    </root>
</configuration>


launchd: fix Label: io.github.lima-vm.socket_vmnet.plist -> io.github.lima-vm.socket_vmnet

The previous label was not consistent with other services.

cc @jandubois @abiosoft @medyagh
This is potentially a breaking change.
I should have caught this before releasing v1.0.0 🤦

This should not break anything for Colima, the socket is being managed outside of Lima.

thanks @AkihiroSuda we will look out for possible breaking


Can we create a webhook for specific event type in Share Point?

Can we create a webhook for specific event type in Share Point?
Notifications are sent to your application for the following asynchronous list item events in SharePoint:
ItemAdded
ItemUpdated
ItemDeleted
ItemCheckedOut
ItemCheckedIn
ItemUncheckedOut
ItemAttachmentAdded
ItemAttachmentDeleted
ItemFileMoved
ItemVersionDeleted
ItemFileConverted
But, is it something I can do trigger only for ItemAdded, ItemUpdated and ItemDeleted?

@bcameron1231 i want webhook to trigger only if the document gets added/update/deleted, i don't want to webhook to get trigger for itemcheckedout/checked-in. Do we have option to enable the list of event types allowed while creating the webhook? orelse isit something to find what kind of event type on the subscription end?


Fix variable color in php

Fixed the variable color in PHP to match GitHub's variable color.
Atom on the left and GitHub on the right:

Just an update on this and #53. It’s on my radar, but I’m moving at the moment. Will probably be able to get to it next week.

No worries, let me know.

No worries, let me know.

I've updated the dark.json file.

Closing this due to inactivity.


GPU flag in NER tutorial

🐛 Bug
In the given tutorial sample program
python examples/pytorch/name_entity_recognition/main.py   --graph_type dependency_graph --gpu 0 --init_hidden_size 400 --hidden_size 128  --lr 0.01 --batch_size 100 --gnn_type graphsage --direction_option undirected
Option for gpu given is '0'. Simple interpretation is that its for NO GPU ie CPU. On a CPU machine --gpu 0 gives error that Pytorch was not built using GPU.
Possible Resolution
Reason is that the internal code being as below, it still treats it as GPU.
        if args.gpu>-1:
            self.device = torch.device('cuda')
        else:
             self.device = torch.device('cpu')

Should it be changed to?
        if args.gpu>0::
            self.device = torch.device('cuda')
        else:
             self.device = torch.device('cpu')

so that --gpu 0 behaves as CPU and --gpu 1 behaves as GPU?
Environment

Graph4NLP Version (e.g., 0.4.1):
Backend Library & Version (e.g., PyTorch 1.6.0):.1.18.1
OS (e.g., Linux): Windows 10
How you installed Graph4NLP (pip, source): source
Build command you used (if compiling from source):
Python version: 3.6.5
CUDA/cuDNN version (if applicable):
GPU models and configuration (e.g. 2080Ti):
Any other relevant information:

Additional context

Thank you for your suggestion!
From our design, --gpu -1 means the cpu choice. And the --gpu 0behaves as  gpu with ID 0.

Ok, got it. Thanks for the response.


bug: typo

just a small typo

Do we need to do anything for the ChromeDriver dependency that is failing the circle integration test?

@c0ldcalamari Did you rebase latest from master? the updates were done.

@m1yag1 I did not, but I remember this dependency failure, from somewhere - this is enough information for me, thank you!

@philschatz This will probably pass the tests after a rebase


Repair Kit Give Command

Description
Add repair kits to /wm give and /wm get
Configuration
No configs
Payment (optional)

[ ] I'm willing to pay for this feature

Added in  fbd9dbe9fb6c888e5e62ac04d708d342943e4e09


DLS-8417 added in exemptions for small producers

https://github.com/hmrc/soft-drinks-industry-levy-ui-tests/pull/133


Undo inadvertent breaking change

#282 refactored to use macros to add rows to tables.  We switched from generic arguments to impl Trait arguments.  This is a breaking change for client code relying on the turbo fish syntax.  Fixing it before releasing 0.10.0 will prevent any real breakage.

Closed via #302


Fix broken build due to a land time race

Summary:
Changelog:
[Internal] -
With D55574528 and D55623682 having landed concurrently, and the latter enabling warnings-as-errors for Kotlin files vs the former having one such warning, this caused a build breakage.
This diff fixes  it.
Reviewed By: andrewdacenko, blakef
Differential Revision: D55636176

Merged as https://github.com/facebook/react-native/commit/c32a05372238bfacff0540f7d9c5e3d86cdb22cc


SpecifyLink API / Data Refinery

Creation of intermediary system with API to go between DigiApp and Specify API:

[ ]  Create Django project for SpecifyLink API
[ ]  Deploy on web server

Need some more info / use case in order to prioritise this


added a blog

Fixes # .
Make sure these boxes are checked before creating your pull request -- thank you!

[x] Add Blog Header, including title, author, date.
e.g.

---
 title: "'Score Your Face Photo' a ML&Wechaty practice"
 date: 2017-09-18 09:00 +0800
 author: huyingxi
 ---
 > Author: [@huyingxi](https://github.com/huyingxi/wechaty_selfie) enjoying ML&Wechaty at BUPT

[x] Keep all filenames & url as lowercase, and use - to connect words instead of space. e.g. 2017-10-06-wechat-pc-impactor instead of 2017-10-06-WeChat PC Impactor,
[x] Embed the photo & video before publishing, save all external file to the blog /download/2018 directory.
[x] Add <!--more--> section to just show the abstract in blog homepage.
[x] Add teaser image for the blog
[x] Add your self as an author to the author data file at https://github.com/wechaty/wechaty.github.io/blob/master/_data/authors.yml with your GitHub username. And please also remember to reference yourself with the Github username in your blog post, so that we can have nice author information besides your blog after we published it!

See more

Please make ci green then I can review your blog!
Thanks!

ping @hzhuhao

ping @hzhuhao

Close this PR due to a long time no reply.
@hzhuhao Feel free to create a new one if you would like to contribute again.


bash completion errors when completing systemd units

I have bash completion enabled: programs.bash.enableCompletion = true;
When I type "sudo systemctl status ssh[tab]" the output is:
sudo systemctl status sshFailed to list unit files: Too many levels of symbolic links
d.service
While it printed that error to stderr, it still completed the rest (d.service). Press enter and it works. The issue is just the error appearing, everything else works.

I'm having this issue as well, unfortunately. Any updates, @stephenmw?

(triage) can you try again? the symbolic link problem should have been solved a while ago.

@Profpatsch This is broken in another way now.
journalctl -u zf<press tab> results in an unresponsive shell for at least 1 minute (until Control-C is pressed) on an otherwise fast system (and never returning the completions).
17.03.git.81fceb2 (Gorilla)

Can't reproduce on 17.09 with any of these :

sudo systemctl status <tab> -> warning to ask if I want to display all possibilities
sudo systemctl status a<tab> -> propose acpid.service / alsa-store.service / atd.service ...
same two without sudo
journalctl -u <tab>
journalctl -u u<tab>
those last two with sudo


fix(Tab): "export 'Tab' was not found in 'semantic-ui-react'

Steps to Reproduce

Copy the code in the example here: https://react.semantic-ui.com/modules/tab#tab-example-custom-menu-item
Run the example

Expected
The example should be rendered as illustrated on the page
Result
The example does not render and the following error is logged in the browser console:
"export 'Tab' was not found in 'semantic-ui-react'
Testcase
If the docs show the issue, use: https://react.semantic-ui.com/modules/tab#tab-example-custom-menu-item.
Using      "semantic-ui-react": "^0.68.3",

We don't support outdate versions now.
Please check your enviourment, codesandbox runs this example perfectly.

If the issue still persists, please fill issue template fully and add a pen on codesandbox.


Concordance entries match as substrings

Sometimes this feels like a feature and other times like a bug. The concordance entries do not match only whole words or phrases. Rather they will match even if the entry is just a substring. For example with the following entry I am trying to find apt, the command. However, I could end up matching on the word Captive.
apt; "apt" in cspage

The upside to this behavior is that simple plurals of s or es are automatically captured by the same logic. So, again, not sure if this is a feature or a bug; I guess it just depends on the expected behavior. My expectation was, and preference would be, to have the terms explicitly match rather than simply be substrings of a word or phrase.

I'm not sure how to address this.  You can always preface the string to match with a space to avoid "apt" matching "captive": APT; " apt" in page.  I imagine though that when you do case-sensitive searching for an acronym like APT, you would use the case-sensitive page matching to avoid partial matches: APT; "APT" in cspage.
I could always expose a variable (let's call it wordlist) that returns a list of individual words that you match only by whole word:
>>> s="Windows Server Update Services (WSUS), which replaced the earlier Software Update Services (SUS), is Microsoft’s free server that can be leveraged to serve as an organization’s internal, self-managed, version of Windows Update. WSUS provides a centrang updates to Windows, Office, as well as most other Microsoft products."
>>> import re
>>> wordlist=re.split("(?:(?:[^a-zA-Z]+')|(?:'[^a-zA-Z]+))|(?:[^a-zA-Z']+)", s)
>>> wordlist
['Windows', 'Server', 'Update', 'Services', 'WSUS', 'which', 'replaced', 'the', 'earlier', 'Software', 'Update', 'Services', 'SUS', 'is', 'Microsoft', 's', 'free', 'server', 'that', 'can', 'be', 'leveraged', 'to', 'serve', 'as', 'an', 'organization', 's', 'internal', 'self', 'managed', 'version', 'of', 'Windows', 'Update', 'WSUS', 'provides', 'a', 'central', 'console', 'for', 'pushing', 'updates', 'to', 'Windows', 'Office', 'as', 'well', 'as', 'most', 'other', 'Microsoft', 'products', '']
>>> "WSUS" in wordlist
True

This would not accommodate plural matching without punctuation ("WSUSs", which looks weird), but it would match "WSUS's" since the "'s" would get split from the original.
Would this help?   Let me know.  Thanks!

I think exposing a wordlist variable would be straightforward enough, and help to address what I was experiencing. It might be worthwhile to name it something like csword or cswordlist, which is a bit lengthy, to indicate the case sensitive nature of the wordlist.
Especially after the enhancement in issue https://github.com/joswr1ght/pptxindex/issues/3 is addressed, my planned flow, assuming the in wordlist enhancement, would be to build a concordance first using simple in page matches. Then, if hitcounts are too high, look to see if in cspage or in wordlist might resolve the reason for the high hitcount.


Renamed some ui components

Issue
Issue number - #
PR type
Implement user story, resolve bugs/ improve code quality

Pull Request Test Coverage Report for Build 590

0 of 0   changed or added relevant lines in 0 files are covered.
52 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.02%) to 75.87%

Files with Coverage Reduction
New Missed Lines
%

file:/home/travis/build/AY1920S1-CS2103T-T10-4/main/src/main/java/seedu/address/ui/schedule/GroupScheduleViewManager.java
1
0.0%

file:/home/travis/build/AY1920S1-CS2103T-T10-4/main/src/main/java/seedu/address/ui/MainWindow.java
51
0.0%

Totals

Change from base Build 585:
0.02%

Covered Lines:
5427

Relevant Lines:
7153

💛  - Coveralls


Fixes multiple docblock for ApplicationTrait.

Signed-off-by: crynobone<EMAIL_ADDRESS>

:+1:

Thanks


Added Asciinema Examples for all of Domain 1 Orchestration

Please look over my examples
I have went over the documentation and made what I feel to be quality Asciinema examples for each of the objectives in Domain 1.
This merge would not update the main page, I did not include that update in the README.md
There was also a few objectives I could not cover in Asciinema as it didn't make sense on a terminal.
Extend the instructions to run individual containers into running services under swarm
(essentially the same thing as previous examples on deploying services)
Interpret the output of docker inspect commands
Sketch how a Dockerized application communicates with legacy systems
Paraphrase the importance of quorum in a swarm cluster

@codydiehl Thanks Cody for investing the time to create these beautiful Asciinema examples.


cannot move cursor via arrow keys in components

When I use the plugin and add a richText field to a (repeatable) component, I cannot move the cursor via the keyboard's arrow keys, only by clicking the desired position within the text directly. When I disable the plugin, in the  default markdown editor navigation via keyboard works. Tested with strapi 4.1.7 and 4.1.11, Node 16

After saving a record, I also cannot navigate a rich text field at all to edit it. The cursor is stuck at the end of the field and any attempts to move it via the keyboard or mouse doesn't seem to be working.

I'm having trouble replicating this issue. Would it be possible to setup a project, that has this issue?

Try again with version 0.8.0, i updated the tiptap library.

Still happens with 0.8.0, but only in repeatable components.

I just tested this again in version 0.9.0 and it seems to have been fixed now.

Re-open if issue is still there.


Pool token decimals are now based on borrowAsset

Copy of #291 . Will update description accordingly.

Codecov Report

Merging #294 (2246e05) into v1-alpha (93beb89) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           v1-alpha     #294      +/-   ##
============================================
+ Coverage     78.19%   78.22%   +0.02%
============================================
  Files            16       16
  Lines          1688     1690       +2
  Branches        305      305
============================================
+ Hits           1320     1322       +2
  Misses          368      368

Impacted Files
Coverage Δ

contracts/Pool/Pool.sol
94.37% <100.00%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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


add new devices and tests

Pull Request Test Coverage Report for Build 1797

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 1789:
0.0%

Covered Lines:
1092

Relevant Lines:
1092

💛  - Coveralls


Build all PRs

Kick CI

Just retriggering to see what a PR output looks like.

btw...  I think that with the latest GHA changes,  if a CI job fails, CI / All (pull_request)  will be marked as skipped and the PR merge is not blocked.

btw... I think that with the latest GHA changes, if a CI job fails, CI / All (pull_request)  will be marked as skipped and the PR merge is not blocked.

I setup a test over in https://github.com/twisted/python-info-action/pull/17 and observe the issue.  I have filed a ticket.
Thanks for pointing this out.


API: Row & Cell selections become invalid after deleting rows

This issue is related to https://github.com/DataTables/DataTables/issues/653
If a row or cell is selected and then delete a row, the selection (prior to removing the row) becomes invalid as it now points towards a different row or cell. Probably because the indexes remain unchanged.
Test Case: http://live.datatables.net/pacewuqa/1/edit
To reproduce the issue regarding cell selection:

Click the Delete Link to remove a row.
Change the value of the text box of the next row. (At this point, the console is showing the text of a different cell).

To reproduce the issue regarding row selection:

Click the Delete Link to remove a row.
Click the Delete Link of the next row. (At this point, another row was removed and not the one that was clicked on).

In my opinion, one solution could be that rows are not actually removed but only tagged as deleted. That way the indexes don't have to be changed.

This happens because the internal indexes change when rows are deleted. So what used to be row index x might now be x-1. This is discussed in #566.
At the moment you either have to:

Call row() inside the click event handler, or,
Use row ids, and then reselect the row.

This is a deficiency in the 1.10 certainly. The only way to address it is to use a sparse array I think. I will be looking into this for 1.11.


[WIP] Create intersection of group filters from H&C and V&T settings

as part of https://bugzilla.redhat.com/show_bug.cgi?id=1187396
settings of group filters:
Configure->Configuration->Access Control-> any group and edit
H&C stands for Host and Cluster setting at user group
V&T stands for VM and Templates setting at user group
Filters are represented by path.(/belongsto/ExtManagementSystem|XX1/EmsFolder|Folder1/EmsFolder/YY1)
It is finding most specialized filter and it is ensuring intersection of
these two settings and when list of V&Ts is requested it skips general
filters and it is displaying only concrete folders.
cc @gtanzillo @himdel
I will write spec it this solution will be acceptable.
@miq-bot add_label wip

Cc @h-kataria, we talked about the issue yesterday, so to keep in in the loop...

/cc @kbrock

Can we put this into MiqGroup.disambiguate_filters(filter) and perform this at before_validation time?
This will cause the funky behavior to be visible in the UI.
Which forces a dialog with the customer at configuration time. (Rather than after a user is accessing a VM that they shouldn't or not seeing something that they should)
Keeping a call to that method here may be necessary in the short term if you don't want to migrate data.

I was wondering if we can do something that is not O(N^2):
Maybe:
prev = nil
ret = []
filters.sort.each do |filter|
  if prev.nil?
    prev = filter
  else
    if filter.include?(prev)
      prev = filter
    else
      ret.push(prev)
      prev = filter
    end
  end
end
filters.push(prev)
filters

# which is

prev = nil
ret = []
filters.sort.each do |filter|
  ret.push(prev) if prev && !filter.include?(prev)
  prev = filter
end
ret + [prev]

# which is

filters.sort.cons(2).select { |f| !f.last.include?(f.first)}.collect(&:first) + filters[-1..-1]


Azure core amqp 2 9 0 post release version update

API change check
API changes are not detected in this pull request.

Fixed by https://github.com/Azure/azure-sdk-for-java/pull/38342


feat : bridge finding with tarjan algorithm

Fixes #783
Added Bridge finding with Tarjan's Algorithm.

If you make modifications on branches instead on master then you will not block yourself.


Open to taking over maintenance

I've been hammered by #25 for a while. Put some time into it today and have found a hacky workaround. Will post a PR shortly. I'm also open to taking over (very limited) maintenance of this package if you like.

@chmac are you still interested in maintainership? I'm simply not able to give the package the attention it deserves at this point.

@cmtonkinson I'm still using the plugin after my dirty, dirty, dirty hack of a workaround. I'd be happy to merge that fix and see if I can answer a question from time to time. Can't promise a ton of attention / effort.
If you wanted to add me as a contributor here on this repo, that might be an easy step. Then we don't need to change anything, keep it in your name, etc. I can merge the fix and subscribe to issue notifications. If I do nothing at all, then we're in the same position as now! :-)
What do you think?
If I merge here does that automatically deploy an update to the atom.io plugin repository, or would I also need access there and have to do something manually to push it?

Unsure whether Atom.io permissions directly mirror those of GitHub, but if you're not able to apm publish patch that MR, let me know.

@cmtonkinson Awesome, looks like I published version 0.5.0. I now realise that minor meant it pushed a minor release as opposed to a patch release. Probably makes sense. Will close this issue now.


[BUG] Pipelines being created with double the amount of blocks

Mage version
v0.9.65
Describe the bug
Using a pipeline to orchestrate the firing of other pipelines. Triggered pipelines are being created with double the desired amount of steps.
Project is set up in AWS and using ecs executor (config below) and run_in_one_process = True in the triggered pipeline metadata.yaml file . Currently using ecs executor but this behavior has been seen using both ecs executor and local_python pipeline executors

To reproduce
Have not been able to successfully reproduce the issue
Expected behavior
Pipeline to be created with the number of blocks present in the metadata.yaml file for pipeline.
Screenshots

Operating system
No response
Additional context
No response

@jgonzaz are you able to reproduce this issue in local Mage?

@wangxiaoyou1993 Have not been able to reproduce in mage locally. Believe it was likely tied to ECS scheduler setup. Maxed out the memory on the scheduler which likely led to the duplication of steps. Increased resources for the scheduler snd have not seen this error duplicated

This issue has also occurred in our production environment,  first time was around six months ago. Since then, we’ve improved our infrastructure resources, but the problem persists. issue seems to happen randomly, so we haven't yet identified a way to reproduce it. our Mage version is 0.9.70 and we are using redis that came with helm chart and standalone postgres as database to replace sqlite.
Let me know if i can help by sharing more logs or another information to clarify!


Using "--prod" with "--environment=xxx" doesn't bundle

Is there a way to force a non-prod environment to bundle?
When I use "ng serve --prod", the browser's network tab shows that it's downloading a small handful of bundled files - works as I'd expect.
If I try "ng serve --prod --environment=dev" for the env variables, it's not bundling (downloads many many files).
[Edit] I guess what I'm really looking for is bundling and the "uglifying and tree-shaking functionality". I'd like to optionally apply that when building any environment.

did you try this? ng build --target=production --environment=dev not sure if that will give you different results or not. also what version of the cli are you using?

@Kizmar please answer the questions in the new issue template. It's hard to help you without that information.

Closing this as obsolete.


Codetour support for GitHub Codespaces running in Safari?

I was trying to use Codetour on one of my Codespaces, and apparently it does not work at all on Safari (Version 14.1.1 (166<IP_ADDRESS>.4) running on macOS 11.4).
Opening the Codespace on Chromium it works as expected. I’m not sure if this is a Codetour thing, or a Codespaces thing (or, alas, a Safari thing) so apologies if this is not the right place to file this.
Thanks in advance for your time, and thanks for creating this awesome extension!

Thanks for reporting this! I actually work on Codespaces (CodeTour is a side-project), so I'd obviously love to make sure this is working properly. Let me take a look at this today and see what's going on. Stay tuned!

Thanks!

I was able to verify that CodeTour works great in Safari, but I'm not using Big Sur. So I'm going to update that today and see what might have regressed.

This issue has been fixed!

Thank you so much! 🙌🏼


Verification screens: The navigation bar is gone

Last updates on the Safe Area or the status bar broke the navigation bar:
I see the issue on IPhone XS(12.4) simulator. There is no problem on XS Max(12.4) simulator.
Steps to reproduce:
Go to a verification screen:
Settings > Security > MY SESSIONS > Select a non verified device > Verify
or
Room member screen of a non verified user > Verify
We used to have a navigation bar with a "Cancel" button on the top right:

A similar issue can appear on the room member screen but not always:

I can see the issue anymore.
I tested after the merge of the safe area PR.


Merged PR 9926818: .NET 8 Breaking Changes and WindowsAppSDK Integrat…

…ionCopyFilesToStagingDir.ps1
.NET8 introduced a conditional breaking change that influences how the runtime host looks for RID-specific assets. In NET8, support for non-portable RIDs (runtime identifiers specific to versions and distributions, such as win10-x86) is discontinued. The folder structure of the Microsoft.WindowsAppSDK NuGet is structured with assets marked using these non-portable RIDs:  The changes made to the CopyFilesToStagingDir.ps1 script along with the project template changes should help support the .NET8 scenario. The selection of the project template's RIDs is conditional and based on the TFM chosen by the user. If NET8 is chosen, the RIDs become portable, enabling the runtime host to locate the RID-specific assets that were previously unattainable.
A microsoft employee must use /azp run to validate using the pipelines below.
WARNING:
Comments made by azure-pipelines bot maybe inaccurate.
Please see pipeline link to verify that the build is being ran.
For status checks on the develop branch, please use TransportPackage-Foundation-PR
(https://microsoft.visualstudio.com/ProjectReunion/_build?definitionId=81063&_a=summary)
and run the build against your PR branch with the default parameters.
For status checks on the main branch, please use microsoft.ProjectReunion
(https://dev.azure.com/ms/ProjectReunion/_build?definitionId=391&_a=summary)
and run the build against your PR branch with the default parameters.

Note: original change was committed directly to main

let's complete this CP and we'll address the .NET 9+ concern in a separate PR


Column name in data file is mis-typed

In the following data file https://github.com/nhs-r-community/NHSRdatasets/blob/master/data/ons_mortality.rda the name of "category_1" is mis-typed as "cateogry_1".
This looks like a very useful project. Thanks for sharing it.

many thanks @DavidNphe! great catch! If you have any ideas of other useful datasets to add please raise an issue 😉


Add TI Basic Programs .tiprogram

Language name
TI Basic
URL of example repository
https://github.com/search?q=extension%3Atiprogram
URL of syntax highlighting grammar
N/A
Most popular extensions

.tiprogram

Detected language
Text files
More information
http://tibasicdev.wikidot.com/

There's only 4 results

PS. If you have the extension .8xp.txt, it'll be recognized as a TI Program. Here's an example:
https://github.com/scottmangiapane/ti-games
^ the idea is that your binary files would stay as .8xp but their plaintext source code would be uploaded alongside them as .8xp.txt.


Add appendix regarding different rendering methods

This is one piece of background that a lot of new users seem not to have a good understanding of. While we assume a background in HTML, CSS, and Svelte some discussion of rendering might be warranted since SvelteKit at its core is a rendering engine. It helps explain what SvelteKit is, how it's unique, and the value it provides.
This closes https://github.com/sveltejs/kit/pull/1508 which inspired this PR as a possible alternative way of covering this info. Also closes https://github.com/sveltejs/kit/issues/1397

The intro text explaining the key concepts will be very valuable for new users.
The intro text reflects a bias towards SSR being generally superior.
SSR is clearly superior / only choice for devices without modern JavaScript.
Other than that, it depends.
On https://github.com/sveltejs/kit/pull/1508 you wrote:  'Instead of making a single round trip over the internet to the backend server, you are more likely to have to make multiple round trips over the internet to render the page'.
For many years complex applications use a backend-for-frontend pattern, so that each page / refresh uses a single purpose-built API call. With the widespread adoption of GraphQL, everybody who needs it, does so.
If the prerendered pages are already cached on the client, APIs have to do less work and transmits fewer bytes.
So SSG+CSR wins.
The SSG style was critical for building our app as PWA, since the device may not be able to reach the SSR servers when needed. Pre-rendered pages are cached on device, app is mostly functional offline, and syncs with backend when connected.
A reference to PWA somewhere may be useful.

On #1508 you wrote: 'Instead of making a single round trip over the internet to the backend server, you are more likely to have to make multiple round trips over the internet to render the page'. For many years complex applications use a backend-for-frontend pattern, so that each page / refresh uses a single purpose-built API call. With the widespread adoption of GraphQL, everybody who needs it, does so.

Not sure if it really matters unless it's being added in the text here, but even with GraphQL you'd probably still end up making more round trips than a traditionally SSR'd page: once to get the HTML, once to get the JS, once to make the API call

If the prerendered pages are already cached on the client, APIs have to do less work and transmits fewer bytes. So SSG+CSR wins.

It's rare that you could cache the whole page such that you'd avoid API calls, but in the case that you could do this you could cache the page with any rendering solution so it's not a point in favor of one approach over another.

So the correct statement is 'SSG is best for SEO'

It would be basically equivalent to SSR, but I don't expect it'd necessarily be much better unless there's something I'm overlooking

Not sure if it really matters unless it's being added in the text here, but even with GraphQL you'd probably still end up making more round trips than a traditionally SSR'd page: once to get the HTML, once to get the JS, once to make the API call
It's rare that you could cache the whole page such that you'd avoid API calls, but in the case that you could do this you could cache the page with any rendering solution so it's not a point in favor of one approach over another.

My observations (the submitted PR) were not theoretical, but based on happy results building a PWA with Svelte, designed to work offline.
The statically generated html+js are cached by ServiceWorker.
If online, each page typically needs a single API call, the payload is small compared to html/css.
If offline, works off of localStorage.

This is a lot of content to have before the 'getting started' block — the introduction should really be just that, people shouldn't have to scroll through multiple screens before they see npm init svelte@next my-app.
I'd argue it's also a little confusing to have

The core of SvelteKit provides a highly configurable rendering engine

so soon after

SvelteKit is a framework for building extremely high-performance web apps

Perhaps it would make sense to have a separate 'terminology' or 'glossary' section at the end?

Thanks for the review @Rich-Harris. I've updated it if you've got a chance to take another look


Feature Request: Gendered emojis

Genders were mentioned in #1, but I think they've been forgotten.
This could be generated by the code points or the names of the emojis.

This is definitely possible, but it doesn't seem to be as concretely defined in the spec as skin tones are. Skin tones always follow particular code points but for gender the actual base code point for the emoji is different for man, woman, person variants. Not sure if there is a pattern. Some examples:
1F64E                # 🙎 E0.6 person pouting
1F64E 200D 2642 FE0F # 🙎♂ E4.0 man pouting
1F64E 200D 2640 FE0F # 🙎♀ E4.0 woman pouting

1F9D1 200D 1F373 # 🧑🍳 E12.1 cook
1F468 200D 1F373 # 👨🍳 E4.0 man cook
1F469 200D 1F373 # 👩🍳 E4.0 woman cook

Proposed API
enum Gender {
    Neutral,
    Male,
    Female,
}

impl Emoji {
    pub fn gender(&self) -> Option<Gender>;
    pub fn genders(&self) -> Option<impl Iterator<Item = &Self> + Clone>;
    pub fn with_gender(&self, gender: Gender -> Option<&Self>;
}

These example you have list are the main patterns:

{BOY,GIRL,CHILD,MAN,OLD_MAN_OLD_WOMAN,PERSON}
ZWJ GENDER

There are a few exceptions, and the subgroup family requires special handling.
For the 1st case, the first character needs to be replaced.
For the 2nd case,  the gender symbol needs to be replaced or added.

And it would also be useful to add an age field.


Help showing only available dates in the Calendar - v 7.0.2

Hi Jay and everyone else,
CASE: I made a calendar that the user would use it to view available dates returned from a web service and schedule doctor appointments base on those dates.
Problem: I have to make only the returned dates be available and selectable on the calendar, where all the other days would be of a lightgrey color.
Heres the code I used to do design the calendar:
   func prepareCalendar() {
        calendarView.delegate = self
        calendarView.dataSource = self
        calendarView.registerCellViewXib(file: "CellView")
        calendarView.cellInset = CGPoint(x: 0, y: 0)
    }
    func setupViewsOfCalendar(from visibleDates: DateSegmentInfo) {
        guard let startDate = visibleDates.monthDates.first else {
            return
        }
        let month = testCalendar.dateComponents([.month], from: startDate).month!
        let monthName = DateFormatter().monthSymbols[(month-1) % 12]
        // 0 indexed array
        let year = testCalendar.component(.year, from: startDate)
        monthLabel.text = monthName + " " + String(year).uppercased()
    }

    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyy MM dd"

        let startDate = Date() //formatter.date(from: "2017 01 01")!
        let endDate = formatter.date(from: "2017 12 31")!
        let parameters = ConfigurationParameters(startDate: startDate, endDate: endDate, numberOfRows: 6, calendar: Calendar.current, generateInDates: .forAllMonths , generateOutDates: .tillEndOfGrid, firstDayOfWeek: .sunday, hasStrictBoundaries: false)
        return parameters
    }

    func calendar(_ calendar: JTAppleCalendarView, willDisplayCell cell: JTAppleDayCellView, date: Date, cellState: CellState) {
        let mycustomCell = cell as! CellView
        mycustomCell.dayLabel.text = cellState.text
        handleCellTextColor(view: cell, cellState: cellState)
        handleCellSelection(view: cell, cellState: cellState)
    }

    func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleDayCellView?, cellState: CellState) {
        handleCellSelection(view: cell, cellState: cellState)
        handleCellTextColor(view: cell, cellState: cellState)
        dataconsulta = Util.dateParaString(data: date, formato: "dd/MM/yyyy")
    }

    func calendar(_ calendar: JTAppleCalendarView, didDeselectDate date: Date, cell: JTAppleDayCellView?, cellState: CellState) {
        handleCellSelection(view: cell, cellState: cellState)
        handleCellTextColor(view: cell, cellState: cellState)
    }

    func calendar(_ calendar: JTAppleCalendarView, didScrollToDateSegmentWith visibleDates: DateSegmentInfo) {
        self.setupViewsOfCalendar(from: visibleDates)
    }

    func scrollDidEndDecelerating(for calendar: JTAppleCalendarView) {
        self.setupViewsOfCalendar(from: calendarView.visibleDates())
    }

    func handleCellTextColor(view: JTAppleDayCellView?, cellState: CellState) {
        guard let mycustomCell = view as? CellView else {
            return
        }
        if cellState.isSelected {
            mycustomCell.dayLabel.textColor = branco
        } else {
            if cellState.dateBelongsTo == .thisMonth {
                mycustomCell.dayLabel.textColor = preto
            } else {
                mycustomCell.dayLabel.textColor = cinza
            }
        }
    }

    func handleCellSelection(view: JTAppleDayCellView?, cellState: CellState) {
        guard let myCustomCell = view as? CellView  else {
            return
        }
        if cellState.isSelected {
            myCustomCell.selectedView.layer.cornerRadius =  13
            myCustomCell.selectedView.isHidden = false
        } else {
            myCustomCell.selectedView.isHidden = true
        }
    }
}

first you need to let me know what version of the calendar you
re using

I used pod 'JTAppleCalendar'... So I guess the latest?

thats weird then, if you used that then you should have version 7.0.2
But the code you pasted above looks like version 6.0 code.
Can you join me here on chat? -> https://gitter.im/patchthecode/JTAppleCalendar

@capptan glad you issue is resolved.
leave a star rating if you like the library.
cheers 🍻


incorrect table formating

prettytable does not format correctly when formatting text within manually

use prettytable's built-in feature to colorize the output?

fixed in #46


Missing plugins when opening modeler trough double click on file

Reproduce:

Open a .bpmn/.dmn/.cmmn file through double click

Expected Beavior:

plugins available

Actual behavior:

plugins missing

Support ticket: https://app.camunda.com/jira/browse/SUPPORT-4109

Please fix the plug-in resolution according to my comment.
Is it possible for us to write a test-case for one or more scenarios here?


introduce Logging support

Fixes #842
Must Reads

Introduction to the Cloud Logging API: https://cloud.google.com/logging/docs/api/
Docs: https://stephenplusplus.github.io/gcloud-node/#/docs/master/logging

To Dos

[ ] Enable Cloud Logging API on System Test Account
[x] Document createSink.config.filter
[x] Inherit from Service / ServiceObject
Support Sink destinations

[x] Storage Bucket
[x] BigQuery Dataset
[x] Pub/Sub Topic

Docs

[x] Readme
[x] JSDocs
[x] Site

Tests

[x] System
Unit

[x] Index
[x] Log
[x] Service
[x] Sink

Preview
var gcloud = require('gcloud')({/* credentials */});
var logging = gcloud.logging();

Logs
logging.getLogs(function(err, logs) {});
var log = logging.log('my-log');

// Insert logs:
var logEntry = {
  metadata: {
    severity: 'INFO'
    timestamp: new Date().toJSON()
  },
  data: {
    delegate: process.env.USER
  }
};

log.insert([logEntry, ...], function(err) {});

// Insert via object stream source
var logStream = log.createWriteStream();

logStream.on('finish', function(err) {
  // All entries have been written.
});

logStream.end({ /* log entry */ });

Sinks
var gcs = gcloud.storage();

logging.getSinks(function(err, sinks) {});

logging.createSink('new-sink-name', {
   // If a bucket, its ACL will be granted with the right privileges:
  destination: gcs.bucket('my-logging-bucket')
}, function(err, sink) {});

var sink = logging.sink('my-sink-name');
sink.getMetadata(function(err, metadata) {});
sink.setMetadata({/*...*/}, function(err) {});
sink.setFilter('name:*', function(err) {});

Services
logging.getServices(function(err, services) {});
var service = logging.service('compute.googleapis.com');

service.getIndexes(function(err, indexes) {});

@VikramTiwari - your thoughts are most welcome if you have the chance to play around with this!
$ npm install --save stephenplusplus/gcloud-node#spp--logging

Hey @stephenplusplus I am at Chrome Dev Summit for today and tomorrow, but I will be testing it by the end of week for sure. :+1:

@VikramTiwari awesome! I'll look for you on the feed :stars:

@jgeewax to prepare for this to merge, can you check that the Logging API is enabled for the Travis project?

Also, any ideas for getting Travis to auth as a user? Many of our system tests require user-level, non-service account auth.

Some initial comments.
One thing I would really suggest is to wait for new version API, to save the headache of updating everything twice (changes shouldn't be that big)

Thanks for the review! I will be addressing the feedback and making the changes in the near future.
Regarding the new API version, is there a estimate on when that will be publicly available?

@filipjs thanks again for the review! I made many of the changes in a follow-up commit: https://github.com/stephenplusplus/gcloud-node/commit/40c860dde83f91ae13d338fee97c45612a92b546, please let me know if you catch anything else I can change.
I'm running into a problem creating sinks now. Hopefully it's a simple mistake on my part, but I'm seeing the "The caller does not have permission" error. Here is a request that's failing:
{ method: 'POST',
  uri: 'https://logging.googleapis.com/v1beta3/projects/nth-circlet-705/sinks',
  json:
   { destination: 'storage.googleapis.com/gcloud-logging-test7bb30900-99fb-11e5-ba9b-f7178516428f',
     name: 'gcloud-logging-test7cced940-99fb-11e5-ba9b-f7178516428f' },
  headers:
   { Authorization: 'Bearer {token}',
     'User-Agent': 'gcloud-node/0.25.1' } }

Any ideas?

Re: failing test.
Is the auth token refreshed between tests? Maybe it just expired?

I don't believe so, even running the test in isolation fails. We also use google-auth-library which makes sure the token isn't expired before each request is sent.

V2 is out
https://cloud.google.com/logging/docs/api/introduction_v2

@filipjs congrats on the release and thanks for letting me know. I'll get started on the migration.

Migration complete. PTAL @filipjs. Here's the diff commit:
I've created a new Entry type. Here's an example to write a new entry.
var syslog = logging.log('syslog');

var resource = {
  type: 'gce_instance',
  labels: {
    zone: 'global',
    instance_id: 3
  }
};

var entry = syslog.entry(resource, {
  delegate: process.env.user
});

syslog.alert(entry, function(err, apiResponse) {
  if (!error) {
    // Log entry inserted successfully.
  }
});

Entry objects also come back from calling logging.getEntries() & log.getEntries(). To read the data, you can call entry.data.
Looking forward to your review. Thanks!

@callmehiphop PTAL.

@stephenplusplus LGTM! Did you want to squash this and/or wait for another review from @filipjs?

Squashed! Let's wait for a little bit to see if we get a thumbs up from @filipjs.

Is it worthwhile to create a separate issue to add a bit more color to the overview, defining what the different pieces are and what the expected usage should be like? (My eyes are still fresh so I'm avoiding reading too much about Sinks and Logs and etc, so that I can give useful feedback on whether our docs help new people go "oh, I get it")

Definitely. It might be nice to get some common use cases from a Logging team member as well, so we can center some examples around them.

Thanks @stephenplusplus! Also, thanks for the review @filipjs!


DO NOT FILE THIS ISSUE AT https://github.com/beautify-web/js-beautify?

Why does the issue template say "DO NOT FILE THIS ISSUE AT https://github.com/beautify-web/js-beautify"? I don't understand..

Usage questions should not be filed as issues. That is what the gitter channel is for.
https://github.com/beautify-web/js-beautify/blob/master/.github/ISSUE_TEMPLATE/question-about-usage.md

Ah, there was a merge of changes back from beautifier.io


Fixed a typo in the "How Push Works" article

What's changed, or what was fixed?
In the "How Push Works" article,

Added missing space to "highlevel".

CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/

Digital Marketing! | Work From Home!
Make money online without any expenses!
Our Journey Since 24.12.2012
Subscribe & help us to build a blog !
http://www.mizansurovi1.blogspot.com


Fix SplitPoints leaves creation & clarify SplitPoints contents

The leaves in the SplitPoints also included the parent function of the
leaves.
For example in sum(coalesce(x, 10)) the leaves included all three:
coalesce, x and 10, instead of only x and 10.

Codecov Report

Merging #5271 into master will decrease coverage by 0.02%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##             master    #5271      +/-   ##
============================================
- Coverage     82.67%   82.64%   -0.03%
+ Complexity    11034    11025       -9
============================================
  Files          1328     1328
  Lines         44879    44879
  Branches       5624     5624
============================================
- Hits          37105    37092      -13
- Misses         5167     5180      +13
  Partials       2607     2607

Impacted Files
Coverage Δ
Complexity Δ

.../crate/planner/projection/builder/SplitPoints.java
100% <ø> (ø)
6 <0> (ø)
:arrow_down:

.../analyze/symbol/DefaultTraversalSymbolVisitor.java
75% <66.66%> (ø)
5 <0> (ø)
:arrow_down:

...n/java/io/crate/exceptions/JobKilledException.java
0% <0%> (-66.67%)
0% <0%> (-1%)

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <0%> (-33.34%)
1% <0%> (-1%)

...src/main/java/io/crate/action/ActionListeners.java
61.53% <0%> (-30.77%)
2% <0%> (ø)

...o/crate/analyze/SafeExpressionToStringVisitor.java
83.33% <0%> (-16.67%)
7% <0%> (-1%)

...crate/executor/transport/TransportShardAction.java
77.5% <0%> (-12.5%)
8% <0%> (-1%)

...src/main/java/io/crate/jobs/UpsertByIdContext.java
80% <0%> (-8.58%)
6% <0%> (ø)

...io/crate/protocols/postgres/types/VarCharType.java
91.66% <0%> (-8.34%)
10% <0%> (-1%)

...va/io/crate/protocols/postgres/types/JsonType.java
77.41% <0%> (-6.46%)
8% <0%> (-1%)

... and 24 more

Continue to review full report at Codecov.

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


Updated bundler CHANGELOG and patch version number for release.

This is a patch release to fix the broken polymer-bundler CLI -h option (was due to breaking change in chalk brought in by command-line-usage package.

Thx @aomarks


Remove network access quote

The quote in the beginning of the Access section appears to contradict it in the sense that the section is not about telling a story, but creating one

Quotes have been removed from all documents.


use dev-master for phpcs see if this fixes PHP 8 bug

This was just a test to see phpcs dev-master would solve our problem which it does


Roll engine dcf5d6ab3447..3deb8f5e45e1 (1 commits)

git@github.com:flutter/engine.git/compare/dcf5d6ab3447...3deb8f5e45e1
git log dcf5d6ab3447..3deb8f5e45e1 --no-merges --oneline
2019-09-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from 0qRbW... to a8wlq... (flutter/engine#11825)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Auto-roller completed checks. About to merge.


Update base.theme.bash with RUBY interpreter version check

Added feature to detect the ruby version interpreter
       rb_interp_prompt

and added to the existing function to be used in any theme.

Thanks!


HashSet.Contains could not be translated

I have a quite simple table named Operation and class for it. It has a property named Type mapped to an enum:
[Column("OperationTypeID")]
public OperationType.Code Type { get; set; }

I try to request all operations with a filter by type and other fields:
var list = (from i in context.Operation
                        where typeList.Contains(i.Type) &&
                            i.DeleteDate == null &&
                            i.PeriodID == parameters.PeriodID
                        orderby i.PlanDate descending
                        select new L.Item()
                        {
                            Operation = i
                        }).ToList();

List of necessary types is stored at the HashSet<OperationType.Code> typeList variable.
On 2.2. this query works OK. On 3.0.0-rc1 it fails with an error:
System.InvalidOperationException: 'The LINQ expression 'Where<Operation>(
    source: DbSet<Operation>,
    predicate: (o) => HashSet<Code> { Submission, Reset, Calculate, ESIPaymentReport, Retraction, RetractionUndo, MoveRecord, MoveRecordUndo, CVSCAG, BIUpdate, }.Contains(o.Type) && o.DeleteDate == null && o.PeriodID == (Unhandled parameter: __parameters_PeriodID_0))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync().

If I change HashSet to List, the query works.
Can HashSet be translated as List for queries?
Further technical details
EF Core version: 3.0.0-rc1.19456.14
Database provider: Microsoft.EntityFrameworkCore.SqlServer
Target framework: .NET Core 3.0
Operating system: Windows 10
IDE: Visual Studio 2019 16.3 Preview 4

Possibly same root cause as #17342

HashSet<T>.Contains implements ICollection<T>.Contains so it really is the same root cause as #17342.
This is fixed on 3.1.0 by #17599.

thanks for the information. will wait till 3.1.0 to try again.


Bug: node_modules not bundled with open next build when using npm monorepo/workspaces

When deploying an opennext app that's inside of an npm monorepo using workspaces, a node_modules folder is not bundled in the open next server_functions folder as it is when building a nextjs app with open next outside of a monorepo (when there is a node_modules folder inside the nextjs root).
For instance, if we have a nextjs app located at applications/nextjs, and we run sst deploy from the monorepo root where the root package.json and sst.config.ts is located, the built app will not have any dependencies included and will not be able to run.

I haven't tried it recently but usually it only bundles that directory if you have dependencies in the nodejs.install. Do you have something like that? Can I see your sst config for the Next.js site?

I'm not sure what you mean by in the nodejs.install, could you clarify? Like global packages? Here's my config:
import { vpc } from "./vpc";
import {
  betterAuthSecret,
  googleClientId,
  googleClientSecret,
  queueApiKey,
  WEB_URL,
} from "./secrets";
import { appDb } from "./app-db";
import { bullmqPrimary } from "./bullmq";
import { devEmail, email, emailTemplate } from "./messaging";

export const web = new sst.aws.Nextjs("Web", {
  vpc,
  path: "applications/web/",
  dev: {
    url: "http://localhost:3000",
  },
  link: [
    appDb,
    googleClientId,
    googleClientSecret,
    queueApiKey,
    betterAuthSecret,
    bullmqPrimary,
    emailTemplate,
    email ? email : [],
    devEmail ? devEmail : [],
  ],
  environment: { WEB_URL },
});

The workaround I'm currently using is just removing applications/web/ from my root package.json so the nextjs app's dependencies are handled separately from the rest of the monorepo's, but this breaks the automated deployment on the SST cosole since that only installs packages in the root directory.
Thanks for taking a look at this!

That looks okay to me. We'll need to test this out.


Support partition key in type: timestamp with time zone

Accept the "timestamp with time zone" date type as partition key.

#sre-storage-reviews

#sre

#sre-storage-reviews

#sre-storage

To be honest, I'm a bit concerned that we merged this MR too soon. I don't think we've taken into account the edge cases related to introducing the timezone.

What if we run the PPM with a different client timezone? Most likely we're going to generate different bounds and the partition check will fail
When listing the existing partitions, if the partition key is a timestamp with time zone, we are currently ignoring the timestamp information when parsing the bounds which I believe could also lead to some shenanigans

We probably need another iteration to make sure we properly support this new use case. In the meantime, I would not advocate on using the project as-is. This needs proper testing, timezones are hard :(

Hey @dcupif, thanks for raising this concern. I checked our Golang applications using timestamp with time zone. The client timezone is always in UTC. In our case, it won't be an issue.
But I agreed with you that we need to take care of the daylight saving change. In the meanwhile, we don't use it for our partitioning. We can enable the partition manager when this use case is properly supported.


Add the ability to manually specify a Yamaha AVR via it's IP address

Description:
I have added a feature so that you can manually specify the IP address of a Yamaha receiver if the autodiscovery won't work (due to a bug in Yamaha's firmware). The underlying rxv library did already support manually specifying the address, so it was mostly reading the config and providing a second add_devices function
Related issue (if applicable):
No related issue, but a feature request by myself in the forums
Pull request in home-assistant.io with documentation (if applicable):
https://github.com/home-assistant/home-assistant.github.io/pull/959
Example entry for configuration.yaml (if applicable):
 media_player:
    platform: yamaha
    host: <IP_ADDRESS>
    name: 'Basement Receiver'

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

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

To be honest, i am not completely satisfied with the if-switch in lines 47-56, especially with the calling of add_devices for each branch separately. Maybe i'll fix this now and append to this PR, since it is still in reviewing state.

Cool 🐬


Incorrect working folder details

Table in Advanced  section shows the wrong path.
Currently:

Note: By default, the working folder is %appdata%\Microsoft\MigrationTool.

The correct path to the MigrationTool folder should be:  %APPDATA%\Microsoft\SPMigration\Logs\Migration\MigrationTool, however it is unclear what "working folder" is meant to signify.
If temp files for the migration job, I believe this should be %APPDATA%\Microsoft\SPMigration\Logs\Migration as this contains both MigrationTool and MigrationToolStorage "working" folders.
A breakdown of all paths and their specific migration related contents could be more valuable.

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

ID: dad86450-d9ac-4cc4-fc75-63f8b285c298
Version Independent ID: d1e8c85a-b365-78c0-be1a-5a03ee082491
Content: SharePoint Migration Tool settings - Migrate to Microsoft 365
Content Source: migration/SPMT-settings.md
Service: microsoft-365-migration
GitHub Login: @MachelleTranMSFT
Microsoft Alias: mactra

Hello @IT-RD
The folder that you are talking about here is the Logs folder for Migration Manager
It's documented here
https://learn.microsoft.com/en-us/sharepointmigration/mm-faqs

Question: Where are local Migration Manager logs stored?
Answer: The logs are stored here: C:\Users<Username>\AppData\Roaming\Microsoft\SPMigration.


SBT clean up

I cleaned up sbt configuration, so now you can update dependencies for the whole project by changing only one value.

I love it, thanks a lot!


My trained model can't recognize well some lines

Environment

Tesseract Version: 5.2.0-1
Platform: Windows 64 And Ubuntu 20.4

Current Behavior:
i trained my own traineddata from scratch with 800K lines. in some image likes this it can't recognize column lines ( psm 6 or 4 ). it works good when i select every line separately. ray's Arabic and fas ( Farsi ) trained data works good ( it can recognize lines good )

Original Image for test :

Expected Behavior:
I imagined tesseract get lines by image processing and then every line will recognize with psm 7. but i see traineddata will affect on column line recognizer. What should I do in the training phase to solve such a problem?
Suggested Fix:
i try to adjust some parameters and i found this parameters. when i set each of them output will be better but how tessdata_best will works without this parameters?
textord_min_xheight=0
textord_really_old_xheight=1
textord_old_xheight=1
i try to adjust some xheight to my training data but problem not solved.
Files :
My example ground truth :
fas-ground-truth.zip
( numbers are all english )
My Traineddata :
MyTrainedData.zip

Use combine_tessdata to extract a traindata file. Compare your ara/fas config file to the official one.

i was do that. fas has no config file and works good.
ara has config but even without config file it works good.
i extract all file and then traineddata only with lstm , lstm-recoder and lstm-unicharset and remove other files ( line version , wordlist etc ) but it still works good.
I imagine it's all about training data. Do I need to refer to previous versions such as 4.00.00 and use this version like the official models?

If the official model works well without a config file and your custom model does not, I don't know what's causing this issue and how it can be solved.

Are the official best files done by Ray? Do you know how the images were produced? with text2image or self image line generator?

Are the official best files done by Ray?

Yes.
For your other questions, I don't know.


[Monitor OpenTelemetry Exporter] Fix Integration Tests Flush

Packages impacted by this PR
@azure/monitor-opentelemetry-exporter
Issues associated with this PR
#32101
Describe the problem that is addressed by this PR
Integration tests were failing as the flush was not completing.
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[x] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


ARROW-832: [C++] Update to gtest 1.8.0, remove now unneeded test_main.cc

I haven't tried this out on MSVC yet.
Also includes .gitignore fix for ARROW-821

Some benchmarks have a dependency on gtest.h, working on that


Monadic operations don't support void returns

This is something of a niche feature, but I like it, so thought I'd suggest it anyway :smile:
If you support mapping functions which return void then you can compose functions which have side effects:
optional<int> o = maybe_get_int();
o  | and_then(do_thing)
   | map(log); //only happens if both maybe_get_int() and do_thing returned values

I do this in my library by translating void returns to tl::monostate. Since you're using C++17, you could just use std::monostate.

Will look into this.

This only makes sense for map and map_or_else, correct?

Yep


Allow og:image meta tag to be customisable

Moving the meta tag into the head block so that it can be overwritten, as the image path for it needs to be an absolute path.
Fixes: #813

Would you mind raising an issue after this is merged on the Design System repo to include this new feature in the guidance?

Original code: https://github.com/alphagov/govuk_template/blob/master/source/views/layouts/govuk_template.html.erb#L36

i've updated the wording

Thinking about this more, if this is solved by setting 'assetPath' to an absolute url do we need to do this at all?

we can't set the absolute path for example in the design system (as we have two different urls)
but if thats not of a concern and we just leave the declaration twice as we have now, then there is no need for this indeed


What exactly is base path?

Hi, could you please elaborate a bit what exactly do you mean by base path? I know from docs how to set or modify it, however I don't know what it actually represents.
The problem is, that in our application we send SAML request from /sign-in/somecompany/saml URL and retrieve response at /sign-in/somecompany/saml/finish. But when the response comes and strict mode is enabled, it fails with The response was received at /finish instead of /sign-in/somecompany/saml/finish.
That was with no base path set. I've found out that setting base path to /sign-in/somecompany/saml fixes this issue, yet I'm not quite sure what this base path represents and if it has some other consequences. E.g. what if I use URL /sign-in/somecompany/saml/request for sending requests and /sign-in/somecompany/saml is not present in my app at all?
So the question is – what base path means? Is it just some kind of namespace?
Thank you for clarification.

FInd here an elaborate description of what basePath means:
https://swagger.io/docs/specification/2-0/api-host-and-base-path/


batch doesn't support an array?

According to the configuration documentation, "batch:" can take either a single batch-name string, "name1", or a list of batch names, "[name1, name2]". When I specify a list of batch names, however, bcbio seems to interpret the list as a single string, causing failures like this:
[0:apply]: CalledProcessError: Command 'set -o pipefail; gunzip -c /data/fastq/alldata/Exome_Validation_Run1/bcbio/work/NA-trio-123/gemini/['NA12878-2-only', 'NA-trio-2']-freebayes.vcf.gz | sed 's/ID=AD,Number=./ID=AD,Number=R/' | vt decompose -s - | awk '{ gsub("./-65", "./."); print $0 }'| bgzip -c > /data/fastq/alldata/Exome_Validation_Run1/bcbio/work/NA-trio-123/gemini/tx/tmp1NdTmu/['NA12878-2-only', 'NA-trio-2']-freebayes-decompose.vcf.gz
decompose v0.5

options:     input VCF file        -
         [s] smart decomposition   true (experimental)
         [o] output VCF file       -

gzip: /data/fastq/alldata/Exome_Validation_Run1/bcbio/work/NA-trio-123/gemini/[NA12878-2-only,.gz: No such file or directory
gzip: NA-trio-2]-freebayes.vcf.gz: No such file or directory
[bcf_ordered_reader.cpp:49 BCFOrderedReader] Not a VCF/BCF file: -
[bgzip] No such file or directory: NA-trio-2]-freebayes-decompose.vcf.gz
' returned non-zero exit status 1

My configuration file is a bit tricky, with different samples in partially overlapping groups of batches, like so:
  - files: [...]
    description: NA12878-1
    metadata:
      batch: [NA12878-1-only, NA-trio-1]
...
   - files: [...]
    description: NA12892
    metadata:
      batch: [NA-trio-1, NA-trio-2, NA-trio-3]

Am I doing something wrong, or is a list of batch values not quite supported for this case?

Thanks much for the report. Apologies, we hadn't worked on complex cases like this in the past. Typically we use the multiple group batches for associating normals with multiple tumors, so had a pretty vanilla use compared with this.
I definitely agree it's useful to support, and pushed fixes that handle this. bcbio was already doing everything correctly during variant calling, but some of the downstream processes (like GEMINI database building, which failed here) were not handling this setup correctly. If you update to the latest development:
bcbio_nextgen.py upgrade -u development

it should hopefully work cleanly for you. Thanks again.

Thanks for the quick fix!

On Nov 8, 2015, at 5:53 AM, Brad Chapman<EMAIL_ADDRESS>wrote:
Thanks much for the report. Apologies, we hadn't worked on complex cases like this in the past. Typically we use the multiple group batches for associating normals with multiple tumors, so had a pretty vanilla use compared with this.
I definitely agree it's useful to support, and pushed fixes that handle this. bcbio was already doing everything correctly during variant calling, but some of the downstream processes (like GEMINI database building, which failed here) were not handling this setup correctly. If you update to the latest development:
bcbio_nextgen.py upgrade -u development
it should hopefully work cleanly for you. Thanks again.
—
Reply to this email directly or view it on GitHub.


Can we add more area control?

You have done a very good job! But there are still not enough areas. Can you or how to add more colors?

You can edit the mask image with any image editor you like, and add more colors the Mask from RGB can handle to get more regions.


String Manipulation Library for UTF-8

Create a standard library that can
1.Take any unicode input and try to return the codepoints
2. Provide a standard method for Level II rendering for each complex character( avoid canonical equivalence problem)
3. Provide a new index to all 247+ Character set.
4. Return a  standard tamil character array
5. Provide common string manipulation functions that are agnostic to encoding
a. Char count
b. Concatenate strings
c. reverse the strings
d. provide an array and return a string
e. compare strings
f. split string

from tamil.utf8 import *

does most of these tasks. Maybe we should update the title as 'Enhancements to UTF-8 text processing in Tamil?'

Done.

I think tamil.utf8.* modules provide all the said functionality. To be clear, I will list the items piecemeal:

Take any unicode input and try to return the codepoints:

tamil.utf8.get_letters

Provide a standard method for Level II rendering for each complex character( avoid canonical equivalence problem)

track in separate ticket

Provide a new index to all 247+ Character set.

Ignore for now; separate arrays are available for uyir, mei, agaram, etc.

Return a standard tamil character array

tamil.utf8.tamil_letters

Provide common string manipulation functions that are agnostic to encoding
a. Char count:

len(tamil.utf8.get_letters())
b. Concatenate strings:
Python can do this automatically
c. reverse the strings:
tamil.utf8.reverse_word()
d. provide an array and return a string:
Standard Python is sufficient u"".join(...)
e. compare strings:
tamil.utf8.compare_words_lexicographic(word_a,word_b) can be used with sorted() Python command to sort strings, or arrays.
f. split string:
Standard Python split is sufficient.

Sathia - please update details of missing item to ticket #137.


Export table as XLSX

Hi,
We can currently export a "table view" to CSV, but this has some UX limitations for us:

reading a CSV in Excel is not very friendly (a bit more in LibreOffice, but still not as smooth as loading a native format)
some information is lost in CSV, mainly the type, which can create data issues, like losing "leading 0" in some administrative codes (yes, one can control the type when loading a CSV, but users may not do that, or forgot to do it, or miss one when there are 50 columns, etc.)

So we'd suggest to add a "Download as XLSX" just near the "Download as CSV". What do you think ?
This is something we can work on.
Thanks for your time and inputs!
Yohan

I've heard this request from others too, I think it's a good idea.

That would be great!

The PR has been merged, I think we can close the issue 🙂

Thank you, @LouisDelbosc ! I just played with it and am happy to have it. 🤩


[#3012] Fix(build): Fix compile issue after #2866 is merged

What changes were proposed in this pull request?
The proposal changes the task to the function and makes sure the function will not be skipped, also explicitly add the file to jar to make sure it will be executed every time.
Why are the changes needed?
Fix: #3012
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual test.

@coolderli would you please help to check my fix.

@coolderli would you please help to check my fix.

@jerryshao I try in my local environment. It works. The properties file can be added to the jar successfully.


DiG protein explanation

Hi team,
First of all thank you for making this wonderful program public. I was testing out the program today for the protein part of DiG and followed with 1 of the 6 provided examples. I have two questions:

How to use the output: it has two .npz files one for init and one for final. What should I do with them.
I want to use the program for a pdb that is not in the provided dataset. How would I go with generating the input .pkl files?

It would be really helpful for us biologists if you could give a short tutorial on how to use the program!
Please have a great week!
Best

Hi, I am not from the Microsoft team but I was able to implement the protein model using my own pdb and generate protein conformations. The input .pkl files are from the output of the evoformer of alphafold2. For my case, I had the implementation of evoformer from openfold and I saved the pkl files from the 'single' and 'pair' embeddings from the output of the iteration of evoformer
The openfold needs the (1) .fasta file and (2) mmcif dir and (3) .a3m alignment. But you can get these from the actual implementation of alphafold2.
I hope this helps


Reconfigure so ParallelGraph stores original nx graph

configure ParallelGraph so that it just stores the origin graph as an attribute.
Also need is_directed and is_multigraph to call the stored graphs methods.
clean up the linting and testing workflows, pre-commits, pyproject.toml

The test failures here come about from having a different number of chunks than local tests. I'm working on a system for testing which would allow setting of the number of chunks. The obvious problem of 1 chunk vs >1 chunk is most important to test, but other values might be helpful too.


feat(telemetry): add path-filterable support into HTTP request spans

This change adds a general capability to "filter" HTTP requests by their URI path and change the tracing level of the request span away from its default.
In our SDF and Cyclone server setups, we're creating an HTTP request span at the INFO level by default, and this change alters any request in SDF at /api/ to create an HTTP request span at the TRACE level, effectively disabling these spans in all but the most intense debugging scenarios.

bors merge


Enhancement Request : "Privacy" Mode

I have a Home Assistant automation that - when I am home - turns off a smart switch that powers one of my cameras.  Frigate hates it - I get tons of watchdog, ffmpeg, and video ERROR message in my logs as it keeps retrying the camera.  I'm wondering if a pseudo "privacy mode" could be created for Thingino that could return a blank black camera feed.  Basically creating a software "shutter" for the camera?

Sure. You can use "logo" as a privacy mask. Create an image that fills all of your sensor's output resolution, place it at 0,0 coordinates and there you go. https://github.com/gtxaspec/prudynt-t/blob/master/prudynt.cfg.example

That looks like it would work!  Now I just need to be able to curl -> shell script to make the cfg changes and reload... is there API docs for prudynt?

There is no API but you can inspect what does your browser sending to the camera when you tick "Logo" checkbox on the OSD settings page. Should not be anything too special I reckon.


remove tensorflow-addons dependency. Remove FScore metric from NNInte…

…rface
remove tensorflow-addons dependency. Remove FScore metric from NNInterface
plitted the pandas plotting module into a general plotting framework able to call different backends and the current matplotlib backends. The idea is that other backends can be implemented in a simpler way, and be used with a common API by pandas users.
The API defined by the current matplotlib backend includes the objects listed next, but this API can probably be simplified. Here is the list with questions/proposals:

[x] closes #xxxx
[x] tests added / passed
[ ] Ensure all linting tests pass, see here for how to run them
[ ] whatsnew entry

Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more


chore: track backoff time for connected peers

Motivation

To track backoff time for connected peers

Description

Add respective metric
Closes #442

Codecov Report
Patch coverage has no change and project coverage change: -0.13 :warning:

Comparison is base (cbdae04) 82.51% compared to head (ff794b4) 82.39%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #445      +/-   ##
==========================================
- Coverage   82.51%   82.39%   -0.13%
==========================================
  Files          48       48
  Lines       11966    11984      +18
  Branches     1279     1279
==========================================
  Hits         9874     9874
- Misses       2092     2110      +18

Impacted Files
Coverage Δ

src/index.ts
69.91% <0.00%> (-0.20%)
:arrow_down:

src/metrics.ts
18.63% <0.00%> (-0.23%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Added LinkedIn to the footer section and redirected twitter icon

Issue Number
#1724
Related Issues
#1723
Fixed the visibility of some elements in the footer section

heading "quick links" and "Subscribe to our Newsletter" were not visible in light mode

Description
Added linkedin icon to the footer and redirected twitter to the correct site

Type of PR

[ ] Bug fix
[X ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
before:

after:

Checklist:

[x ] I have made this change from my own.
[ ] I have taken help from some online resources.
[ x] My code follows the style guidelines of this project.
[ x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ x] My changes generate no new warnings.
[ x] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers and screenshots after making the changes.

@Dishaaa-T Unable to view that.

okay ma'am i will look into it