Blocking Call to load_default_certs at Startup

Is there an existing issue for this?

[X] I have searched both the existing open issues & recently closed issues and did not find a duplicate of this issue.

I have read about the Fleet API and understand I may need to use it

[X] I understand issues relating to read only commands will be auto closed if not using the Fleet API.

Version of the Tesla component
v3.24.1
Version of the Tesla car software
2024.32.3
Model
Model Y
Current Behavior
During startup of Home Assistant, I get a traceback in the logs, generated by the Tesla integration component.  I am encountering periodic crashes of my entire HA instance and this is something that has shown up in my diagnosis of that larger problem.  I am not asserting that the Tesla component is the cause of my crashes. I have not concluded that analysis yet.
Expected Behavior
Tracebacks are not expected to happen in normal operations.
Debug logs
2024-09-27 16:29:18.332 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x7f891480d0>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='<IP_ADDRESS>.<IP_ADDRESS>.1')>) inside the event loop by custom integration 'tesla_custom' at custom_components/tesla_custom/__init__.py, line 174: controller = TeslaAPI( (offender: /usr/local/lib/python3.12/ssl.py, line 713: context.load_default_certs(purpose)), please create a bug report at https://github.com/alandtse/tesla/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_default_certs
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 461, in _async_setup_component
    await asyncio.gather(
  File "/usr/src/homeassistant/homeassistant/setup.py", line 463, in <genexpr>
    create_eager_task(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/tesla_custom/__init__.py", line 174, in async_setup_entry
    controller = TeslaAPI(
.
.
.
[additional component problems]
.
.
2024-09-28 03:33:58.212 ERROR (MainThread) [custom_components.tesla_custom] Unexpected error fetching tesla_custom data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions
    yield
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 373, in handle_async_request
    resp = await self._pool.handle_async_request(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request
    raise exc from None
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 196, in handle_async_request
    response = await connection.handle_async_request(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 99, in handle_async_request
    raise exc
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 76, in handle_async_request
    stream = await self._connect(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 122, in _connect
    stream = await self._network_backend.connect_tcp(**kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/auto.py", line 30, in connect_tcp
    return await self._backend.connect_tcp(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/anyio.py", line 114, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectError: [Errno -3] Try again

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tesla_custom/__init__.py", line 466, in _async_update_data
    data = await controller.update(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 752, in update
    self._product_list = await self.get_product_list()
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 313, in get_product_list
    return (await self.api("PRODUCT_LIST"))["response"]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1375, in api
    return await self.__post_with_retries_except_unavailable(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 189, in async_wrapped
    return await copy(fn, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 111, in __call__
    do = await self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 153, in iter
    result = await action(retry_state)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/_utils.py", line 99, in inner
    return call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/__init__.py", line 418, in exc_check
    raise retry_exc.reraise()
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/tenacity/__init__.py", line 185, in reraise
    raise self.last_attempt.result()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.12/site-packages/tenacity/asyncio/__init__.py", line 114, in __call__
    result = await fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 1407, in __post_with_retries_except_unavailable
    return await self.__connection.post(command, method=method, data=data, url=url)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 166, in post
    return await self.__open(url, method=method, headers=self.head, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/teslajsonpy/connection.py", line 207, in __open
    resp: httpx.Response = await getattr(self.websession, method)(
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1801, in get
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1574, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1661, in send
    response = await self._send_handling_auth(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
    response = await self._send_handling_redirects(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
    response = await self._send_single_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1763, in _send_single_request
    response = await transport.handle_async_request(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: [Errno -3] Try again

Anything else?
No response

https://github.com/zabuldon/teslajsonpy/pull/474

Thank you for locating the earlier report of this issue. It indicates it was resolved and the fix was merged to the main repository? Is it not in the current main release (2024.32.3)?

I've confirmed I'm running 3.24.1 but seeing the same error.

It appears this issue (https://github.com/zabuldon/teslajsonpy/pull/474 ) has been worked and accepted(?) into the main code base. What is the process and possible timeline for an official point release containing this?  TIA -Dean

Someone submits a PR to add it.

I have the same issue.
I have tested the tested version 3.24.1 against teslajsonpy 3.12.1 which has the proposed fix  .
It does not solve the problem as not ssl_context has not value. I hope my output helps in solving this problem.
homeassistant  |   File "/config/custom_components/tesla_custom/config_flow.py", line 96, in async_step_credentials
homeassistant  |     info = await validate_input(self.hass, user_input)
homeassistant  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
homeassistant  |   File "/config/custom_components/tesla_custom/config_flow.py", line 260, in validate_input
homeassistant  |     controller = TeslaAPI(
homeassistant  |                  ^^^^^^^^^
homeassistant  |   File "/usr/local/lib/python3.12/site-packages/teslajsonpy/controller.py", line 148, in init
homeassistant  |     ssl_context.load_verify_locations(api_proxy_cert)
homeassistant  |     ^^^^^^^^^^^
homeassistant  | UnboundLocalError: cannot access local variable 'ssl_context' where it is not associated with a value

Same here:
WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_default_certs with args (<ssl.SSLContext object at 0x7f50b76a50>, <Purpose.SERVER_AUTH: _ASN1Object(nid=129, shortname='serverAuth', longname='TLS Web Server Authentication', oid='<IP_ADDRESS>.<IP_ADDRESS>.1')>) inside the event loop by custom integration 'tesla_custom' at custom_components/tesla_custom/init.py, line 174: controller = TeslaAPI( (offender: /usr/local/lib/python3.12/ssl.py, line 713: context.load_default_certs(purpose)), please create a bug report at https://github.com/alandtse/tesla/issues
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 783, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 546, in async_setup
await self.__async_setup_with_context(hass, integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/tesla_custom/init.py", line 174, in async_setup_entry
controller = TeslaAPI(


How to use Swift Nio SSH?

Today I found this project, but hit the issue that I have no clue how to use the project. I believe it would help a lot to project, if there would be some "Get started" documentation, which would just describe basic scenarios, starting with:

How to connect to SSH server
How to authenticate
How to run command and get result

I believe ./Sources/NIOSSHClient and ./Sources/NIOSSHServer are what you are looking for.

Just wondering are there any API documents or demo  out there? I am currently working on a project connecting Raspberry Pi from iOS devices; the SwiftNIO-SSH looks like  a great native solution. Looking forward for future improvement on functionality and documentation.

See above for the demos. Sadly we don't have API docs for this project at the moment.


[Testing Platform] ObjectDisposedException on CancellationTokenSource

Happening in 1.4.0-preview.24422.11.
Stacktrace:
Error: Unhandled exception. System.ObjectDisposedException: The CancellationTokenSource has been disposed.
   at System.Threading.CancellationTokenSource.Cancel()
   at Microsoft.Testing.Platform.OutputDevice.Terminal.TestProgressStateAwareTerminal.StopShowingProgress() in /_/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TestProgressStateAwareTerminal.cs:line 108
   at Microsoft.Testing.Platform.OutputDevice.Terminal.TerminalTestReporter.TestExecutionCompleted(DateTimeOffset endTime) in /_/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TerminalTestReporter.cs:line 178
   at Microsoft.Testing.Platform.OutputDevice.TerminalOutputDevice.DisplayAfterSessionEndRunAsync() in /_/src/Platform/Microsoft.Testing.Platform/OutputDevice/TerminalOutputDevice.cs:line 293
   at Microsoft.Testing.Platform.Hosts.CommonTestHost.DisplayAfterSessionEndRunAsync(IPlatformOutputDevice outputDevice, ITestSessionContext sessionInfo, CancellationToken cancellationToken) in /_/src/Platform/Microsoft.Testing.Platform/Hosts/CommonTestHost.cs:line 151
   at Microsoft.Testing.Platform.Hosts.CommonTestHost.ExecuteRequestAsync(IPlatformOutputDevice outputDevice, ITestSessionContext testSessionInfo, ServiceProvider serviceProvider, BaseMessageBus baseMessageBus, ITestFramework testFramework, ClientInfo client) in /_/src/Platform/Microsoft.Testing.Platform/Hosts/CommonTestHost.cs:line 132
   at Microsoft.Testing.Platform.Hosts.ConsoleTestHost.InternalRunAsync() in /_/src/Platform/Microsoft.Testing.Platform/Hosts/ConsoleTestHost.cs:line 88
   at Microsoft.Testing.Platform.Hosts.ConsoleTestHost.InternalRunAsync() in /_/src/Platform/Microsoft.Testing.Platform/Hosts/ConsoleTestHost.cs:line 120
   at Microsoft.Testing.Platform.Hosts.CommonTestHost.RunTestAppAsync(CancellationToken testApplicationCancellationToken) in /_/src/Platform/Microsoft.Testing.Platform/Hosts/CommonTestHost.cs:line 76
   at Microsoft.Testing.Platform.Hosts.CommonTestHost.RunAsync() in /_/src/Platform/Microsoft.Testing.Platform/Hosts/CommonTestHost.cs:line 38
   at Microsoft.Testing.Platform.Hosts.CommonTestHost.RunAsync() in /_/src/Platform/Microsoft.Testing.Platform/Hosts/CommonTestHost.cs:line 59
   at Microsoft.Testing.Platform.Builder.TestApplication.RunAsync() in /_/src/Platform/Microsoft.Testing.Platform/Builder/TestApplication.cs:line 240
   at TestingPlatformEntryPoint.Main(String[] args) in /_/tools/tunit-nuget-tester/TUnit.NugetTester/TUnit.NugetTester/obj/Debug/net8.0/TestPlatformEntryPoint.cs:line 16
   at TestingPlatformEntryPoint.<Main>(String[] args)

Is this during abort? Or it just randomly happens?

Is this during abort? Or it just randomly happens?

Seems to be just random.

I can't reproduce, I've run big test projects, small test projects, test projects with 0 tests. each I ran for 100 times and never seen the erro. I also tried aborting. Can your reproduce this regularly? Is the project public so I can try?

Weird - I'm getting it every time.

v0.1.496.0 | 64-bit | Microsoft Windows 10.0.22621 | win-x64 | .NET 8.0.8 | Microsoft Testing Platform v1.4.0-preview.24422.11

The repro is using my framework - Hope it's still useful though.
<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
    </PropertyGroup>

    <ItemGroup>
      <PackageReference Include="TUnit" Version="0.1.496-PullRequest324.0" />
    </ItemGroup>

</Project>

public class Tests
{
    [Test]
    public async Task Test()
    {
        await Task.CompletedTask;
    }
}

dotnet run
NuGet packages are attached here: TUnit.zip
Should be able to put them in a local folder and add that as a nuget source

You are registering our output device in AddFromFrameworkServiceProvider and you are disposing the service provider (along with all disposable registered services), in TUnitTestFramework.ExecuteRequestAsync -> serviceProvider.DisposeAsync();
This will dispose the output device before we are done completing the run, and hence the crash.
Please don't dispose our service, or wrap it in a dummy object that will not call the Dispose.

Ah my bad. Thanks for spotting that! An oversight on my part that if they're registered in my service provider it'll try and dispose them. I'll tidy this up! Sorry for the issue

No problem!


Update version: filips.FirefoxPWA version 2.7.3

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


Improve instructions

AIxplain Comment
File: src/ai_assistent.py

Remove redundant instructions

   file_with_extension_instructions = FileInstructions(
       file_match="*.*",
@@ -160,7 +160,7 @@
                 specifics="You are checking a file with the type {file_suffix}, you know the recommendations for this file."
             ),
         )
-        default_instructions = FileInstructions(
+        # default_instructions = FileInstructions(
             file_match="*",
             instructions=header.format(
                 specifics="Based on the type of this file, check it based on the best practices."
@@ -171,7 +171,7 @@
             py_instructions,
             md_instructions,
             file_with_extension_instructions,
-            default_instructions,
+            # default_instructions,
         ]

         appended_instructions = "\n This is the file name {file_name}. Put the response in a single file in plain markdown format."


Port Admob to NativeScript

Have you consider port this plugin to NativeScript. Your plutin does well with TabrisJS, but as NativeScript have another approach...
https://docs.nativescript.org/plugins.html

@calebeaires thanks, that sounds interesting, will take a deeper look on it.


[pulsar-admin] change partitioned topic stats on async rest api

Motivation
As discussed at #4447, added async rest handlers for partitioned-topic stats api to avoid blocking of web-threads.

rerun cpp tests
rerun java8 tests


Bugfix: Corrext XML attribute syntax.

@iris-hpaterson : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@iris-hpaterson : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

#sign-off


VsTest possibility to override any parameter in runsettings file

Type: Feature
Task Name: VsTest
Issue Description
I am able to specify runsettings file for my tests execution. And even I am able to override parameters in this file. According documentation there is a possibility to override any parameter, even from custom section. It works if I execute tests via command line.
Lets say I have the following runsettings file.
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
  <NUnit>
    <NumberOfTestWorkers>2</NumberOfTestWorkers>
  </NUnit>
</RunSettings>

Now I want to configure VsTest task in pipeline to override value 2. To do it I am configuring:

But it doesn't take effect.
Task logs
 ##[debug]SetupPhase.Run: Running necessary setup steps.
 Provided settings file:
 <?xml version="1.0" encoding="utf-8" ?>
 <RunSettings>
 	<NUnit>
 		<NumberOfTestWorkers>2</NumberOfTestWorkers>
 	</NUnit>
 </RunSettings>

 ##[debug]<?xml version="1.0" encoding="utf-8" ?>
 ##[debug]<RunSettings>
 ##[debug]	<NUnit>
 ##[debug]		<NumberOfTestWorkers>2</NumberOfTestWorkers>
 ##[debug]	</NUnit>
 ##[debug]</RunSettings>
 ##[debug]
 ##[debug]Overriding test run parameters for `.runsettings`
 ##[debug]Adding parameter : `NUnit.NumberOfTestWorkers` with value : `1`
 ##[debug]Code coverage node not present.
 ##[debug]Updating the BatchSize in RunSettings to 1000
 ##[debug]Run configuration not found in the runsettings, so adding one with BatchSize
 ##[debug]Updating ResultDirectory by editing given runsettings if needed.
 ##[debug]UpdateIfRequiredAndParse called for TestResultsDirectoryRunsettingsParser.
 ##[debug]ResultsDirectory node not found in run configuration. So adding ResultsDirectory node.
 ##[debug]CommonSettingsManager : TestResultsDirectory intialized to D:\a\_temp\TestResults
 Updated Run Settings:
 <RunSettings>
   <NUnit>
     <NumberOfTestWorkers>2</NumberOfTestWorkers>
   </NUnit>

   <RunConfiguration>
     <BatchSize>1000</BatchSize>
     <ResultsDirectory>D:\a\_temp\TestResults</ResultsDirectory>
   </RunConfiguration>
 </RunSettings>

Via command line
It works good in command line as documented.
dotnet test --settings my.runsettings -- NUnit.NumberOfTestWorkers=1

Yeap, the easiest way to resolve issues.


Vulnerability roundup 98: glib-2.64.5: 1 advisory [7.8]

search, files

[ ] CVE-2020-35457 CVSSv3=7.8 (nixos-20.09)

Scanned versions: nixos-20.09: aa5b9cd16b9.
Cc @7c6f434c
Cc @lovek323
Cc @worldofpeace

(disputed)

(disputed)

NixOS 20.09 is EOL, so this issue isn't actionable anymore.


Multiple changes to Store

This PR makes the following changes to Store (in order of significance)

Makes Store emit an (action -> state) tuple.

This tuple allows more granular control about when a view updates when the stores state changes.
Methods like collect can now be used to, not only capture certain state changes, but they can also react to the Action which caused that state.
This allows us to ignore all other Actions which are irrelevant to that specific view.
For example, if we were to move a draggable element using a mouse cursor, we could react just to events changing the position of the element, while discarding all other state updates.svg(
  rect(width := 10, height := 10,
    x <-- store.collect { case (MoveAction, state) => state.xPos },
    y <-- store.collect { case (MoveAction, state) => state.yPos }
  )
)

This tuple can also be used to have other parts of the application react to an Action. This can be useful if we, for example want to collect numerous actions (and their resulting states) into a list, so that we can later undo them, as as is common in many applications, by, for example, hitting ctrl + z.
However this addition has some implications which have further consequences.

Introduces a common Action base-trait;

Since we now emit an (action -> state) tuple in Store, we have 2 edge cases which need to be solved.

This PR Introduces a common starting Action: Noop;

When created, Store emits it's initial State once, to every subscriber. Since that state was not determined by an Action, a placeholder action is needed.
It, Noop is inherited from the common Action.

This PR Introduces a common Error Action which carries error data.

The Error() Action is used, when the reduction of an Action fails. It contains the errors data object.

Changes the Store type parameter naming scheme, to use Model instead of State.

I propose the type parameters of store to be named [A, M], meaning [Action, Model] (ordered by In, Out], consistently, as the ordering is also used in ProHandler)
I feel like this describes the usage of these a little better, since we do not actually have a state at compile time.
A runtime value should be named val state: Model

Removes startWith by using the scan0 operator;

I am afraid, that I cannot really split this into multiple commits, without a lot of work being involved, since my original branch is unable to merge due to it being forked from the new-io  PR while it was still in progress.

@Busti Thank you for you contribution :)
In general this looks good to me. But before merging I would like to look out for alternatives of having a common base trait for actions.
What do you think about a typeclass like the following?
trait Action[T] {
  def noop: T
  def error(err: Throwable): T
}

We could even have a simple default implementation with an Option and just throw on error :)

Wait. The user provides the initialState in the renderWithStore method, so how about we just let the user provide the tuple of action and state there? We can have another method with just the state which create a Store[Option[A], M]. Then we might not even need an action type at all.

@Busti Thank you for you contribution :)
In general this looks good to me. But before merging I would like to look out for alternatives of having a common base trait for actions.
What do you think about a typeclass like the following?
trait Action[T] {
  def noop: T
  def error(err: Throwable): T
}

We could even have a simple default implementation with an Option and just throw on error :)

I must admit that I really like not having to wrap each pattern match case in some wrapper trait, but there is probably a nicer way to accomplish that than using a common base trait.

@cornerman May I ask, why do you suggest a typeclass?
I do not see any case where this would need any implicit type-depending behavior.
We could probably just model it after scalas Option or Either, but I do not like creating new wrapper classes like that. There is too much stuff we'd have to implement.
I suppose we could just go for Option[Try[T]] and then implement some useful implicits that make it nicer to use.

I like the Idea of providing an action when passing the initialState to the store. I have a lot of scenarios where store contents are provided by a server, because they were created earlier on the client.

Offtopic:
@Busti for future work / curiosity. Like two months ago I experimented with an incremental Store concept to calculate efficient updates to the dom. The key concept is similar to your idea: The store store outputs state and action, and when you map, you can map over both to transform state and action at the same time. This allows to calculate efficient updates to the state and later to the dom. I gave it up, because it turned out that incremental components are hard to write. But I want to show it to you anyways. Maybe you have an idea.
(I dont't remember if this code is in a usable state, but you should get the idea.)
import monix.execution.{Ack, Cancelable, Scheduler}
import monix.reactive.observers.Subscriber
import monix.reactive.{Observable, Observer}
import monix.reactive.subjects.PublishSubject
import rx._

import scala.concurrent.Future

trait IncStore[State, InAction, OutAction] { self =>
  def initialState: State
  def inAction: Observer[InAction]
  def output: Observable[(State, OutAction)]
  val state: Observable[State] = output.map(_._1)
  val outAction: Observable[OutAction] = output.map(_._2)

  def mapIncremental[NextState, NextOutAction](mapInputState:State => NextState, onAction:(NextState,OutAction) => (NextState, NextOutAction)): IncStore[NextState, InAction, NextOutAction] = new IncStore[NextState, InAction, NextOutAction] {
    override def initialState: NextState = mapInputState(self.initialState)
    override def inAction: Observer[InAction] = self.inAction
    override def output: Observable[(NextState, NextOutAction)] = self.output.map { case (state, action) => onAction(mapInputState(state), action)}
  }

  def map[NextState](mapInputState:State => NextState, onAction:(NextState,OutAction) => NextState): IncStore[NextState, InAction, OutAction] = new IncStore[NextState, InAction, OutAction] {
    override def initialState: NextState = mapInputState(self.initialState)
    override def inAction: Observer[InAction] = self.inAction
    override def output: Observable[(NextState, OutAction)] = self.output.map { case (state, action) => (onAction(mapInputState(state), action), action) }
  }

  def mapState(mapInputState: State => State): IncStore[State, InAction, OutAction] = new IncStore[State, InAction, OutAction] {
    override def initialState: State = mapInputState(self.initialState)
    override def inAction: Observer[InAction] = self.inAction
    override def output: Observable[(State, OutAction)] = self.output.map { case (state, action) => (mapInputState(state), action) }
  }
}

case class ConcreteIncStore[State, InAction, OutAction](initialState: State, inAction: Observer[InAction], output: Observable[(State, OutAction)]) extends IncStore[State, InAction, OutAction]

object IncStore {
  type Store[State, Action] = IncStore[State, Action, Action]

  def apply[State, Action](init:State, f:(State,Action) => State): Store[State, Action] = {
    val subject = PublishSubject[Action]()
    var lastState = init
    val observable = subject.map { inAction =>
      lastState = f(lastState, inAction)
      (lastState, inAction)
    }
    new ConcreteIncStore[State, Action, Action](init, subject, observable)
  }
  def incremental[State, InAction, OutAction](init: State, f:(State,InAction) => (State, OutAction)): IncStore[State, InAction, OutAction] = {
    val subject = PublishSubject[InAction]()
    var lastState = init
    val observable = subject.map { inAction =>
      val result = f(lastState, inAction)
      lastState = result._1
      result
    }
    new ConcreteIncStore[State, InAction, OutAction](init, subject, observable)
  }

object StoreExample {
  def sorted(implicit ctx: Ctx.Owner): VNode = {
    sealed trait SetAction
    object SetAction {
      case class Add(value: Int) extends SetAction
      case class Remove(value: Int) extends SetAction
    }
    sealed trait SeqAction
    object SeqAction {
      case class Add(value: Int, index: Int) extends SeqAction
      case class Remove(index: Int) extends SeqAction
    }
    val intList = Store[List[Int], SetAction](Nil, {
      case (list, action@SetAction.Add(elem))    => elem :: list
      case (list, action@SetAction.Remove(elem)) => list diff List(elem)
    })

    val (sortedIntSeq, _) = intList.mapIncremental[Vector[Int], SeqAction](_.sorted.toVector, {
      case (currentVector, SetAction.Add(nextElem)) =>
        val (smaller, bigger) = currentVector.partition(_ < nextElem) // can be made O(log n)
      val position = smaller.size
        val newState = (smaller :+ nextElem) ++ bigger
        (newState, SeqAction.Add(nextElem, position))
      case (currentVector, SetAction.Remove(elem))  =>
        val position = currentVector.indexOf(elem) // can be made O(log n)
      val newState = currentVector.take(position) ++ currentVector.drop(1 + position)
        (newState, SeqAction.Remove(position))
    })

    val sortedDivs: Observable[ChildCommand] = sortedIntSeq.outAction.map {
      case SeqAction.Add(elem, index) =>
        val node = div(
          display.flex,
          elem,
          div("x", paddingLeft := "10px", cursor.pointer, onClick.mapTo(SetAction.Remove(elem)).handleWith(intList.update _))
        )
        ChildCommand.Insert(index, node)
      case SeqAction.Remove(index)    =>
        ChildCommand.Remove(index)
    }

    div(
      button("Add random number", onClick.mapTo(SetAction.Add(scala.util.Random.nextInt(100))).handleWith(intList.update _)),
      div("intList: ", intList.state.map(_.toString), ", last action: ", intList.outAction.map(_.toString)),
      div("sorted: ", sortedIntSeq.state.map(_.toString), ", last action: ", sortedIntSeq.outAction.map(_.toString)),
      div(sortedDivs.startWith(Seq(ChildCommand.ReplaceAll(js.Array(div("initial element")))))),
    )
  }
}

I will implement it using a Try for now.
@cornerman I have to agree with you on your previous point. A Noop is unnecessary when we provide an initial action.

I will implement it using a Try for now.

Great. Maybe we should prefer Either[Throwable, T] over Try[T]? It just behaves more intuitive to me, because it does not swallow exceptions like Try` when composing it.
Example:
scala> Try(1).map(_ => throw new Exception)
res1: scala.util.Try[Nothing] = Failure(java.lang.Exception)

scala> Right[Throwable, Int](1).map(_ => throw new Exception)
java.lang.Exception
  at .$anonfun$res3$1(<console>:15)
  at .$anonfun$res3$1$adapted(<console>:15)
  at scala.util.Either.map(Either.scala:349)
  ... 28 elided

@cornerman I do not like it all that much either, since Try also swallows the exception type. I would still like to pass the failed action as context, since it could be useful when displaying errors, but that depends on how likely it is that a user causes an error.

I do not like it all that much either, since Try also swallows the exception type. I would still like to pass the failed action as context, since it could be useful when displaying errors, but that depends on how likely it is that a user causes an error.

On the other hand, one should not put too much logic into exceptions. Users should rather model these reducer errors in their state, which could include a potential error together with the previous state.
What I am trying to say: If  we want to know the action that lead to an error, maybe it makes sense to put the error in the state and even make this optional with a PartialFunction. You can handle all errors and get to know the action that lead to it and can even reflect the error in your state if you want to:
  def create[A, M](
    initialAction: A,
    initialState: M,
    reducer: Reducer[A, M],
    recoverError: PartialFunction[Throwable, M => M] = PartialFunction.empty
  )(implicit s: Scheduler): IO[ProHandler[A, (A, M)]] = IO {
   ...
   }.recover(recoverError.andThen(f => f(state)) orElse { case NonFatal(e) =>
     dom.console.error(e.getMessage)
     Failure(e) -> state
   }).get
}

@cornerman I like the general direction of the Idea. I had some second thoughts about it that I would like to share, however I have come to the conclusion that this is the best solution.
The

Also, shouldn't the default case for the PartialFunction be { case _ => s => s }, since PartialFunction.empty throws a MatchError every time it is called.

Both would work. We just add a console error if you do not handle the error yourself. The PartialFunction.empty does not throw a match error, because we never do an apply() on it. We use andThen which returns another PartialFunction and then do orElse which returns another PartialFunction. Therefore the recover of the monix observable will just see a PartialFunction and if recoverError is not defined, it will fallback to the orElse branch (dom.console.error and returning action -> state).

I implemented the previously discussed changes. Are there any other matters that need to be discussed?

Great, it looks good to me.
I think, we can improve the store even more, but this does not need to be done in this PR :)

@Busti Can you please squash and rebase? Then we can merge. Thank you for your contribution!

I am afraid that there still is a bug in the current impl. I have been doing some testing with this in another project. I will write a unit-test for the bug I found, but unfortunately I have been unable to fix it yet.
The problem is as follows:
When the stores emissions are used in multiple locations, only the first usage ever receives the initial value.
for {
  store <- Store.create[Int, String](0, "foo", {
      case (_, 0) => "foo"
      case (_, _) => "bar"
    }: (String, Int) => String)

  // Unfortunately a ProHandler cannot be used as an observable in tags.
  state = store.mapObservable(_._2).asinstanceOf[Observable[String]]

  OutWatch.renderReplace("#app", ul(
    li(test),
    li(test)
  ))
} yield ExitCode.Success

This should yield:

foo

foo

This does yield:

foo

Please have a look at the new commit structure.
The intermediate commits have been removed and every change has it's own commit.
I have also added some documentation.

@Busti Great! The PR looks good now. Additionally thank you for the nice documentation.
Can you open an issue for the bug? Just to have some info on what you have found out.


Non-user friendly message when attempting to delete Cloud Credentials being used

Setup

Rancher version: 2.7-head (Commit ID: 4092002)
Browser type & version: Brave: v1.44.108 (Chromium: v106.0.5249.103) and Firefox v105.0.3

Describe the bug
When attempting to delete a Cloud Credential that is being used by an active cluster, the user is presented with a non-user friendly error message.
To Reproduce

Create AWS Cloud Credentials in Rancher
Create an EC2 Node Driver cluster using the newly created AWS Cloud Credentials
When the cluster is Active, attempt to delete the AWS Cloud Credentials

Result
Note the user is presented with a non-user friendly error message in the "Are you sure?" dialogue box.
Expected Result
A clear and concise error message is presented that explains to the user why they are not able to delete that set of Cloud Credentials.
Screenshots

@jameson-mcghee There's nothing more the UI can do here as the message comes from the backend.
I am going to move back to test - in order to get the error message improved, can you please file an issue against the backend team. Thanls.

Based on the information provided by @nwmac, I am flagging this ticket as Blocked until the completion/validation of Rancher ticket 39300.

It was determined that since the remaining work related to this is issue will be done on the backend Rancher ticket 39300, this ticket can be marked as Done.

@HarrisonWAffel We can backport it. I created this issue, although we haven't branched for the next 2.6 release yet.


Add effect on existing audio track

Would it be possible to add an effect to an existing audio track in real time? The only solution i could think for doing this would be to create a new audio track with desired effect, destroy the sound handle, recreate it, set the playback to where it left off and then play the sound there, but that seems unreasonably complex. I would try to contribute this kind of feature directly but i'm a beginner to rust so I'm not sure where i would start

The effects themselves have handles that you can modify in runtime. For example, you can set the mix to 0.0 to have a completely dry sound then turn it 1.0 at some later point in time to “add the effect”. You can also tune other effect parameters dynamically.
Alternatively you can create custom effecfs manually. A no-effect/unprocessed sound would simply have the output frame exactly the same as the input frame, and you can dynamically adjust this behavior.  Note that these methods still require the effect to be attached to the track - you simply just make the effect output completely dry when you want it “off”.


⚠ GitLab Server has degraded performance

In 9446e7e, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 14054 ms

Resolved: GitLab Server performance has improved in fb97c31.


Autostart does not work in virtualenviroment on Kubuntu 23.04

          I have the same problem, but with virtualenviroment on Kubuntu 23.04:

maestral doesn't autostart. I have to source maestral-venv/bin/activate to be able to start maestral.
ralf@ralf-Aspire-1810TZ:~$ maestral
Traceback (most recent call last):
  File "/home/ralf/.local/bin/maestral", line 5, in <module>
    from maestral.cli import main
ModuleNotFoundError: No module named 'maestral'
ralf@ralf-Aspire-1810TZ:~$ source maestral-venv/bin/activate
(maestral-venv) ralf@ralf-Aspire-1810TZ:~$ maestral gui

then maestral works until I close the console-window.
How can I  have maestral gui autostart again?
btw: I needed to enable system-site-packages to activate dbus in venv. Without it, maestral didn't work.
python3 -m venv --system-site-packages maestral-venv
Thanks in advance
PS: If you think, that this is worth a separate Issue, please split it.
Originally posted by @walterheisenberg in https://github.com/samschott/maestral/issues/847#issuecomment-1544634317

I'm not sure what you mean by autostart. If you refer to the systemd integration to start Maestral automatically on login, this should work perfectly fine even with a venv setup.
If you simply want to use the CLI commands without activating the venv, you can either run maestral-venv/bin/maestral directly or create a symlink for this location somewhere on your PATH.

With "autostart" I ment "starting the maestral daemon after login as described in "--help":

autostart        Automatically start the sync daemon on login.

This doesn't work. I tried (in venv) ofc:
maestral autostart
Autostart is enabled. Use -N to disable.

maestral (with gui) was installed on the Kubuntu version before (22.10) and worked with "autostart" (after login). Then I upgraded to 23.04 and mestral stopped working.
As a solution I used the "venv"-method from the "Installation guide".
On my other PC with Kubuntu 23.04 I used
python3 -m pip install --upgrade maestral --break-system-packages
and everything worked as before in Kubuntu 22.10 (see https://github.com/samschott/maestral/issues/886#issuecomment-1519057618)
In both cases it was a system-upgrade from 22.10 to 23.04, no fresh installation.
I checked "autostart":
ralf@ralf-Aspire-1810TZ:~$ cd .config/autostart/
ralf@ralf-Aspire-1810TZ:~/.config/autostart$ ls -l
insgesamt 8
-rw-rw-r-- 1 ralf ralf 309 Jul 17  2022 dropbox.desktop
-rwxrw-r-- 1 ralf ralf 208 Sep  2  2022 maestral-maestral.desktop
ralf@ralf-Aspire-1810TZ:~/.config/autostart$ cat maestral-maestral.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Maestral
Exec=/usr/bin/python3 -m maestral_qt -c maestral
Icon=maestral
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=2
X-KDE-autostart-after=panel

This is IMHO the wrong entry for the "new" venv
Thx for help

Indeed, it looks like the XDG desktop entry uses a command /usr/bin/python3 -m maestral_qt -c maestral which no longer works when Maestral is installed in a venv. I'll need to fix that.
On a related note, the checkbox "Start on login" in the GUI (which created the file that you've quoted above) results in the GUI automatically starting on login. The maestral autostart -Y|-N command however is specific to the daemon only. This command incidentally still works, it uses slightly different logic which still works in virtual environments.
In the meantime, you can manually edit the XDG file to replace:
"/usr/bin/python3 -m maestral_qt -c maestral" -> "HOME/maestral-venv/bin/maestral_qt"

... where you replace HOME with the actual parent folder of the venv directory.


Test coverage: Contribution

Tasks:

[ ] Write unit tests pre refactoring (8 story points)
[ ] Refactor tests after refactoring and include any new functions (3 story points)


RecordTypes + SoundTypes not being registered from mods

I am currently running

SpongeForge version: 1.12.2-2838-7.1.7-RC3878

It seems that any ItemRecords / SoundTypes that belong to mods are not being registered to the sponge registries.
Sample mod: https://www.curseforge.com/minecraft/mc-mods/igauntlet
Attempting to pull a RecordType/SoundType from the item in question (AwesomeMix) will not return as expected.
    @Inject(method = "playEvent(Lnet/minecraft/entity/player/EntityPlayer;ILnet/minecraft/util/math/BlockPos;I)V", at = @At("HEAD"), cancellable = true)
    private void spongePlayEvent(EntityPlayer player, int type, BlockPos pos, int data, CallbackInfo ci) {
        if(type == Constants.WorldEvents.PLAY_RECORD_EVENT && data != 0) {
            try (final CauseStackManager.StackFrame frame = Sponge.getCauseStackManager().pushCauseFrame()) {
                TileEntity tileEntity = this.getTileEntity(pos);
                if(tileEntity instanceof BlockJukebox.TileEntityJukebox) {
                    BlockJukebox.TileEntityJukebox jukebox = (BlockJukebox.TileEntityJukebox) tileEntity;
                    ItemStack record = jukebox.getRecord();
                    if(!record.isEmpty()) {
                        final RecordType recordType = ((org.spongepowered.api.item.inventory.ItemStack) record).getProperty(RecordProperty.class).get().getValue();
                        final PlaySoundEvent.Record event = SpongeCommonEventFactory.callPlaySoundRecordEvent(frame.getCurrentCause(), (Jukebox) jukebox, recordType);
                        if (event.isCancelled()) {
                            return;
                        }
                    }
                }
            }
        }
    }```

Seems something like this may work for RecordTypeRegistryModule
    @AdditionalRegistration
    public void customRegistration() {
        for (Map.Entry<SoundEvent, ItemRecord> recordEntry : ((ItemRecordAccessor) Items.RECORD_CAT).accessor$getRecords().entrySet()) {
            ItemRecord recordItem = recordEntry.getValue();
            this.add(new SpongeRecordType(Item.REGISTRY.getNameForObject(recordItem).toString(), recordItem.getTranslationKey(), Item.REGISTRY.getIDForObject(recordItem), (SoundType)((ItemRecordAccessor)recordItem).accessor$getSoundEvent()));
        }
    }```

It seems that the internal ids can change for various reasons,
Redone RecordType Registration to use ItemTypes as we can reference the current ids that way.
https://github.com/SpongePowered/SpongeCommon/pull/2335/commits/631518c5f8f28d27b3a8da9148286f6facb4648c

Moving to SpongeForge because this is only relevant there.


500: Internal Server Error. Wrong decryption key

When a user gets to the end of a survey they receive the following error message.

Wrong decryption key! Decryption key has changed since this data were last saved, so data can't be decrypted. Please consult our manual at https://manual.limesurvey.org/Data_encryption#Errors.

Re-entering the email password in global settings resolves the issue until the pod is replaced.

I've found the limesurvey.encrypt.nonce and secretBoxKey
and in the pod I can see the ENCRYPT_NONCE and ENCRYPT_SECRET_BOX_KEY environment vars are set to what I want.
The security.php file is set to something totally different, but i'm assuming the app is preferring the env vars instead of the file?
BTW, I get the issue at the end of a survey when someone completes it. I can renter the email smtp password to resolve the issue, but once the pod is replaced the error reoccurs.
The ENCRYPT_NONCE and ENCRYPT_SECRET_BOX_KEY I have set are taken from when I saved the password and it was working last.
Appreciate any help.
Thanks


Determine writing and grammar guidelines

For the most part, we can adopt the something similar to what Kubernetes has - https://kubernetes.io/docs/contribute/style/style-guide/.
So review what is there and see where we differ.

https://github.com/riscv/riscv-isa-manual/issues/197


[BUG]: issue title

Describe the bug
Missing Canvas Apps for DLP Customizer and Editor
Component (please tell us which flow or app you are experiencing issues with):

Core components solution
Version 1.70.2

To Reproduce
Steps to reproduce the behavior:

Follow the install steps for the core components (https://docs.microsoft.com/en-us/power-platform/guidance/coe/core-components)
When completed, Open Solutions->Center of Excellence - Core Components solution
Check to see that the mentioned Canvas apps are not in the solution. Also under 'Apps', the same two canvas apps are missing

Expected behavior
According to the documentation there should be 4 canvas apps found in the solution. Now there are only two: 'Set App Permissions' and 'Set Flow Permissions'
Screenshots

Duplicate of #500


[WIP] feat(publish): publish from CI

What does this PR do?

This PR enables publishing of packages from the CI
Still to do:

[ ] run tests before publishing
[ ] Add branch protection for main and beta
[ ] Nice to have: add an approve publish step
[ ] Possibly some renaming and shuffling of files as we likely want the scripts to be in the .github/scripts/ folder for example

Where should the reviewer start?

The process happens in 2 places.
1. Running a release
It can be run using npm run publish v1.0.1-beta3 or npm run publish v1.0.1 (this will be protected to only happen on main branch)
2. CI takes over

CI will react on the created tag event
Install all dependencies
Checkout the correct branch (tag event is not on the proper branch)
Setup the release release.sh and commit
Build packages
Publish the release (publish.sh) and push to the branch (for now set as a --dry-run)

How should this be manually tested?

Run npm run publish v1.0.1-test1
Check that action runs
Check that packages are properly published (--dry-run) for now so check in the action logs
If you want to run again, delete the tag with: git push --delete origin v1.0.1-test1 && git tag --delete v1.0.1-test1 and run the initial command again
Screenshots

What are the relevant tickets?

https://github.com/liveblocks/liveblocks.io/issues/891
Discussion / Future Work

Step 2/2 will enable publishing directly from github, all that will be needed will be a branch name and a version/tag. It will make use of release.sh and create a commit with the new tag and package versions on the specified branch

Btw, @FlowFlorent! I just noticed that @GuillaumeSalles linked to this article in the original ticket. Did you explore that option too? To me, it looks like this is a pretty nice way to trigger these actions, rather than invoking a custom script locally.
Think:

The workflow script would do the sanity checks itself directly. (I.e. check value entered is in the expected version string format, and validate against branch limit rules.)
Sounds like an even better option than having the publish script locally.

Also asking because for the https://github.com/liveblocks/liveblocks-schema repo, we forked the monorepo setup and our trusty old publish.sh script is also used there. Would be nice to have the same setup in both repos once we nail this one.

@nvie That is true! I'll take a crack at it


Add a deadzone to the analog axes

Now that controller inputs are working again, it has been noted that the front end will constantly emit small analog inputs (0.00xx when the scale is -1 -> 1).
Adding a deadzone to these inputs allows for more comfortable use of a controller with PixelStreaming.

Closing this as the engine already has configuration options for dead zones.


Cloud Print Connector Service could not start Error 1067

We've had Cloud Print Connector 1.16 running in Server 2016 pretty much since it's release, today the service won't start. Just trying to see if there is a known fix without a clean reinstall or if I need to scrap the app data and start over.

I've uninstalled the connector and attempted to reinstall it and it gets stuck at starting service.
The ProgramData/Google folder no longer exists so I cannot run the manual service command

I ran into the same problem when trying to install 1.16 directly. The issue seems to still persist as of 12/28/2018. I did not try installing 1.13 and upgrading to 1.16 however.

Having this issue in 13, 15 and 16. Installation stalls at Status: Starting Services. Windows is up to date. Someone help please!
Windows Server 2012 R2, version 6.3 Build 9600
Latest update: 2019-03 Update for Windows Server 2012 R2 for x64-based Systems (KB4490128)

@kirleylp What's in your config file?
C:\ProgramData\Google\Cloud Print Connector\gcp-windows-connector.config.json

Just the default , I haven't modified it yet. Also left the share option blank.

Were the important field populated? E.g. (Of course, I have changed a few characters. ; - )
  "xmpp_jid"<EMAIL_ADDRESS>  "robot_refresh_token": "1/HUABqV6k3AjPab1d83WONlRgL2i2HVca0kx_3FGbMza",
  "proxy_name": "7b35337e-7bc6-4f47-b74e-c5324aa5b6f5",

It doesn't look like this issue has been updated recently, but I've also encountered this issue, and while I don't have anything to contribute as far as the "Error 1067: The process terminated unexpectedly", I was able to get the Google Cloud Print Connector re-installed by using the following command:
"msiexec /i windows-connector-1.16-x86_64.msi startservice=no"
I had a similar issue with the service just not working so I decided to uninstall and reinstall the program, but something has made it so that the service will not start. Apparently, this version attempts to start the service as part of the installation process. I am able to start the service manually by simply copying the path to executable:
"C:\Program Files\Google\Cloud Print Connector\gcp-windows-connector.exe" --config-filename="C:\ProgramData\Google\Cloud Print Connector\gcp-windows-connector.config.json"
And it seems to work; granted it also seems to duplicate all of my printers, but when I log into a Chrome device, it has all of my printers that I have assigned to that OU, but they also appear to be offline. I'm not sure if this has to do with the program not being run as a service or not.

I am having the same issue on one of my School District servers. I believe it started on Wednesday (10/9/19). The Cloud Print Service just won't start. I have been troubleshooting for about 4 hours today and can't seem to find an answer. I didn't try uninstalling/reinstalling yet, but not sure if that would actually help, from what I've read. We have the EXACT same setup on 5 servers, and just one of them have issues. And we are running 1.16 at this point. Any help would be GREATLY appreciated...


Fix incorrect gradient clipping behavior when accelerate config is used with DeepSpeed

What does this PR do?
When using DeepSpeed and accelerate config, Do you want to use gradient clipping? [yes/NO]: no leaves deepspeed_config["gradient_clipping"] to auto, which defaults DeepSpeed to use a gradient clipping value of 1.0.
The correct value to specify when disabling gradient clipping should be 0.0.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline, Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the documentation guidelines, and here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@pacman100 @muellerzr

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


JSX syntax being used all script tags, not just reactjs

The 'className' style is being using instead of 'class' inside script tags that are not type text/jsx but type text/ng-template. For someone writing an angular app this not at all desired behavior. This could be the intended behavior for the plugin I suppose but it would be nice to be able to turn it off.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/23538955-jsx-syntax-being-used-all-script-tags-not-just-reactjs?utm_campaign=plugin&utm_content=tracker%2F35867&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35867&utm_medium=issues&utm_source=github).

I am also facing this very irritating issue. I'm using angularjs, and the templates are written in a <script type='text/ng-template'> tag. Everytime I do Ctrl+E, it expands to className which I have to then go and change manually... This burnt me a couple of times and broke the site a couple of times.


Compiler warnings during compilation are thrown as exceptions by the provider

Not sure how to handle this while still feeding the warnings to the user

Closing this, as there is no clear way to resolve this.


Introduced cache for Github auth checks

By default, authorization checks will be cached for 1 minute. This will reduce
the load on Github APIs and help reduce the likelihood a user will be rate
limited. The README has instructions on how to override this default.

Cool, I like your idea and I like the changes you proposed!
We actually use this plugin against Github Enterprise - there is no rate limiting. Just out of curiosity: did you ever hit the rate limit in Github public?

@jganoff a big thank you from my side as well. Really like your contribution and the quality of your PR!
One minor thing I would change: Documentation of the available configuration options might be a little clearer as a table. I will make a proposal for that.

Thanks for cleaning up the documentation @tobilarscheid.
@schmitzhermes we use this plugin against GitHub public and we have hit the rate limit for accounts. When that happens users get denied access (403s). This usually happens when resolving from a clean local Maven repository but there's still little need to hit the Github public APIs 3 times for every auth check anyway.

LGTM!


Keystores exported from brownie could not be used

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (d4f626b 2023-08-09T00:21:28.739489228Z)
What command(s) is the bug in?
forge create; forge script
Operating System
Linux
Describe the bug
forge script as well as forge create doesn't seem to work with keystores exported/generated by brownie.
This is quite unfortunate, as there's no option to export a keystore using cast wallet and a custom private key, at least until https://github.com/foundry-rs/foundry/pull/5551 is implemented.
Generating a Brownie keystore
First, import any private key into Brownie and export a keystore. We'll be using a known private key for this.

$ brownie accounts new ones
Type this not very secure private key:<PHONE_NUMBER>111111111111111111111111111111111111111111111111111111
Type this not very secure password for encryption ones.
You should see SUCCESS: A new account '0x19E7E376E7C213B7E7e7e46cc70A5dD086DAff2A' has been generated with the id 'ones'
$ brownie accounts export ones ./ones.json
This should get you the keystore with the "encrypted" "private" key.

Pasting the resulting ones.json as is
{"address": "19e7e376e7c213b7e7e7e46cc70a5dd086daff2a", "crypto": {"cipher": "aes-128-ctr", "cipherparams": {"iv": "e5b40cf278493c6f30bdf6f09c479665"}, "ciphertext": "1681df71af78f6b2a4b1f586af06572e7a45a8409284f1af225d53ccd0f9275c", "kdf": "scrypt", "kdfparams": {"dklen": 32, "n": 262144, "r": 1, "p": 8, "salt": "9f49ee3d090dd70f01de9562278b0971"}, "mac": "9e8eb87ebb16491a04f9aef9912c6145a024a22ea68ff7abdd92180a3e937ed2"}, "id": "3373aad8-f07c-48b5-b617-52d82f3154f5", "version": 3}

Deploying using brownie keystore
Now, try using this keystore. Obviously, don't send any funds to this address, we're only interested in whether the keystore could be decrypted.
Clone any Foundry-based repo. I usually use minimalistic Multicall3 repo: https://github.com/mds1/multicall/
Try deploying anything using this keystore:
forge create -r https://eth.llamarpc.com --keystore ones.json --password ones Multicall3

Error:
Failed to decrypt keystore "ones.json"

Context:
- scrypt InvalidParams

Deploying using cast wallet keystore
Compare this to using the keystore for a random address, generated by cast wallet new . This one is protected by not a secure password by any means ripped.
Pasting the resulting ripped.json as is
{"crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"163575c56116453d4a297d3c1565ff66"},"ciphertext":"f6fce3db1fdb3b7a5dfebb83f768b4feba31b1cbf2f1540109dc379493c6309b","kdf":"scrypt","kdfparams":{"dklen":32,"n":8192,"p":1,"r":8,"salt":"c6b1b9504ec0b070ac97d56802de529de028b7f6dea67bfcb99c6c237c821584"},"mac":"a2121b79cb5dc1df9b72da32df97f6f488a780850fe45ea2c51bddd2ab4f0cc9"},"id":"f63c2ab2-0a5c-4daa-806b-9ec2a2388420","version":3}

forge create -r https://eth.llamarpc.com --keystore ripped.json --password ripped Multicall3

In this case keystore is successfully decrypted:
Error:
(code: -32000, message: insufficient funds for gas * price + value: address 0xE65Bc689E5ef8205d710f7B5E2477Daa6F23c5E8 have 0 want<PHONE_NUMBER>3000000000, data: None)

Deploying using brownie keystore with address field removed
You may have noticed that brownie keystore json file has as extra address field, but the error remains even if you rip it out.
jq 'del(.address)' ones.json > onesCleared.json

Pasting the resulting onesCleared.json as is
{
  "crypto": {
    "cipher": "aes-128-ctr",
    "cipherparams": {
      "iv": "e5b40cf278493c6f30bdf6f09c479665"
    },
    "ciphertext": "1681df71af78f6b2a4b1f586af06572e7a45a8409284f1af225d53ccd0f9275c",
    "kdf": "scrypt",
    "kdfparams": {
      "dklen": 32,
      "n": 262144,
      "r": 1,
      "p": 8,
      "salt": "9f49ee3d090dd70f01de9562278b0971"
    },
    "mac": "9e8eb87ebb16491a04f9aef9912c6145a024a22ea68ff7abdd92180a3e937ed2"
  },
  "id": "3373aad8-f07c-48b5-b617-52d82f3154f5",
  "version": 3
}

forge create -r https://eth.llamarpc.com --keystore onesCleared.json --password ones Multicall3

The very same error happens
Error:
Failed to decrypt keystore "onesCleared.json"

Context:
- scrypt InvalidParams

@ChiTimesChi i face same problem. But I have more wide issue so could you please dm me in Telegram? https://t.me/msmobile

Same problem, moving from an old Brownie project onto Foundry.

hmm, this indeed fails because the settings violate a scrypt check:
https://github.com/RustCrypto/password-hashes/blob/b289d5a96192a2478dfe46c66bf964bf7d368eba/scrypt/src/params.rs#L67-L72
maybe exported blocksize (r) and parallelism factor are switched, defaults are r=8,p=1

indeed, this does not happen with newer eth_account python library, but confirmed it does with the one used in brownie
>>> from eth_account import Account, messages
>>> import json
>>> encrypted = Account.encrypt(0x1111111111111111111111111111111111111111111111111111111111111111,'ones')
>>> json.dumps(encrypted)
'{"address": "19E7E376E7C213B7E7e7e46cc70A5dD086DAff2A", "crypto": {"cipher": "aes-128-ctr", "cipherparams": {"iv": "d7f6c757772d4c63cb38fff292126880"}, "ciphertext": "27874ebcb7e49fc9f914e5ae920b473ce00148ea2d6160786664719846c3965a", "kdf": "scrypt", "kdfparams": {"dklen": 32, "n": 262144, "r": 8, "p": 1, "salt": "b200fb63b1c4ae4c75208ce6801a8682"}, "mac": "9e2ed43d374c4dcf8699c757739812f49e046bec693b247b7198995ace8103f6"}, "id": "8259c483-eafa-48d9-95bb-e28af35db03d", "version": 3}'

the "r": 8, "p": 1 are properly generated and cast can decode
cast wallet address --keystore ones.json
Enter keystore password:
0x19E7E376E7C213B7E7e7e46cc70A5dD086DAff2A

Not much we could do here, we though have now the option to import from private key, so going to close the ticket. thank you


UMD version

Maybe we can add some configuration to avoid this style errors?

Do you mean just code formatting? It's done via esbuild-plugin-umd-wrapper, the only way to do that is making an issue there.
Do you expect UMD entry to be readable? I'd anticipate it to be used more as obfuscated sprae.umd.min.js with help of sourcemaps.

@dy
Yeap, only red lineі in the editor.
It's parseable by browser, so there is some aesthetic question :)

If you want to post an issue there please do.
But l&f of bundled version is not priority at all here, so I'll close it if you don't mind.

@dy it's OK


celebA dataset is not accessible

I've been trying to download celebA dataset for a couple of weeks now
"python download.py celebA",
but it always generates the same error:
urllib2.HTTPError: HTTP Error 429: Too Many Requests

+1

+1

Currently celebA (http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html) data can't be downloaded because of the dropbox download policy as https://www.dropbox.com/sh/8oqt9vytwxb3s4r/AAB06FXaQRUNtjW9ntaoPGvCa?dl=0. There is no way to download celebA if there are no other links for the data.

I have downloaded it from other source,but which path should I put the file to?

@SchafferZhang put em under data directory. Note that the directory name should be celebA and only contains jpg files.

There are new sources on http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
Google Drive:
https://drive.google.com/open?id=0B7EVK8r0v71pWEZsZE9oNnFzTm8
Baidu:
http://pan.baidu.com/s/1eSNpdRG

The dataset has been upload to kaggle, it's faster to download to me. https://www.kaggle.com/jessicali9530/celeba-dataset


Limit is treated as a string

As the statement is executed as $stmt->execute($this->getValues()), any integers will be added to the parameters as strings. This results in an SQL-error for LIMIT, as this needs to be an integer.
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''999'' at line 1

Any updates regarding this matter?

I'll take a look this week.  Please bug me if I don' get back to you by Friday.

Can you provide code to duplicate the issue.

Can you provide code to duplicate the issue.

Sure, but it is nothing special:
$result = $this->database
    ->select()
    ->from('table-name')
    ->limit(5)
    ->execute();

Results in:

SERVER_ERROR 500 - SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''5'' at line 1

Probably because executing the statement while passing parameters will treat them as:

@param array $params [optional]
* An array of values with as many elements as there are bound
* parameters in the SQL statement being executed.
* All values are treated as PDO::PARAM_STR.

While the limit should be an integer.

I am not sure how you did this,  I cannot duplicate the issue with MariaDB 10.2.  Do you have a specific database configuration that is causing this error?  I am going to need a lot more info about how this is happening.
$db = new Database(
    'mysql:host=<IP_ADDRESS>;dbname=testing;charset=utf8mb4',
    'root',
    null
);

var_dump(
    $db->select(['id'])
        ->from('test')
        ->limit(new Limit(10))
        ->__toString()
);

$result = $db->select(['id'])
    ->from('test')
    ->limit(new Limit(10))
    ->execute();

var_dump($result->fetchAll());

I figured it out... somehow you've managed to enable PDO::ATTR_EMULATE_PREPARES.

You can try this patch, I am not sure this wont cause other interesting side effects with decimal or enum types.
diff --git a/src/AbstractStatement.php b/src/AbstractStatement.php
index e644774..e4b5d64 100644
--- a/src/AbstractStatement.php
+++ b/src/AbstractStatement.php
@@ -33,7 +33,16 @@ abstract class AbstractStatement implements StatementInterface
     {
         $stmt = $this->dbh->prepare($this->__toString());
         if ($stmt !== false) {
-            $stmt->execute($this->getValues());
+            foreach ($this->getValues() as $i => $value) {
+                $type = PDO::PARAM_STR;
+                if (is_int($value)) {
+                    $type = PDO::PARAM_INT;
+                }
+
+                $stmt->bindParam($i + 1, $value, $type);
+            }
+
+            $stmt->execute();
         }

         return $stmt;


Enable cargo-spellcheck for blockchain/message_pool

Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)

Closes #1689
Other information and links

Gosh darn it, cla-bot. Why you always causing trouble?


Test resource creation

Feature description
Currently - test resources are created in reaction to a missing property in configuration. Would it be possible to modify this behaviour a bit ? Here is an example:
Config file:
src/main/resources/application.yml

contents:
redis:
  uri: ${MY_REDIS_URI} # test resources will only load redis if this line is not set

In my application, it is quite inconvenient to not set the "redis.uri" value at all, and so far that is the only way I have managed to make the test resources run redis.
Would it be possible to also trigger test resources to be created if they are set to 'null' in the config ?
Example:
Config file:
src/test/resources/application-test.yml

contents:
redis:
  uri: null

This cannot be implemented easily with the current Micronaut core infrastructure. Also null can be quite ambiguous in configuration. The closest would probably the initial setup you have, which is if a placeholder cannot be resolved, then fallback (but again this needs changes in core which I'm not sure are possible).
Can I ask why it's inconvenient in your case? Typically what we would recommend is that you simply have an application-prod.yml file in addition to your application.yml file, then start your application with the prod environment in production (e.g by setting the MICRONAUT_ENVIRONMENTS environment variable).

Thanks for the info @melix. Too bad that this is not something that can be added without alot of effort.
With regards to why it does not work for me, it is because in my projects, we always only have one application.yml file. The values in it are controlled by environment variables which are injected at deploy time. Having a separate application.yml per environment would be alot of maintenance because we have so many different environments.
The reason why I though maybe setting the configuration property to null would be an option is that in my current setup, if I set the redis uri to null, i.e.
redis:
  uri: null

I get this error:
Message: Failed to inject value for parameter [uri] of method [setUri] of class: io.micronaut.configuration.lettuce.DefaultRedisConfiguration

Message: Error resolving property value [redis.uri]. Property doesn't exist

which I though was actually promising because this is exactly what I wanted, but still it did not activate the test resources to start redis.

@pbthorste how did you end up working around this?


Possible 4 obsolete controls in Cloud Guardrails based on new CCCS ITPS.50.103 recommendations.

Issue:  Four controls referenced in the Government of Canada (GC) Guardrails are not referenced in more recent GC cloud guidance and should possibly be removed.
Background:
The PBMM Cloud Profile V1.1 was published in 2018.   The Guardrails referenced these controls.
The Canadian Centre for Cyber Security (CCCS) published recommendations for the ITSP.50.103 Low and Medium Cloud Profiles  effective May 2020.
As of 11 Sep 20, the GC Guardrails reference 4 controls which are not contained in the Low or Medium Profiles recommendation issued by the CCCS.
AC-9, AC-20(3), IA-5(13), SA 22
Analysis
The GC Guardrail - "Protect root / global admins account Management of administrative privileges Cloud console access Enterprise monitoring accounts" - references AC-9, AC-20(3), IA-5(13) which are not part of ITSP.50.103.
AC-9 PREVIOUS LOGON (ACCESS) NOTIFICATION
The information system notifies the user, upon successful logon (access) to the system, of the date and time of the last logon (access).
AC-20(3)  USE OF EXTERNAL INFORMATION SYSTEMS | NON-ORGANIZATIONALLY OWNED SYSTEMS / COMPONENTS / DEVICES
The organization [Selection: restricts; prohibits] the use of non-organizationally owned information systems, system components, or devices to process, store, or transmit organizational information.
IA-5(13)	AUTHENTICATOR MANAGEMENT | EXPIRATION OF CACHED AUTHENTICATORS
The information system prohibits the use of cached authenticators after [Assignment: organization-defined time period].
The GC Guardrail - "Configuration of Cloud Marketplaces" - references SA-22 which is not part of ITSP.50.103 recommendations.
SA 22 UNSUPPORTED SYSTEM COMPONENTS
The organization:
a. Replaces information system components when support for the components is no longer available from the developer, vendor, or manufacturer; and
b. Provides justification and documents approval for the continued use of unsupported system components required to satisfy mission/business needs.
Recommendations

Confirm if the AC-9, AC-20(3), IA-5(13), SA 22 controls are still valid; and
Either remove from the Guardrails or add an annotation indicating that they are in addition to ITPS.50.103 recommendations.

For consideration.

reviewing....


Error response from daemon: pull access denied for perfsee_prepare

since docker compose v2 will not follow depends_on order when building images, you should build develop image separately.
see https://github.com/docker/compose/issues/9686
docker-compose build
docker-compose up

@cloudyan it's ok now, try again


Added functionality for vlabel in python driver

Changes

added getOidOfGraph() in python driver
added get_vlabel() in python driver
added create_vlabel() in python driver

@Munmud Can you justify why these are necessary? I'm not saying that they aren't, but you need to justify why they are necessary.

Description
This update introduces several new functionalities to the Python driver, aiming to streamline the process of working with node labels. The enhancements include the addition of getOidOfGraph(), get_vlabel(), and create_vlabel() functions, which collectively contribute to a more efficient and user-friendly experience when dealing with node labels. While these operations can be performed manually, integrating these functions into the driver significantly reduces the learning curve for beginners.
Changes Made:

Added getOidOfGraph():
Implemented a new function, getOidOfGraph(), in the Python driver.
This function retrieves the Object ID (OID) associated with a specific graph, providing a convenient way to identify graphs within the driver.

Added get_vlabel():
Introduced the get_vlabel() function to the Python driver.
This function facilitates the retrieval of all node labels associated with a graph, streamlining the process of obtaining node label information.

Added create_vlabel():
Implemented the create_vlabel() function within the Python driver.
This function allows for the quick creation of node labels, simplifying the process of defining and adding new labels to nodes.

These changes seem beneficial to me. Thoughts, @jrgemignani

Outdated, also closed for using chatgpt to write the description


logical bit-not

Implementing a binary not operation (one that inverts all bits) is actually pretty straightforward even in absence of a dedicated instruction. It can be replaced with simple negation, and negation can be expressed as the following operation:
!operand <=> <unsigned typeof (operand)>::MAX - operand

Here're some examples:

L
R
result

0b1
0b0
0b1

0b1
0b1
0b0

0b11
0b00
0b11

0b11
0b01
0b10

0b11
0b10
0b01

0b11
0b11
0b00

NB: it might very well be that this is already implemented, I didn’t really double check that.

Note in particular that compiling wasm will produce a xor which I suspect is going to be less efficient than a subtraction-based implementation.


Export Span and Ident from sway-core to sway-types.

Both Span and Ident are fairly ubiquitous in the compiler, from the parser down to asm gen.  It makes sense to use them both in the IR, rather than the IR having its own versions of the same types and translating back and forth.
In that case, we don't want circular dependencies between sway-core and sway-ir so this PR proposes we put them in sway-types where they can both see them.  If/when we put asm gen in its own crate it'll need it too, to avoid depending on sway-core.

Would it make sense to do the same with CallPath? Or is that overkill?

Would it make sense to do the same with CallPath? Or is that overkill?

Hrmm, maybe, although I suspect that after the AST is generated and type checked that it'd be OK to just convert them to Ident from then on.  As I refactor the hacks out of the IR I might have a better answer.


List group inner hamburger menu

Having inner  tags under a list-group results in distorted UI. (Rows are created for the inner anchor tags)
One way around this is to exchange the  tags with  and replicating the CSS of the anchor tag for the spans.
This would happen with code such as below:

        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">

        </button>

Delete

View as PDF

I'm guessing the bad behavior is being caused by nesting anchors tags which is not valid HTML. Try swapping your .list-group-item anchor with a div. Then add .list-group-selectable to your .list-group in order to preserve the cursors and colors.

I had tried that with the default list-group class, but it didn't have the same hover classes, I'll give it a shot with list-group-selectable tomorrow thanks.


Add Twitter summary Card meta. Closes #33

This commit adds summary type of Twitter Card for @omnisharp account.
The markup should be validated after updates is make public.
Here is generated markup with data:
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@omnisharp" />
<meta name="twitter:title" content="OmniSharp - .NET and Intellsense on any platform with your editor of choice" />
<meta name="twitter:description" content="OmniSharp is a family of Open Source projects, each with one goal - To enable great .NET development in YOUR editor of choice." />
<meta name="twitter:image" content="http://www.omnisharp.net/images/logo.png" />
<meta name="twitter:url" content="http://www.omnisharp.net" />

As mentioned in commit, if this PR is merged and change is made public, the markup should be validated using Twitter validator tool:
https://cards-dev.twitter.com/validator
and person owning @omnisharp account should submit card via validator for approval.
There is already robots.txt is place, which is non-documented requirement for successful validator.
Thanks!

what will this actually show on the website?

It's for the twitter website. So it's what twitter will display if someone
links to omnisharp.net.
On Thu, May 7, 2015 at 9:57 PM, Jonathan Channon<EMAIL_ADDRESS>wrote:

what will this actually show on the website?
—
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/OmniSharp.github.io/pull/37#issuecomment-100017216
.

@jchannon Hard to show as preview feature is withdrawn, unless markup is already in place. A screen from Twitter's docs about other page is below.

ah ok cool
On 7 May 2015 at 22:01, Peter Blazejewicz<EMAIL_ADDRESS>wrote:

@jchannon https://github.com/jchannon Hard to show as preview feature
is withdrawn, unless markup is already in place. A screen from Twitter's
docs about other page is below.
[image: image]
https://cloud.githubusercontent.com/assets/14539/7525813/dda763f2-f50c-11e4-9ea2-02ad125835f8.png
--
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/OmniSharp.github.io/pull/37#issuecomment-100017936
.

Thanks! Now if only I could remember the twitter password ;)


[FIXED JENKINS-9104] Veto killing mspdbsrv.exe

Making use of the newly introduced ProcessKillingVeto extension point,
we now make sure that mspdbsrv.exe survives process killing during build
cleanup.
This requires a Jenkins version >= 1.619, the new extension point was
added there. I marked the extension as optional, so that the msbuild
plugin should still work with older Jenkins releases.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

You bump the dependency to 1.619
This version is not LTS
There is no LTS above this version
The PR uses tabs as a line separator, but other classes use spaces

I would propose not to merge this PR till the new LTS gets released

This PR promises to fix an issue which popped up during the current LTS cycle and which gives huge problems to a lot of people. (See bug 9104 linked above). It would be very helpful to be able to resolve this fast.

A new Jenkins LTS is out, can we merge this now?

+1 for the merge. 1.609.x will be the most popular one for several month, but an upgrade to 1.625 would be a general recommendation in any case.

@oleg-nenashev: would you change the dependeny during the merge or should I update the PR? Should we depend on 1.625.1?

Any update on this?

Seems @gboissinot is busy with other things.
@DanielWeber yes, 1.625 should be fine. 1.642.1 is coming soon

I updated the PR to make msbuild depend on 1.625 and made the new classes use spaces all over ;)
Could someone please merge it? I'd like to close this topic.


broken link

I go to https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
and choose IE8 on Win7(x86) for VirtualBox and get

BlobNotFound
The specified blob does not exist. RequestId:d7abbb19-901e-0041-0b08-53a97e000000 Time:2021-05-27T14:58:30.3074248Z

Not sure why it would be closed? How will I know any status on this issue?

@DSPatrick - ok I'll reopen it. Thanks.

Thank you, much appreciated.

Hi @DSPatrick - the error has been fixed. Thanks.

Thank you


Add support for MINID trimming strategy and the LIMIT argument to XADD and XTRIM

Detailed Description
MINID trimming strategy and LIMIT has been added to XADD and XTRIM commands.
See https://github.com/redis/redis/pull/8169 and https://redis.io/commands/xtrim for details.

Fixes by #1787


assert_close_l2! cannot be called without use ndarray_linalg::*

Just info: Importing macros with regular use is a bug -- it's a preview of the future and it was not intended to be a stable feature. Only works in stable with globs.

Thank info, but this will be due to the lack of $crate:: prefix in my macros.

Ah. I'm sorry, that's my mistake.


Chart YAxis max value is too small to see all series

https://staging.infragistics.com/webcomponents-demos/samples/charts/data-chart/chart-highlight-filter-datasource

Fixed by this PR: https://github.com/IgniteUI/igniteui-xplat-examples/pull/473


Watch static?

It would be very nice to have the default template watching the static folder, because, there are a few huge libraries, like semantic, that work very nicely outside assets, and need to trigger a reload every time it is re-compiled.

The static folder is for assets that don't change - you can instead compile to the assets folder and require the CSS file from there. I wouldn't recommend this workflow however. Everything will work better and more as you expect if you let Webpack handle everything, rather than running multiple simulataneous build systems.

Semantic-ui produces an huge css file. Webpack seems to not handle it very well. That is the reason for this issue.


Fixed bugs when extracting and provisioning calculated fields.

Q
A

Bug fix?
yes

New feature?
no

New sample?
no

Related issues?
fixes/improves #230, #537, and #744, #793, mentioned in #432 and attempted fixed in #466

Improved provisioning of calculated fields. One scenario is not fixed as tokens does not support this scenario:

CanProvisionCalculatedFieldLocallyInListInstance

This is when a calculated field references a field created directly in the list, and does not exist as a site field. This scenario is not working in the currently released version either.

Test cases has been added to verify the functionality. These tests fails without this implementation:
CanUpdateCalculatedField
CanUpdateCalculatedFieldRefInListInstance
CanProvisionCalculatedFieldRefInListInstance
Changed site field extraction to move calculated fields to the bottom of the provisioning template site field section in order to ensure referenced fields are provisioned first. This does not take into account calculated fields that might reference other calculated fields.
This should be fixed, but I did not have time to look into that. The implementation should at least result in fewer issues than before.
The field extraction order also needs to be implemented for lists. But as long as it currently is not supported to use calculated fields with fields created in the list directly (not site fields) I have not looked into that.
The changes has been implemented based on findings by investigating implementation of SP2013 server side code in the methods Microsoft.SharePoint.SPList.ProvisionField (Microsoft.SharePoint.dll) and Microsoft.SharePoint.ApplicationPages.ManageFieldPage.UpdateFieldWithPropertiesFromXml (Microsoft.SharePoint.ApplicationPages.dll)
The second commit includes improved algorithm for transforming the formula during field extraction. This version eliminates the issue reported in #793.
Extended the GetFieldById and GetFieldByName methods to support returning the actual type and not force casting.
Regards
Jens Otto

The second commit includes improved algorithm for transforming the formula during field extraction. This version eliminates the issue reported in #793.
I do think that we also need to investigate how DefaultFormula and ValidationFormula will behave when extracting fields. I have not had time to investigate that now, but the changes to the calculated fields formula should at least now make extraction and provisioning of calculated fields more robust.

Really nice work, like the fact that you also provided (updated) test cases :-)
Will test and if ok merge this one. Thanks Jens!


Research "blockify"

[ ] test
[ ] test 2

Blockly uses the module system of the google closure compiler. There are existing bundles but they are either outdated or don't work. Including the javascript files directly with script tags is not an option (at least not with budo). There exists a loader for webpack which has support for closure modules: https://www.npmjs.com/package/webpack-closure-compiler. My proposed solution is to create our own blockly repo which bundles everything toghether with webpack.

It seems like the javascript version of the closure compiler already supports webpack, so there is no need for the plugin

Right now, we just include blockly with script tags. I opened an issue in the blockly project. I think we just leave it like it is right now until we find a better solution.

[some Guidance for Custom Blocks] (https://developers.google.com/blockly/guides/create-custom-blocks/style-guide)

[some Guidance for Blockly IDE/GUI] (https://developers.google.com/blockly/guides/app-integration/best-practices)


Automated cherry pick of #2564: aws disk resize bugfix

Cherry pick of #2564 on release/2.11.
#2564: aws disk resize bugfix

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@a43839c). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #2566   +/-   ##
==============================================
  Coverage                ?   7.16%
==============================================
  Files                   ?     456
  Lines                   ?   72357
  Branches                ?       0
==============================================
  Hits                    ?    5184
  Misses                  ?   66743
  Partials                ?     430

Flag
Coverage Δ

#aFlag
7.16% <0%> (?)

Impacted Files
Coverage Δ

pkg/multicloud/aws/disk.go
0% <0%> (ø)

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 a43839c...1ed74a2. Read the comment docs.

/lgtm

/approve


Work_selector: small cleanup

This PR cleans up Work_selector a bit, by gathering function & simplifying functors.

!ci-build-me

!ci-nightly-me

!ci-nightly-me


methods from demeter

Just noting that porting some methods from demeter may be useful at some point

For sure, seems like a good addition.
I'm separating out a Neighborhoods module in DynamicGrids.jl, as there those tools are useful for this this kind of thing too, and real fast.


Current location floating button overlaps  description card

can i work on this

@Chaitu-Tatipamula Sorry bro, I saw this just now. Feel free to pick up any other bug or find one and fix it and I'll review and approve the pr


Help

bind mount current directory with script to /src/

I am unable to  mount can you please share the snippet thanks :)

https://docs.docker.com/storage/volumes/
both for host and container declare real directory (as opposed to name only)


Microphone resource not released after stopping

Even after we run recorder.stop(), there is still a little microphone icon in the tab / corner of the screen that is using audio-recorder-polyfill.
This is not desirable, as it can prevent other usages of the microphone, mess with the audio being played to headphones, give the user a sense of unease, etc.
For a minimal reproducible example, consider this CodePen (not mine). Notice that even after "stopping" has been logged, and the recorder has been stopped, the microphone has still not been released (as evidenced by the browser tab).
Is there a way around this or fix that could be implemented to better emulate the behavior of the native MediaRecorder, which has this "microphone in-use" signal terminate after a call to recorder.stop()?

I don’t know a way to fix it (I don’t use this polyfill myself since all modern browsers don’t need it).
If you find out a way, please send PR to code or docs.

You have to stop the tracks in the stream as well so in your CodePen just do recorder.stream?.getTracks().forEach((t) => t.stop());. This is not an issue specific to this library.