My Apache Camel application in Quarkus exits through 2 different ports when calling 2 SOAP WebServices in the same logic

I am currently working on a service using Apache Camel and Quarkus, in which I must call 2 SOAP Webservices, one that allows me to obtain a session id (called LGI Command) and the next allows me to consult the information from a mobile number. associated with it (Called LST_DYNSUB Command), passing the session id previously obtained with the LGI Command. The question is that these 2 calls must be made through the same port due to the policies of the application to be called where the aforementioned SOAP interfaces are located, called UDB, the UDB only admits a valid session id in the LST_DYNSUB command if the same port through which the LGI Command.
Testing in Postman does not give me problems and it can be seen that when testing both SOAP interfaces there are no problems, however, when I come to develop my waterfall logic in my Apache Camel and Quarkus development, it can be observed at the destination log level (UDB) that is being sent through different ports.
Called in postman and where it is observed that both interfaces arrive through the same ports:

Called from my microservice with Apache Camel and Quarkus where it is evident that it is arriving through a different port, even though it is within the same logic:

I attach the logic of my Red Route in Apache Camel:
Class Rest Route
@ApplicationScoped
public class RestRoute extends RouteBuilder {

    private static final String SALIDA_MS = "Salida del MS ${exchangeProperty[bodyRs]}";
    private static final String MSG_EXCEPTION = "Descripcion de la Exception: ${exception.message}";

    private static final String DATE_LOG = "[${bean:BeanDate.getCurrentDateTime()}] ";
    @ConfigProperty(name = "client.url.udb")
    String urlUDB;

    @ConfigProperty(name = "path.openapi")
    String pathOpenapi;

    @ConfigProperty(name = "descripcion.servicio")
    String descriptionService;

    private ConfigureSsl configureSsl;

    private IGetCurrentDateTime getCurrentDateTime;

    public RestRoute() {
        getCurrentDateTime = new GetCurrentDateTime();
        TimeZone.setDefault(TimeZone.getTimeZone("GMT-4"));
        configureSsl = new ConfigureSsl();
    }
    @Override
    public void configure() throws Exception {

        BeanDate beanDate= new BeanDate();
        getContext().getRegistry().bind("BeanDate", beanDate);

        restConfiguration().bindingMode(RestBindingMode.json).dataFormatProperty("json.in.disableFeatures","FAIL_ON_UNKNOWN_PROPERTIES")
                .apiContextPath(pathOpenapi)
                .apiProperty("api.title","UdbLoginConnector")
                .apiProperty("api.description",descriptionService)
                .apiProperty("api-version","1.0.0")
                .apiProperty("cors","true");
        rest("/api/")
                .produces("application/json")
                .consumes("application/json")
                .post("/deviceStatusConnector")
                .type(Request.class)
                .param().name("Request").type(RestParamType.body).description("Parametros de Entradas")
                .required(true)
                .endParam()
                .outType(Response.class)
                .param().name("Response").type(RestParamType.body).description("Parametros de Salidas")
                .required(true)
                .endParam().to("direct:pipeline");

                from("direct:pipeline")
                        .doTry()
                            /*.to("bean-validator:validateRequest") */
                            .process(new DeviceStatusConnectorProcessorReq())
                            .log(DATE_LOG+"Datos de Entrada del MS: ${exchangeProperty[bodyRq]}")
                            .process(new UdbLgiCommandProcessorReq())
                            .log(DATE_LOG+"Datos de Entrada del WebService (SOAP) Comando-LGI UDB: ${exchangeProperty[wsRq]}")
                            .to(configureSsl.setupSSLContext(getCamelContext(), urlUDB))
                            .log(DATE_LOG+"Datos de Salida del el WebService (SOAP) Comando-LGI UDB: ${body}")
                            .process( new UdbLgiCommandProcessRes())
                            .log(DATE_LOG+"SessionId Obtenido Comando-LGI UDB: ${exchangeProperty[sessionId]}")
                            .log(DATE_LOG+"Codigo de Respuesta Comando-LGI UDB: ${exchangeProperty[resultCodeLgiCommand]}")
                            .log(DATE_LOG+"Descripcion de Respuesta Comando-LGI UDB: ${exchangeProperty[resultDescriptionLgiCommand]}")
                            .process(new UdbLstDynsubCommandProcessorReq())
                             .log(DATE_LOG+"Datos de Entrada del WebService (SOAP) Comando LST-DYNSUB: ${exchangeProperty[wsRq]}")
                            .log(DATE_LOG+"Header de Entrada del WebService (SOAP) Comando LST-DYNSUB: ${headers}")
                            .to(configureSsl.setupSSLContext(getCamelContext(), urlUDB))
                            .log(DATE_LOG+"Datos de Salida del WebService (SOAP) Comando LST-DYNSUB: ${body}")
                        .endDoTry();
    }
}

UdbLgiCommandProcessorReq
@Slf4j
@ApplicationScoped
public class UdbLgiCommandProcessorReq implements Processor{

	private final String usernameUdbLgiCommand = ConfigProvider.getConfig().getValue("username.udb.lgi.command", String.class);
	private final String passwordUdbLgiCommand = ConfigProvider.getConfig().getValue("password.udb.lgi.command", String.class);

	private final IUdbLgiCommandRequestMapping requestMapping;

	public UdbLgiCommandProcessorReq() {
		requestMapping = new UdbLgiCommandRequestMappingImpl();
	}

	@SuppressWarnings({ "deprecation", "unchecked", "rawtypes" })
	@Override
	public void process(Exchange exchange) throws Exception {

		/*log.info("Request Json Entrada: "+udbLoginConnectorJsonReq.toString()); */
		EnvelopeRqLgiCommand envelopeRqLgiCommand = requestMapping.toRequest(usernameUdbLgiCommand, passwordUdbLgiCommand);
		String xmlWsRq = new GenericXml().toXmlString(envelopeRqLgiCommand);
		/*log.info("Transformation to XML "+xmlWsRq); */
		exchange.setProperty("wsRq", xmlWsRq.replaceAll("[\n\t\r]", ""));
		exchange.getOut().setHeader(Exchange.CONTENT_TYPE, "application/xml");
		exchange.getOut().setHeader(Exchange.HTTP_METHOD, "POST");
		exchange.getOut().setBody(xmlWsRq);
	}
}

UdbLstDynsubCommandProcessorReq
@Slf4j
@ApplicationScoped
public class UdbLstDynsubCommandProcessorReq implements Processor{

	private final IUdbLstDynsubCommandRequestMapping requestMapping;

	public UdbLstDynsubCommandProcessorReq() {
		requestMapping = new UdbLstDynsubCommandRequestMappingImpl();
	}

	@SuppressWarnings({ "deprecation", "unchecked", "rawtypes" })
	@Override
	public void process(Exchange exchange) throws Exception {

		/*log.info("Request Json Entrada: "+udbLoginConnectorJsonReq.toString()); */
		String sessionId=exchange.getProperty("sessionId", String.class);
		Request request =  exchange.getProperty("deviceStatusConnectorRq", Request.class);
		EnvelopeRqLstDynSubCommand envelopeRqLstDynSubCommand = requestMapping.toRequest(request.getUdbDeviceStatusConnectorRequest().getBodyRequest().getIsdn(), request.getUdbDeviceStatusConnectorRequest().getBodyRequest().getContent());
		String xmlWsRq = new GenericXml().toXmlString(envelopeRqLstDynSubCommand);
		/*log.info("Transformation to XML "+xmlWsRq); */
		exchange.setProperty("wsRq", xmlWsRq.replaceAll("[\n\t\r]", ""));
		exchange.getOut().setHeader(Exchange.CONTENT_TYPE, "application/xml");
		exchange.getOut().setHeader(Exchange.HTTP_METHOD, "POST");
		exchange.getOut().setHeader(Exchange.HTTP_PATH, sessionId);
		exchange.getOut().setBody(xmlWsRq);
	}
}

Does this have any logical explanation as to why it could be happening in Apache Camel and Quarkus?

Maybe due to HTTP connection pooling, keep-alive etc?
What are you using as the HTTP client to interact with the SOAP services?

As an http client I am using POSTMAN to test SOAP interfaces

@jamesnetherton As an http client I am using POSTMAN to test SOAP interfaces

I mean in your Camel application. What's sending the SOAP request?

This is what I sent in the 2 requests
COMANDO LGI
https://<IP_ADDRESS>:8001
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lgi="http://www.huawei.com/HLR9820/LGI">
    <soapenv:Header/>
    <soapenv:Body>
        <lgi:LGI>
            <lgi:OPNAME>OPENG</lgi:OPNAME>
            <lgi:PWD>{{passwordUDB}}</lgi:PWD>
            <lgi:HLRSN>1</lgi:HLRSN>
        </lgi:LGI>
    </soapenv:Body>
</soapenv:Envelope>

COMANDO LST_DYNSUB
https://<IP_ADDRESS>:8001/sessionId
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lst="http://www.huawei.com/HLR9820/LST_DYNSUB">
    <soapenv:Header/>
    <soapenv:Body>
        <lst:LST_DYNSUB>
            <lst:ISDN>xxxxxxxxx</lst:ISDN>
            <lst:CONTENT>0</lst:CONTENT>
        </lst:LST_DYNSUB>
    </soapenv:Body>
</soapenv:Envelope>

Do you require more details?

@cesarjv I understand that you are writing a SOAP client application calling two external SOAP endpoints. From what you have shown, it is not clear, how you send the request to those endpoints.
.to(configureSsl.setupSSLContext(getCamelContext(), urlUDB))` seems to be the part sending the request to the remote SOAP endpoint. Please have a look how is the remote address and port set. Is perhaps some loadbalancer (that sends round robin to several ports) between the client and service?

With these classes I send the application
The ConfigureSSL class is used to configure the call using SSL:
@Slf4j
@SuppressWarnings({})
@ApplicationScoped
public class ConfigureSsl {

	private final String password = ConfigProvider.getConfig().getValue("client.ssl.password", String.class);
	private final String resource = ConfigProvider.getConfig().getValue("client.ssl.resource", String.class);

	 public Endpoint setupSSLContext(CamelContext camelContext, String url) throws Exception {

	        KeyStoreParameters keyStoreParameters = new KeyStoreParameters();
	        keyStoreParameters.setResource(resource);
	        keyStoreParameters.setPassword(password);

	        KeyManagersParameters keyManagersParameters = new KeyManagersParameters();
	        keyManagersParameters.setKeyStore(keyStoreParameters);
	        keyManagersParameters.setKeyPassword(password);

	        TrustManagersParameters trustManagersParameters = new TrustManagersParameters();
	        trustManagersParameters.setKeyStore(keyStoreParameters);

	        SSLContextParameters sslContextParameters = new SSLContextParameters();
	        sslContextParameters.setKeyManagers(keyManagersParameters);
	        sslContextParameters.setTrustManagers(trustManagersParameters);

	        HttpComponent httpComponent = camelContext.getComponent("https", HttpComponent.class);
	        httpComponent.setSslContextParameters(sslContextParameters);
	        httpComponent.setX509HostnameVerifier(new AllowAllHostnameVerifier());

	        return httpComponent.createEndpoint(url);
	    }
}

The udbUrl variable refers to the IP variable that is called and is found in the properties:
ResRoute
    @ConfigProperty(name = "client.url.udb")
    String urlUDB;

application.properties
client.url.udb=${UBICATION_URL_UDB:https://<IP_ADDRESS>:8001?bridgeEndpoint=false&?throwExceptionOnFailure=false}
No, the SOAP external IP is not governed by a LoadBalancer, it is a unique IP


Improve test cases for the current requirements

Remove test cases about foreign key change because this gem doesn't support it now
Avoid shared_examples for better debuggability (I know it's debatable but please let me make this change...)

Output from --format documentation:
GuardAgainstPhysicalDelete
  when child is physically deleted
    decrements counter
  when deleted_at child is physically deleted
    raises error (FAILED - 1)
  when removed_at child is physically deleted
    raises error (FAILED - 2)
  when deleted_at child is logically deleted
    decrements counter
  when removed_at child is logically deleted
    decrements counter
  when logically deleted deleted_at child is updated
    does not change counter
  when logically deleted removed_at child is updated
    does not change counter
  when logically deleted deleted_at child is logically undeleted
    increments counter
  when logically deleted removed_at child is logically undeleted
    increments counter

In Rails 5.2, child.destroy doesn't raise error.
@uasi This is a bug, right?

Do we need some change to pass test on Rails 5.2, like this?
diff --git a/lib/guard_against_physical_delete/base.rb b/lib/guard_against_physical_delete/base.rb
index 153528c..dc31a6a 100644
--- a/lib/guard_against_physical_delete/base.rb
+++ b/lib/guard_against_physical_delete/base.rb
@@ -45,6 +45,16 @@ module GuardAgainstPhysicalDelete
     end

     module InstanceMethods
+      if ::ActiveRecord.version >= ::Gem::Version.new('5.2')
+        def destroy
+          unless self.class.delete_permitted?
+            raise ::GuardAgainstPhysicalDelete::PhysicalDeleteError, self.class.name
+          end
+
+          super
+        end
+      end
+
       def hard_delete
         self.class.physical_delete { destroy }
       end

oh, is this the right situation that #destroy is not guarded (but #delete is) ? Therefore, I should use #delete on my test?

I decided to use #destroy in the test for now.
Please review 🙌

😱  #destroy and #destroy! should be guarded also... This is indeed a bug in guard_against_physical_delete. 1.0.2 and below seems to be unaffected.

😱 #destroy and #destroy! should be guarded also... This is indeed a bug in guard_against_physical_delete. 1.0.2 and below seems to be unaffected.

I see.
Added some more test cases (and removed some too verbose test cases) to avoid future problems.

Before
Logical
  it should behave like preventing physical delete
    #delete
      without #physical_delete block
        is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
      with #physical_delete block
        is expected not to raise Exception
        delete successufly with nesting block
        multi threading
          does not affect another thread
    #delete_all
      without #physical_delete block
        is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
      with #physical_delete block
        is expected not to raise Exception
    #hard_delete
      do delete record
    #soft_delete
      set timestamp to delete flag
      invokes after_save
      validates fields

RemovedAtLogical
  it should behave like preventing physical delete
    #delete
      without #physical_delete block
        is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
      with #physical_delete block
        is expected not to raise Exception
        delete successufly with nesting block
        multi threading
          does not affect another thread
    #delete_all
      without #physical_delete block
        is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
      with #physical_delete block
        is expected not to raise Exception
    #hard_delete
      do delete record
    #soft_delete
      set timestamp to delete flag
      invokes after_save
      validates fields

Physical
  #delete
    is expected not to raise Exception

ActiveRecord::Relation
  is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError

GuardAgainstPhysicalDelete
  deleted_at child
    it should behave like counter cache
      update counter_cache with soft_delete
      update counter_cache with hard_delete
      dont calc soft deleted record with updating
      calc revived record
      calc revived record with changing parent
  removed_at child
    it should behave like counter cache
      update counter_cache with soft_delete
      update counter_cache with hard_delete
      dont calc soft deleted record with updating
      calc revived record
      calc revived record with changing parent
  phisical delete
    update counter_cache with hard_delete

Finished in 0.86691 seconds (files took 0.24703 seconds to load)
33 examples, 0 failures

Coverage report generated for RSpec to /home/r7kamura/ghq/github.com/r7kamura/guard_against_physical_delete/coverage. 99 / 107 LOC (92.52%) covered.

After
GuardAgainstPhysicalDelete
  .physical_delete
    allows physical delete in given block
    with multi threading
      does not affect another thread
  .delete_all
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  .delete_all on relation
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  .destroy_all
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  .destroy_all on relation
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  #delete
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  #destroy
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  #destroy!
    when model has no deleted_at column
      is expected not to raise Exception
    when model has deleted_at column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
    when model has logical_delete_column
      is expected to raise GuardAgainstPhysicalDelete::PhysicalDeleteError
  #hard_delete
    destroys record in physical_delete block
  #soft_delete
    sets current time to logical delete column
    invokes after_save
    invokes validation

GuardAgainstPhysicalDelete
  when child is physically deleted
    decrements counter
  when deleted_at child is physically deleted
    raises error
  when removed_at child is physically deleted
    raises error
  when deleted_at child is logically deleted
    decrements counter
  when removed_at child is logically deleted
    decrements counter
  when logically deleted deleted_at child is updated
    does not change counter
  when logically deleted removed_at child is updated
    does not change counter
  when logically deleted deleted_at child is logically undeleted
    increments counter
  when logically deleted removed_at child is logically undeleted
    increments counter

Finished in 0.84083 seconds (files took 0.24749 seconds to load)
36 examples, 0 failures

Coverage report generated for RSpec to /home/r7kamura/ghq/github.com/r7kamura/guard_against_physical_delete/coverage. 99 / 107 LOC (92.52%) covered.

All the commits I was trying to add in this pull request were merged at #30, so I'll close this. 👋


feat: Add Bitsandbytes quantization for transformer backend

Is your feature request related to a problem? Please describe.

Quantization is not available for transformer backend
Describe the solution you'd like

Add bitsandbytes 4bit quantization to be triggered by the user with the low_vram flag in the model definition
Additionally I propose to use the f16 flag to change the compute_dtype to bfloat16 for better optimization on Nvidia cards
Describe alternatives you've considered

Additional context

I've implemented this while fixing #1774
Issue opened for tracking

Is your feature request related to a problem? Please describe.
Quantization is not available for transformer backend Describe the solution you'd like
Add bitsandbytes 4bit quantization to be triggered by the user with the low_vram flag in the model definition Additionally I propose to use the f16 flag to change the compute_dtype to bfloat16 for better optimization on Nvidia cards Describe alternatives you've considered
Additional context
I've implemented this while fixing #1774 Issue opened for tracking

good point @fakezeta! do you have already a PR? maybe we can take it from there

You know I'm old, give me some time 😄
I think I'll do it tonight (CET).


PP-5632: add configuration for rate-limiting

Why
In order to support extended limits for chosen accounts we need to extend configuration.
What

add additional parameter values for rate-limitting
introduce converter to transform string into list of strings
cover changes with tests
update README

Will address those two points separately.
Thanks!


Support for Bevy main / upcoming 0.11 release

bevy_svg main branch doesn't currently support bevy's main branch.
the trait bound `bevy_svg::SvgPlugin: bevy::prelude::Plugin` is not satisfied
the following other types implement trait `bevy::prelude::Plugin`:

Are there plans of supporting main before 0.11 release?

I haven't tried to keep up with the many changes happening in Bevy, because currently i just don't have the time and energy to chase every change 😅
If the renderer didn't change that much, then you can try and use the [patch] section in your cargo.toml to point bevy to the github repository.


Added simple RBAC implementation

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.01% :tada:

Comparison is base (ad1ec32) 98.29% compared to head (0c62ede) 98.30%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #74      +/-   ##
==========================================
+ Coverage   98.29%   98.30%   +0.01%
==========================================
  Files          57       59       +2
  Lines        2877     2895      +18
  Branches      402      403       +1
==========================================
+ Hits         2828     2846      +18
  Misses         30       30
  Partials       19       19

Files Changed
Coverage Δ

...c_model/data_exchange/data_exchange_helper_base.py
97.72% <ø> (-0.06%)
:arrow_down:

src/naturerec_model/model/__init__.py
100.00% <100.00%> (ø)

src/naturerec_model/model/role.py
100.00% <100.00%> (ø)

src/naturerec_model/model/user.py
100.00% <100.00%> (ø)

src/naturerec_model/model/user_role.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Bug fixes for analytics and translations for 2.0

Proposed changes

added null checks and error handling
fixed link on community page
fixed agent terminology
fixed UI bugs on application dashboards and workflow comparison table

Types of changes

[x] Bugfix (non-breaking change which fixes an issue)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[x] Lint and unit tests pass locally with my changes

@whitetiger1399 suggested changes have been made PTAL again.


Error when using secured connection

After a first installation, I'm seeing a lot of errors. The token and URL are correct since Tautulli is also configured and working with Plex using the same token and URL. My server is configured to work only on secured connections, would that be the problem?
Here's the log output:
Logger: homeassistant.setup
Source: custom_components/plex_assistant/__init__.py:96
First occurred: 10:06:48 PM (1 occurrences)
Last logged: 10:06:48 PM

Error during setup of component plex_assistant
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 397, in connect
    _match_hostname(cert, self.assert_hostname or server_hostname)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 407, in _match_hostname
    match_hostname(cert, asserted_hostname)
  File "/usr/local/lib/python3.8/ssl.py", line 420, in match_hostname
    raise CertificateError("hostname %r "
ssl.SSLCertVerificationError: ("hostname '<IP_ADDRESS>' doesn't match '*.xxxxxxxxxxxxx.plex.direct'",)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='<IP_ADDRESS>', port=32400): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError("hostname '<IP_ADDRESS>' doesn't match '*.xxxxxxxxxxxxx.plex.direct'")))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 213, in _async_setup_component
    result = await task
  File "/config/custom_components/plex_assistant/__init__.py", line 100, in async_setup
    await hass.async_add_executor_job(sync_io_server, base_url, token)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/plex_assistant/__init__.py", line 96, in sync_io_server
    PA.server = PlexServer(base_url, token)
  File "/usr/local/lib/python3.8/site-packages/plexapi/server.py", line 110, in __init__
    data = self.query(self.key, timeout=timeout)
  File "/usr/local/lib/python3.8/site-packages/plexapi/server.py", line 440, in query
    response = method(url, headers=headers, timeout=timeout, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 543, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='<IP_ADDRESS>', port=32400): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError("hostname '<IP_ADDRESS>' doesn't match '*.xxxxxxxxxxxxx.plex.direct'")))

Yes, that would be the problem. The SSL certificate You either need to set secured connections to "preferred" in Plex's network settings, use the plex.direct URL in your config, or if you use a custom SSL certificate use the URL that certificate is for in your config.

I rather not change my connections to preferred, I want to keep all my connections secured all the time. I also don't use any custom SSL certificate, the certificate is the one assigned by Plex itself but when using from inside a LAN with an IP address, the error happens.

use the plex.direct URL

I wasn't really sure what you mean by this. I remember seeing something like this when looking for my token. I used this address and the error went away. I suggest there's a mention of using this URL (and how to find it) when a Plex server is setup for secured connections only.

I have never had to use the plex.direct URL and don't know much about it myself. I just looked at your error, the part that reads:
hostname '<IP_ADDRESS>' doesn't match '*.xxxxxxxxxxxxx.plex.direct'

That is why I suggested using that URL. If you have further information feel free to update the docs yourself or provide the information here so that others may benefit. After a quick search, I don't see anything in plex's docs about where to find your plex.direct URL.

For anybody else that lands here with the same problem, just follow the tutorial to retrieve your token https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ but make sure you got to https://plex.tv and not your localhost or IP address.
Once you've seen the following picture

The URL will look something like https://192-168-10-25.xxxxxxxxxxxxxxxxx.plex.direct:32400/
Where the first part (192-168-10-25) is the local IP address of the Plex server, and xxxxxxxxxxxxxxxxx are some random numbers and letters. Probably the ID that identifies your server on the Internet.
Feel free to use this info on the README, otherwise, I'll try to submit a PR with these details when I have a chance.

Ah okay, not too bad. So:

Go to https://app.plex.tv/ and sign in.
Hit the vertical 3 dots on any media item (episode, movie, etc)
Select "Get Info", then click "View XML"
The URL field of your browser now contains your plex.direct URL
Copy everything before "library"
It will look something like this: https://192-168-10-25.xxxxxxxxxxxxxxxxx.plex.direct:32400/

Updated the readme and will add this to the Plex Upcoming Media integrations readme as well. Thank you!


Uncaught TypeError: Cannot read property 'add' of undefined

[Enter steps to reproduce below:]

...
...

Atom Version: 1.0.7
System: Microsoft Windows 8.1 Enterprise
Thrown From: omnisharp-atom package, v0.24.0
Stack Trace
Uncaught TypeError: Cannot read property 'add' of undefined
At C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:579

TypeError: Cannot read property 'add' of undefined
    at Dock.addWindow (C:\Users\146556\.atom\packages\omnisharp-atom\lib\omnisharp-atom\atom\dock.js:73:24)
    at CodeCheck.activate (C:\Users\146556\.atom\packages\omnisharp-atom\lib\omnisharp-atom\features\code-check.js:64:41)
    at C:\Users\146556\.atom\packages\omnisharp-atom\lib\omnisharp-atom\omnisharp-atom.js:133:23
    at arrayEach (C:\Users\146556\AppData\Local\atom\app-1.0.7\resources\app.asar\node_modules\babel-core\node_modules\lodash\index.js:1289:13)
    at Function.<anonymous> (C:\Users\146556\AppData\Local\atom\app-1.0.7\resources\app.asar\node_modules\babel-core\node_modules\lodash\index.js:3345:13)
    at AnonymousObserver._onNext (C:\Users\146556\.atom\packages\omnisharp-atom\lib\omnisharp-atom\omnisharp-atom.js:132:19)
    at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.next (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1778:12)
    at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1710:35)
    at AnonymousObserver.tryCatcher (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:567:29)
    at AutoDetachObserverPrototype.next (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5274:51)
    at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1710:35)
    at Subject.Rx.Subject.addProperties.onNext (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5394:19)
    at Subject.tryCatcher (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:567:29)
    at AutoDetachObserverPrototype.next (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5274:51)
    at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1710:35)
    at AutoDetachObserver.tryCatcher (C:\Users\146556\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:567:29)

Commands

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages
# User
atom-yeoman, v0.3.12
json-schema, v0.1.11
linter, v1.4.3
omnisharp-atom, v0.24.0
pretty-json, v0.4.1

# Dev
No dev packages

Got the same, again. On OS X Yosemite... This package (or atom itself) has really a lot of problem with Mac Book machines. (Or maybe it's something on my system, it's a dev machine full of stuff!).
Hope it stabilizes, because I love it!

We're working on it, any help you can offer is always appreciated (and
logging issues is helping!) :)
I personally am trying to always dogfood with the editor whenever I'm
working in C#, so any hints as to what happened are always appreciated!  I
personally only have access to windows machines, so sometimes with cross
plat issues I'm in the dark on what happened.
I have seen some performance problems, as well as some problems after
running for a little while, they are some of the next items on my hit list.
On Tue, Sep 1, 2015 at 12:17 PM, Giacomo Stelluti Scala <
<EMAIL_ADDRESS>wrote:

Got the same, again. On OS X Yosemite... This package (or atom itself) has
really a lot of problem with Mac Book machines. (Or maybe it's something on
my system, it's a dev machine full of stuff!).
Hope it stabilizes, because I love it!
—
Reply to this email directly or view it on GitHub
https://github.com/OmniSharp/omnisharp-atom/issues/478#issuecomment-136778854
.

@david-driscoll, you're right, I'ven't hitted the button for not adding to many data overhead; but if for you is a good thing, I'll send every crash!
Thanks again.

i'm seeing this issue as well. i'll post my information in case that's helpful:

Open Atom
The bug shows up

Again, i'm not sure if this is helpful, but i have two project folders open, both containing .NET solutions. One is a .NET 4.5.2 solution, and the other is .NET 4.0 and contains a large number of different projects.
Atom Version: 1.0.11
System: Microsoft Windows 7 Ultimate
Thrown From: omnisharp-atom package, v0.24.5
Stack Trace
Uncaught TypeError: Cannot read property 'add' of undefined
At C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:71

TypeError: Cannot read property 'add' of undefined
    at Dock.addWindow (C:\Users\Administrator\.atom\packages\omnisharp-atom\lib\omnisharp-atom\atom\dock.js:76:24)
    at CodeCheck.activate (C:\Users\Administrator\.atom\packages\omnisharp-atom\lib\omnisharp-atom\features\code-check.js:67:41)
    at C:\Users\Administrator\.atom\packages\omnisharp-atom\lib\omnisharp-atom\omnisharp-atom.js:154:31
    at arrayEach (C:\Users\Administrator\AppData\Local\atom\app-1.0.11\resources\app.asar\node_modules\babel-core\node_modules\lodash\index.js:1289:13)
    at Function.<anonymous> (C:\Users\Administrator\AppData\Local\atom\app-1.0.11\resources\app.asar\node_modules\babel-core\node_modules\lodash\index.js:3345:13)
    at AnonymousObserver._onNext (C:\Users\Administrator\.atom\packages\omnisharp-atom\lib\omnisharp-atom\omnisharp-atom.js:134:19)
    at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.next (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1691:12)
    at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1625:31)
    at AnonymousObserver.tryCatcher (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:59:31)
    at AutoDetachObserverPrototype.next (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5214:51)
    at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1625:31)
    at Subject.Rx.Subject.addProperties.onNext (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5334:19)
    at Subject.tryCatcher (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:59:31)
    at AutoDetachObserverPrototype.next (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:5214:51)
    at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:1625:31)
    at AutoDetachObserver.tryCatcher (C:\Users\Administrator\.atom\packages\omnisharp-atom\node_modules\rx\dist\rx.js:59:31)

Commands

Config
{
  "core": {
    "ignoredNames": [
      ".hg",
      "node_modules",
      ".nuget",
      ".vs",
      "TestResults",
      "*.orig"
    ]
  }
}

Installed Packages
# User
atom-yeoman, v0.3.13
json-schema, v0.1.13
language-cshtml, v0.1.1
language-powershell, v2.1.0
language-vbdotnet, v0.1.0
linter, v1.5.0
omnisharp-atom, v0.24.5
vim-mode, v0.59.0

# Dev
No dev packages

Oops, didn't see that there's an update for this package. i'll see if that changes things here.

@hemantsathe looks like this dockWindow.add issue has been fixed, let me know if you still have it with the latest version.

Also this :ok_hand: ! Thanks. Excellent job!


GetExecutionErrors for recurring integrations does not work

I think that information about GetExecutionErrors request was added to this page by mistake. GetExecutionErrors requires executionId parameter which does not exist in context of recurring integrations (dequeue/enqueue API). It only works with package API requests. This section should be removed from this page.

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

ID: 01b2cd6b-f885-7461-fbdf-cf81f9e50d86
Version Independent ID: 8df7a6ae-67db-5d29-fb6a-0820704ff3ef
Content: Recurring integrations
Content Source: articles/fin-ops-core/dev-itpro/data-entities/recurring-integrations.md
Service: dynamics-ax-platform
Product: ****
Technology: ****
GitHub Login: @Sunil-Garg
Microsoft Alias: sunilg

Thank you for your feedback. @Sunil-Garg, can you please take a look?

BUG 419060 created to track this issue.

Any news on this problem of not being able to retrieve the errors when using recurring instead of the package api?

Hi Tomek-- as long as the execution id is passed to this api, it will return the list of errors. The execution id can be from a job scheduled from a recurring integration. You are correct that the enqueue/dequeue set of API's don't work with execution id but, it shouldn't matter as long as an execution id is passed to the error API to get the list of execution errors. Hope this helped clarify. Let me know if you have further questions and we can discuss offline.
Thanks.

...it shouldn't matter as long as an execution id is passed to the error API to get the list of execution errors

But the execution id is not returned by the enqueue/dequeue set of API's.  Therefore this endpoint cannot be used to get a list of errors, because the execution id is unknown.  If there is a way to retrieve the execution id, please document that.

@ekersey - We are finding the same problem on our end. Were you ever able to find a resolution to this?


Labelling while plotting time-series data over a network

Hi @marcomusy ,
This is related to the question that was posted here.
When I run the code below,

import networkx as nx
from vedo import *

G = nx.gnm_random_graph(n=10, m=15, seed=1)
nxpos = nx.spring_layout(G)

nxpts = [nxpos[pt] for pt in sorted(nxpos)]
nx_lines = [ (nxpts[i], nxpts[j]) for i, j in G.edges() ]

nx_pts = Points(nxpts, r=12)
nx_edg = Lines(nx_lines).lw(2)

# node values
values = [[1, .80, .10, .79, .70, .60, .75, .78, .65, .90],
          [3, .80, .10, .79, .70, .60, .75, .78, .65, .10],
          [1, .30, .10, .79, .70, .60, .75, .78, .65, .90]]
time = [0.0, 0.1, 0.2] # in seconds
for val,t in zip(values, time):
    nx_pts.cmap('YlGn', val, vmin=0.1, vmax=3)
    if t==0:
        nx_pts.addScalarBar()

    # make a plot title
    x0, x1 = nx_pts.xbounds()
    y0, y1 = nx_pts.ybounds()
    t = Text('My μ-Graph at time='+str(t)+' seconds',
             font='BPmonoItalics', justify='center', s=.07, c='lb')
    t.pos((x0+x1)/2, y1*1.4)
    show(nx_pts, nx_edg, nx_pts.labels('id',c='w'), t,
         interactive=True, bg='black')

The text overlaps

I see this issue in the current version.
Could you please suggest how to update the text that corresponds to each time instant and remove the text of the previous time step?

As temporary fix just add plt.remove(txt) at the end, inside the loop:
import networkx as nx
from vedo import *

G = nx.gnm_random_graph(n=10, m=15, seed=1)
nxpos = nx.spring_layout(G)

nxpts = [nxpos[pt] for pt in sorted(nxpos)]
nx_lines = [ (nxpts[i], nxpts[j]) for i, j in G.edges() ]

nx_pts = Points(nxpts, r=12)
nx_edg = Lines(nx_lines).lw(2)

# node values
values = [[1, .80, .10, .79, .70, .60, .75, .78, .65, .90],
          [3, .80, .10, .79, .70, .60, .75, .78, .65, .10],
          [1, .30, .10, .79, .70, .60, .75, .78, .65, .90]]

time = [0.0, 0.1, 0.2] # in seconds
for val,t in zip(values, time):
    nx_pts.cmap('YlGn', val, vmin=0.1, vmax=3)
    if t==0:
        nx_pts.addScalarBar()

    # make a plot title
    x0, x1 = nx_pts.xbounds()
    y0, y1 = nx_pts.ybounds()

    txt = Text3D(f'My μ-Graph at time={t} seconds',
                 font='VictorMono', justify='bottom-center', s=.07, c='lb')
    txt.pos((x0+x1)/2, y1*1.4)
    plt = show(nx_pts, nx_edg, nx_pts.labels('id',c='w'), txt,
               interactive=True, bg='black')
    plt.remove(txt)


Add support for Dawnscanner

I'm in a conflict of interest here, close this one if not appropriated.
It might be a good idea to add support for dawnscanner ruby static analysis tool I wrote also. The main difference with brakeman is that dawnscanner, is MVC framework agnostic so it works also for Sinatra, Padrino, pure rack applications and Lotus in the future.
Could be a great way to improve the tool and improve the pipeline as well.

I've already got some code written to test dawnscanner... so expect a PR for just this thing maybe next week-ish.

This is fixed by #20 .


use specific version of closure

Using an older version of closure to allow builds to succeed instead of using lastest version of closure

Thanks!


propagate vmi uid to libvirt domain

What this PR does / why we need it:
Propagate the UID that a VMI is defined with to libvirt as the UUID of the domain. It is better than letting libvirt generate a different UID for the domain.
Release note:

None

Converter tests are failing (unit tests), you might want to add output from make generate as well.

@mfranczy thanks :) fixed the failing unit test and added the output of make generate

oops, do not merge! there's a problem with this that I'm checking

@ahadas When it will be ready for merge just run /unhold


Include more context when displaying

What issue are you having that you need harpoon to solve?
I would like to be able to show the marks relative to my current file.
Why doesn't the current config help?
When display is called, the current buffer is the harpoon UI buffer, so I have no way to know where it was called from.
What proposed api changes are you suggesting?
Include the bufname or filename or some way to get the location of where toggle_quick_menu() was called from in HarpoonList:display() and HarpoonPartialConfigItem.display()
I think HarpoonList:resolve_displayed() might also need some tweaks.
A context that could be passed in from toggle_quick_menu and gets passed along to the display function would also help me solve my issue.

I have a working implementation, but I am not a huge fan of it because I am passing the ui_context into HarpoonList:get_by_display(), HarpoonList:resolve_displayed(), and HarpoonList:display(). I have a couple thoughts about this. HarpoonList:get_by_display() and HarpoonList:resolve_displayed() only need it because they pass it in to HarpoonList:display() to get the display values. This has been a bit tricky to work with and I think it would make more sense for there to be a way for the ui to identify the list items rather than the list calling display methods.

Over the next couple weeks, I'll look into this. I want to understand the problem more deeply, as I'm a bit worried I am adding complexity for some very niche case
I also like to try to drive functionality via extensions. This allows me not to have to maintain any behavior I do not wish


How to properly implement tooltips?

Hi,
I must sat that I love the deck.gl library and the layers are so beautiful but I am having a little bit of a problem at the moment and I was hoping that you could help me out? I am struggling to implement tooltips on a hexagon layer map, I am attempting to use the <Popup> component from react-map-gl , I have got it to appear and show the relevant data on the popup and have got it to move around by updating the position and the text in the onHover function but I am struggling to get it to disappear properly. Is there some kind of 'mouseout' event somewhere that I can use? The other idea I've had is putting in an invisible layer of some sort so that I can use the onHover function from that to hide the tooltip. There must be a better way to do this and I see that you have tooltips working properly on your examples in the gallery just not in the examples that we can see the code for. I was wondering if you could possibly point me in the right direction?
Best wishes
Tom

Hi @TPreece101 glad you are liking our library and layers.
Here is the heatmap code  that we show in the gallery. in your onHover(info) function You can either check info.object or info.picked, if nothing is picked, you hide the tooltip.

Thank you so much for pointing me towards the heatmap code, I had not realized that code was available! After seeing that I had it up and running in a matter of minutes. Thank you for such a quick response.

Is there a way to enable onHover(info) and show info.object within Superset? @heshan0131


Add 3.11 Wheels to CI

This PR adds support for building Python 3.11 wheels on the CI.
The diff is big, but I didn't do too much work here. I originally generated this CI with an older version of xcookie, which has improved a lot in the last year, so it's output is different, but it also comes with improvements, which are listed:

decoupled build and testing. The new test stage consumes artifacts from build stage and tests them independently.
tests are run for the minimum and maximum requirements
users can now pip install pycold[runtime-strict] to get a version of the library pinned to known working versions, but without "-strict", they will get loose versions, which are the minimum or greater.

Codecov Report

:exclamation: No coverage uploaded for pull request base (devel@2556074). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff            @@
##             devel      #35   +/-   ##
========================================
  Coverage         ?   25.12%
========================================
  Files            ?       12
  Lines            ?     2507
  Branches         ?      605
========================================
  Hits             ?      630
  Misses           ?     1814
  Partials         ?       63

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

@SuYe99 This PR is effectively done (just debugging an issue with a failed publish step). Would you like to review it? I think I have permission to make a release, so I would like to do that once the dashboard is green (We are about to deploy this algorithm in production! But we need a Python 3.11 wheel to make our builds faster).


TooltipFormat With Array v-model

As i saw, tooltip can't be formatted with array values.
I have an array like "arr[0, 24]" (v-model="arr")
i need to format it like "0 am - 12 pm", couldn't achieve this
by the way, in events, options.value should be an object, not a string

@ItStark the model supports any kind of type such as number | sting | array. Currently the array type was not defined in the props, so that it might throw the warring when set array value. That I will correct and push a new version.
And through the tooltipFormat you can achieve any custom value, here I have updated a simple demo:
https://codesandbox.io/s/dazzling-bouman-eg8dm?file=/src/components/SliderDemo.vue
Is this the expected one?
Also regarding the options.value type, commonly we maintained the string type only for the value prop. Even what kind of type you passed, it will maintain the string type only. If still you want the value as array then you can get it through a computed property. Can you give more info about your requirement, so that I can suggest a better solution or if needed ll integrate with the source. Thanks...

I will achieve just like you said, gonna use computed property for that.
The link you shared is just like i would like to do. Thanks so much.


Can't able to change default fields

I can't able to default field (id and itemsName) with my own field in a object ([data]="dropdownList"). If it is done by groupBy then how it can be changed. Example :
this.dropdownList = [
{"cid":1,"countryName":"India"},
{"cid":2,"countryName":"Singapore"},
{"cid":3,"countryName":"Australia"},
{"cid":4,"countryName":"Canada"},
{"cid":5,"countryName":"South Korea"},
{"cid":6,"countryName":"Germany"},
{"cid":7,"countryName":"France"},
{"cid":8,"countryName":"Russia"},
{"cid":9,"countryName":"Italy"},
{"cid":10,"countryName":"Sweden"}
];

Feature to be soon implemented. Please wait for this sunday release.

Fixed available in v2.0.0. Use the template feature to use custom field names.


Flutter attach only works when the main file is called 'lib/main.dart'

$ cd path/to/flutter/examples/flutter_gallery
$ mv lib/main.dart lib/run.dart
$ flutter run lib/run.dart
<snip out waiting for the app to deploy and start.>
^C
$ flutter attach
<start the gallery app back up>
Your application could not be compiled, because its dependencies could not be established.
Could not read "path/to/flutter/examples/flutter_gallery/lib/main.dart" when determining Dart dependencies.

The root cause is that the ResidentRunner we use to attach and do hot reloads with will try to find a main.dart file when a target isn't announced.  Attach doesn't provide a target, so it uses the default behavior always.

Suggestion from @jacob314:

https://github.com/dart-lang/sdk/blob/master/runtime/vm/service/service.md#isolate
Isolate.rootLib should give you a good idea what the root library was. Can we use it to handle this case better?

I think this has since been fixed? https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/commands/attach.dart#L267
Tentatively closing.


support track java private method

Please answer these questions before submitting your issue.

Why do you submit this issue?
[x] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
Does skywalking support to track java private method ? Because some third part services we depend  are called in private methond , those can not be tracked.

Bug

Which version of SkyWalking, OS and JRE?
6.4

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

It is supported, many methods we instrumented are private today.

How to set it ? I don't find the way to set it in docs

public or not. It depends on your plugin definition. We don't set anything, so there is no documentation about this.


not work in docker ,but works when i use this in raspberrypi3 directly

docker pull homeassistant/raspberrypi3-homeassistant ,
sensor:

platform: mitemp_bt
mac: ':::::'
name: Kids Room Temp
force_update: true
median: 1
monitored_conditions:

temperature
humidity
battery

WARNING (SyncWorker_11) [homeassistant.components.mitemp_bt.sensor] Polling error
WARNING (SyncWorker_13) [homeassistant.components.mitemp_bt.sensor] Polling error Could not read data from Mi Temp sensor
it do not work in docker ,but works when i use this in raspberrypi3 directly,

This is the bug/issue tracker for Home Assistant. Please use the forum for questions about installation, setup, configuration and usage.
If it's a bug, please re-open the issue with the issue template filled.


Front-End Box link seems to be broken...

The URL where it redirects to: http://frontendbox.io/
Not sure this is considered as a problem for this repo, but if the issue persists, it might be better to remove the reference.
(Hope it's not a problem with my config. Otherwise sorry for the noise.
(Not sure I should have opened an issue for that...)

Fixed by https://github.com/electron/electron-apps/pull/345


Allow to cancel a file save without showing error

In my case, I need to validate my customTextEditor which is rendered as a form before save file. Right now, I have to throw Error to provent saving file, but this lead to the notification shown in right-bottom corner:

It is a better experience which only show form validate result in the form.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


fix(curriculum): Add solutions to CSS challenges

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

For #35751

PR #35849 has been merged now, so once it has been reviewed/approved by another mod, it can be merged.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


GPU usage is not getting tracked after launching my ipynb notebook from vscode in a conda rendered python env.

I'm using pytorch to run a deep learning model and honestly a little worried if the model is even using gpu while training although all my tensors seem to show device as cuda:0 but my CPU utilization is hitting 100% alot while gpu also does drop down to 0% while also staying within a 10% range. The GeForce NVIDIA GPU activity panel also shows no active files using GPU as follows :

What is the issue?

Hi @gothchico, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


fixes #682

@Demwunz @tomwm this good to go? if so :ship:

Yep. Merge.
On 23 Apr 2015 16:01, "Dan Palmer"<EMAIL_ADDRESS>wrote:

@Demwunz https://github.com/Demwunz @tomwm https://github.com/tomwm
this good to go? if so [image: :ship:]
—
Reply to this email directly or view it on GitHub
https://github.com/ministryofjustice/atet/pull/711#issuecomment-95616229
.


Feature/update to polkadot v0 9 31

Please attach your research results on why u64::MAX is used as proof_size


Blank Page after LDAP added to .env

Hello,
Running Bookstack version 0.30.2
I am trying to set up LDAP on our Bookstack server.
I ran this to create the .env file in /var/www/bookstack dir
cp .env.example .env
With vim I added the following to the /var/www/bookstack/.env file
AUTH_METHOD=ldap
LDAP_SERVER=dc.domain.com:389
LDAP_BASE_DN=OU=Domain_Users,DC=domain,DC=local
LDAP_DN=CN=Admin, Bookstack,OU=it_Staff,OU=Domain_Users,DC=domain,DC=local
LDAP_PASS=Password
LDAP_USER_FILTER=(&(sAMAccountName=${user}))
LDAP_VERSION=3
LDAP_ID_ATTRIBUTE=BIN;objectGUID
LDAP_EMAIL_ATTRIBUTE=mail
LDAP_DISPLAY_NAME_ATTRIBUTE=cn
After I make the above additions to the .env file Bookstack does not load.  A blank white page is displayed. No Bookstack or browser based error messages, just a blank white page.
I tried restarting the apache2 service and restarted the server but neither did anything to help.
Before the .env file was edited Bookstack loaded fine and I was able to login with the local admin.
Any ideas?
Thanks.

Hi @mcbmoreno,
If any of the values within the .env contain spaces (Possible DN) or hashes ensure they're wrapped in quotes. For example:
LDAP_PASS="donkey cat"

That would be my first guess, otherwise a blank white page can commonly indicate folder permission issues on those that need to be writeable by the web server.

Hi @mcbmoreno,
If any of the values within the .env contain spaces (Possible DN) or hashes ensure they're wrapped in quotes. For example:
LDAP_PASS="donkey cat"

That would be my first guess, otherwise a blank white page can commonly indicate folder permission issues on those that need to be writeable by the web server.

Thanks ssddanbrown.
That was it.  my LDAP_DN was LDAP_DN=CN=Admin, Bookstack,OU=it_Staff,OU=Domain_Users,DC=domain,DC=local
put quotes around it and escaped the backslash with another backslash like below and worked like a charm.
"LDAP_DN=CN=Admin\, Bookstack,OU=it_Staff,OU=Domain_Users,DC=domain,DC=local"
Thanks again.

Thanks ssddanbrown.
That was it.  my LDAP_DN was LDAP_DN=CN=Admin, Bookstack,OU=it_Staff,OU=Domain_Users,DC=domain,DC=local
put quotes around it and escaped the backslash with another backslash like below and worked like a charm.
"LDAP_DN=CN=Admin\, Bookstack,OU=it_Staff,OU=Domain_Users,DC=domain,DC=local"
Thanks again.

@mcbmoreno Great news! I'll therefore close off the issue.

@mcbmoreno Great news! I'll therefore close off the issue.


Add code lens extension (for Rails tests)

⚠ Must be merged after https://github.com/Shopify/ruby-lsp/pull/666
Description
Add code lens extension to recognize Rails tests:
test "should test something" do
    # assert something
end

A Rails test is a SyntaxTree::Command with the test name as the first argument so the extension implements on_command to create code lenses for Rails tests.
https://github.com/Shopify/ruby-lsp/pull/666 adds parameters to initialize so I also updated the hover extension + tests.
Testing
Created code_lens_test.rb that checks that Rails-styled tests are recognized and a CodeLens response is created.
You can also manually test by checking out this branch and running the tests in code_lens_test.rb from the file.

Note: Until https://github.com/Shopify/ruby-lsp/pull/666 is merged, you must make sure the ruby-lsp gem is installed from this branch

I have continued this in https://github.com/Shopify/ruby-lsp-rails/pull/67 - I'm leaving this as-is to allow for a comparison.


linux: add missing SOL_* constants

SOL_SOCKET appears to be the only constant that is not the
same across architectures and it was already present in libc.
Signed-off-by: Paul Osborne<EMAIL_ADDRESS>

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

Looks like CI says some constants aren't defined? Perhaps a missing header to include?

Yes, working on fixing up the tests.  Bionic/kernel define several that aren't defined for musl/glibc.  I think it is reasonable to define them all for Linux platforms, so I'll push an amended commit once I think I have things in place.

Ok, thanks! Feel free to ping the PR once tests are passing and I will r+

Ok @alexcrichton, should be ready for review.  Appveyor is a bit backed up, but things are passing on travis.

Closing due to inactivity, but feel free to resubmit with comments addressed!


Fix replacements

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

Hi @Blackmist - You're listed as a reviewer in the article metadata. The listed author attribute (vaidyas) isn't found as a Microsoft-linked GitHub user. Could you review the proposed changes and check on the metadata of the article? Thanks!

Hi @vaidya-s - Could you review the proposed changes?
Also, could you update the author metadata attribute to reflect your GitHub user name, "vaidya-s"? It's incorrect in the article; an unrelated GitHub user receives notifications meant for you. Thanks very much.

Thanks for the fixes @yoichinak !
@ktoliver this looks great, #sign-off. I'll track down the correct author value and update later today.

@Blackmist: I'm sorry - only the author of this article, @vaidyas, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Thanks @Blackmist


Fix rxcpp::observable<>::from() when T is non-default constructable

The following code does not compile with AppleClang <IP_ADDRESS>20042 due to implementation of std::array internally storing array with one element even if it is declared as std::array<T, 0>.
class foo {
    foo(int) {}
};
auto o = rxcpp::observable::empty<foo>();

This PR fixes this issue by using std::initializer_list<T> instead of std::array<T, 0>.

Thank you!


[Bug] 'type' is missing in 'PointerMarkSpec'

Version
1.12.4
Link to Minimal Reproduction
documentation site
Steps to Reproduce
Many gauge charts in the documentation website with pointer spec (PointerMarkSpec) don't specify the type of pointer, but I noticed that PointerMarkSpec requires type.
For example, the following spec will get the error: Property 'type' is missing in type '{ style: { fill: string; }; }' but required in type 'PointerMarkSpec'.
const spec: IGaugeChartSpec = {
  type: 'gauge',
  data: [
    {
      id: 'id0',
      values: [
        {
          type: '目标A',
          value: 0.7
        }
      ]
    }
  ],
  radiusField: 'type',
  categoryField: 'type',
  valueField: 'value',
  outerRadius: 0.8,
  innerRadius: 0.75,
  startAngle: -240,
  endAngle: 60,
  gauge: {
    type: 'circularProgress',
    cornerRadius: 20,
    progress: {
      style: {
        fill: '#1664ff'
      }
    },
    track: {
      style: {
        fill: '#000'
      }
    }
  },
  pointer: {
    style: {
      fill: '#333'
    }
  }
};

I'd like to inquire about our preferences regarding the type parameter. Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Current Behavior
users have to specify the type as TypeScript asks them to do so
Expected Behavior
Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

Version
1.12.4
Link to Minimal Reproduction
documentation site
Steps to Reproduce
Many gauge charts in the documentation website with pointer spec (PointerMarkSpec) don't specify the type of pointer, but I noticed that PointerMarkSpec requires type.
For example, the following spec will get the error: Property 'type' is missing in type '{ style: { fill: string; }; }' but required in type 'PointerMarkSpec'.
const spec: IGaugeChartSpec = {
  type: 'gauge',
  data: [
    {
      id: 'id0',
      values: [
        {
          type: '目标A',
          value: 0.7
        }
      ]
    }
  ],
  radiusField: 'type',
  categoryField: 'type',
  valueField: 'value',
  outerRadius: 0.8,
  innerRadius: 0.75,
  startAngle: -240,
  endAngle: 60,
  gauge: {
    type: 'circularProgress',
    cornerRadius: 20,
    progress: {
      style: {
        fill: '#1664ff'
      }
    },
    track: {
      style: {
        fill: '#000'
      }
    }
  },
  pointer: {
    style: {
      fill: '#333'
    }
  }
};

I'd like to inquire about our preferences regarding the type parameter. Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Current Behavior
users have to specify the type as TypeScript asks them to do so
Expected Behavior
Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

Thank you for raising this issue, default PointerMarkSpec.type is 'path', i think PointerMarkSpec.type should not be required. It will be a small change in this file packages/vchart/src/series/gauge/interface.ts, if you are interested to contribute our project, you can submit a pull request.

Version
1.12.4
Link to Minimal Reproduction
documentation site
Steps to Reproduce
Many gauge charts in the documentation website with pointer spec (PointerMarkSpec) don't specify the type of pointer, but I noticed that PointerMarkSpec requires type.
For example, the following spec will get the error: Property 'type' is missing in type '{ style: { fill: string; }; }' but required in type 'PointerMarkSpec'.
const spec: IGaugeChartSpec = {
  type: 'gauge',
  data: [
    {
      id: 'id0',
      values: [
        {
          type: '目标A',
          value: 0.7
        }
      ]
    }
  ],
  radiusField: 'type',
  categoryField: 'type',
  valueField: 'value',
  outerRadius: 0.8,
  innerRadius: 0.75,
  startAngle: -240,
  endAngle: 60,
  gauge: {
    type: 'circularProgress',
    cornerRadius: 20,
    progress: {
      style: {
        fill: '#1664ff'
      }
    },
    track: {
      style: {
        fill: '#000'
      }
    }
  },
  pointer: {
    style: {
      fill: '#333'
    }
  }
};

I'd like to inquire about our preferences regarding the type parameter. Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Current Behavior
users have to specify the type as TypeScript asks them to do so
Expected Behavior
Should we implement it as type = 'path' | 'rect' with a default value such as 'path', or do we want to require users to explicitly specify the type?
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

Thank you for raising this issue, default PointerMarkSpec.type is 'path', i think PointerMarkSpec.type should not be required. It will be a small change in this file packages/vchart/src/series/gauge/interface.ts, if you are interested to contribute our project, we very much welcome your pull request.

Thank you for the confirmation. The PR has been created.


A little inconsistency in naming keys of has_paper_trail method

I about it:
has_paper_trail :versions => :paper_trail_versions,
                :version_name => :paper_trail_version

I think will be better to have versions_name and version_name keys or just versions and version.
What do you think?

I'm away at the moment but back next week.

Thank you for info.

OK, sorry about the delay.
I prefer the latter of your suggestions.  I'm not bothered enough by this to do it myself, but if you felt like making the change I'd happily (and promptly!) merge your changes.

I suspect relatively few people are using this particular option so we could skip with the deprecation warning plus backward compatibility and simply promote the version from 2.4.1 to 2.5.  Then Gemfiles with ~> 2.4 will be ok.
But I don't feel strongly about it.  If you want to go with a deprecation warning plus backward compatibility, that's fine too.

It's in v2.5.0.


Unit test for entity namespace

Test entities namespace and get/set for conferenceFee in Conference.

There will be some alterations regarding the entity classes. We'll wait for Grasu' to make his pull request on database mapping and after that make a new commit with the required modifications. Will review / push after that.
Cheers! :)

Unneccessary


Migrate ERC20 to component

Fixes #779. Doc update forthcoming.
This PR also proposes to include pop_log_comp_indexed to extract event args in component events with indexed params.

PR Checklist

[x] Tests
[ ] Tried the feature on a public network
[ ] Documentation

Let's not forget to update the AccessControl examples in the doc-site, and also the example in the project's README.

I added the Component suffix and changed Functions => Implementations in the erc20 API. I can move the changes into a separate PR if preferred @martriay @ericnordelo


Show Queerlit motivation texts in beståndspost Summary field

For the work page, this was fixed in fad855b
Still missing in search results, for the same reason as explained in #63

Done in 73c86a1


Add WebDriver tests

What are those tests?
These tests consist of two test files:

One test file runs in a browser (either a local PhantomJS instance, or on different browsers provided by Sauce Labs).

The other test file runs in node and actually "drives" the browser - opens urls, clicks on things in the window and takes screenshots. The latter ("webdriver") test file makes certain assertions, making the tests pass or fail (in our case we mostly compare screenshots).

Where do I insert new test cases?

Look at tests/webdriver/index-webdriver.html. Insert the test case name at the start of the file (you will see comment). Optionally specify a condition when it should be executed - you don't want to run WebGL tests in old browsers.

Create two test files, one named tests/webdriver/<my-test-name>.html and the other one named tests/webdriver/<my-test-name>.js (the former being the code that will run in browser, the latter being the webdriver code). Copy & paste existing test files in order to ensure a base structure, that the test internals rely on.

When you first run your new tests via npm test (== grunt check), or more specifically via grunt test-local-webdriver, you will probably see error messages complaining about non-existent screenshots. This works as intended: The test internals look for corresponding screenshots in tests/assets/webdriver/<my-test-name>-expected.png. If they can't find them, they will be regenerated and error thrown. A 2nd test run should give no more errors. Deleting existing expected screenshots is also possible. The expected screenshots are committed to the repository.

Failed screenshots from local tests can be observed in the build/webdriver/failed directory. Failed screenshots from SauceLabs tests can be observed on Crafty Distro#regression-tests.

Anything to keep in mind when constructing a browser test page?

Look at existing test pages.

Preserve the base structure given by other test pages. Crafty will be initted for you with a resolution of 320 x 240 px, in the default cr-stage div. Background will be set to gray. CSS rules will remove all margins and paddings.

This means all elements in test page should fit into the given resolution! If you want more freedom, checkout template-generic and template-local.

Ok, I constructed a browser test page. Which webdriver test commands can I use?

Look at existing test cases. Don't forget the QUnit.module preamble.

There is a global browser instance which you send commands to. The commands are all asynchronous and chain together like promises - don't forget to return the promise chain! All available commands are listed in WebdriverIO API docs.

Additional commands are added by the test internals, which should be preferred to the WebdriverIO ones - they are specifically tailored to the (sometimes extreme) differences to features available in different browser drivers:

testUrl - navigates to proper url matching your <my-test-name>
assertResemble - compares newly taken screenshots to expected ones, or records new expected screenshots (as explained above)

optional param of type string - prefix for the screenshot, enables multiple screenshots per test file
optional param of type number - error threshold for image comparison, omit unless there is reason to increase it
optional param of type boolean - enable strict antialiasing image comparison, screenshots on android have to be stretched, resulting in antialiased edges, which are ignored by default - enable for precise image comparison (e.g. pixelart)
optional param of type object - crop the screenshot to specific region, defaults to whole 320x240 viewport

pointerMove(x,y) - move mouse or touch input to specified location
pointerDown() - press mouse or touch at previously moved-to location
pointerUp() - depress mouse or touch at previously moved-to location
keyDown(key) - trigger single keydown
keyUp(key) - trigger single keyup

What do waitBarrier and signalBarrier do?
These two functions serve for synchronization points between the test page and your webdriver test.
The test page has to somehow signal when it is done rendering all relevant Crafty entities - that's what signalBarrier(<label>) is for.
You can then wait for a specific synchronization point with waitBarrier(<label>) in your webdriver test code - you can also increase the default wait timeout by passing an additional argument representing the timeout to wait in ms.
Miscellaneous

supported-browsers.json lists the browser we test on
This PR adds example test templates, not all tests covering every functionality, some tests will come in next PR. Additional tests can always be added over time.
fixes #950
save permanent test fixtures to tests/assets/webdriver and temporary test results to build/webdriver.
uploads screenshots of failed tests to Crafty-Distro/regression-tests.
streamlines Gruntfile.
changes all open sauce (in the cloud) tests to only work on pre-release testing branch.
In order to make it work for all browsers on Open Sauce, some dirty hacks have to be done:

simulate synthetic events for those that do not support native ones
rotate, crop and scale screenshots from android browsers

Example
template.html - browser test page
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>CraftyJS Webdriver Test</title>
  <link rel="stylesheet" href="common.css">
  <script src='common.js'></script>
  <script src='../../crafty.js'></script>
</head>
<body>
<script>
window.addEventListener('load', function() {
  // ADD YOUR TEST CODE HERE; Crafty init'd with {w: 320, h: 240}

  // green floor
  Crafty.e("2D, DOM, Color, ground")
    .attr({ x: 0, y: 239, w: 320, h: 1 })
    .color('rgb(0,255,0)');

  // green platform
  Crafty.e("2D, DOM, Color, ground")
    .attr({ x: 250, y: 120, w: 60, h: 1 })
    .color('rgb(0,255,0)');

  // blue player
  var landedCount = 0;
  Crafty.e("2D, DOM, Color, Gravity, Twoway, Button, Draggable")
    .attr({ x: 265, y: 140, w: 30, h: 30 })
    .color('rgb(0,0,255)')
    .gravityConst(1 * 50 * 50)
    .twoway(5 * 50,17 * 50)
    .gravity("ground")
    .bind("StartDrag", function() {
      this.antigravity();
    })
    .bind("StopDrag", function() {
      this.gravity();
    })
    .bind("LandedOnGround", function(ground) {
      landedCount++;
      signalBarrier("landed" + landedCount);
    });

}, false);
</script>
</body>
</html>

template.js - node webdriver test
QUnit.module(require('path').basename(module.filename, '.js'));

QUnit.test("Multi test template part 1: Player lands on ground floor automatically after navigating to test page", function(assert) {
  return browser
    .testUrl()
    .waitBarrier("landed1")
    .assertResemble("firstLand", 0.20);
});

QUnit.test("Multi test template part 2: Player lands on platform after jump key pressed", function(assert) {
  return browser
    .keyDown('W').keyUp('W')
    .waitBarrier("landed2", 2000)
    .assertResemble("secondLand", 0.20);
});

QUnit.test("Multi test template part 3: Player lands on floor after being drag & dropped", function(assert) {
  return browser
    .pointerMove(280, 107)
    .pointerDown()
    .pointerMove(25, 135)
    .pointerUp()
    .waitBarrier("landed3", 2000)
    .assertResemble("thirdLand", 0.20);
});

Example screenshots
Produces in step 1 this screenshot

Produces in step 2 this screenshot

Produces in step 3 this screenshot

And checks if the new screenshots match the previously recorded ones within margin of error.
What do you think? This should give us much needed confidence when doing changes to graphics stuff.

Ok, updated the documentation above.
I'm pretty satisfied with the current capabilities for now (after waging battles with the differences in each browser's test capabilities).
@starwed Do you have some comments?

Thanks for taking the time to not just implement this, but also thoroughly explain it!
Reading through your comments it sounds good to me.  Just to check my understanding: this particular PR implements the general framework as well as two specific DOM tests?
One theoretical possibility would be to compare DOM, Canvas, and WebGL rendering of the same scene against the same screenshot.  I have a quasi-complicated scene I've been using to check a variety of functionality in the three renderers simultaneously.

Yes, this PR implements general framework + some example tests (they can be DOM, Canvas, WebGL, doesn't matter).

One theoretical possibility would be to compare DOM, Canvas, and WebGL rendering of the same scene against the same screenshot.

Yep, you can do that by stuffing all 3 rendering stripes into the same test (as you did in your example scene), and then calling assertResemble(bounds) for each of these stripes' bounds.
I have deliberately removed the need to specify URLs & paths inside the tests, but the available commands can be extended to accept test page urls and screenshot file paths, if you want.

I have a quasi-complicated scene I've been using to check a variety of functionality in the three renderers simultaneously

This is golden! Have to shrink it a bit, but can then be included as a test as explained above. I will also need to split the animation into discrete steps, as we can only compare screenshots and not videos.

Merging then, more tests incoming


[Fix] i.mjh.nz

The epg-parser update might have made the tests act a bit crazy.

Configuration has been updated
Tests have been updated.

Test failed for me
npm test --- i.mjh.nz

> test
> run-script-os i.mjh.nz

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand i.mjh.nz

 FAIL  sites/i.mjh.nz/i.mjh.nz.test.js (23.16 s)
  √ can generate valid url (12 ms)
  × can parse response (11679 ms)
  √ can handle empty guide (5 ms)

  ● can parse response

    expect(received).toMatchObject(expected)

    - Expected  - 2
    + Received  + 4

Test failed for me
npm test --- i.mjh.nz

> test
> run-script-os i.mjh.nz

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand i.mjh.nz

 FAIL  sites/i.mjh.nz/i.mjh.nz.test.js (23.16 s)
  √ can generate valid url (12 ms)
  × can parse response (11679 ms)
  √ can handle empty guide (5 ms)

  ● can parse response

    expect(received).toMatchObject(expected)

    - Expected  - 2
    + Received  + 4

@PopeyeTheSai10r Could you pull the latest changes added in "master" and "npm ci" ? I believe the new epg-scraper and other bumped dependencies can modify the way the tests are answering.

Fetched origin, ran "npm ci" and then ran "npm test --- i.mjh.nz"
npm ci

> postinstall
> npm run api:load

> api:load
> npx tsx scripts/commands/api/load.ts

channels.json      [====================================] 100.00% | ETA: 0s | 1.7 MB | 1.7 MB/s
countries.json     [====================================] 100.00% | ETA: 0s | 4.3 KB | N/A
regions.json       [====================================] 100.00% | ETA: 0s | 2.2 KB | N/A
subdivisions.json  [====================================] 100.00% | ETA: 0s | 36.6 KB | N/A

added 795 packages, and audited 796 packages in 1m

127 packages are looking for funding
  run `npm fund` for details

1 critical severity vulnerability

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

npm test --- i.mjh.nz

> test
> run-script-os i.mjh.nz

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand i.mjh.nz

 FAIL  sites/i.mjh.nz/i.mjh.nz.test.js (24.476 s)
  √ can generate valid url (13 ms)
  × can parse response (12279 ms)
  √ can handle empty guide (5 ms)

  ● can parse response

    expect(received).toMatchObject(expected)

    - Expected  - 2
    + Received  + 4

      Object {
        "categories": Array [
          "Movie",
        ],
    -   "date": "20180101",
    +   "date": Array [
    +     "20180101",
    +   ],
        "description": "With her son being held captive by a criminal gang, police officer Amanda Doyle, together with her ex-husband and three unlikely allies, takes part in a desperate plot to hold a wealthy banker and his family to ransom. But this is no ordinary family.",
    -   "icon": "https://provider-static.plex.tv/epg/images/thumbnails/darkmatter-tv-fallback.jpg",
    +   "icon": undefined,
        "start": "2023-06-23T07:14:32.000Z",
        "stop": "2023-06-23T09:09:36.000Z",
        "title": "Killers Within",
      }

      26 |
      27 |   expect(results.length).toBe(11)
    > 28 |   expect(results[0]).toMatchObject({
         |                      ^
      29 |     start: '2023-06-23T07:14:32.000Z',
      30 |     stop: '2023-06-23T09:09:36.000Z',
      31 |     title: 'Killers Within',

      at Object.<anonymous> (sites/i.mjh.nz/i.mjh.nz.test.js:28:22)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 2 passed, 3 total
Snapshots:   0 total
Time:        25.293 s
Ran all test suites matching /i.mjh.nz/i.

Fetched origin, ran "npm ci" and then ran "npm test --- i.mjh.nz"
npm ci

> postinstall
> npm run api:load

> api:load
> npx tsx scripts/commands/api/load.ts

channels.json      [====================================] 100.00% | ETA: 0s | 1.7 MB | 1.7 MB/s
countries.json     [====================================] 100.00% | ETA: 0s | 4.3 KB | N/A
regions.json       [====================================] 100.00% | ETA: 0s | 2.2 KB | N/A
subdivisions.json  [====================================] 100.00% | ETA: 0s | 36.6 KB | N/A

added 795 packages, and audited 796 packages in 1m

127 packages are looking for funding
  run `npm fund` for details

1 critical severity vulnerability

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

npm test --- i.mjh.nz

> test
> run-script-os i.mjh.nz

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand i.mjh.nz

 FAIL  sites/i.mjh.nz/i.mjh.nz.test.js (24.476 s)
  √ can generate valid url (13 ms)
  × can parse response (12279 ms)
  √ can handle empty guide (5 ms)

  ● can parse response

    expect(received).toMatchObject(expected)

    - Expected  - 2
    + Received  + 4

      Object {
        "categories": Array [
          "Movie",
        ],
    -   "date": "20180101",
    +   "date": Array [
    +     "20180101",
    +   ],
        "description": "With her son being held captive by a criminal gang, police officer Amanda Doyle, together with her ex-husband and three unlikely allies, takes part in a desperate plot to hold a wealthy banker and his family to ransom. But this is no ordinary family.",
    -   "icon": "https://provider-static.plex.tv/epg/images/thumbnails/darkmatter-tv-fallback.jpg",
    +   "icon": undefined,
        "start": "2023-06-23T07:14:32.000Z",
        "stop": "2023-06-23T09:09:36.000Z",
        "title": "Killers Within",
      }

      26 |
      27 |   expect(results.length).toBe(11)
    > 28 |   expect(results[0]).toMatchObject({
         |                      ^
      29 |     start: '2023-06-23T07:14:32.000Z',
      30 |     stop: '2023-06-23T09:09:36.000Z',
      31 |     title: 'Killers Within',

      at Object.<anonymous> (sites/i.mjh.nz/i.mjh.nz.test.js:28:22)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 2 passed, 3 total
Snapshots:   0 total
Time:        25.293 s
Ran all test suites matching /i.mjh.nz/i.

Interesting... i'll have to clearly check on my side then.


Unit tests for queryAll api.

consistentSnapshotTimestamp will be added to summary if consistentSnapshot is set to true.


input-group-button doesn't set border-radius respecting the order of items

In foundation 5, a button with radius and prefix did get the radius only on the left corners,
In 6, all elements get the global border radius, not respecting if they are adjacent to one another.
That looks rather weired:
maybe you add something like
.input-group {
& > *:first-child, & > *:first-child * {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
}
.input-group {
& > *:last-child, & > *:last-child * {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
}
Which will work for two elements in the group. And for the rest something with not first-child and last-child
Furthermore, the height of the input-field is not exactly the same as the height of the buttons in Chrome 47.
You can see this here
http://foundation.zurb.com/sites/docs/forms.html#inline-labels-and-buttons
to.

Thanks! Took care of it here in this commit 0bf07a2b0f801d6636e3e5cb41dbbb482ce765cd.


Make create() also available to pure python callers

R: @charlesccychen (cc: @robertwb)

Thanks! LGTM.

Thank you.
@kennknowles could you please review?

LGTM. I'll merge it.


UPDATE EXISTING clan family configuration

Current page is the one in the link below:
https://royaleapi.com/clan/family/armageddon/clans
Updated configuration settings is listed below (change name, descriptions, color and logo).
Note: There is a minor typo on the description.
On last request it was refused to change the name because of the numbers in front of the name but I noticed there are clans with this:

name: 01º《ArmageddoN》Family
key: armageddon
color: black
emblem: Fugi_04
info:
  logo: https://bit.ly/amd_logo
  description: >
    The **《ArmageddoN》** clan family is relatively new but we have got already very far.
    We have **never lost clan wars with the main clan since it was created (20-May-2021)** and we aim to get to legendary league undefeated.
    We have got to the **ladder local top 20 clans in Brazil**.
    We have 4 clans to welcome players from all levels from low arenas up to more skilled players, from casual to competitive, young to old, Brazilian to internacional community and so on.

    **Come join one of our clans and have fan.
    Since our foundation we, as a family and as individual players, have grown immensely and continue to do so.
    We believe that it is the reason why we have come so far.

    We all share a fellow passion for the game, are friendly, always donate,
    help each other out with the same goal: to always improve our skills and have a great time!
    **Join us and become part of 《ArmageddoN》 family. Because this is what we are, a family.**

   social:
    - discord: https://discord.gg/nCBSysWBSr
    - instagram: https://www.instagram.com/amd_cr_clan/
    - youtube: https://www.youtube.com/channel/UCYNCuQLMckw4T1WbDtP1wYw
    - email<EMAIL_ADDRESS>    -
clans:
  - name: 《ArmageddoN》
    tag: QQ00QQRL
  - name: 《ArmageddoN》 II
    tag: L0C90P9R
  - name: 《ArmageddoN》 III
    tag: GYLLC0Q0
  - name: 《ArmageddoN》Int
    tag: Q0QR8VQC
```ower case
- `emblem`: do not include the file extension `.png`
- `description` and `links`: delete the lines if you have none
- `tag`:  do not include the `#` hash tag with the clan tags

Fill in the configuration below:

```yaml
name:
key:
color:
emblem:
info:
  logo:
  description: >
    Long paragraphs with markdown syntax.

    Add new line with 2 line breaks as above.
  social:
    - twitter: http://twitter.com/
    - discord: http://discord.gg/
    - twitch: https://www.twitch.tv/
    - reddit: http://www.reddit.com/
    - youtube: https://www.youtube.com/channel/
    - website: http://docs.redditalpha.com
    - instagram: https://instagram.com/
    - facebook: https://facebook.com/
    - twitch: https://twitch.tv/
    - youtube: https://www.youtube.com/channel/
    - application: https://url/
    - email: mailto:
clans:
  - name: 100T Alpha
    tag: 9PJ82CRC
  - name:
    tag:
  - name:
    tag:

Thanks for the update. See La Pontinha clã... https://royaleapi.com/clan/family/pontinha/clans
It does not have number in front of the clã.  Why is that allowed only for a few?


Offline

Solves https://github.com/haddocking/haddock3/pull/1025#issuecomment-2357635206
TODO

host css somewhere

Host on npmjs and get via jsdeliver, unpkg
Host on GH release
Host on GH pages

host bundle somewhere

Host on npmjs and get via jsdeliver, unpkg
Host on GH release
Host on GH pages

decide to use

embedded, css and js inside html, con big html file 1.4Mb, pro standalone (except urls to pdb files still need to resolve)
or offline, css and js file imported in html, pro js/css files can be reused between report.html files

Picked js and css file


Invoke-Build VSTS build task

Hi,
This is not an issue but i didn't know how to contact the invoke-build team :(
I've published a build task for VSTS that allow people to easily use invoke-build scripts, you can find the extension here:
https://marketplace.visualstudio.com/items?itemName=qetza.invokebuild
As a side question, do you have the logo in 128x128 size?
Guillaume

@Guillaume, I noticed your projects a few days ago. I am interested.
Unfortunately, I do not use VSTS and do not know how to try it.
I have a remark, if you do not mind. You use Invoke-Expression for invoking
Invoke-Build. Invoke-Expression is not a perfect way to run something in
PowerShell. It often makes things more difficult than they should be. More
difficult to diagnose issues, for example. Note that in you another similar
psake based project you do not use Invoke-Expression and invoke psake
directly. This is much better.

As a side question, do you have the logo in 128x128 size?

No. You can easily make one. It's just the text >ib with the font Magneto.

@nightroman. You can create a free account on VSTS here if you want: https://www.visualstudio.com/products/visual-studio-team-services-vs
As for Invoke-Expression, i've used it for Invoke-Build because of the following constraints:

The parameters specified by the users in the build task UI are passed as string to the build task script
Invoke-Build supports dynamic parameters

So the only way i found to enable users to specify dynamic parameters in the UI and use them with those constraints was to create the PowerShell command as a string and then use Invoke-Expression on it. I didn't have this issue with psake because the do not support dynamic parameters but uses hashtable so i was able to parse the input strings and convert them to hashtables.
Of course if you know a better way (i'm not a PowerShell expert) i'm glade to have your advices :)

Invoke-Build also supports passing parameters as a hashtable, see its parameter Parameters:
    -Parameters
        A hashtable of parameters passed in the build script. It is needed only
        in special cases. Normally build script parameters may be specified for
        Invoke-Build itself, thanks to PowerShell dynamic parameters.

        Dynamic parameters and the hashtable Parameters are not used together.
        If build script parameters conflict with Invoke-Build parameters then
        the hashtable Parameters is the only way to pass them in the script.

Your case is probably special, i.e. it makes sense to use Parameters hashtable instead of dynamic parameters because it avoids Invoke-Expression. On the other hand, if you see that Invoke-Expression works fine in practice then why not.

Nice icon, by the way. May I borrow when I need one?

As Invoke-Expression seems to be working (and is also used by Microsoft in their own tasks) i will keep it like this but keep in mind if any issue happens to switch to the Parameters argument (which i didn't see :( )
For the icon you can use, it was just 5 minutes of work in paint.net as soon as i had the font name :)

I have created the wiki page Related Projects. It includes this VSTS extension.


How to disable mat-select keyboard interaction

Bug, feature request, or proposal:
mat-select has keyboard interaction: up arrow, down arrow to select previous or next option, space/enter to select option and letter to match list item. I need to disable this keyboard interaction. How to disable this?
I've added the following without success: <mat-option (keydown)="$event.stopPropagation()"...
What is the expected behavior?
What is the current behavior?
What are the steps to reproduce?
https://stackblitz.com/edit/angular-6kcps1?file=app/select-multiple-example.html
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: 5.2.9, angular/material :5.2.2
Is there anything else we should know?

@jelbourn can i make pull request for this ?
i need this !

I don't think this is a feature we would want to add since it effectively turns off a11y

hmm,
i'm try to make custom select with search input in top (like use : panelClass ).  but when i try to type like :
"search  some item" .
this is not can't work , cause the SELECT lock KEYBOARD EVENT 'SPACE'.
Do you have an alternative for select with autocomplete?
because use just AutoComplete and add some trick method is so painful and hard for some programmer.

like the example given by @dreamid27 . adding (keydown)="$event.stopPropagation()" with your input. Example with custom filter in mat-select:
    `<mat-select multiple placeholder="List of campaign" [(value)]="campaignsSelected"
        formControlName="excludeCampaigns">

     <input class="select-filter" type="text" (keyup)="filterList($event.target.value, 'campaigns')"
       placeholder="Enter name or ID campaign" (keydown)="$event.stopPropagation()">

        <mat-option *ngFor="let campaign of campaigns" [value]="campaign">
          {{campaign.id}} - {{campaign.name}} - {{campaign.campaignDate}}
        </mat-option>
      </mat-select>`

Now, i can press space or enter without select a item in my list. enjoy :)


Added docs workflow

GitHub Action that automatically edits Pull Requests' descriptions with a link to documentation's preview on Read the Docs.
Essentially followed the tutorial here: https://github.com/readthedocs/actions/tree/v1/preview
I think the only way to test is by raising a PR so here we are :)

Thanks for the attempt at a PR! Welcome to the community~
It seems that the docs action isn't being run yet. I think we can run the CI on the following conditions (can't recall the proper syntax):
* PR touched any file in the `docs/` folder

* PR touched this `generate_docs.yml` action workflow file

* PR touched any python file in the shap folder (reason is because we may also want to check the rendered docstrings)

Yes, I forgot the most important part. Updated PR with a change in docs so that the work flow is triggered.

Hi @dsgibbons , the docs action is still not running, I'm wondering whether it's because there are some project settings we need to configure? https://docs.readthedocs.io/en/latest/guides/pull-requests.html

Hi @dsgibbons , the docs action is still not running, I'm wondering whether it's because there are some project settings we need to configure? https://docs.readthedocs.io/en/latest/guides/pull-requests.html

It might be the case that it is triggered only once on opening a PR and not on subsequent updates, as that is the way it has been configured.

Hi @dsgibbons , the docs action is still not running, I'm wondering whether it's because there are some project settings we need to configure? https://docs.readthedocs.io/en/latest/guides/pull-requests.html

I think that's the case, see https://github.com/readthedocs/actions/tree/v1/preview#how-to-use-it

I've just enabled "Build pull requests for this project". Not sure if I need to do anything else. I'll take a look later if nothing happens.

I just opened a dummy PR at #93 and the docs seem to be building upon PR opening.

Thank you for this PR @EMorf. It turns out that we didn't need this fix but thank you any way for your efforts! We now have write access over at slundberg/shap if you would like to join us there for future improvements.


ci: automatically relate a backport PR to the backport issue

Which issue(s) this PR fixes:

Issue https://github.com/longhorn/longhorn/issues/8002
What this PR does / why we need it:
automatically relate a backport PR to the backport issue
Special notes for your reviewer:
Additional documentation or context

@yangchiu, we should also implement this in other components/libs repos, as we might have PRs contributing to them.