ADFS 3.0 auth not working

Hello,
i am trying to authenticate against an ADFS 3.0 server with SAML 2.0.
I always got the error after the redirect to the ADFS server: "We are sorry your authentication did not work."
If i remove the SAMLRequest parameter from the URL, its working. My provider told me, that he cannot any issue within the log files of the ADFS server.
This is the generated base64 encoded xml
<samlp:AuthnRequest
  Destination='https://domain.com/adfs/ls/idpinitiatedsignon.aspx?loginToRp=projectname'
  ID='_5a844810-60bb-0133-4a50-6476ba8e1e58' IssueInstant='2015-10-29T22:36:00Z' Version='2.0'
  xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'
  xmlns:samlp='urn:oasis:names:tc:SAML:2.0:protocol'>
  <saml:Issuer>
    http://domain.com/adfs/services/trust
  </saml:Issuer>

  <samlp:NameIDPolicy AllowCreate='true' Format='urn:oasis:names:tc:SAML:2.0:nameid-format:transient'/>
</samlp:AuthnRequest>

Any ideas whats is going wrong?

Can you use the SAML Tracer extension and see what the ADFS replies?

I did ...
HTTP/?.? 200 OK
Cache-Control: no-cache,no-store
Pragma: no-cache
Content-Length: 9695
Content-Type: text/html; charset=utf-8
Expires: -1
Server: Microsoft-HTTPAPI/2.0
X-Frame-Options: DENY
P3P: CP="ADFS doesn't have P3P policy, please contact your site's admin for more details."
Set-Cookie: MSISSamlRequest=<removed>; path=/adfs; HttpOnly; Secure
X-MS-Forwarded-Status-Code: 500
Date: Fri, 30 Oct 2015 19:21:19 GMT

There is no SAMLResponse in the data you provided.

Can you provide the SAMLResponse? I need it in order to debug and help you solve your issue.

Hey @pitbulk , any updates on this?
We're using this gem at StatusPage and love it; it's made our SAML implementation really easy. However, we've started running into problems when on-boarding larger clients who use ADFS 3.
I'd be happy to help work through this issue, at this time I just don't have access to a test rig that I can effectively run ADFS on.
Let me know if any progress has been made or if I can help at all.
Thanks!

As you can see in the thread, the reported never included the SAML trace, so I wasn't able to detect what was happening.
What issues do you experiment with ADFS3.0?  I think all can be solved using the right settings.

Hey @pitbulk, sorry for the delay here.
We've found that requests initiated by the IDP come in and are able to be processed correctly, but when we kick off an SP-Initiated AuthRequest, the assertion comes back as invalid. Wondering if this is a certificate issue?
Below are corresponding AuthRequest and Assertions between our system and an ADFS configuration:
AuthRequest:
<samlp:AuthnRequest AssertionConsumerServiceURL='https://manage.statuspage.io/sso/saml/consume'
                    Destination='https://fs.ntst.com/adfs/ls/idpinitiatedsignon' ForceAuthn='false'
                    ID='_68fa2430-bd55-0133-54c0-0a5cc884ce69' IssueInstant='2016-02-24T18:50:34Z'
                    ProtocolBinding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' Version='2.0'
                    xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'
                    xmlns:samlp='urn:oasis:names:tc:SAML:2.0:protocol'>
<saml:Issuer>https://3955e095.statuspage.io/</saml:Issuer>
</samlp:AuthnRequest>

And an assertion, initiated by the identity provider:
<samlp:Response ID="_f9d5ac2a-ce37-450e-a266-88409a408655"
                Version="2.0"
                IssueInstant="2016-02-24T18:45:12.251Z"
                Destination="https://manage.statuspage.io/sso/saml/consume"
                Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
                xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
>
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://fs.ntst.com/adfs/services/trust</Issuer>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
  </samlp:Status>
  <Assertion ID="_ecd31d28-24b0-4371-9626-e1c6a0a9da70"
             IssueInstant="2016-02-24T18:45:12.251Z"
             Version="2.0"
             xmlns="urn:oasis:names:tc:SAML:2.0:assertion"
  >
    <Issuer>http://fs.ntst.com/adfs/services/trust</Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
      <ds:SignedInfo>
        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
        <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
        <ds:Reference URI="#_ecd31d28-24b0-4371-9626-e1c6a0a9da70">
          <ds:Transforms>
            <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
            <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
          </ds:Transforms>
          <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
          <ds:DigestValue>GoARspLa/QSPtjVB2dbbI28AFtFHMb8obyMnARvnEvo=</ds:DigestValue>
        </ds:Reference>
      </ds:SignedInfo>
      <ds:SignatureValue>
        Im5j4GKT8LW0R25Rwv+b3GUBmBPReb7zmUqKy0SQWLr1BZkZXgugaSYtg0fxI1DJMULc/MlM8ghDyHb5eRMy1gCuYV1+sT0CHchm06/876tvx4obv2pUG3ocKBHJ0q437Ck2z4aNb0Gsc10gPVgSZCev2X3Pn+X5POUPwBSiTDLZxJOfupmyWDq9u2fw1mAKlUKHHs5ihHEvm5g2nKJDDcxlp1X7vcw1sMksxWsdxHWm3Zo3DWFKNSHg/7cjCmMHVM9snl/fph2LBKkZzLlLO4zAUCD0BWskw3hFQS8vIDD32dGdxKsoaizsPhYmfs16XHaUzN76ssOsbr+zHAdD+g==
      </ds:SignatureValue>
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>
            MIIC0jCCAbqgAwIBAgIQcIER1GrM1ZJP0JRffutOjTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDExpBREZTIFNpZ25pbmcgLSBmcy5udHN0LmNvbTAeFw0xNTExMTcxNDU4MjBaFw0yMDExMTUxNDU4MjBaMCUxIzAhBgNVBAMTGkFERlMgU2lnbmluZyAtIGZzLm50c3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2/0DSA9Wi8cwRlPJUiyNCtJL+FVyav91csXc2A5eRfhT2Knq8V7CYEGKxEnzR65QOfn0NJ69SCvhUNHo2MO0yd/6KY3pjYE+O65TpvT/wbGQrvpOEft5axJHhpijzkXdilv6oL24L+uKgXZ7pWCBz3HfZ2cHuFDUm1gpvoYmf9q9srovRd9/sHufNYZTfAmeg4PDFhEfQqkSk3JFSdYqg8by64OhautwwOgWxC3aaPbWTFtd573tYNSvdSaPjMF8uamcl3mYVRlUnOJPchKGgYYvDpXk8mHEV8K25Xy2sdY/+yo8FtIa/ttkqIZ6Okd1kMSUWo43ceUCYmAcqpA1BwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQC4llKug/4uYBqmKfZtFwhcSlH8/zE5jVnnuRWhLEqX1OiXgwXUwm0RRN4aM34+eZ1+PsMPS0/mmIk9ks9AeKvWf14wsoHCiQqB+0POtOlISYPYOFbyxI+e77pfv0jOMlJ/XKuY4kZaHUUUGBCm7uxHbVwYy57YJAdD6VTxXjFvgSMj2N3ONMYCDXENNl9sitqFigYdoa2i1Y04hWfv4bWvQhn6taUJKg6+eck9CUsacN755VIF23wrXF7O0Aqsqa7NqnKuv1MaaoYqJrUodG+sGCA2soMa7Stw7vmoEEFBMgA57PnAfleHGnRSR1bTPN6pgJBxZjdQjSU0PH0IgoI/
          </ds:X509Certificate>
        </ds:X509Data>
      </KeyInfo>
    </ds:Signature>
    <Subject>
<EMAIL_ADDRESS>      <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData NotOnOrAfter="2016-02-24T18:50:12.251Z"
                                 Recipient="https://manage.statuspage.io/sso/saml/consume"
        />
      </SubjectConfirmation>
    </Subject>
    <Conditions NotBefore="2016-02-24T18:42:12.251Z"
                NotOnOrAfter="2016-02-24T19:42:12.251Z"
    >
      <AudienceRestriction>
        <Audience>https://3955e095.statuspage.io/</Audience>
      </AudienceRestriction>
    </Conditions>
    <AuthnStatement AuthnInstant="2016-02-24T18:45:12.173Z"
                    SessionIndex="_ecd31d28-24b0-4371-9626-e1c6a0a9da70"
    >
      <AuthnContext>
        <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>
      </AuthnContext>
    </AuthnStatement>
  </Assertion>
</samlp:Response>

Thanks in advance, and let me know if I can provide any additional information here.

What error appears on ADFS when the AuthNRequest is processed (review the logs) and what status is ADFS replying?

Just FYI for those who come across this issue.
I was able to get ruby-saml 1.1.1 working correctly with ADFS 3.0.
The only issue I ran into was that I was requesting the name identifier asurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
Changing it to urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified "fixed" it but I suspect if I had access to the ADFS config, I could have fixed it in ADFS.

Just FYI for those who come across this issue.
I was able to get ruby-saml 1.1.1 working correctly with ADFS 3.0.

@thekendalmiller
Would you be able to provide some details on what you had to do to get ruby-saml working with ADFS 3.0? Perhaps on https://gist.github.com .
Especially on the ruby-saml side. Nothing secret, of course. The configuration you used with the secrets stripped out would be most helpful.

@emanuil-tolev I didn't have to do anything specific for ADFS 3.0. We're currently using ruby-saml (1.2.0)
The settings:
#<OneLogin::RubySaml::Settings:0x00000015ce67a0
 @assertion_consumer_service_binding=
  "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
 @assertion_consumer_service_url=
  "https://mysite.com/saml/sessions/create",
 @attribute_consuming_service=
  #<OneLogin::RubySaml::AttributeService:0x00000015ce6228
   @attributes=[],
   @index="1">,
 @certificate=".........",
 @compress_request=true,
 @compress_response=true,
 @double_quote_xml_attribute_values=false,
 @idp_cert_fingerprint=
  "...",
 @idp_cert_fingerprint_algorithm="http://www.w3.org/2000/09/xmldsig#sha1",
 @idp_sso_target_url="https://theirsite.com/adfs/ls/",
 @issuer="mysite.com",
 @name_identifier_format=
  "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified",
 @private_key="....",
 @security=
  {:authn_requests_signed=>true,
   :logout_requests_signed=>false,
   :logout_responses_signed=>false,
   :want_assertions_signed=>true,
   :metadata_signed=>true,
   :embed_sign=>false,
   :digest_method=>"http://www.w3.org/2001/04/xmldsig-more#sha256",
   :signature_method=>"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"},
 @single_logout_service_binding=
  "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
 @soft=true>

I didn't have to do anything specific for ADFS 3.0. We're currently using ruby-saml (1.2.0)
The settings:

Ah, I see. Amazing, thank you!


spfx-controls-react version: Cannot read properties of undefined (reading 'call')

Hello,
I get this error when I try to use the controls:
[SPLoaderError.loadComponentError]:
***Failed to load component "6ac657b4-924c-4182-9eba-7f6dacc68b22" .
Original error: ***Failed to load entry point from component "6ac657b4-924c-4182-9eba-7f6dacc68b22".
Original error: Error loading https://component-id.invalid/6ac657b4-924c-4182-9eba-7f6dacc68b22_1.0.0
Cannot read properties of undefined (reading 'call')
***INNERERROR:
***Failed to load entry point from component "6ac657b4-924c-4182-9eba-7f6dacc68b22".
Original error: Error loading https://component-id.invalid/6ac657b4-924c-4182-9eba-7f6dacc68b22_1.0.0
Cannot read properties of undefined (reading 'call')
***CALLSTACK:
Error
at SPLoaderError.SPError [as constructor] (https://localhost:4321/node_modules/@microsoft/sp-loader/dist/sp-loader-assembly_en-us.js:10183:24)
at new SPLoaderError (https://localhost:4321/node_modules/@microsoft/sp-loader/dist/sp-loader-assembly_en-us.js:4211:28)
at Function.ErrorBuilder.buildErrorWithVerboseLog (https://localhost:4321/node_modules/@microsoft/sp-loader/dist/sp-loader-assembly_en-us.js:3821:21)
at Function.ErrorBuilder.buildLoadComponentError (https://localhost:4321/node_modules/@microsoft/sp-loader/dist/sp-loader-assembly_en-us.js:3743:21)
at https://localhost:4321/node_modules/@microsoft/sp-loader/dist/sp-loader-assembly_en-us.js:7952:3
Versions:
office-ui-fabric-react versions : 5.131.0
spfx-controls-react version: 1.21.1
SPFx: 1.4
SharePoint 2019 onPrem.
Any idea please?

Can you start with posting this to the pnp issues list?  Nothing in the call stack indicated a product specific error at this point.  If the investigations point out a product issue, then please open a bug here with information to diagnose (for example, what the undefined object is that is expected to have a call method, etc.)

@rafakil - try gulp trust-dev-cert


AssertionError when use python interface

Hi,
Thanks for your work. But the program reports the error message below when I use the python interface. Could you please help me with that?
File ".../kitti_object_eval_python_by_distance/eval.py", line 546, in eval_class
assert len(gt_annos) == len(dt_annos)
AssertionError
Thanks!

It seems you have different numbers of groundtruth files and prediction files, please check files under result_path and label_path.
Sorry for not replying for long time.


Calculate unrealized gains

This introduces unrealized gains calculations (proposed in #495). This is an estimation of the amount of gains/loss you could have if you sell all your shares. Features:

The flag --unrealized-gains to enable it.
Breakdown by symbol.
Uses yahoo finance api to get the current market prices (it shows unknown and a warning when it can't fetch it).
No changes to the PDF report, only the console output.

Preview of the output:
Portfolio at the end of 2023/2024 tax year:
  FOO: 423.00, £10000.00 (unrealized gains: £1000.00)
  UNKNOWN_COMPANY: 200.00, £400.00 (unrealized gains: unknown)
For tax year 2023/2024:
Number of disposals: 0
Disposal proceeds: £0.00
Allowable costs: £0.00
Capital gain: £0.00
Capital loss: £0.00
Total capital gain: £0.00
Taxable capital gain: £0
Total unrealized gains: £1000.00
WARNING: Some unrealized gains couldn't be calculated. Take a look at the symbols with unknown unrealized gains above and factor in their prices.

Generate calculations report
All done!

Thanks!


WebRTC Video/Audio Chat

Hello all :)
Can you please add WebRTC Video/Audio Chat it's very simple since it's already implemented in plenty of webRTC examples .... and It will add an awesome feature to this awesome project :)

Is this to do conference calls via lets-chat?  It would probably be more efficient to have one of the many existing audio/video platforms connect to the lets-chat API for authentication or as an intermediary plugin/bot than to incorporate this natively.

@vwbusguy it should be natively added!!
since this is a main feature and related to chatting!
the current feature for chatting is text messages only! why not add audio and video as well? at least for a start between two users? or more? there is plenty and plenty of code ready to use for this!!!

It exists for instant messaging style chat, but is non-existent for IRC and chatops.  It would also mean a UI overhaul.  I'm not saying it isn't possible, but rather that I suspect it to be beyond the scope of most users' use cases.
"there is plenty and plenty of code ready to use for this!!!" - All the more reason for a plugin to connect to an already maintained code-base or service rather than re-inventing the wheel.

Ok Scott I got it!
Now how can I add this as a plugin and get it working??

may I chime in and suggest jitsi meet and jitsi videobridge. these are already webRTC-XMPP based/connected services.
and yes a videochat 1-to-1 and video-group-conferences are really missing in such a tool.
since I'm not a coder I can't help with the plugin but I could help with install howtos/ansible roles for the videobridge install. let me know.

I agree that this would be useful to be able to easily continue chat conversation to audio or video.
This is all communication...


JDBI with ModelMapper: ResultSet with null values

Hi, i'm using ModelMapper with JDBI, and I have an error mapping the ResultSet into a MyObject: if the first row of ResultSet has a column with null value (table.column2 = null), modelmapper doesn't create a correct mapper. In fact for all the rows of the resultset, that value will be mapped as null, because modelMapper creates the mapper the first time, starting from the values contained in the first row.
Example 1:
table1 - col1, col2, col3
rs = "1", "customer", "50"
"2", "customer", "50"
"3", null, null
It works!
Example 2:
table1 - col1, col2, col3
rs = "3", null, null
"1", "customer", "50"
"2", "customer2", "50"
the column 2 and column 3 will be null for all the rows.
How to resolve this issue?
Regards, bye bye

I ran into the same issue few days ago. The PropertyInfoSetResolver.resolveAccessors() method skips creation of an accessor if some ValueReader is used and returned value is null. I guess that for simple value readers such as MapValueReader this could be the only option, but for more sophisticated readers that could provide information about the value type this approach is very limiting.
I suggest adding new method to ValueReader interface that can return member type if member value is null.
Class<?> getType(T source, String memberName)
The default implementation can return either null or Object.class.
In this case, it will be possible to implement ResultSetValueReader that reads values and type info from SQL ResultSet metadata and expose it as real JDBI integration / extension.
I have this approach implemented in my local copy of ModelMapper and it works great. Please let me know if this is something that other people will be interested in and I will create pull request.

@sergemat It would be great if you share the pull request :). Thank you.

Test Case:
package org.modelmapper.internal.valueaccess;

import java.util.HashMap;
import java.util.Map;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.NameTokenizers;
import org.testng.annotations.Test;
import static org.testng.Assert.*;

@Test(groups = "functional")
public class MapValueReaderTwoConsecutiveMapsTest {

	public static class Row {
		private String column1;
		private String column2;

		public String getColumn1() {
			return column1;
		}
		public void setColumn1(String column1) {
			this.column1 = column1;
		}
		public String getColumn2() {
			return column2;
		}
		public void setColumn2(String column2) {
			this.column2 = column2;
		}

	}

	@Test
	public void shouldMapMapWithNullsToBean() {
		ModelMapper modelMapper = new ModelMapper();

		Map<String, Object> row1 = new HashMap<String, Object>();
		row1.put("column1", null);
		row1.put("column2", "row1value2");

		Map<String, Object> row2 = new HashMap<String, Object>();
		row2.put("column1", "row2value1");
		row2.put("column2", "row2value2");

		Row rowObject1 = modelMapper.map(row1, Row.class);
		Row rowObject2 = modelMapper.map(row2, Row.class);

		assertEquals(rowObject1.getColumn1(), null);
		assertEquals(rowObject1.getColumn2(), "row1value2");
		assertEquals(rowObject2.getColumn1(), "row2value1");
		assertEquals(rowObject2.getColumn2(), "row2value2");

	}
}

@jhalterman This is an approach for the fix following @sergemat idea.

Should getMemberType be called getMemberInitialType?
The naming doesn't make it clear that getMemberType will be invoked if the type can't be inferred from the actual value. Javadoc can help but it will still be confusing. Should that method become the source of truth regarding type? then you would ask, why not from the value? Another approach would be to make get to return an object with the value and the type:

public class ValueAndType {
	private final Object value;
	private final Class<?> type;
	public ValueAndType(Object value, Class<?> type) {
		this.value = value;
		this.type = type;
	}
	public ValueAndType(Object nonNullValue) {
		Validate.notNull(nonNullValue, "nonNullValue cannot be null");
		this.value = nonNullValue;
		this.type = nonNullValue.getClass();
	}
	...
}

Please let me know what you think and I can do a pull request. Thank you.
diff --git a/core/src/main/java/org/modelmapper/internal/PropertyInfoSetResolver.java b/core/src/main/java/org/modelmapper/internal/PropertyInfoSetResolver.java
index 58490a4..e52ca35 100644
--- a/core/src/main/java/org/modelmapper/internal/PropertyInfoSetResolver.java
+++ b/core/src/main/java/org/modelmapper/internal/PropertyInfoSetResolver.java
@@ -81,6 +81,9 @@ final class PropertyInfoSetResolver<T> {
         if (sourceValue != null)
           accessors.put(nameTransformer.transform(memberName, NameableType.GENERIC),
               new ValueReaderPropertyInfo(valueReader, sourceValue, memberName));
+        else
+          accessors.put(nameTransformer.transform(memberName, NameableType.GENERIC),
+                    new ValueReaderPropertyInfo(valueReader, valueReader.getMemberType(source, memberName), memberName));
       }
     }
     return accessors;
diff --git a/core/src/main/java/org/modelmapper/internal/valueaccess/MapValueReader.java b/core/src/main/java/org/modelmapper/internal/valueaccess/MapValueReader.java
index caba931..c686ca6 100644
--- a/core/src/main/java/org/modelmapper/internal/valueaccess/MapValueReader.java
+++ b/core/src/main/java/org/modelmapper/internal/valueaccess/MapValueReader.java
@@ -35,4 +35,8 @@ public class MapValueReader implements ValueReader<Map<String, Object>> {
   public Collection<String> memberNames(Map<String, Object> source) {
     return source.keySet();
   }
+
+  public Class<?> getMemberType(Map<String, Object> source, String memberName) {
+    return Object.class;
+  }
 }
diff --git a/core/src/main/java/org/modelmapper/spi/ValueReader.java b/core/src/main/java/org/modelmapper/spi/ValueReader.java
index 4829215..644bd64 100644
--- a/core/src/main/java/org/modelmapper/spi/ValueReader.java
+++ b/core/src/main/java/org/modelmapper/spi/ValueReader.java
@@ -30,6 +30,14 @@ public interface ValueReader<T> {
    * @throws IllegalArgumentException if the {@code memberName} is invalid for the {@code source}
    */
   Object get(T source, String memberName);
+
+  /**
+   * Returns the type of the {@code memberName} in {@code source}. This method will be used
+   * when the type cannot be inferred because the member value is null.
+   * @param memberName -
+   * @return the member type
+   */
+  Class<?> getMemberType(T source, String memberName);

@carofe82 Could you give a quick description of this change/diff as you understand it? Then I can better weigh in on your questions.
As I recall, the general problem with mapping values is that ModelMapper builds a TypeMap based on the first record it sees, which may or may not look like subsequent records.

The problems I see:
The PropertyInfoSetResolver.resolveAccessors was not setting an accessor for the property if the value is null:
if (sourceValue != null)
           accessors.put(nameTransformer.transform(memberName, NameableType.GENERIC),
               new ValueReaderPropertyInfo(valueReader, sourceValue, memberName));

And since this map of accessors is cached, it was being set once when you do the map for the first time. So the missing accessor seems to be the cause of the problem.
The solution in the diff is basically to provide the ValueReader with a method the code can fall back if the sourceValue is null. Then just it was a matter of adding an else to the original if to get the initial type from the ValueReader:
        else
          accessors.put(nameTransformer.transform(memberName, NameableType.GENERIC),
                    new ValueReaderPropertyInfo(valueReader, valueReader.getMemberType(source, memberName), memberName));

Does that make sense?

I created pull request #195 with my changes. I was able to use these in my business app that uses DropWizard 0.9.2 and JDBI.  Please review much changes as much as possible because Java is not my primary language.


d3.min, d3.max, d3.mean and sparse arrays

If you have a sparse array, such as [0,1,,,,5,6], the missing elements are ignored by array.map. However, with d3.min and d3.max, we still attempt to access these values with the accessor. I think for consistency with array.map, we should skip these values, even if the accessor would return something that is not undefined.

I suppose this might also apply to d3.first and d3.last. And maybe even d3.split? Blargh.

Will not fix; let's keep the existing behavior.


Improve the default templates (at least the cpp template)

For a better (cpp) template let us find some improvements:

Changing class HelloWorld to class HelloWorldScene.
Maybe a redesign of the folder structure like on axmol-game-demo

Anything missed there? Everybody proposal is welcome.

i suggest the template to be a separate repo so you can clone it separately. command line tool should clone from github too. this would reduce repo size further

actually code not  affect repo size significant. it's binary files which already removed when rebase axmol main repo.

I think builtin template should as simple as possibile. if there are rich samples need be referenced, just add to releated list

I think builtin template should as simple as possibile. if there are rich samples need be referenced, just add to related list

Good point. I close this issue

other suggestions:
better code to avoid all the #ifdefs or make it more clear.
here make a function to return the size so there is just something like
 director->setContentScaleFactor(getScaleFactor())

instead of if/else if/else in main function

I think builtin template should as simple as possibile. if there are rich samples need be referenced, just add to related list

I completely agree with this, so please don't add anything more to the template.  It's just meant to be the minimum amount of files (and code) in order to be the starting point for a project; anything more than that would mean experienced developers have to clean it up before using it, and new developers to Axmol may be overwhelmed by the contents of the new project.

2. Maybe a redesign of the folder structure like on [axmol-game-demo](https://github.com/paulocoutinhox/axmol-game-demo)

Just one further thing to add, which may be more of an issue for newer developers.  That project you linked has some questionable coding practices (such as usage  of using namespace in header files), which would cause problems for developers who may not be experienced enough to spot such problems early on.  So, while it may look like a good clean demo project, it doesn't necessarily mean it's the right one to be showing new developers.

My suggestions:

Since the template for LUA/CPP is near the same, keep a single template for both CPP and LUA, and when copy to target folder add/remove files by it type.
Rename class HelloWorldScene to GameScene (Each thing has a name that has nothing to do with the context and content, so let's rename everything to Game + Anything)
Rename ExampleGameState to GameState (Each thing has a name that has nothing to do with the context and content, so let's rename everything to Game + Anything)
Put all comments in a single line and lowercased, because every comment has one pattern (The sentences are strange and broken, so someone commented anyway)

I want rename the files like below:
=> Is this ok for you?

Nice :)

This

or this

??? what is this?

maybe this one is better:

In my opinion, the AXMOL is better, because it is more generic and is not related to what template was used. More generic is better.

Further improvements:
Error label that appears when the Content folder can not be found.
At the moment when the Content folder can't be located the screen is empty and just black. The real problem is that when compiling in release the console does not appear by default (does it in Debug?), the user doesn't know what is going on. Ideally the label would use a system font
(like this?)
auto label = Label::createWithSystemFont("Content folder could not be found", "Arial", 24)

It works correctly on windows, but I'm unsure about other platforms.
Check for nullptr directly at the creation of nodes
this:
auto sprite = Sprite::create("HelloWorld.png"sv);
if(sprite != nullptr)
{}

can be rewritten much cleaner as:
if (auto sprite = Sprite::create("HelloWorld.png"sv))
{}

There are a few improvements by using this syntax

The scope of sprite is reduced to only the if/else block(s) which is a good practice
The variable name sprite can be used later in the function, avoiding sprite1, sprite2 etc.
In my opinion, the code is easier to read

You might say it is not important, but the template code is the first interaction with the engine for many new users. Therefore it should truly be as good as possible

* Put all comments in a single line and lowercased, because every comment has one pattern (The sentences are strange and broken, so someone commented anyway)

I respectfully disagree with this suggestion.  Yes, the current comments are not "strange", but the more appropriate fix would be to follow convention and the proper structure of a written language, which is to indicate the start of a sentence by capitalizing the first letter of the first word.  Having a lower-case word at the start of a sentence implies that it is a continuation of sentence above it.  The only time a lower-case letter would make sense is if it were some camel-case identifier in the code that is being used at the start of that sentence in the comment etc.

* Don't break the code, put the full line in a single line, like this: https://github.com/axmolengine/axmol/blob/dev/templates/cpp-template-default/Source/AppDelegate.cpp#L86C9-L87

An assumption cannot be made that everyone uses large/wide screens while programming, so using the example you linked, that would actually slow down the ability absorb what is on that screen, since it's breaking the flow of reading the information by forcing the reader to scroll the right.  At the moment, the engine has a clang-format with a line width limit of 120, which is reasonable enough.  That only applies to engine source code.
Once a new project is created from the template, what format the developer wants to use for their project is entirely up to them.  It's a personal choice, and no-one is forcing anything on that developer.  This would be enabled by implementing your suggestion of having default clang-format, editorconfig and such files in that template that the developer can adjust to suite their styles and coding conventions is a reasonable idea.

This is the new "view" on VisualStudio

This is the new "view" on VisualStudio

I don't understand the context. What exactly has changed?

This is the new "view" on VisualStudio

I don't understand the context. What exactly has changed?

Its the summery of all changes on file names and VS project names

Its the summery of all changes on file names and VS project names

I don't quite understand the "VS project names" change.  Do you mean that you want to call the generated project "CPPTemplate" regardless of what name is passed to the axmol new .... command?

Why not use more generic names, like Logo.png instead of Axmol.png. I think that more generic is better.

Its the summery of all changes on file names and VS project names

I don't quite understand the "VS project names" change. Do you mean that you want to call the generated project "CPPTemplate" regardless of what name is passed to the axmol new .... command? Or, do you mean you want to change the "cpp-template-default" to "CPPTemplate" in the engine source?

axmol new .... makes allways the name which is part of the command
'CPPTemplate' is created with CMakeList.txt:
    # add cpp-template-default into project(axmol) for tmp test
    add_test_target(CPPTemplate ${_AX_ROOT}/templates/cpp-template-default )

axmol new .... makes allways the name which is part of the command
'CPPTemplate' is created with CMakeList.txt:
    # add cpp-template-default into project(axmol) for tmp test
    add_test_target(CPPTemplate ${_AX_ROOT}/templates/cpp-template-default )

Oh! I understand what you mean now.

axmol new .... makes allways the name which is part of the command
'CPPTemplate' is created with CMakeList.txt:
    # add cpp-template-default into project(axmol) for tmp test
    add_test_target(CPPTemplate ${_AX_ROOT}/templates/cpp-template-default )

Oh! I understand what you mean now.

I need the 'OK' from @halx99  for further work

why change to CppTemplate, the HelloCpp

why change to CppTemplate, the HelloCpp is fine

In my "first time" with engine-x I wondered where the HelloCpp comes from.
=> Thats clearer now for beginnner (in my point of view)

Hello World is still there as label

@halx99
If you want 'HelloCpp' again, I'll change it again

at least, the lua/cpp templates can be merge into a single template.

at least, the lua/cpp templates can be merge into a single template.

Maybe. I think its not so easy (different CMakeList.txt, and some more different)
=> Im not so familiar with Lua.
@halx99
First step for this is merge the current PR for CPP.
Maybe another more Lua expert can than start to make a single template for CPP/Lua.
What are you mean? For Lua Im out.

i put my comments on pr

closed


Cannot convert value "20H2" to type "System.Int32"

Performing the operation "Remove Directory" on target "\SRV-010\cmsources$\OSD\DRVSRC\Lenovo".
Cannot convert value "20H2" to type "System.Int32". Error: "Input string was not in a correct format."
At line:17837 char:5

...               $OSBuild = $WindowsBuildHashTable.Item([int]$OSVersion)

              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidArgument: (:) [], RuntimeException
FullyQualifiedErrorId : InvalidCastFromStringToInteger

Should be an easy fix 👍 Using 6.5.0.

I was curious as well about how to handle the OS version of 20H2.

I was curious as well about how to handle the OS version of 20H2.

It appears that the version number in the package gets lost for at least Lenovo due to this bug.

It appears that the version number in the package gets lost for at least Lenovo due to this bug.


Segregate shield generation code and compile for separate library

This PR modularizes the shield generation code as follows:

Code is moved to its own folder, shieldlib
Create a separate build script in shieldlib/scripts/build.js to produce a separate shield library .js and create an npm package.
Separate the shield designs from the shield rendering engine
The library is published to npm as @americana/maplibre-shield-generator. Please review the extensive documentation that I've generated and published at that location.
Converted select parts of the code base to typescript.  To make merges less painful, I've deferred a complete typescript conversion as tail work.

This is intended to be an incremental step towards packaging the project as described in #68 and #70.
Additional work needed past this PR:

Use TypeDoc to generate standardized documentation
Export and document HeadlessGraphicsFactory into the library for offline graphic generation. This is currently not possible due to a bug that I haven't been able to solve (see the comment in scripts/taginfo.js for more details on this issue). I propose to document this bug in a separate issue and part it out as tail work.
Incorporate library into a live example page
Create a native version of the shield generator that can consume the shield design JSON (needed to run Americana on native)

To nest the code into the lists, indent all the code, including the backtick fences, 4 × list-level. So 4 spaces for all the blocks, unless the routeExtractor is supposed to be under §4.iii, in which case 8 spaces for that one.

In the linked documentation:

The example image for roundedRectangle draw function is a circle. Perhaps different example images for roundedRectangle and ellipse would be appropriate, like a non-circular ellipse, a rounded square, and a pill.
Suggested improvements for documenting draw function parameters:

angle - indicates angle (in degrees) at which side edges deviate from vertical. Applies to trapezoid, pentagon, hexagonHorizontal, octagonVertical.
offset - indicates height (in pixels) at which the bottom and/or top edges deviate from horizontal. Applies to escutcheon, pentagon, hexagonVertical, octagonVertical.

It may be a good idea to restructure this to list out the parameters of each function individually, and give two or more examples for each shape wherever possible.

I implemented npm workspaces in 20fbadd.  It was surprisingly painless.

I've added the suggested improvements to the shape drawing docs (additional graphics and more detailed descriptions).  Of course it can always be expanded, but I think this is enough of a starting point that a coder could follow it.

Don't forget to npm install and commit the new package-lock.json.
Also, banners aren't rendering:

Ugh, well that's certainly a problem.  Good catch.

Banners should be fixed now.  I also documented two new parameters, bannerHeight and bannerPadding.

Should be good to go now.

I'm seeing banners in a tiny font size at 200% zoom. Perhaps you need to multiply by the pixel ratio somewhere?

Other than that, I think this PR is ready to go. I don't see any more blockers.

It's normal on my display so you're probably right that it's a 1x vs 2x issue.

Did you change something about how banner colors are chosen? I'm seeing a black halo on all banner text (on Firefox/Linux):

Resolved in 2f59656
Should be good to go now!


Add operations to handle enclosure urls

Much like there are operations like open-in-browser and open-in-browser-and-mark-read to open the url of an article it would be nice to have an operation like open-media-in-browser to open the enclosure url associated with an item so I can then do something like this in my config file:
media-browser firefox
macro i set media-browser "mpv %u"; open-media-in-browser ; set media-browser "firefox %u"

Hi! I'm busy with ICFP Contest right now. I'll get back to you tomorrow when it's over. Thanks!

Thank you for the patience! I think it would be better to add enclosure's URL to URLs dialog (invoked by u by default). The pros:

no new settings and commands (Newsboat has too many already, if you ask me);
will continue to work as expected when Newsboat adds support for multiple enclosures (right now it just picks last audio- or video-enclosure).

Cons:

instead of ,i, you'll have to press u,iq (open URLs dialog, invoke your macro, quit the dialog).

How does that apply to your use-case, @woorst?

You're right, there are already so many commands. This seems like a good a option considering the upcoming support for multiple enclosures.
Potential problem: The internal URL viewer does not work with an external HTML render.
I currently use elinks to render the HTML but the internal viewer seems to have gotten better so I'll switch back.
So, yeah. This solution will work.

Potential problem: The internal URL viewer does not work with an external HTML render.

That's a good point. But since enclosure URLs will be added by Newsboat itself, not renderer, that'll still work fine, albeit differently for depending on renderer used:

internal renderer: URLs dialog lists both enclosure URLs and links from the article;
external renderer: URLs dialog lists just enclosure URLs.

Theoretically we could run the article through internal renderer just to collect the links, and make the dialog work the same way for all users.


vue-cli4 开启css.extract，图片丢失

UnoCSS version
webpack4
Describe the bug
vue-cli4 使用unocss，开启css.extract配置后，vue 页面css背景图片无法使用。有不开启css.extract的使用方式吗？
Reproduction
css: {
extract: {
filename: "[name].[hash:9].css",
},
},
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

We temporarily close this due to the lack of enough information.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required

@zyyv I also encountered this problem.
You can use the example on the official website Vue cli4 to delete the css.extract configuration.
set up .
background<EMAIL_ADDRESS>Can be reproduced .

{
     filename: '[name].css',
     // add this line,it will work
     chunkFilename: '[name].css',
 }


[Cosmos DB] Support converting from DateType to Int

If the Spark Row contains a column with an Integer value and the Schema says the fieldType is a Date, we were getting a casting error.
["java.lang.Integer" cannot be cast to "java.sql.Date"]

Closes #25151

/check-enforcer override


Greatly improve code sharing and reuse options

Creating and sharing pure typescript code has quite a few barriers that seem like the kind of complexity that TypeScript should be helping to alleviate.
I'm going through a situation right now where I want to share a pure typescript library and - unless I'm mistaken - it seems like I'm going to have to go through the pain of adding AMD to my project.  Even despite the fact that it's all internal modules.
With the overall goal of making life easier for developers, I think it would be nice if:

There was some way to reference typescript files statically such that they are used in the compile process.  This could even be used to eliminate the /// syntax used to load .d.ts files.
There was some way to tell typescript to prepend regular javascript files to the entire build output (dependencies with .d.ts definitions for example).

While AMD/CommonJS are module-loading systems, they are very confusing and cluttered build systems, especially once you bring TypeScript into the mix.
It's conceivable that with these changes, you'd also reap the ability to create build profiles implicitly by defining entrypoint scripts and having typescript crawl the dependency graph.  Similar to how r.js works, except at a TypeScript level.

It should probably be mentioned that any solution really needs to be sensitive to the possibility that the node_modules and typescript sources directories that the compiler is currently targeting will not be consistent between projects.
This might be one of the major pain points of coming up with a build system that knows how to integrate code from packages.

For your first bullet, is tsconfig not a solution to the problem you're experiencing?
For the second bullet, this is something we've generally stayed out of. People have very varied build systems with a variety of linters, concatentation steps, minifiers, etc and it seems difficult for us to cover the majority of those scenarios in a satisfactory way (and convince someone to break their existing, working system to migrate to the provided TS one). Maybe the solution is to make it easier to customize pre and post build steps. We generally don't want to be in the business of creating some robust, general purpose, cross platform build system. Obviously it's important that the end to end experience be as good as possible though, so maybe we need to make changes to slot into existing workflows more easily or be better at detecting errors that might have occurred as a result of that system.
For node_modules #247 is a priority and hopefully helps alleviate some of the mismatch with using TS + npm modules now. Could you elaborate on what you mean by node_modules and TS sources not being consistent beyond that?

I know I can't speak for others, but I think a build system integrated with typescript would be a welcome change to getting mired in endless build system hacking and configuration.
In an ideal world, I should be able to do this:
tsc path/to/built.js path/to/script.ts
BUT
TS has a way of resolving and including in the build everything that script.ts references.
What's preventing this from being a possibility?

I think a build system integrated with typescript would be a welcome change to getting mired in endless build system hacking and configuration.
Sure, but this is really a complaint about the state of JS build systems and wishing for a great 'one build system to rule them all.' In an ideal world that would exist :) In reality peoples' needs are extremely varied which is why we have many different options (many tried to create the one true build system, now we just have a lot of different ones with different pros and cons). We don't feel like we're in any better situation to suddenly solve that problem better than all the other attempts (especially prior to ES6 having a finalized, cohesive module story). And then there's the fact that even if we actually did succeed at that, many people are not going to switch from their working build system to something new, even if the new thing is better in the abstract ('if it ain't broke...'). That said, we do want to try to slot into what exists well, and we do want to enable others to make good tools around us (like interacting with grunt/gulp/etc).
What's preventing this from being a possibility?
What do you mean by 'everything that script.ts references'? You mean a file without /// or imports? Or a file with ES6 style imports? Obviously right now the compiler does chase through your /// references and imports or will use a tsconfig related to that script. It sounds like you mostly want to avoid /// reference pain which is what tsconfig should help with.

So for tsconfig, I have to manually create one for every graph of source files I want to use?  Why not just have the compiler automatically infer this?  r.js does this when you tell it to build a file.  It will recurse through all the imports and concatenate all those files together.
If I was able to statically reference other .ts files from one root-level .ts script, wouldn't that obivate the need for various mechanisms to tell the compiler about where files are?  The compiler would know everything being used because it would have crawled the full import-graph (my root script, it's dependencies, their dependencies, and so on) before going through the code.

So for tsconfig, I have to manually create one for every graph of source files I want to use?
Not for every graph necessarily, it's up to you whether you want to explicitly list everything or let reference chasing happen depending on what references are in relevant files. Think of it like a basic project file.
Why not just have the compiler automatically infer this? r.js does this when you tell it to build a file. It will recurse through all the defines and requires and concatenate all those files together.
This is exactly what the compiler currently does with .ts files based on the /// references and import/require in the file. With RequireJS you explicitly list your module's dependencies, and each dependency has its own dependency list, and the loader walks through this graph. That's the same thing tsc does when you explicitly list dependencies in the form of /// or import/require. The problem is that explicitly managing /// references in this way can be painful and sometimes things get pulled in in an unexpected order and now you have to manually try to track down how the graph was traversed and what happened. Using a tsconfig to manage the project ordering can alleviate some of this pain.

So general advice for the time being is that I should be making everything external and not really try to make internal modules?  That's a distinction I'm still trying to internalize, but I was under the impression that there might be a way for me to do all this without having to set up AMD....

It's really up to you as far as how you want people to consume your code. Given that ES6 only has external modules it's certainly possible that's the right choice for you going forward though. The TypeScript compiler is only internal modules but you can find small npm packages that provide access to it through external modules. Likewise you'll see some .d.ts files written in such a way as to work with both internal and external (I believe knockout is one example like this).

I'm still at a loss to really understand what the difference is between internal and external.  Some of it flies over my head.

I assume you've read https://github.com/Microsoft/TypeScript/wiki/Modules and http://www.typescriptlang.org/Handbook#modules ? Don't feel bad, it is unfortunately confusing and a situation we definitely can improve. I'm reticent to try to give an off the cuff primer since we've already spent a bunch of time trying to wordsmith the content in those two places since this confusion definitely occurs with some frequency.
The simplest distinction is that external modules are intended to be used with a module loader (either AMD or CommonJS) for all the reasons module loaders are good (plenty written on that topic for JS already). Think of internal modules simply as namespaces. Internal modules leave you with some JS (either many files or a single concatenated output files) that someone consumes by simply putting your file in scope (ex a

So if I'm making the actual entrypoint script for a page, is it possible to author an internal module while also gaining the ability to consume javascript modules?  Or am I required to be producing a module so that I can consume other modules?

Hi, here's the pattern I've been using for more than a year and a half now (for very large TS apps with more than a hundred source files). Though it may appear to stand in contrast to much of the design recommendations and advice you'll get from the TypeScript team, it has served me very well:

Although a big part of my development is for Node.js (I compile a single file that works both in the web and Node), I use internal modules only. I have a single namespace/internal module, let's call it App.
Every file contains a single class and look like this:

module App {
  export class SomeClass {
  ...
  }
}

I compile to a single .js output file (external module preference set to "CommonJS" but I don't think it matters as I never declare any).
I enable the compiled file to serve as a node module (when the node environment is detected) in this simple way:

module App {
  var runningInNodeJS = () => (typeof require == "function") && (typeof module == "object")

  if (runningInNodeJS())
    module.exports = App;
}

I import external CommonJS modules (in this example the Node file system module) in this way (note I avoid using TS keywords like "import" as they are not allowed in the scope of an internal module):

module App {
  if (runningInNodeJS()) {
    var FileSystem: typeof fs = require("fs");
  }
}

However since the Node definition files are for external modules, it will complain that type fs describes an external module and can't be used in this way. No worries, I have a set of regular expressions that will convert any external module definition file to an internal module definition file!
find: declare module \"(\w+)\"
replace with: declare module $1

find: \s*import.*
replace with:

It might seem somewhat unconventional to things this way (or even like an anti-pattern of some sort - indeed while developing this it did feel a bit like I'm fighting against the language in some way), but I can assure you it had made my life 10x easier, and doesn't have many drawbacks (apart for the compiler itself resisting my attempts at making development easier :) ).
I even a published a library using exactly this pattern:
https://github.com/rotemdan/lzutf8.js
Here's the compiled release file, I linked to the specific line where the internal module CommonJS export pattern is used:
https://github.com/rotemdan/lzutf8.js/blob/master/ReleaseBuild/lzutf8.js#L15
BTW I'm aware that the next version of TS will have ES6 modules but I haven't really looked deeply into them, and from what I've seen so far I don't think I'd eventually make use of them.

As for build automation, I agree that there's no "one" optimal build system, but here's my own current workflow:

All my compilation and builds (including compile-on-save) are now done through Grunt, which can be integrated into visual studio with the Task Runner Explorer VS extension: https://visualstudiogallery.msdn.microsoft.com/8e1b4368-4afb-467a-bc13-9650572db708

Recently I even disabled VS initiated TypeScript compilation entirely, instructions can be found here: https://github.com/Microsoft/TypeScript/issues/2294#issuecomment-78382591

In the Gruntfile I have a script (based on the Grunt API) that scans a set of glob paths for .ts files and generates a single references.ts file (it hasn't been published as a grunt plugin yet but may in the future):

function generateTypeScriptReferencesFile(filters, outFilename)
	{
		var fileNames = [];

		for (var i=0; i < filters.length; i++)
			fileNames = fileNames.concat(grunt.file.expand(filters[i]))

		function getPriorityByFileExtension(filePath)
		{
			if (/.+\.d.ts$/.test(filePath))
				return 0;
			else if (/.+\.ext.ts$/.test(filePath))
				return 1;
			else if (/.+\.spec.ts$/.test(filePath))
				return 3;
			else
				return 2;
		}

		fileNames.sort(function (fileName1, fileName2) { return getPriorityByFileExtension(fileName1) - getPriorityByFileExtension(fileName2) });
		fileContent = fileNames.reduce(function(result, filePath) {	return result + "/// <reference path=\"" + filePath + "\"/>\n";	}, "");

		grunt.file.write(outFilename, fileContent);
		grunt.log.writeln(fileNames.join("\n"));
	}
...
generateTypeScriptReferencesFile(["**/*.ts"], "_references.ts");

The script also orders the files by priority according to their extension (d.ts. and .ext.ts having the highest priority and spec.ts the lowest, this scheme would probably be extended in the future).

I compile the generated references.ts file with grunt-ts to a single outfile, where the debug output file will also contain Jasmine tests (originating from .spec.ts files) so the resulting file, having all its test suites integrated, can be tested both in the browser and in Node.

..Other project specific build steps..

An example Gruntfile.js (for LZ-UTF8) can be found here:
https://github.com/rotemdan/lzutf8.js/blob/master/Gruntfile.js

I guess I'll spend the next 5 days inventing my own build setup...  :-1:

@danquirk - It seems like every explanation I read only gives a partial understanding, but I never get a full picture that I can put into practice.
For example: I'm trying to publish just some typescript interfaces as a package for two projects to communicate along.  Literally no JavaScript will be produced (for now).
The top of my files read:
declare module MyProject {
    interface OneOfSeveral {
        ...

When I leave declare in, my .d.ts file contains the interface definitions.  But I can't understand why when I remove declare, suddenly my .d.ts file is empty.  What is going on that's different here?
To compound the confusion, I'm normally used to structuring my files so that the namespaces are represented in a directory structure.  There's a contradiction in my mind with explicitly naming modules and the way AMD works where the namespacing is usually just expressed through the filesystem.  At which point, should I even bother namespacing any of my typescript code?

So now I've also gone and split my interfaces into multiple files within a directory structure.  tsc doesn't complain, and I have .d.ts files.  But I have no clue how the interfaces that extend other interfaces are made aware of each other.  Also, I worry that this is all happening at the root namespace, so inside of typescript, all my classes are existing at the root.

@atrauzzi can you explain what you want to model? some concrete details would go a long way.

I'm kind of past it at this point.  I'm looking at JSPM right now, although I do hope that once TypeScript sorts out all these usability and code sharing issues, you guys will have an official plugin for JSPM.
I really love what you're trying to bring to the ecosystem, it's just not easy enough to use.

Just going to add a reference here: https://github.com/Microsoft/TypeScript/issues/2233
As I mentioned, it would be great if there was a Microsoft-maintained plugin that built to ES6 and integrated nicely with the rest of the ecosystem.
@mhegazy : One of the issues is that the system is complex enough that I definitely throw up my hands trying to come up with an explanation.  I'm not at all against a chat or email exchange with anyone who might want to tease out the sticking points.  More than happy to be the guinea pig! :)

@atrauzzi there is a lot of abstract conversations going on in this thread, and i am finding it hard to get to the bottom of the issue(s) you are running into, or the ones causing you to feel that the system is too complex. If i understand correctly you are basically asking for the compiler to support node resolution process as described in issue #247. is this correct? if not it would be great if you can share some concrete information on what is it that you are trying to do and how the compiler is not helping, this way we can come up with specific fixes to simplify the workflow.
On a related note, @vladima is working on a proposal that handles some of the common module issues as specified in #2338, take a look and let us know if that would simplify your use case.

@mhegazy
Regarding #247, I think that should be amended to support JSPM, which I think is the best JS workflow I've seen to date.  To give you some some idea of the impact, I went from frustrated with TypeScript, to coding and running working ES6 in the span of a day.  Whatever that project is doing, it was basically everything necessary to solve my issues.
Okay, with that established, I'll give this another shot and I'll try to isolate it in terms of what I go through in trying to use typescript.  This is gonna be pretty dry! ;)
The initial authoring of my first typescript file brings up a lot of questions where I have to stop what I'm doing and research modules.  When I see modules, I think namespaces and so my first attempt is to use them as such.  This means that I'm going to create a hierarchy of directories containing files.  What confuses me there though is that it looks like modules have no corollary in ES6.  So I don't know if they're denoting a TypeScript design-time boundary, or a compiled-JavaScript boundary.  Moreover, their purpose is ultimately unclear, given that there are explicit export keywords, similar to ES6.  The behaviour of exporting when nested in a module declaration is odd.
The module/namespacing confusion gets more difficult when I'm trying to understand the impact it has on my ability to reuse code within my own project.  When am I required to explicitly import, and when is an exported item from another file is available in my current scope?  Because I have to consider both static and design time, I end up very confused.  Even more befuddling is that there are two import mechanics.  One is a straight up keyword, and the other is a frightening comment-hack.  I just don't know when I'm safe to use something anymore because I don't know what keywords or constructs are going to require additional wiring from me at build time.  Because TypeScript is your own ball game, why not just make the import keyword support importing .d.ts files, .ts files AND AMD/CommonJS names?
But now that exposes a huge huge huge point of conusion (I'm glad I typed it):  What happens when you import a .ts file?  Is the file concatenated to the top of the including script?  Or is it simply added to the list of files to be built and added as an AMD/CommonJS reference?  If it is added as an AMD/CommonJS reference, will the file be built in such a way that loaders can reference it (preserving folder hierarchy)?  Very very very very confusing and unpredictable.  Even if this is an "everybody is different" situation, TypeScript's documentation can't just gloss over the fact that what happens to translate imported functionality needs to be documented and ideally tutorialized.  Right now though, people are kind of left with no guidance and frankly I will do everything possible to NOT have to configure a JavaScript build setup.  I'll mention JSPM again here.
Continuing along this packaging+runtime thread, is the fact that if I want to publish interfaces to a package, I'm completely without a clue as to how to go about setting that up.  I made a hamfisted attempt on Thursday to do this and just walked away from it.  While I was able to define a hierarchy of namespaces full of interfaces, I had no way of producing a single .d.ts file (really that's all this library was going to produce) and then making a package that TypeScript would automatically become aware of once added to a project (maybe something JSPM can help with?).  I was able to generate multiple .d.ts files, but that seemed impractical.  I'd rather someone be able to just add one .d.ts file as a reference and get my whole library declared.  But then would that introduce names into their file or would they have to then start importing things in cases where I wasn't just exporting interfaces?  How would their code find code in my package?  Yikes.
So yes, I can author typescript files and pretend like I know what I'm doing.  But when it comes time to compile, I feel like the compiler isn't clear on what it needs for one file to be able to resolve all its dependencies.  I feel like it's unclear as to how the code I author is going to be called into at runtime, or even where it's going to live, both in my project and in packages I need to make.
I'm really hoping that you can glean something from this description.  While I know it is mostly a summary of what I went through in this discussion, I just have no idea how to describe it any better.  What might be nice is if you asked me specific questions based on all this.
What I can suggest is based on what I've seen from JSPM and how quickly I got up and running with it:

You need to do something to make building TypeScript less or even no work for the developer.
I'm not sure module declarations are useful given that modules are usually the entire file.  They may be adding an additional layer of containment that have no counterpart in the runtime ES5/ES6 universe.
I'd be willing to bet that if you got TypeScript integrated as a language option within JSPM, I'd be able to learn my way out of this confusion.  The simple reason being that JSPM isn't just traceur/babel.  It includes package importing, loading mechanics, ES6 transpiling and a full build process. I know that when I import a specific string-name in my ES6 file, it's gone and mapped that to a convention for each package.
There needs to be a full and comprehensive guide on how to setup, author and build a TypeScript package.  Again, ideally abiding by whatever is necessary to be loaded by JSPM.

It's all fairly abstract because this is as far as I've gotten.  If at the end of the day this isn't enough, then the only thing I can say is: I have absolutely no idea how to set up my project to use TypeScript, there's just too much going on and there are too many sideffects and interactions that cross design, build and runtime boundaries to devise a mental model for it.

Thanks @atrauzzi for the details. i will need to read this again, but i got a few of concrete points, let me summarize some action items:

Generate single .d.ts from external modules representing the package public surface area, instead of multiple (partially #17)
Better support load correct module sources (.ts) or definitions (.d.ts) based on the module system (#2338)
Add JSPM support (#2233)
Add documentation/walk through for creating, loading, publishing and reusing your first module
Rename internal modules to namespaces to avoid confusion with external modules (#2159)

Again i will need to read this again in the morning to get more details. Thanks for the feedback, really appreciate it.

A quick addendum to namespacing corrections: Be sure to also go through it with a fine tooth comb and document their impact on design, build and runtime.  There needs to be some emphasis on what they are to typescript and what they are to compiled code.
I'm sure you'll infer a few more details from my story above over time, but again - please ask me any time if you want to pick at a detail.  I am still very interested in TypeScript and would love to see it as a language option just like traceur and babel in JSPM.  That ecosystem really seems to "get it" and is coming together nicely.

I think it's worth noting that TS as it stands does an excellent job of supporting the various ways in which JS is currently used. It's best understood as a tool for adding static type checking to the existing JS ecosystem(s), so it has to be flexible.
Some of @atrauzzi's questions are similar to questions I had when I started with TS and it was frustrating that they did not seem to be clearly answered anywhere. Now I get it, it seems like an elegant mapping to how JS is used in the real world.

But now that exposes a huge huge huge point of confusion (I'm glad I typed it): What happens when you import a .ts file? Is the file concatenated to the top of the including script? Or is it simply added to the list of files to be built and added as an AMD/CommonJS reference?

Neither. At the top of a module, when you say:
import x = require("x");

you are saying two things:

You are telling the compiler that this is a module whose own declarations should not contribute to the global namespace. It may export specific things, but otherwise all its contents are private.

You are telling the compiler to generate this in the output:
var x = require("x");

(for CommonJS, or something conceptually equivalent if you choose AMD). You are also telling the compiler, only at compile time, to find type information for "x". It tries the following:

Is there a declaration anywhere in the files passed to the compiler that says module "x" { ...? If so, assume that provides the type information for x.

Is there a file called x.ts relative to this folder, or the parent folder, or any ancestor folder? If so, read it for the type information (but don't generate any code from it, as it is going to be passed to the compiler for separate compilation just like the present .ts file).

So when distributing JS packages, I should also include a .ts file alongside every file so that TypeScript can "prefer" it when searching for dependencies?  Is this documented behaviour?

Going across package boundaries is totally different, unfortunately. TS doesn't know anything about npm (for example). When the consumer of an npm module says:
import x = require("x");

TS doesn't know that the implementation lives in ../../node_modules/x where there is a package.json file that might contain further helpful information.
The workaround is that the consumer must obtain from somewhere (e.g. DefinitelyTyped) a d.ts file that contains:
 declare module "x" { ... }

The consumer has to separately arrange to reference this file in their compilation step, which undermines the otherwise automatic nature and experience of npm packages.
But a package manage like jspm that supports transpiler plugins could make such assumptions. I've posted some vague wishes about this under issue #2233.

Fantastic, thank you so much for all this information :)
Hopefully it's enough to smooth the workflow so that I can switch over to TS at some point in the future!


Retiming tank trajectories

Closes #3 #4
As per the suggestions of Eugene, we should proceed by increasing dt for the problematic segments and recalculating velocity, acceleration, and jerk as necessary.

With 79ac5ce, the Pathfinder system should support tank modifiers in Java that respect the max velocity given in the Trajectory.Config values. This is an additional parameter that will have to be passed when using the Java system.

Almost finished and awaiting testing.

Tested and awaiting proper retuning of parameters.


docs(v2): improve grammar

Signed-off-by: Reece Dunham<EMAIL_ADDRESS>
Motivation
Right now, v2's docs are a bit hard to understand.  This starts to improve them.
Have you read the Contributing Guidelines on pull requests?
Yup
Test Plan
Ran prettier-docs.
Related PRs
n/a

Hey @yangshun,
That is strange because I do have edits enabled.
I think this isn't letting you edit it because you aren't a member of the fork storage organization - I'll send you an invite


Feature Request:  add option to reset useMutation result

In<EMAIL_ADDRESS>the useMutation hook returns a tuple with the result as a second argument. It would be helpful to have some way of resetting the result.
Real World Use-Case:
Show Modal based on useMutation result.
Example:
const SubmitButton: React.FC<{}> = () => {
  const [mutate, { loading, data, resetMutationResult }] = useMutation(QUERY);

  return (
    <>
      <button onClick={() => mutate()}>Click me</button>
      {loading ? (
        <LoadingSpinner />
      ) : data ? (
        <Modal>
          {data.message}
          <button onClick={() => resetMutationResult()}>Close</button>
        </Modal>
      ) : null}
    </>
  );
};

When resetMutationResult is called data will be updated to undefined.
Workaround:
const useMutationResultWithReset = <T extends {}>(
  data: T | undefined
): [T | undefined, () => void] => {
  const current = useRef(data);
  const latest = useRef(data);
  const [, setState] = useState(0);
  const clearCurrentData = () => {
    current.current = undefined;
    // force state update
    setState(state => state + 1);
  };

  if (data !== latest.current) {
    current.current = data;
    latest.current = data;
  }

  return [current.current, clearCurrentData];
};

const SubmitButton: React.FC<{}> = () => {
  const [mutate, { loading, data: _data }] = useMutation(QUERY);
  const [data, resetMutationresult] = useMutationResultWithReset(_data)

  return (
    <>
      <button onClick={() => mutate()}>Click me</button>
      {loading ? (
        <LoadingSpinner />
      ) : data ? (
        <Modal>
          {data.message}
          <button onClick={() => resetMutationResult()}>Close</button>
        </Modal>
      ) : null}
    </>
  );
};

@trojanowski What do you think about this feature? Is this something you would want to have in this library?

See https://github.com/apollographql/apollo-feature-requests/issues/157
Gonna close this as react-apollo-hooks is superseded by @apollo/hooks (ta least for me).


Debugging istio's source code

Bug Description
Hi,
I am trying to debug istio's source code in order to understand some of the stuff that happens at the startup of the pilot program. In order to do that, I follow the great explanations from this page:  https://github.com/istio/istio/wiki/Using-the-Code-Base#building-the-code
The problem is when I run the following command in order to actually load the built programs into a container:
go run ./istioctl/cmd/istioctl install The containers are downloaded from the internet instead of being loaded from the built sources.
I am using minikube with docker and everything is running on my local machine. I tried loading the built images into minikube by running minikube image load localhost:5000/pilot (for all images). I even tried to rename the images as gcr.io/istio-testing/xxx
I see that the containers do not include the debug information that I need. Also, according to this tutorial I should have the entrypoint in istiod being Delve which is not the case.
I also tried pushing the containers to a local registry. The problem is that in order for minikube to access the images, I need either to load them, or to set the docker-env variables for minikube, which seems to break the build process (the make command returns an error related to docker).
Do you have any idea how I could debug the source of istio with minikube?
Thank you very much,
4br3mm0rd
Version
go run ./istioctl/cmd/istioctl version
client version: unknown
control plane version: 1.14
data plane version: 1.14-alpha.bd9f6a272c89db54cf08404bca1c86d68f59feba (1 proxies)

Additional Information
No response

if the eval $(minikube docker-env command is causing problems, you can always push the images to docker hub instead of trying to use the local ones.
make build
make docker HUB=<your_docker_id> TAG=latest
make docker.push HUB=<your_docker_id> TAG=latest
Istioctl install --set hub=<your_docker_id> set tag=latest

As for the Delve tutorial, I am not sure when that last time these steps were tested and if there are any known issues with those steps on Mac

if the eval $(minikube docker-env command is causing problems, you can always push the images to docker hub instead of trying to use the local ones.

This worked perfectly thank you :)

When doing dev, I also use KinD which allows me to easily push docker images to with the labels that I like to the cluster so that I do not have to deal with keep pushing dev images to a repo. I’ve also developed these scripts to help me doing the development. The two scripts that I have are here https://github.com/litong01/multicluster-istio/tree/main/dev. One is to build the images and label them as I wish, the other one is to upload the image to the KinD cluster so that your istio deployment can stay as is. Minikube can do push images to its clusters as well, you probably just need to change the script a bit to push your dev image to Minikube cluster, then you do not need to change how to deploy istio.

Wow, this looks amazing! I'll give it a look!
I'll give a look on how to add Minikube support in the next weeks if I find time. Thank you for your answers!


feat: support custom server entry

支持自定义 server 入口：

新建 src/entry.server.ts 文件
在插件中通过 config.server.entry 指定 server 入口绝对地址

Codecov Report

:exclamation: No coverage uploaded for pull request base (release-next@4d18ffa). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             release-next     #388   +/-   ##
===============================================
  Coverage                ?   80.02%
===============================================
  Files                   ?       80
  Lines                   ?     6793
  Branches                ?      798
===============================================
  Hits                    ?     5436
  Misses                  ?     1348
  Partials                ?        9

Continue to review full report at Codecov.

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

LGTM


[docs] Clarify restart strategy defaults set by checkpointing

Added info about checkpointing changing the default restart
strategy in places where it was missing: the config page and the
section about the fixed-delay strategy
Replaced no-restart with "no restart" so people don't think we're
referring to a config value
Replaced invalid  html tag with
Fixed bad link to restart strategies page from state.md

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[ ] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[ ] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[ ] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

The changes so far are docs-only, so the CI failure must be unrelated.

Thanks for these clarifications. I'm going to merge it with the next batch. In the current master we also have a new checkpoints page at setup/checkpoints.html where we can add these notes as well.

Thanks again. Just merged this to master (b03ad79) and release-1.2 (2aaa093).

@uce Thanks. I didn't get an opportunity to address your comments... is there anything you want me to do?

I'm curious as to how you added my commit to master and release-1.2 but it doesn't show up in this PR. The whole "rehevkor5 committed with uce 5 days ago" thing. Github isn't aware that the changes in this PR were merged.
If you have a moment can you describe your workflow is so I can understand what's happening behind the scenes? Is it rebase onto master + merge --ff-only or something? Maybe it's due to the fact that Github is only mirroring another repo? I'd appreciate it!

Since the comments were very minor I addressed them myself (used the backticks and skipped the change in "If checkpointing is activated..." as it didn't really improve anything).
The work flow was as follows: I checked out your PR branch, rebased it onto master (via git rebase apache/master) and pushed it with another related commit. My related commit had a comment This closes #3059, which tells the ASF bot to close this PR. Then I cherry picked it to the 1.2 branch.
GitHub only notices that the changes were merged for merges to master and if the commit hashes are not changed I think. Since I rebased they did change and I needed the manual close. Does this make sense?

It does, thanks! I'll try to remember to include "closes #{pr number}" in my commit messages which might be handy.


Not able to add customs hosts

Rancher versions:
rancher/server: 1.6.2
rancher/agent: 1.2.2
Infrastructure Stack versions:
healthcheck: 0.3.1
ipsec: net:holder
network-services: 0.7.1
scheduler: 0.8.0
kubernetes (if applicable): Nope
Docker version: (docker version,docker info preferred) 17.03.2-ce
Operating system and kernel: (cat /etc/os-release, uname -r preferred) Ubuntu "16.04.2 LTS (Xenial Xerus)"
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO) Azure
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB) single node, internal DB
Environment Template: (Cattle/Kubernetes/Swarm/Mesos) Cattle
Steps to Reproduce:
Add custom host
Copy/Paste the command provide by Rancher in the new server
Results:
The ipsec/healthcheck won't start
So my two LoadBalancer by default won't start either.
In the network-manager logs, I have :
06/07/2017 17:28:12time="2017-07-06T15:28:12Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:12time="2017-07-06T15:28:12Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:12time="2017-07-06T15:28:12Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:13time="2017-07-06T15:28:13Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:13time="2017-07-06T15:28:13Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:13time="2017-07-06T15:28:13Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:13time="2017-07-06T15:28:13Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:14time="2017-07-06T15:28:14Z" level=info msg="Evaluating state from retry" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f count=10
06/07/2017 17:28:14time="2017-07-06T15:28:14Z" level=info msg="CNI up" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f networkMode=ipsec
06/07/2017 17:28:14time="2017-07-06T15:28:14Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:16time="2017-07-06T15:28:16Z" level=info msg="Network router changed, syncing ARP tables 1/10 in containers, new MAC: 02:e8:af:88:21:40"
06/07/2017 17:28:16time="2017-07-06T15:28:16Z" level=error msg="arpsync: while syncing, got error: inspecting container: ab27c2dcbf57db32229fc7e0ea761b37313b32809b12de2f028db26192518620: Error: No such container: ab27c2dcbf57db32229fc7e0ea761b37313b32809b12de2f028db26192518620"
06/07/2017 17:28:16time="2017-07-06T15:28:16Z" level=info msg="Evaluating state from retry" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f count=11
06/07/2017 17:28:16time="2017-07-06T15:28:16Z" level=info msg="CNI up" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f networkMode=ipsec
06/07/2017 17:28:16time="2017-07-06T15:28:16Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:18time="2017-07-06T15:28:18Z" level=info msg="Evaluating state from retry" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f count=12
06/07/2017 17:28:18time="2017-07-06T15:28:18Z" level=info msg="CNI up" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f networkMode=ipsec
06/07/2017 17:28:18time="2017-07-06T15:28:18Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:20time="2017-07-06T15:28:20Z" level=info msg="Evaluating state from retry" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f count=13
06/07/2017 17:28:20time="2017-07-06T15:28:20Z" level=info msg="CNI up" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f networkMode=ipsec
06/07/2017 17:28:20time="2017-07-06T15:28:20Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:21time="2017-07-06T15:28:21Z" level=info msg="Network router changed, syncing ARP tables 1/10 in containers, new MAC: 02:e8:af:88:21:40"
06/07/2017 17:28:21time="2017-07-06T15:28:21Z" level=error msg="arpsync: while syncing, got error: inspecting container: ab27c2dcbf57db32229fc7e0ea761b37313b32809b12de2f028db26192518620: Error: No such container: ab27c2dcbf57db32229fc7e0ea761b37313b32809b12de2f028db26192518620"
06/07/2017 17:28:22time="2017-07-06T15:28:22Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:22time="2017-07-06T15:28:22Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:22time="2017-07-06T15:28:22Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:23time="2017-07-06T15:28:22Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=info msg="Evaluating state from retry" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f count=14
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=info msg="CNI up" cid=d16c05109a307326d97278a92ee707576fd75f8996e1644e1280e3847b38760f networkMode=ipsec
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=error msg="Failed to evaluate networking: failed to find plugin \"rancher-bridge\" in path [/opt/cni/bin /var/lib/cni/bin /usr/local/sbin /usr/sbin /sbin /usr/local/bin /usr/bin /bin]"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=error msg="Failed to apply cni conf: Error: No such container: 03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e"
06/07/2017 17:28:23time="2017-07-06T15:28:23Z" level=info msg="Setting up binaries for: map[rancher-bridge:03a152aa7ee9fe2b2aa613d646033e0f7f5a71a14a1d7b5368d27eb02855f56e]"```

Fixed with "rancher/network-manager:v0.7.4" and "rancher/metadata:v0.9.2" !


Crash from adding List to Dictionary (regression starting from 3.2.2)

I finally was able to get 3.2.2 configured to work but my program would crash without any log on startup.  I narrowed it down to one line of code.
In 3.2.1 this code ran fine, however, with no code change and moving to 3.2.2, the app crashes.  Here is the test code:
public List<string> TheName = new List<string>();
public List<int> ClassLevel = new List<int>();

    public override void _Ready()
    {
        TheName.Add("Sampson");
        ClassLevel.Add(12);

        Godot.Collections.Dictionary d = new Godot.Collections.Dictionary();

        d.Add("name", TheName);
        d.Add("sd", ClassLevel);
        GD.Print("Hello");
    }

The program exits without warnings or error at the line d.Add("sd", ClassLevel);
If the ClassLevel list is empty it will not crash.  However, once I add any integer to the list, it cannot be added to the dictionary.
No other kind of list seems to crash.  I included a List<string> to show that Godot can add other types of lists just fine.

@ondesic If you run the editor in a shell, mono should print an error dump into stdout. I got an error when running it too, but I just wanna see if it's the same as yours.
=================================================================
	Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

=================================================================
	Native stacktrace:
=================================================================
	0x7fc67a14d625 - /usr/lib/libmonosgen-2.0.so.1 : (null)
	0x7fc67a14d9bc - /usr/lib/libmonosgen-2.0.so.1 : (null)
	0x7fc67a0d8b82 - /usr/lib/libmonosgen-2.0.so.1 : (null)
	0x7fc67a147161 - /usr/lib/libmonosgen-2.0.so.1 : (null)
	0x7fc67a253674 - /usr/lib/libmonosgen-2.0.so.1 : mono_object_get_class
	0x7ffd82b49240 - Unknown

=================================================================
	Telemetry Dumper:
=================================================================
Pkilling 0x7fc62c40b700 from 0x7fc678c74840
Pkilling 0x7fc62c20a700 from 0x7fc678c74840
Entering thread summarizer pause from 0x7fc678c74840
Finished thread summarizer pause from 0x7fc678c74840.
Could not exec mono-hang-watchdog, expected on path '/etc/../bin/mono-hang-watchdog' (errno 2)
debugger-agent: Unable to listen on 9

Waiting for dumping threads to resume

=================================================================
	External Debugger Dump:
=================================================================
mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb

=================================================================
	Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x7fc67a253674):0x7fc67a253664  89 df 48 89 1c 24 48 89 44 24 08 e8 cc 6d 0e 00  ..H..$H.D$...m..
0x7fc67a253674  48 8b 55 00 48 89 de 48 89 c7 48 8b 2a e8 4a 6f  H.U.H..H..H.*.Jo
0x7fc67a253684  0e 00 48 8b 4c 24 18 64 48 33 0c 25 28 00 00 00  ..H.L$.dH3.%(...
0x7fc67a253694  75 0a 48 83 c4 28 48 89 e8 5b 5d c3 e8 3b 56 de  u.H..(H..[]..;V.

=================================================================
	Managed Stacktrace:
=================================================================
	  at <unknown> <0xffffffff>
	  at Godot.Collections.Dictionary:godot_icall_Dictionary_Add <0x000d0>
	  at Godot.Collections.Dictionary:Add <0x0009b>
	  at Node:_Ready <0x001ff>
	  at System.Object:runtime_invoke_void__this__ <0x00170>
=================================================================

A bisect shows this as the first bad commit (3.2 branch, commit 6aca9326):
commit 6aca932659d46c293328f6e408667123cac03d02 (HEAD, refs/bisect/bad)
Author: Ignacio Etcheverry<EMAIL_ADDRESS>Date:   Thu Apr 23 02:19:32 2020 +0200

    C#: Revert marshalling of IDictionary/IEnumerable implementing types

    Added marshalling for `System.Collections.Generic.List<T>` and
    `System.Collections.Generic.Dictionary<TKey, TValue>`.

Is there any chance of this getting fixed in 3.2.x?
This breaking change basically cripples decent C# support.

This was fixed in 3.2.4-rc2 and is back in 3.2.4-rc3
I am trying to see if I can get more info


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
minor
8.5.3 -> 8.6.2

terraform-ibm-modules/observability-agents/ibm (source)
module
minor
1.26.0 -> 1.28.0

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.6.2
Compare Source
Bug Fixes

deps: update terraform ibm to latest for the deployable architecture solution (#667) (54e538f)

v8.6.1
Compare Source
Bug Fixes

Update ibm_catalog.json - remove dependencies section (#663) (435712d)

v8.6.0
Compare Source
Features

the following new variables have been added to the root level module: activity_tracker_read_data_events, activity_tracker_write_data_events, activity_tracker_management_events, request_metrics_enabled and usage_metrics_enabled. Previously the logic only set these to true if a Monitoring or Activity Tracker CRN was passed, but that in IBM terraform provider version 1.67.0, you no longer need to pass Monitoring or Activity Tracker instance CRNs to enable monitoring or activity tracking on a bucket. If values not passed, it will default to the Monitoring or AT instance in the same location as the bucket.
As part of this work sysdig_crn has been renamed to  monitoring_crn. (#660) (7d93787)

v8.5.4
Compare Source
Bug Fixes

add community catalog id in dependencies section of ibm_catalog.json (#662) (84f196e)

terraform-ibm-modules/terraform-ibm-observability-agents (terraform-ibm-modules/observability-agents/ibm)
v1.28.0
Compare Source
Features

deps: update icr.io/ext/sysdig/agent docker tag to v13.3.0 (#361) (0433001)

v1.27.0
Compare Source
Features

add support for IKS and OCP clusters on classic infrastructure (#336) (67c47fb)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This issue has been resolved in version 1.10.1 :tada:
The release is available on:

GitHub release
v1.10.1

Your semantic-release bot :package::rocket:


This is cool!

Hi!
i love it!
will there be new enemies, levels and maybe midi music for it?
kind regards

Hey thanks for the kind words! I’m definitely planning on adding support for additional tiles and stuff as I’ve been trying stuff on the side for a while! Midi seems a bit tougher though, but someone who knows the musicgen field would probably know better than me.

nice, thanks!

Closed this, feel free to open this if you have more questions!


Fix ImportFromTiffTask

Changes:

more intuitive implementation
clean function inputs
use Window from rasterio.windows

Tested on a tiff:

Tried to import with various EOPatches with existing or non-existing bboxes:

I added a change due to https://github.com/sentinel-hub/eo-grow/issues/17 - it seems that the pipeline in that case failed if boundless = True for eopatches with not bbox. I re-tested also the cases presented here with this update and everything works as it should.
The question regarding the borders (and how the tiff is clipped) remains.

Just a general comment, don't forget to merge develop into this branch to get all the isort github actions as well (otherwise they might fail if we merge).

The test is still failing due to a difference of 1 pixel. Might be due to different functions? not sure...

I think current issues come from the fact that beforehand we rounded coordinates (upper, lower, left, right) and now were using offsets and width, height.

Also you have a typo in the height variable (you have it as heigth)

Codecov Report

Merging #388 (f90e9b5) into develop (f142a3a) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #388      +/-   ##
===========================================
- Coverage    82.79%   82.78%   -0.01%
===========================================
  Files           54       54
  Lines         5172     5171       -1
===========================================
- Hits          4282     4281       -1
  Misses         890      890

Impacted Files
Coverage Δ

core/eolearn/core/utils/fs.py
96.42% <100.00%> (ø)

io/eolearn/io/local_io.py
95.91% <100.00%> (-0.03%)
:arrow_down:

Continue to review full report at Codecov.

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


Can't load https://gogs.io in Firefox 49.0.2

Seeing this when trying to load https://gogs.io:

Browser is Firefox 49.0.2 on Mac OS 10.11.6, Chrome  53.0.2785.143 (64-bit) works fine.

nvm, just saw #3793


What is the difference between the 'generation' and the 'regression' models?

Which one would I use for regular inference (image in, depth or normals out)?

Hi @rafaelspring , thanks for your interest!
For regular inference you said, please use regression mode.
The difference is simple: in generation mode, the RGB image serves as a condition, and the dense annotations are generated from Gaussian noise in one step (which enables distribution modelling). In regression mode, we remove the noise input, and directly predicts dense labels from the RGB image.
Shortly, in generation mode, the inputs are RGB image and Gaussian noise. In regression, the input is only the RGB image.
Best,


Adding reference for DynamicDependency winmd

Currently the references for winmd that comes from WindowsAppSDK nuget package is getting affected by the references mentioned in targets file of WinUI. This change to de-couple the definition of references between both the packages.
Related Bug: https://task.ms/54538137

/azp run


build: update axum to 0.7.x

axum 0.6.19 -> 0.7.2
axum-extra 0.7.5 -> 0.9.0
hyper 0.14.27 -> 1.0.1

Thanks, this is on our roadmap, will do that after a big PR that we are waiting to be opened.

Done in https://github.com/RGB-Tools/rgb-lightning-node/commit/3c74d87765f0b589f23f6f783905e4f630d43563


Add OpenGL chessboard

Modified version of the High Poly example, that just displays what should ideally be a full-viewport black and white chessboard.

When I run this without an HMD plugged in, I get only black screens.  With the other demos, I see the world from the identity pose.

Pushed a new commit that implements this by replacing the head-to-room transform with the identity, which renders whether /me/head is defined or not.