Building from the command line package issues...( aapt tool failed: ... )

Hi all,
I have an issue when I build our app with this ANE from the command line.  I receive a large number of errors on the package step.  I am trying to see what is different between the FlashBuilder 4.7 build and the command line build with exported config, but some how I think I am not setting the default language properly( -locale en_US ).  I get these errors when packaging, and they seem related to the Facebook ANE.  I've included all of the errors, however it is quite verbose.  I wanted to repeat, this works fine when debugging from the IDE.
Thanks for any help!
--John
aapt tool failed:/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/layout/com_facebook_tooltip_bubble.xml:44: error: Error: No resource found that matches the given name (at 'style' with value '@style/tooltip_bubble_text').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_background.xml:26: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_disabled').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_background.xml:32: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_pressed').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_background.xml:38: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_like_background.xml:26: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_disabled').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_like_background.xml:32: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_pressed').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_like_background.xml:38: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_like_background_color_selected').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_like_background.xml:44: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_login_silver_background.xml:26: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_disabled').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_login_silver_background.xml:32: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_login_silver_background_color_pressed').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_login_silver_background.xml:38: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_login_silver_background_color').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_send_background.xml:26: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_background_color_disabled').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_send_background.xml:32: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_send_background_color_pressed').
/private/var/folders/_n/pvx2q2pd6m98v9jt79txcnk80000gn/T/6db969e8-7781-4255-9c8b-0ee8714afdfb/res/drawable/com_facebook_button_send_background.xml:38: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_send_background_color').

+1 same errors here.

Using some odd hack, I rebuilt the ANE creating a values-en directory inside the android/res directory, copying the values-de strings.xml and messenger_button_strings.xml into that.  For whatever reason, this is good enough to please the aapt tool during the package step.  Why this works I have no idea, when using Deutsch, Spanish or English, the correct translation will appear.  I am guessing that since you cannot specify the -locale en-US properly on the command line, this somehow tricks the aapt into doing what it's supposed to be doing?  very confused at this point.
With the older ANE-Facebook from freshplanet, I found this comment in the README.md.
Also an error when linking the ressources into the app, I had to rename the res/values/styles.xml to res/values/style.xml
Trying that approach, I could link the ANE with the application, however the app would crash on login as it could not find the proper resources.  Is this possibly why they older freshplanet build.xml would generate the .R file?
Any help or comment would let me sleep better...

Was able to have the app compiled in command line by changing the manifest section of my -app.xml file. But then the app hangs at startup.
Activity configuration from nodrock's README, adt packaging fails:
<activity android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="Triominos" />
<activity android:name="com.freshplanet.ane.AirFacebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
<activity android:name="com.freshplanet.ane.AirFacebook.ShareDialogActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
<activity android:name="com.freshplanet.ane.AirFacebook.AppInviteActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
<activity android:name="com.freshplanet.ane.AirFacebook.GameRequestActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
 android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />

Activity configuration from freshplanet's README. Compile, but app hangs at startup:
<activity android:name="com.facebook.LoginActivity"/>
<activity android:name="com.freshplanet.ane.AirFacebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"></activity>
<activity android:name="com.freshplanet.ane.AirFacebook.DialogActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"></activity>

Anyone with a working manifest configuration out there? @nodrock what's yours?

My configuration is simple:
<?xml version="1.0" encoding="utf-8" ?>

<!-- Adobe AIR Application Descriptor File Template.
     Specifies parameters for identifying, installing, and launching AIR applications.

     xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/18.0.
     The last segment of the namespace specifies the version of the AIR runtime required for this application to run.

     minimumPatchLevel - The minimum patch level of the AIR runtime required to run the application. Optional. -->

<application xmlns="http://ns.adobe.com/air/application/18.0">

    <!-- A universally unique application identifier. Must be unique across all AIR applications.
         Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
    <id>sk.bpositive.FBExample</id>

    <!-- Used as the filename for the application. Required. -->
    <filename>FBExample</filename>

    <!-- The name that is displayed in the AIR application installer. May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <name>FBExample</name>

    <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
         Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
         An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5. -->
    <versionNumber>1.0.0</versionNumber>

    <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
    <!--<versionLabel></versionLabel>-->

    <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required for namespace < 2.5. -->
    <!--<version>1.0.0</version>-->

    <!-- Description, displayed in the AIR application installer. May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <!--<description></description>-->

    <!-- Copyright information. Optional -->
    <!--<copyright></copyright>-->

    <!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
    <!--<publisherID></publisherID>-->

    <!-- Identifies the ActionScript extensions used by an application. -->
    <extensions>
        <extensionID>com.freshplanet.AirFacebook</extensionID>
    </extensions>

    <!-- Settings for the application's initial window. Required. -->
    <initialWindow>
        <!-- The main SWF or HTML file of the application. Required. -->
        <content>SWF file name is set automatically at compile time</content>

        <!-- The title of the main window. Optional. -->
        <!--<title></title>-->

        <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
        <!--<systemChrome></systemChrome>-->

        <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
        <!--<transparent></transparent>-->

        <!-- Whether the window is initially visible. Optional. Default false. -->
        <visible>true</visible>

        <!-- Whether the user can minimize the window. Optional. Default true. -->
        <!--<minimizable></minimizable>-->

        <!-- Whether the user can maximize the window. Optional. Default true. -->
        <!--<maximizable></maximizable>-->

        <!-- Whether the user can resize the window. Optional. Default true. -->
        <!--<resizable></resizable>-->

        <!-- The window's initial width in pixels. Optional. -->
        <!--<width></width>-->

        <!-- The window's initial height in pixels. Optional. -->
        <!--<height></height>-->

        <!-- The window's initial x position. Optional. -->
        <!--<x></x>-->

        <!-- The window's initial y position. Optional. -->
        <!--<y></y>-->

        <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
        <!--<minSize></minSize>-->

        <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
        <!--<maxSize></maxSize>-->

        <!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the device -->
        <!--<aspectRatio></aspectRatio>-->

        <!-- Whether the app will begin auto-orienting on launch. Optional. Mobile only. Default false -->
        <autoOrients>true</autoOrients>

        <!-- Whether the app launches in full screen. Optional. Mobile only. Default false -->
        <fullScreen>true</fullScreen>

        <!-- The render mode for the app (either auto, cpu, gpu, or direct). Optional. Default auto -->
        <!--<renderMode></renderMode>-->

        <!-- Whether the default direct mode rendering context allocates storage for depth and stencil buffers.  Optional.  Default false. -->
        <!--<depthAndStencil></depthAndStencil>-->

        <!-- Whether or not to pan when a soft keyboard is raised or lowered (either "pan" or "none").  Optional.  Defaults "pan." -->
        <!--<softKeyboardBehavior></softKeyboardBehavior>-->

        <!-- Display Resolution for the app (either "standard" or "high"). Optional, OSX-only. Default "standard" -->
        <!-- <requestedDisplayResolution></requestedDisplayResolution> -->
    </initialWindow>

    <!-- We recommend omitting the supportedProfiles element, which in turn permits your application to be deployed to all devices supported by AIR.
         If you wish to restrict deployment (i.e., to only mobile devices) then add this element and list only the profiles which your application does support. -->
    <!--<supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles>-->

    <!-- Languages supported by application. Only these languages can be specified -->
    <!--<supportedLanguages>en de cs es fr it ja ko nl pl pt ru sv tr zh</supportedLanguages>-->

    <!-- The subpath of the standard default installation location to use. Optional. -->
    <!--<installFolder></installFolder>-->

    <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
    <!--<programMenuFolder></programMenuFolder>-->

    <!-- The icon the system uses for the application. For at least one resolution, specify the path to a PNG file included in the AIR package. Optional. -->
    <!--<icon>
        <image16x16></image16x16>
        <image29x29></image29x29>
        <image32x32></image32x32>
        <image36x36></image36x36>
        <image40x40></image40x40>
        <image48x48></image48x48>
        <image50x50></image50x50>
        <image57x57></image57x57>
        <image58x58></image58x58>
        <image60x60></image60x60>
        <image72x72></image72x72>
        <image76x76></image76x76>
        <image80x80></image80x80>
        <image96x96></image96x96>
        <image100x100></image100x100>
        <image114x114></image114x114>
        <image120x120></image120x120>
        <image128x128></image128x128>
        <image144x144></image144x144>
        <image152x152></image152x152>
        <image512x512></image512x512>
        <image732x412></image732x412>
        <image1024x1024></image1024x1024>
    </icon>-->

    <!-- Whether the application handles the update when a user double-clicks an update version of the AIR file (true),
         or the default AIR application installer handles the update (false). Optional. Default false. -->
    <!--<customUpdateUI></customUpdateUI>-->

    <!-- Whether the application can be launched when the user clicks a link in a web browser. Optional. Default false. -->
    <!--<allowBrowserInvocation></allowBrowserInvocation>-->

    <!-- Listing of file types for which the application can register. Optional. -->
    <!--<fileTypes>-->
    <!-- Defines one file type. Optional. -->
    <!--<fileType>-->
    <!-- The name that the system displays for the registered file type. Required. -->
    <!--<name></name>-->
    <!-- The extension to register. Required. -->
    <!--<extension></extension>-->
    <!-- The description of the file type. Optional. -->
    <!--<description></description>-->
    <!-- The MIME content type. -->
    <!--<contentType></contentType>-->
    <!-- The icon to display for the file type. Optional. -->
    <!--<icon>
        <image16x16></image16x16>
        <image32x32></image32x32>
        <image48x48></image48x48>
        <image128x128></image128x128>
    </icon>-->
    <!--</fileType>-->
    <!--</fileTypes>-->

    <!-- iOS specific capabilities -->
    <iPhone>
        <!-- A list of plist key/value pairs to be added to the application Info.plist -->
        <InfoAdditions>
            <![CDATA[
            <key>UIDeviceFamily</key>
            <array>
                <!-- iPhone and iPod touch devices -->
                <string>1</string>
                <!-- iPad devices -->
                <string>2</string>
            </array>
            <key>UIStatusBarStyle</key>
			<string>UIStatusBarStyleBlackOpaque</string>
			<key>UIRequiresPersistentWiFi</key>
			<string>NO</string>

			<key>MinimumOSVersion</key>
   			<string>7.0</string>

	        <key>CFBundleURLTypes</key>
	        <array>
	            <dict>
	            	<key>CFBundleURLName</key>
					<string>sk.bpositive.FBExample</string>
	                <key>CFBundleURLSchemes</key>
	                    <array>
	                        <string>fb386950731501630</string>
	                        <string>testairextension</string>
	                    </array>
	            </dict>
	        </array>
	        <key>FacebookAppID</key>
	        <string>386950731501630</string>

	        <key>NSAppTransportSecurity</key>
            <dict>
                <key>NSExceptionDomains</key>
                <dict>
                    <key>facebook.com</key>
                    <dict>
                        <key>NSIncludesSubdomains</key>
                        <true/>
                        <key>NSExceptionRequiresForwardSecrecy</key>
                        <false/>
                    </dict>
                    <key>fbcdn.net</key>
                    <dict>
                        <key>NSIncludesSubdomains</key>
                        <true/>
                        <key>NSExceptionRequiresForwardSecrecy</key>
                        <false/>
                    </dict>
                    <key>akamaihd.net</key>
                    <dict>
                        <key>NSIncludesSubdomains</key>
                        <true/>
                        <key>NSExceptionRequiresForwardSecrecy</key>
                        <false/>
                    </dict>
                </dict>
            </dict>

            <key>LSApplicationQueriesSchemes</key>
            <array>
                    <string>fbapi</string>
                    <string>fb-messenger-api</string>
                    <string>fbauth2</string>
                    <string>fbshareextension</string>
            </array>

	        ]]>
        </InfoAdditions>

        <!-- A list of plist key/value pairs to be added to the application Entitlements.plist -->
        <!--<Entitlements>
            <![CDATA[
            <key>keychain-access-groups</key>
            <array>
                <string></string>
                <string></string>
            </array>
            ]]>
        </Entitlements>-->

        <!-- Display Resolution for the app (either "standard" or "high"). Optional. Default "standard" -->
        <requestedDisplayResolution>high</requestedDisplayResolution>
        <!-- Forcing Render Mode CPU for the devices mentioned. Optional  -->
        <!--<forceCPURenderModeForDevices></forceCPURenderModeForDevices> -->
        <!-- File containing line separated list of external swf paths. These swfs won't be packaged inside the application
        and corresponding stripped swfs will be output in externalStrippedSwfs folder. -->
        <!--<externalSwfs></externalSwfs> -->
    </iPhone>

    <!-- Android specific tags that get passed to AndroidManifest.xml file. -->
    <android>
        <manifestAdditions>
            <![CDATA[
            <manifest android:installLocation="auto">
                <uses-permission android:name="android.permission.INTERNET"/>
                <!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
                <!--<uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
                <!--<uses-permission android:name="android.permission.VIBRATE"/>-->
                <!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>-->
                <!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
                <!--<uses-permission android:name="android.permission.WAKE_LOCK"/>-->
                <!--<uses-permission android:name="android.permission.CAMERA"/>-->
                <!--<uses-permission android:name="android.permission.RECORD_AUDIO"/>-->
                <!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
                <!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>-->

                <!--<uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>-->
                <application android:enabled="true">
                    <!--<activity android:excludeFromRecents="false">
                        <intent-filter>
                            <action android:name="android.intent.action.MAIN"/>
                            <category android:name="android.intent.category.LAUNCHER"/>
                        </intent-filter>
                    </activity>-->

                    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="fb386950731501630"/>

                    <activity android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
                        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="TestAIRExtension" />
                    <activity android:name="com.freshplanet.ane.AirFacebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
                        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
                    <activity android:name="com.freshplanet.ane.AirFacebook.ShareDialogActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
                        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
                    <activity android:name="com.freshplanet.ane.AirFacebook.AppInviteActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
                        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />
                    <activity android:name="com.freshplanet.ane.AirFacebook.GameRequestActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"
                        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" />

                    <!--<provider android:authorities="com.facebook.app.FacebookContentProvider{YOUR_FB_APPLICATION_ID}" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>-->
                </application>

            </manifest>
            ]]>
            </manifestAdditions>

        <!-- Color depth for the app (either "32bit" or "16bit"). Optional. Default 16bit before namespace 3.0, 32bit after -->
        <!--<colorDepth></colorDepth>-->
        <!-- Indicates if the app contains video or not. Necessary for ordering of video planes with graphics plane, especially in Jellybean - if you app does video this must be set to true - valid values are true or false -->
        <!-- <containsVideo></containsVideo> -->
    </android>

</application>

This configuration I use in sample project (which I will hopefully release in next few days) and I am testing all new features on it.

Thanks, I'm not able to compile anymore with any of the 2 config above... weird. Will let you know if I learn anything interesting.

Could you please try to put here full log from LogCat? We should see there why system killed your app.

And please provide us with information about version of your AIR (with build number) and device model (with android version) on which you are running your app to be able to reproduce this issue.

On the older Freshplanet README.md, there a comment that says
Also an error when linking the ressources into the app, I had to rename the res/values/styles.xml to res/values/style.xml
If I take that approach, the app will link, however will cause a crash at login.

Do you use any other ANE? If yes please provide us with a list of them. Thank you

I am running on an Android Nvidia Shield with 5.1.1 OS.  I am using air <IP_ADDRESS>.
I am in the process of commenting out all of my ANE's and adding them back to see if there is an issue with packaging a particular ANE, but here is our list.
 I got the app to compile by disabling the AirPushNotification ANE (one by FreshPlanet as well).
What's the solution to that?

Ok so there are two conflicts? AirFacebook wtih InAppPurchase and AirFacebook with AirPushNotification?

The ANE in our repo is not the same as the one pulled down from pozirk's github.  Pozirk's github has 3.6 as the extension namespace, where the one I was using that has conflicts has 3.8 as the extension namespace.  I can't really tell where this extension has come from as I didn't auther the 3.8 version.

In my setting, the conflict happens with the latest AirPushNotification ANE from https://github.com/freshplanet/ANE-Push-Notification/tree/master/bin (downloaded mid-august 2015, didn't change since then).

@JohnHouston That's why I added VERSION string into Facebook class few version back because I was getting lost in it. With every release this VERSION string is changed. I don't understand why freshplanet team always commit binary versions to git. It's silly because the repository size is growing very fast and you don't have a clue from which sources was the ANE build from.

@j3k0 I am going to simulate this issue and let you know what we can do about it.

Ok that's weird. I tried to build it with that ANE and also some other ANEs that we use.
  <extensions>
    <extensionID>com.freshplanet.ane.AirDeviceId</extensionID>
    <!--<extensionID>com.freshplanet.AirAlert</extensionID>-->
    <extensionID>com.freshplanet.AirPushNotification</extensionID>
    <extensionID>com.freshplanet.AirNetworkInfo</extensionID>
    <extensionID>com.freshplanet.AirFacebook</extensionID>

    <extensionID>com.pozirk.AndroidInAppPurchase</extensionID>

    <extensionID>com.milkmangames.extensions.RateBox</extensionID>
    <extensionID>com.chartboost.plugin.air</extensionID>
    <extensionID>com.mesmotronic.ane.fullscreen</extensionID>

    <extensionID>com.appsflyer.adobeair</extensionID>

    <extensionID>sk.bpositive.BCommon</extensionID>
  </extensions>

with ANT build.xml like this
<target name="package_android" >
        <echo>--------------------------------------------------</echo>
        <echo>Packaging Android</echo>

        <delete file="${app.dist.apkName}" />

        <echo>Packaging for release on the Android...</echo>
        <java jar="${ADT.JAR}" fork="true" failonerror="true">
            <arg value="-package"/>
            <arg line="-target apk-captive-runtime"/>
            <arg line="-storetype pkcs12"/>
            <arg line="-keystore ${android.keystore}"/>
            <arg line="-storepass ${android.storepass}"/>
            <arg value="${app.dist.apkName}"/>
            <arg value="${app.descriptor.android}"/>
            <arg line="-extdir ${dir.extdir}"/>
            <arg line="-C ${dir.dist} ${app.swf}"/>
            <arg line="-C package ."/>
        </java>
        <echo>done.</echo>
    </target>

and only warnings I get are these
package_android:
     [echo] --------------------------------------------------
     [echo] Packaging Android
     [echo] Packaging for release on the Android...
     [java] Warning: Resource values-af/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-af/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ar/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ar/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-bn/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-bn/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-da/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-da/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-el/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-el/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-fi/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-fi/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-gu/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-gu/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-hi/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-hi/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-hr/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-hu/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-id/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-in/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-kn/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-kn/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ml/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ml/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-mr/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-mr/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ms/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ms/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-nb/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-nb/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-pa/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-pa/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-sk/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ta/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-ta/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-te/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-te/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-th/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-th/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-tl/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-tl/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-vi/messenger_button_strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: Resource values-vi/strings.xml has been skipped because of mismatch with supported languages information in application descriptor.
     [java] Warning: packagedDependency google-play-services.jar used by more than one ANE. Ignoring this entry
     [java] Warning: folderName google-play-services-res used by more than one ANE. Ignoring this entry
     [java] Warning: packageName com.google.android.gms used by more than one ANE. Ignoring this entry
     [java] NOTE: The application has been packaged with a captive runtime.
     [echo] done.

Could you please provide me some information about your build process?

In our build environment we use a bash script.  It consists of a set of functions that build each library, and package etc.  A simple function looks like this...
buildGameWebLib()
{
    echo "Building GameWebLib swc"

    export APP_ROOT="${WORKSPACE}/common/client/GameWebLib"

    "${AIR_SDK_HOME}/bin/compc" \
      -load-config "${APP_ROOT}/config_ios.xml" \
      +WORKSPACE "${WORKSPACE}" \
      +APP_ROOT "${APP_ROOT}" \
      +AIR_SDK_HOME "${AIR_SDK_HOME}" \
      -include-sources "${APP_ROOT}/src/" \
      -output "${APP_ROOT}/bin/GameWebLib_ios.swc" \
      >output.tmp 2>&1

    exitOnWarning output.tmp

    doneSection
}

Each lib has it's own config script per platform( iOS, android, amazon ).
We check the output for warnings and exit if there are warnings in our script.
I struggled with ant trying to use compc and mxmlc, but I could not find the equivalent of passing in the +{VARIABLE} for "WORKSPACE", and "APP_ROOT".  We do that so we do not have to hardcode the paths of libraries.
I can try throwing in the ANE-Push-Notification library to see if I can repro j3k0's issue.  I noticed it said to use a different dx.jar while packaging the final app however.

I'm using AIR 18.0 under Mac OS X as well.
The details of my build process:
$ mxmlc -load-config config-mobile-debug.xml src/Triominos.as

config-mobile-debug.xml
output of mxmlc
$ adt -package -target apk-debug -connect <IP_ADDRESS> -storetype pkcs12 -keystore ../android/fovea-devel.p12 -storepass xxx  Triominos.apk Triominos-app.xml Triominos.swf icons -extdir /Users/jeko/Fovea_AIR_Toolchains/1.3/libs -extdir /Users/jeko/Documents/triominos/client/submodule/foveas3/src/fovea/socialservices/libs

Triominos-app.xml
output of adt package
$ md5 AirFacebook.ane AirPushNotification.ane
MD5 (AirFacebook.ane) = 45f7eff4b536472f4857d12088f7efa5
MD5 (AirPushNotification.ane) = 37dec7f7f7b969d424e905d429fd5b1f

I may have found that issue. Could you please try to rename res folder to facebook-res and platform-android.xml update to:
<platform xmlns="http://ns.adobe.com/air/extension/18.0">
    <packagedDependencies>
        <packagedDependency>bolts-android-1.2.0.jar</packagedDependency>
        <packagedDependency>annotations.jar</packagedDependency>
        <packagedDependency>android-support-v4.jar</packagedDependency>
    </packagedDependencies>
    <packagedResources>
        <packagedResource>
            <packageName>com.facebook</packageName>
            <folderName>facebook-res</folderName>
        </packagedResource>
    </packagedResources>
</platform>

I may have found that issue. Could you please try to rename res folder to facebook-res and platform-android.xml update to:
<platform xmlns="http://ns.adobe.com/air/extension/18.0">
    <packagedDependencies>
        <packagedDependency>bolts-android-1.2.0.jar</packagedDependency>
        <packagedDependency>annotations.jar</packagedDependency>
        <packagedDependency>android-support-v4.jar</packagedDependency>
    </packagedDependencies>
    <packagedResources>
        <packagedResource>
            <packageName>com.facebook</packageName>
            <folderName>facebook-res</folderName>
        </packagedResource>
    </packagedResources>
</platform>

and change build.xml from
<copy todir="temp/android/res/">
     <fileset dir="../android/res/"/>
</copy>

to
<copy todir="temp/android/facebook-res/">
      <fileset dir="../android/facebook-res/"/>
</copy>

and build.gradle add facebook-res to res.srcDirs like this:
sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res', 'facebook-res']
        }
    }

Had to put this aside for a while. We delivered the app without push notifications as a last-minute fix, but I'm back to it as my clients aren't so happy about it!
What you're describing is to build a custom version of the ANE?

Yes. If you can I can provide you my build.

Thank you so much!
I've been trying through the whole day to build the ANE, without much luck. Being unable to have the build process work on my mac, I just started to setup a docker image with everything necessary to build it. I'm not done yet, but that would allow a reproductible build setup (which could even be used within circleci for continuous integration, basically generate a devel ANE for every commit -- or report build failure)
I'll let you know if ANE 4.6.2 fixes the conflict I'm having. Thanks again!

No luck. Still getting those:
[...]
drawable/com_facebook_button_send_background.xml:32: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_send_background_color_pressed').
/private/var/folders/5v/rnjwkhbd3jj82_85_v207nsh0000gn/T/c91f09d5-8cc5-4e45-9812-f130876410b4/res/drawable/com_facebook_button_send_background.xml:38: error: Error: No resource found that matches the given name (at 'color' with value '@color/com_facebook_button_send_background_color').
[...]

Feeling kind of stuck...

Could you compress and send me folder /private/var/folders/5v/rnjwkhbd3jj82_85_v207nsh0000gn/T/c91f09d5-8cc5-4e45-9812-f130876410b4

Unfortunately the /private/xxx... folder gets deleted immediately by adt
I could capture the files using a shell trick. FYI:
echo /private/var/folders/5v/rnjwkhbd3jj82_85_v207nsh0000gn/T/????????-* > ls-priv

while true; do
  X=`echo /private/var/folders/5v/rnjwkhbd3jj82_85_v207nsh0000gn/T/????????-*`
  for i in $X; do
    if grep -q $i ls-priv; then true; else
      test -e $i/res && rsync -av $i `basename $i`.`date +%s`;
    fi;
  done;
done

So hopefully the content of the folder is complete..
Here's the file:
https://dl.dropboxusercontent.com/u/73871800/19b1754f-03d8-4ee3-b417-d8443314cc82.tar.gz
Here's the app-xml:
https://dl.dropboxusercontent.com/u/73871800/Triominos-app.xml
Thanks again for your support.

Looking for com_facebook_button_background_color_disabled in facebook SDK, it is defined in facebook/res/values/styles.xml .
However, in the file above: res/values/styles.xml only contains notification-related definitions.
For some reason, the packaged facebook-res copied into the res folder, then its files overrode by the other ANE.
Still investigating...

I got it to work. The ANE works.
My issue was that I disabled other versions by renaming them to AirFacebook-4.5.2.ane  AirFacebook-4.6.0.ane  AirFacebook-4.6.2.ane keep them in the same folder as the one I wanted to use, which name was AirFacebook.ane. However AIR seemed to still pick one of the random ANE, regardless of the name.
The renaming of facebook resource folder was however necessary.
Thanks again.

That's a good news. Thank you for your investigation. I will include the rename of facebook resource folder in the official release.

Hey all, I know this is a closed issue.  I ran into this same issue again with our Amazon build, the conflict was with com.amazon.extensions.AmazonPurchase.ane which I did not have the code.  Using the changed path solution 'facebook-res' fixed this issue.  THANKS so much!  Also in conflict was the ADM.ane which is used for Amazon notifications.


Site header row does not look like header

I think it would look better if there was some different styling on the row which says "Site" as it's a header row. At present it doesn't look any different to the site rows.

Should be improved now

A bit - maybe try reversing the colour? As in make the header white on black in light mode.

Should be much clearer now


Testing and some additions to the multi-select feature

This PR includes the finishing work of the multi-select feature:

Added functions to highlight / unhighlight multiple operators at one time.

Changed highlight / unhighlight streams to emit list of highlighted / unhighlighted operators.

Created getter and setter functions for operators' z attribute (which defines an operator's stack order on the graph).

Added test cases in the JointGraphWrapper service, PropertyEditor component, and WorkflowEditor component.

Looks very good. Two minor comments: 1) in the test cases, do not rely on adding an operator automatically highlights it since it might change in the future, adds back highlightOperator() in the test cases. 2) implement clicking an empty space on canvas cancels the highlighted selection.


Failed to install automatically: SQL Server Import

Azure Data Studio Version:
OS Version:

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

Closing as I was unable to repro this issue given the details provided.  Please add additional details if this issue is still impacting you.


🔒 Move API authorizationToken value to secrets manager

User Story
As a service team in alpha
I expect my API credentials to be stored securely
So that we can share API access with anyone who needs it
But not the whole world
Value / Purpose
We are not implementing proper auth/user management during the alpha, but we do have a custom authorizer that requires a special token to access the API.
Currently this is set to "placeholder" and hardcoded in the terraform. We need this to be an actual secret so that we can restrict access to the alpha environments.
Proposal
We are already using secrets manager for secrets.

Modify terraform/environments/data-platform/platform_secrets.tf to add a new data entry for the secret.
Pass this as the environment variable in data_product_authorizer_lambda
Generate the secrets for each environment in secrets manager console

Additional Information
If we need to access secrets from github actions here is another example: https://github.com/ministryofjustice/data-platform/blob/main/.github/workflows/platform-pagerduty-rota-to-slack.yml#L61-L67
Definition of Done

[ ] No more hardcoded secrets
[ ] Randomly generated the secrets in each environment
[ ] Redeployed the authorizer

This is no longer relevant


Restrict name label width to 50%

Players may specify very long names (up to 255 chars) which would span multiple lines in the chat history. Instead, restrict their width to 50% to keep them on a single line and draw ellipsis at the end. This reduces clutter and unwanted spam.

@beverloo PTAL, should get rid of the annoyance you demonstrated the other day


Added double newline after styled line

This should fix the issue discussed here:
https://github.com/Rosey/markdown-draft-js/issues/59
Newlines were not working as expected after styled blocks

Thank you and apologies for the 13 day delay 😬


changed service port to 9980

cse service port among all demos except demo-spring-boot-discovery is 9980, is it a good idea to keep it the same among all demos?

Coverage increased (+0.008%) to 81.952% when pulling 0418bc42f50f5d5a5f45f63698bb8c59936eabcc on eric-lee-ltk:bugfix into dbd887fc6dc71443b1f17fcfaf62930e0b610931 on ServiceComb:master.

We just change the service center docker image which use the 30100 port, so this change is not we want.  But you PR just showed a defect of our demo test which doesn't pick up the error of service starting. We should fix this defect ASAP.


FAQ Block - Bullet Rendering Issues

It appears the FAQ block does not properly render bullets.
Example page: https://main--shredit--stericycle.aem.page/en-us/carousel

solved!


specific

This PR was closed by myself. It should not be reviewed, as you've seen yourself, it contains many things specific to my setup.

True. I wasn't meaning to be harsh in what I said, nor in how I said it.


Windows opened by a webpage aren't able to close

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When a new window opens, webview redirects to that page. But when the window closes, it fails to close with following error in console:

iOS: "Can't close the window since it was not opened by JavaScript"
Android: "Scripts may close only the windows that were opened by them", "Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.udemy.com/') does not match the recipient window's origin ('https://accounts.google.com/')."

Expected Behavior
Window should close i.e webview should redirect back to the previous webpage window.
Steps with code example to reproduce

Steps with code example to reproduce

Run the following example app on android or ios.
Try signing in with Google.

import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  WebUri? url;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(url?.host ?? ''),
      ),
      body: InAppWebView(
        initialUrlRequest: URLRequest(url: WebUri('https://www.udemy.com')),
        initialSettings: InAppWebViewSettings(
          cacheEnabled: true,
          databaseEnabled: true,
          domStorageEnabled: true,
          sharedCookiesEnabled: true,
          userAgent: 'Mozilla/5.0 (Linux; Android 14; Pixel 8a Build/AP2A.240905.003.A1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.100 Mobile Safari/537.36',
          javaScriptEnabled: true,
          javaScriptCanOpenWindowsAutomatically: true,
          supportMultipleWindows: true,
          isInspectable: true,
        ),
        onLoadStart: (controller, url) {
          setState(() {
            this.url = url;
          });
        },
      ),
    );
  }
}

Stacktrace/Logs

Stacktrace/Logs
NA

Flutter version
v3.24.3
Operating System, Device-specific and/or Tool
Occurred on Android 14 and iPadOS 18.0.1
Plugin version
v6.1.5
Additional information
I tried logging in using google on udemy.com. Window closes but login fails with "Scripts may close only the windows that were opened ..." error, and on iOS its stuck on google's loading page with "Can't close the window since it was not opened by JavaScript" error.
Self grab

[X] I'm ready to work on this issue!

You should implement the onCreateWindow event to implement your logic to show a new popup window.


Multisig wallet using terra.js

Is there any way to create a multisig wallet using Terra.js? Do they have any sample code regarding this?

https://github.com/terra-money/terra.js/blob/main/integration-tests/sendMultisig.ts

This throws up an error:
Property 'toData' is missing in type 'import("../src/dist/core/SignatureV2").SignatureV2' but required in type 'import("../src/dist/core/SignatureV2").SignatureV2'
In line 89, of this, they're asking for the 'toData' of SignatureV2 to be specified. Curious to know what would be that.
tx.appendSignatures([
    new SignatureV2(
      multisigPubkey,
      multisig.toSignatureDescriptor(),
      accInfo.getSequenceNumber()
    ),
  ]);

mine has no problem. The result is
{
  txhash: '48E38BC516E841FD9EEBF84429465B812C8322DACF97E2C6066050ECBD114AEF',
  raw_log: '[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v"},{"key":"amount","value":"100000uusd"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"terra1fge0cxm4tvgpv77mswvux866dr32hl06pvvr27"},{"key":"amount","value":"100000uusd"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.bank.v1beta1.MsgSend"},{"key":"sender","value":"terra1fge0cxm4tvgpv77mswvux866dr32hl06pvvr27"},{"key":"module","value":"bank"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v"},{"key":"sender","value":"terra1fge0cxm4tvgpv77mswvux866dr32hl06pvvr27"},{"key":"amount","value":"100000uusd"}]}]}]',
  gas_wanted: 315117,
  gas_used: 76928,
  height: 8050855,
  logs: [
    TxLog {
      msg_index: 0,
      log: '',
      events: [Array],
      eventsByType: [Object]
    }
  ],
  code: 0,
  codespace: '',
  data: '0A1E0A1C2F636F736D6F732E62616E6B2E763162657461312E4D736753656E64',
  info: '',
  timestamp: ''
}

@soumyadeeproy12 i think you are using old version. update it to the latest and retry please.

Hi! I'm using the example recommended by @hanjukim. It's throwing the following error:
  txhash: 'DCD325487496A03BDED605BA00F5008604CDE93CBFF6091F42FB797EC0385B19',
  raw_log: 'signature verification failed; please verify account number (568553), sequence (2) and chain-id (bombay-12): unauthorized',
  gas_wanted: 261832,
  gas_used: 47680,
  height: 0,
  logs: [],
  code: 4,
  codespace: 'sdk',
  data: '',
  info: '',
  timestamp: ''
}```

I'm using a multisig 2-2 (for testing purposes only).
I tried several stuff but nothing worked:
1. Checked if the seq number was correct (using a different one is rejected earlier by bombay.tx.create AND, I used Terra Station to create a new transaction and the sequence number changed, so I'm assuming that's not the issue).
2. I tried altering the order of the signatures (just because the example uses mk3 for generating sig1)
3. I looked for the mistake in code several times (even used the working one by removing one mnemonic and using mines).
4.  I printed the public addresses so I can compare with the ones I'm using on Terra Station. Everything si matching.

Do you have any clue on what else could I check?

Thanks in advance!


Google Assistant - still able to control removed device

Home Assistant release (hass --version):
0.59.3
Python release (python3 --version):
3.6.3
Component/platform:
google assistant
Description of problem:

I wanted to remove a device from the google assistant home control
I added google_assistant: false to the config for that component and restarted hass
I removed the home assistant platform from the google assistant home control section
I added the platform again
The component that I removed is no longer listed in the devices list of the google app
I can still control the device using voice commands

Expected:

I should not be able to control this device anymore

Additional info:
I suspect at least part of this bug is google assistant still remembering old devices (despite not being in the devices list) and passing on commands to home assistant. But even in that case, Home Assistant should not execute that command if google_assistant: false is set to false. This might be a potential security issue.
Is there a way to manually check the list of devices that are exposed to Google Assistant?

try running "request_sync" service under the google_assistant domain.

I just tried (no errors in the console) but this didn't help

google_assistant: false is in the right place, since the device isn't listed anymore when re-adding the platform through the google assistant app. There's not much to learn from the config since they all are secret values ;) I double checked that it's correct according to the docs and the component works perfectly otherwise.

I figured out what happened:

I have 2 sets of blinds in my living room: "left blinds" and "right blinds" using the device type switch to raise and lower them (e.g., by "turn the left blinds on")
I added those to a group called "blinds" that contained the left and right blinds to be able to control them with one command (this seemed to work "turn the blinds on")
I then removed the group from home assistant (and google assistant)
I was still able to control the blinds using "turn the blinds on"

This lead me to believe that I could still control the removed device, while it actually was Google Assistant being more clever than expected. It apparently used fuzzy matching to determine that by "blinds" I meant "left blinds" and "right blinds" (although the google assistant type for them is switch since blinds aren't supported).


Elasticsearch keystore missing values

Chart version:
7.3
Kubernetes version:
1.11
Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
self hosted
Followed steps outlined in readme.

add secret to kubernetes, and verify it kubectl get secret
run helm chart to install elasticsearch with
keystore:

secretName: id

exec into elasticsearch pod and run bin/elasticsearch-keystore list
no entry for the s3.client,default.access_key

Same problem here.
This is what I have in Helm values:
keystore:

secretName: es-snapshot-oss-credentials
items:

key: s3.client.default.access_key
path: s3.client.default.access_key
key: s3.client.default.secret_key
path: s3.client.default.secret_key

'bin/elasticsearch-keystore list ' shows nothing.

Chart version: 7.3

This feature is not yet released and is only in master. If you are running from master could you provide the output of helm get elasticsearch (replace elasticsearch with your release name). I just got back from vacation and will be doing the next release tomorrow which will include this feature.

This feature is not yet released and is only in master

This has now been released and is available in chart version 7.3.2

Will look into and see if it working.  i was building from master and pushing to my own chart museum.

My issue is now related to #280


Add scheduled & PR container scans; restrict push scans to master

FYI @tbg-jasonfung this is how the GitHub Actions scans work in general. JS + TS apps are using GitHub's CodeQL one.


Prepare v0.5.2 release

r4r once again @mariux

@soerenmartius  i don't understand the change here but looks good to me

@soerenmartius i don't understand the change here but looks good to me

it's obvious no? we prepare a release in CHANGELOG.md


first feasibility reports

re: #31
Example usage:
In [3]: %paste
from gpkit import Variable, Model
x = Variable("x")
x_min = Variable("x_min", 2)
x_max = Variable("x_max", 1)
m = Model(x, [x <= x_max, x >= x_min])
#m.solve()
m.feasibility_report()

## -- End pasted text --
Infeasibility
-------------
      overall : 1.41
   constraint : [2.0, 1.0]
     constant : {x_min: 1.0}
Out[3]:
{'constants': {x_min: 1.0},
 'constraints': [2.0, 1.0],
 'overall': 1.414213562373095}

The overall infeasibility is the number each constraint's less-than side would have to be divided by to make the program feasible. The constraints infeasibilities are similar, but specific to each constraint. The constant infeasibilities are a set of substitutions that would make the problem feasible, so they're really more a set of "feasibilities".

This is really really cool!

A Jenkins build has been triggered

Testing... hold your breath...

All tests pass!
No test results found.

@galbramc acdl-jenkins is more excited than usual

Yeah, the default messages were not descriptive enough. So I customized them a bit. I have not sorted out the message "No test results found."

test this please (I can't help my self, I want to end on a success)

Added a gigantor docstring; @convexopt/developers, check it out here: a95d344618253b2a4c5e774a831827f25fc2b560#commitcomment-12655769

Merging because the only things changed since the last thumbsup were documentation.


find a better way to install python packages

sudo pip install seems like a bad idea

I am renaming the install script so these don't install next time

I'M RUNNING WITH IT

Closing in favor of wright8191/whw#22 for cron issues


Update ModelClassDiagram with new fields and event model

Change person to vendor and adjust fields
Add event model
didn't add association as not finalized

Do you want to wait for Kevin's PR to be merged before finalising this PR?

Do you want to wait for Kevin's PR to be merged before finalising this PR?

I think I would do that bah

Ready to merge:

Should we add in the Association class here as well?

Shall I add in the Association class here as well? Since the PR has been merged in.

Yup! Will need Assocation and its related classes to be added in before this PR is considered complete.
@kevin-pek @Jasperabez

Shall I add in the Association class here as well? Since the PR has been merged in.

Yup! Will need Assocation and its related classes to be added in before this PR is considered complete.
@kevin-pek @Jasperabez

Is association class referenced anywhere in model or model manager tho

Shall I add in the Association class here as well? Since the PR has been merged in.

Yup! Will need Assocation and its related classes to be added in before this PR is considered complete.
@kevin-pek @Jasperabez

Is association class referenced anywhere in model or model manager tho

It is included within the EventTory class though, through the UniqueAssociationList, so I believe it should be included. However, I think we should split up the Vendor, Event, Association and the classes representing the fields into a separate diagram, for better readability.

Updated the diagram to include the new classes.


Support creation of a new album when uploading

It would be useful to be able to create a new album via Rodeo when uploading images. Somehow we need to determine if the user wants a new album or if they want to error if the name is incorrect. This could be a prompt or a flag.

Decision to be made: Should we use --create-album {foo} or add interactivity to --album {foo} so that you can create the new album if it's not found?


detail pf place

hi
can I get detail of a places with placeid with this lib?
if no witch lib do you suggest?
is it possible to help me?

Seen you post this in a few different repositories.
##Google Developer Console.
You need to create an account and create an api key.
placeID
For something open source, try leaflet or openstreetmaps


feat: implement command to list/delete workers

duplicate of https://github.com/cloudflare/wrangler2/issues/2256 and https://github.com/cloudflare/wrangler2/issues/2257, closing


[Backport releases/v0.4] chore(consensus): ask for signed session outcomes without a delay

Description
Backport of #6043 to releases/v0.4.

I think we can live without it till 0.5. If anyone runs into the problem again let's re-open the backport.


Admin page breadcrumbs

The breadcrumb for the main admin page should say "Dashboard > Admin dashboard".
If the user chooses a function from the drop-down menu, the breadcrumbs should say "Dashboard > Admin dashboard > [function selected]"
That list of functions is

Search druid
Search SUNet ID
Generate item report
Generate collection report
Change item owner
Lock item
Decommission item

@jcoyne I'm not sure if we need a separate ticket for this, but the sake of completeness, I've made one. It will at least remind me to check that these exist and work properly.

We don't have many admin functions yet, but I'll get the plumbing setup for the breadcrumbs to be added easily as we put functions in.


Locate a sound and play it

Describe your problem here.
I want to locate a specific file to find a sound and play it mid song
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

you just need to add a folder in mods called sounds and do this if you want to play the sound
playSound('nameofsound', 1)


Is LogisticPCA the same as this repo?

There is a new repo that came out with a similar name but different graph, are they similar? https://github.com/andland/logisticPCA

Hi @BrandonKMLee, It looks to me as if the repo you point to (https://github.com/andland/logisticPCA) is a different formulation of logistic PCA to the one implemented in this repo. If you look at the preprint that code is based on (https://arxiv.org/pdf/1510.06112.pdf), you can see they mention Tipping's method (implemented here) and how it differs from their proposed formulation (last paragraph of the Background section).


update

Codecov Report

:exclamation: No coverage uploaded for pull request base (ka/codecov@29364b0). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             ka/codecov      #26   +/-   ##
=============================================
  Coverage              ?   44.44%
=============================================
  Files                 ?        7
  Lines                 ?      306
  Branches              ?        0
=============================================
  Hits                  ?      136
  Misses                ?      170
  Partials              ?        0

Continue to review full report at Codecov.

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


Modification of text re Turbulence 2D array

Feature request
please edit the description on line 491 according to the suggestion in the snip below:

Use Case
to ensure text reads correctly
Current state
array does not apply to extreme TI.  Extreme TI is a 1D array
Proposed Solution
see example edits

Now resolved turbulence categories better based on understanding of -1 so can close this


Unable to delete state property

Hi!! Given code the below
{
  customer: {
    itemsById: {
      1: {
        id: 1,
        firstName: 'Burr',
        lastName: 'Heyward',
      },
      2: {
        id: 2,
        firstName: 'Devin',
        lastName: 'Basler',
      }
  }
}

const remove = ( state, action ) => {
  delete state.customer.itemsById["1"]
}

const customerPageSlice = createSlice( {
  slice: 'customer',
  initialState: initialState,
  reducers: {
    remove: remove,
  }
} )

After executing store.dispatch({type : "customer/remove"}), the state isn't changed. Do i make any mistake or is it a bug?
Any help would be appreciated!!!

Your remove reducer seems to assume that it receives the complete store state, and hence tries to access state.customer.itemsById. However, what it actually receives is just the customer slice of the state, so the correct path would be simply state.itemsById.

sorry that i accidentally type Ctrl+Enter. So comment is submitted and closed. By the way, let me revise the code :
const initialState = {
  customer: {
    itemsById: {
      1: {
        id: 1,
        firstName: 'Burr',
        lastName: 'Heyward',
      },
      2: {
        id: 2,
        firstName: 'Devin',
        lastName: 'Basler',
      }
  }
}

const remove = ( state, action ) => {
  delete state.customer.itemsById["1"]
}

const customerPageSlice = createSlice( {
  slice: 'customer',
  initialState: initialState,
  reducers: {
    remove: remove,
  }
} )

version

redux-starter-kit : 0.4.3
immer : 2.1.5

What I meant is that you need to change:
const remove = ( state, action ) => {
  delete state.customer.itemsById["1"]
}

to:
const remove = ( state, action ) => {
  delete state.itemsById["1"]
}

because the state argumentis already the value of.customer`.


Rename Client to Facade

The Client class should be renamed to ApiFacade or something similar as that more closely reflects it goal and purpose.

Fixed in v0.2.0


A few contrib.postgres.search cleanups.

A few things I identified while investigating https://code.djangoproject.com/ticket/31304

@charettes Great job, thanks :star2:


Client Allocation Request for: NHN KCP CORP.

Client Allocation Questions
Core Information

Name: NHN KCP CORP
Website / Social Media: "https://www.kcp.co.kr/main.do" member of NHN CORP  "https://www.nhn.com/en/index.nhn"
Region: Asia excl. Greater China
DataCap Requested: 500TiB
Addresses to be Notarized: f3wi7p7plkdzeyq5mjfjjvgztv757tzzibqd5sfr5xgoj7snsp4y34x67khduur43tutwj4cp5diyfihs2h6aa
Notary Requested: philippbanhardt

@choibs95 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi @choibs95, this may better be dealt with as a large datacap application. You can either resubmit a smaller datacap request here, or start the process to get a larger datacap (500TiB and up) here.


✨ Add example for Elixir SDK

What are you trying to do?
I working on Elixir SDK documentation (https://github.com/dagger/dagger/pull/5530) and see that it needs to add examples into this repository. So I want to create this issue for tracking the progress.

[ ] Core concepts section

[ ] Mounting source files to a container.
[ ] Multi-stage build (https://github.com/dagger/examples/pull/32)
[ ] Multi-platform build
[ ] Cache mounts
[ ] Concurrency
[ ] Container publishing
[ ] Secrets
[ ] Services
[ ] Testing your pipelines

[ ] By language section

[ ] phoenix application build

I believe that the list above is enough for the first start. Feel free to comment for what am I missing.
Why is this important to you?
No response
How are you currently working around this?
No response

@wingyplus We've moved all of the examples to https://github.com/dagger/dagger/tree/main/examples. Could you please reopen this issue in https://github.com/dagger/dagger 🙏 Thank you!
We will archive this repo.


Getting odd behaviour when using STATE

@goshakkk so I'm trying out your STATE extension but getting some odd behaviour: https://jsbin.com/kijucaw/6/edit?js,output
Try clicking the "odd +" button which triggers a read to the STATE stream. It doesn't work as expected and if you click it multiple times you get a Maximum call stack size exceeded error. I'll be looking into a fix for this.
I was thinking that perhaps rather than a STATE stream we could do it the way redux-observable does: pass in the store reference down the ACTION stream somehow, so we can call store.getState() inside the stream composition whenever it is needed.

It's the issue with the way you use it — every action emits a full stream of STATE changes which leads to the infinite loops.
What would help is either:

xs/extra/sampleCombine, which I used in the readme; or
limiting the isOdd$ stream to 1 value so that each action would map to just 1 value of isOdd$ instead of all of them (sampleCombine does essentially the same thing)

const isOdd$ = state$
  .debug(state => console.log(state))
  .map(state => state % 2 === 1)
  .take(1);

https://jsbin.com/duzalovane/1/edit?js,output

I was thinking that perhaps rather than a STATE stream we could do it the way redux-observable does: pass in the store reference down the ACTION stream somehow, so we can call store.getState() inside the stream composition whenever it is needed.

To me, that screams anything but "reactive". Very imperative and non-deterministic, since there would be a possibility that by the time store.getState() is executed, the state has already changed and the result of the call would no longer reflect the state at the time this action has occurred.


[Feature] Add support to standard io stream

Hi @CharlotteFallices - could you please elaborate a little bit on this feature request? Perhaps give an example on how the it would work / what it's supposed to do?
The current title Add support to standard io stream with no further description is too vague for me to understand.
Thanks!

I don't know exactly how to describe it :(
I mean something like netcat..... which allows us use it with other shell scripts 👀

Thanks, I understand the request now.
Unfortunately the scope of nchat is only to be an interactive chat client. Command-line / automation usage are out-of-scope and not supported.
I'll proceed to close this issue.


ENV and ARG

We don't mention the ENV instruction at all. Does it add anything to an existing rule?
@davclark suggest it to pass metadata to programs inside the container: https://hyp.is/CsguqIDVEeqTU8uVjTPfvA/osf.io/fsd7t/

I see a few use cases for environment, and it would be worth a mention somewhere. Here is a quick shot for discussion:

The ENV directive for the Dockerfile allows for defining environment variables to persist inside the container ref. Environment variables can be useful for setting software versions and metadata intended to be discovered by installed libraries or software, or for adding binaries to the path (PATH) or library path (LD_LIBRARY_PATH). The user should be careful to distinguish these environment variables from those that might vary and be required at runtime. For runtime environment variables either to set a new variable or override one set in the container,  they can be set with the --env directive, or via using a docker-compose.yml file. For variables that are needed to be set at build time, the user is directed to use the ARG directive instead ref.

So in summary:

metadata needed by software in the container can be set with ENV
but changing metadata or variables in the environment should be set by user with --env / docker-compose.yml
build arguments are more appropriate to define build time parameters.

I've made the following change, with the reasoning that ARG is a way to create multiple variants of images based on a single Dockerfile, which IMO is something that is not a good practice for our data science scenario (goes against the "one Dockerfile per project" concept). Dev and prod are not ways that scientists think, having one environment under control is already plenty of work.
ENV can be used to pass runtime configuration or to avoid defining a value at multiple places (thinking of it, ARG can, too, but only at build time). ENV is indeed useful to properly install tools (add to path like you describe above).

only mention ARG
have example of ENV with PATH

One use of ARG that might be interesting: passing the git revision. Mentioned that in the text, could be added to the example because it nicely links Dockerfile and repository. But needs a Makefile :shrug:.


Create a new environment variable EXIT_ON_FAILURES.

Fixes https://github.com/StackStorm/st2chatops/issues/124
EXIT_ON_FAILURES default value is false and is optional.
If EXIT_ON_FAILURES is setup, for the case if st2chatops encounters authenticate or unresolved application URL issues with Stackstorm,  instead it's being unresponsive/hanging/waiting in a running state, st2chatops will be exit.

Close this PR because this changes is no longer needed.
For the case if st2chatops encounters authenticate or unresolved application URL issues with Stackstorm, instead it's being unresponsive/hanging/waiting in a running state, st2chatops will be always forced to exit.


Add 'update' method

Is there any interest in adding an optional instance method to the Mappable protocol that allows a model to be updated post-creation. Similarly to the init(Mapper) initializer, this function would accept a mapper object, and give the model an opportunity to update any mutable properties. Happy to have a go at adding this...

Up to this point we've thought immutable properties as a huge advantage of using mapper. The other problem with this plan is the limitation on optional protocol methods. We definitely don't want to require Mappable types to be limited to those inheriting from NSObject, or in general touching the Objective-C runtime. Unless we had some very compelling reasons to add this I would prefer this be an extension/new protocol specific to your use case.

As another thought on this. If you'd like that functionality where the majority of your properties will end up as var, you could implement a library that worked that way with a protocol that looked something like this:
protocol Mappable {
    init()
    func map(map: Mapper)
}

Then you could always use this map function to "fill" your objects. Before we switched to this library our internal library actually did that. I did a talk on mapper where I showed some examples of what that looked like if you're interested: https://realm.io/news/slug-keith-smiley-embrace-immutability/


Strip module names during serialization and validation.

Codecov Report

Merging #15 into master will increase coverage by 13.18%.
The diff coverage is 95.45%.

@@             Coverage Diff             @@
##           master      #15       +/-   ##
===========================================
+ Coverage   49.34%   62.52%   +13.18%
===========================================
  Files          23       23
  Lines        1139     1150       +11
===========================================
+ Hits          562      719      +157
+ Misses        577      431      -146

Impacted Files
Coverage Δ

src/validation.jl
0% <0%> (ø)
:arrow_up:

src/utils/test.jl
33.33% <100%> (+33.33%)
:arrow_up:

src/system_data.jl
78.22% <100%> (+11.26%)
:arrow_up:

src/components.jl
84.84% <100%> (+15.73%)
:arrow_up:

src/serialization.jl
65.33% <100%> (+65.33%)
:arrow_up:

src/InfrastructureSystems.jl
100% <0%> (ø)
:arrow_up:

src/forecasts.jl
72.76% <0%> (+16.59%)
:arrow_up:

src/utils/utils.jl
70.76% <0%> (+53.12%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


Iterator should support reverse option

I'm working through some issues with using hyperdb as a leveldown backend (https://github.com/andrewosh/hyperdbdown). #105 + #97 + #104 should cover most of the remaining features/issues, but an efficient approach to reverse iteration would also be expected.
Any thoughts on how to tackle this? I'm scratching my head a bit -- as it stands, the DFS trie search doesn't seem very amenable to reverse iteration, but maybe there's "one simple trick" I'm not seeing.

@andrewosh if you just flip the current sort order wouldn't it be reverse? :thinking:

@andrewosh I also shared the same intuition as you. It's great that its so simple.

you fixed this in latest! :)


Vote Bug Fix: Include all valid votes

Problem
Solana validators drop votes from their votes vector which they have already voted on, resulting in missed credits even though they voted on valid slots. This results in 1-2% lower vote credits.
Vote credits are earned when votes.len() == MAX_LOCKOUT_HISTORY. Validators do not include all of their valid votes, effectively missing vote credits.
As an example, a validator votes on slots 100, 101, 102, .. 105, 106. Without this fix, its vote vector will be missing 101 & 102 and not receive credit for that slot because the vote was popped when it did not need to be.
Summary of Changes
Modify pop_expired_votes to consider the parent slot sdk/program/src/vote/state/mod.rs. This prevents votes for a particular parent slot from being popped when that slot matches parent_slot of the current slot, which means it's a valid parent that was already voted on.
Credit

Zantetsu / Shinobi Systems for pioneering and sharing high level information around the vote credit bug openly in discord. Zan's alternative solution is here: https://github.com/bji/solana/commit/915909fc8539d4df7cc11ba14226ad6247c53cdb
Kiethy / Solstice Validator (https://github.com/Spud957) for ideating and working on the fix in this PR together.

Fixes #

@AshwinSekar mind taking a look?


Ecomax 850I support

Is there an existing issue for this?

[X] I have searched the existing issues

I want to suggest:

[X] support for a new product
[ ] new functionality for a product
[ ] documentation improvement
[ ] other

Feature description
I have Ecomax 850i3 standalone controller. It will be fine to have this controller supported. Can assist of getting required information for implementation.
Webpage of the product, that I'm suggesting:
No response
My diagnostics data:
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

As far as general device support concerned, I've answered you in PyPlumIO issue.
Hovewer, if you want specific sensors that are provided by EM850i, but are missing in HASS, you might want to setup this integration in HASS and send me diagnostics data to<EMAIL_ADDRESS>as described here.

Seems to be Mixer Target Temperature control is not working under mixer.Does not show temperature and if I try to move the bar shows : number/set_value. required key not provided @ data['value']
Mixer sensors are working as required.

Please post diagnostics data for the integration here as a attachment on  send it via email.
Sadly I don't have any mixers myself, so I'll need to have this data in order to track down the problem.
Thank you beforehand!

Sorry for long wait, but I think I figured out the issue with missing mixer parameters. Basically PyPlumIO was not requesting all available parameters, but only ones recently changed on the device. This is fixed now.
However as I am not totally sure that this is only thing that was causing the issue, for a time being I decided against releasing new HASS integration version with this change.
Instead I released PyPlumIO v0.2.30, that basically includes only this one fix and made main branch of HASS integration depend on it. If we'll find out that the mixer parameters issue is fixed with this, I'll release new version of HASS integration otherwise we'll continue to dig deeper into the problem.
This way we can avoid forcing users to install an update, that might not even do anything for them😉
So if you're still willing to help, please install main branch via hacs as I described here and check whether target temperature control is working for you or not. Once you do, please send diagnostics again, regardless of if it's working or not, and I'll figure out where to go next from there.
As always, thanks for your help!👍

I've added some more controllable parameters on 850i and standardized display names for circuits.
I think this can be safely closed now.
If you need more parameters added, feel free to let me know and reopen this.


Fix - OverlayImage fails #294 and onPositionChanged hasGesture fix

https://github.com/johnpryan/flutter_map/pull/365/commits/23c8475e8277feb04cf245141cb9a0718e275ca7 - obsolete, can delete


Fix issue with lateral view explode sql rendering

Summary
LATERAL VIEW EXPLODE(...) abc AS a1, b1 should not have parentheses around a1, b1, but the current sql rendering does put parens around them, which results in an invalid Spark SQL query.
Test Plan

[ ] PR has an associated issue: #
[ ] make check passes
[ ] make test shows 100% unit test coverage

Deployment Plan

Thank you! Please give me a ping when merged + deployed.


Usb documentation needed

Design goals for the USB abstraction were

complete static binding
fully configurable (to the point of micromanaging memory strategy)
unit tested for everything upwards from the HAL

Although I think these can be/have been met the interfaces between the HAL and the USB::Device as well as the interface between the USB::Device and the device classes could not be implemented as cleanly as I had hoped.
We need to do a good job of documenting the contracts between the Usb::Device and the Hal as well as the contracts between the Usb::Device and the interface class(es).

@CvRXX hey I can offload this onto you now that its your research topic ;)


Training with multi-GPUs

The code works fine when I train with one gpu.
The _warm_up process works fine when using multi-gpus distributed training，but the _train_epoch process gets stuck. Gpus and cpus are still running normally. Have you encountered the same problem?

Thanks for your interest.
No, I didn't meet such issues...  Could you please provide more training details, including batch size, and resolution? Also, could you please point out which parts of the code cause such stuck?
Regards,
Yuyuan Liu

I've found a pential issue in here. In case there isn't any confident pseudo-mask for 1 GPU, and another GPU will infinitely hangs in the backward process.
Please modify it based on the newest code, and I apologize for the inconvenience.

thank you very much！
I will try it now.

I'm closing the issue.
If you have any questions for implementing the code or reproducing the result, please feel free to reopen it or send me an email.
Regards,
Yuyuan


Load Appointment Notifications

Overview
This PR:

Fixes #2
Lists Haircut styles

How to test
Step 1: Load the latest app changes
Step 2: Navigate to the home page
Step 3: Click on the Hair Cuts Tab at the top
Demo

Overview
This PR:

Fixes #2
Adds parenthesis buttons to the calculator

Demo

It seems the parenthesis are evaluated in reverse. Please take a look

It seems the parentheses are inverted during evaluation. Please have a look

Can comment too.

Test comment

Testing Annotation
Testing screenshot annotation in the next line

Reviewing upload functionality

Sample IMage

Parens are inverted

Parens are inverted

Parens are inverted

This seems to work

Hello

Test 1

Test 2

Test 3

test 5

test 6

test 7

test 10

test 11

test 12

test 13

test 14

test 15

test 16

test 17

test 18

test 19

test 20

test 21

test 22

test 23

test 24

test 25

test 27

test 28

test 29

test 30

test 31

test 32

test 33

test 34

test 35

test 36

test 37

test 38

test 39

test 40


feat: argocd: configure oauth2 client id for CLI usage

This is a public client so has to be separate from the web one.
Related:
https://github.com/RSS-Engineering/undercloud-deploy/pull/195

Note to the reviewer(s): I have tried $argocd-sso:cli-client-id but the secret interpolation does not work in this field

They've now added a whole config file interpolation with gomplate which I think we should ultimately switch to.


Add recommendation to general error message

Maybe all error messages should come with a suggestion to update to the lastest/a later trident version. We're frequently fixing bugs and users should ideally not rely on outdated trident versions.

I agree!

This is harder than I thought. I considered various options:

Check for the latest version on GitHub (https://api.github.com/repos/poseidon-framework/poseidon-hs/releases/latest) and inform the user if their version is outdated. I don't like that, because it depends on an external service. Even if we make it very robust (check if there is an internet connection first, etc.) we still build something that will certainly stop working at some point in the future. And we force tens of thousands of http requests where they aren't really necessary.
Amend the general error handler (as suggested in the issue here), to display a generic message along the lines of "You encountered an error - please check if the latest version fixes that.". When I thought about it I realized that this is not particularly helpful. A lot of problems where a version update helps (e.g. schema version mismatch) are actually WARNINGS, not ERRORs. And the real ERRORs are actually often unlikely to be fixed with a version update.
Amend the startup message. Right now we have

trident vX.X.X.X for poseidon v2.5.0, v2.6.0
https://poseidon-framework.github.io

I fear adding a sentence conveying that "there might be a new version" is pointless thanks to banner blindness.
So I'm out of ideas here. Maybe we just change the specific warning Ayshin encountered and leave it at that :shrug:

@stschiff and I discussed this now. I will just change the specific warning in #231.


Config file loaded via CLI takes priority over env vars

What does this PR try to resolve?
Fixes #10992
Behaviour changes: After this commit, config files loaded via CLI take
priority over env vars. Config files loaded via config-include
feature also get a higher priority over env vars, if the initial config
file is being loaded via CLI.
Cargo knows why it loads a specific config file with WhyLoad enum,
and store in the field of Definition::Cli(…). With this additional data,
config files loaded via --config <path> get a Definition::Cli(Some(…)).
In contrast, --config <value> with ordinary values become Definition::Cli(None).
The error message of the Definition::Cli(Some(…)) is identical to
Definition::Path(…), so we won't lose any path information to debug.
How should we test and review this PR?
 The first two commits adding tests to config-cli and config-include, which exercises the expected behaviour we are going to fix in the next commits.
To check the precedence, set up a project with an extra config file, such as
# Expect to have a target-dir named `foo`
CARGO_BUILD_TARGET_DIR='env' cargo c --config 'build.target-dir = "cli"' --config .cargo/foo.toml

# Inside .cargo/foo.toml
[build]
target-dir = "foo"

Additional information
This is a bit hacky IMO. I don't like leaking the path info to Definition::Cli. However, it is really tricky to provide information for deserialization before values get merged.

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

Thanks!
@bors r+

:pushpin: Commit e0502e4e78335a32f7c905db78ff05c20e2b9867 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit e0502e4e78335a32f7c905db78ff05c20e2b9867 with merge 0c29d43b9a54e6c30d51465ca365c50344ed59a1...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing 0c29d43b9a54e6c30d51465ca365c50344ed59a1 to master...


Halfops

I think halfops should be supported. It's standard at this point, supported by the majority of IRCds.

Fixed by 3972fc49ede543e50b5ecfa3cd1952c9a00f7034


(feat) Switch to object styles to shave size and gain perf

This one address #3.
I added the amazing @ampproject/filesize to track the filesize across builds. It doesn't run now as in is not hooked into build or other, so one would have to run it with yarn filesize. It can be part of the build step, I didn't want to add too many things at once. 😃
Let me know your thoughts.

@cristianbote
Thank you for the PR :tada: , adding @ampproject/filesize is a good idea to keep constant track of bundle size, and yes adding to post build is a very good suggestion,
I am merging this PR as of now and add filesize command in build step while bumping up the version

Moved @ampproject/filesize to devDependencies and v2.0.1 is published :tada:


Invalid content /en/itn/tools/jorvote/

 the windows voting zip does not open after being downloaded 3 separate times. I would expect it to open so that a vote can be made on a windows system
Where does the issue occur?
Link to the file or location on the website where the issue occurs. Optionally add screenshots for context.
Describe the issue
A clear and concise description of what the issue is.
Expected changes
A clear and concise description of what you expected to change.
Additional context
Add any other context about the problem here.

Thank you for your feedback, the ITN environment has been closed several months ago, so closing this issue respectively. We are sorry that this issue hasn't been addressed earlier, please see the latest documentation here and contact our support team in case any questions occur.


Add support for Blynclight Plus

Added support for e.g Blynclight Plus or other Blynclight products.

Hey there. Hope you're doing well.
What happened here?
Did you get this running locally?
Why would you close it?

It work very well, but I changed other things too after I created the pull req. This changes will break your code so I just closed it.

Ok, well, I'm not really using this anymore so I'm open to talking about breaking changes.
If you want your changes just for yourself-- you can probably fork this project and keep it locally and be all good.
If you want to publish your changes (up to npmjs.com) because other people will use them we could do that under a new major version. I suspect you'd need some new documentation if you wanted people to understand what was up.
Either way-- I hope this was helpful to you for getting stuff going w/ whatever project you're thinking of and I hope you have a good day.
Best,

I'm just experimenting with Blynclight Plus so for now I just fork the project and keep it locally, but if it works very well I will contact you. Thanks! Your project has been very use full too me.


ID when use upsert, connectOrCreate and things like that

I was really struggling yesterday with an update query to a table with many different relations. I spent hours to understand the errors and find the solution. So yesterday i gave up and i tried it recently and found a solution. But the solution is not that clean as i wanted. Maybe its just my opinion.
Here ist what i wanted to do.

this.prisma.blogs.update({
            where: {
                id: req.body.id
            },
            data: {
                title: req.body.title,
                text: req.body.text,
                images: {
                    connect: { id: req.body.images_id }
                },
                embed: req.body.embed,
                embedType: req.body.embedType,
                categories: {
                    connect: { id: req.body.categories_id }
                },
                sources: {
                    connectOrCreate: req.body.sources.map((source: any) => { return {
                        where: { id: source.id ? source.id : 0 },
                        create: { name: source.name, url: source.url }
                    }})
                },
                blogs_has_tags: {
                    upsert: req.body.tags.map((tag: any) => { return {
                        where: {
                            blogs_id_tags_id: {
                                blogs_id: req.body.id,
                                tags_id: tag.id ? tag.id : 0
                            }
                        },
                        create: {
                            tags: {
                                connectOrCreate: {
                                    where: { id: tag.id ? tag.id : 0 },
                                    create: { name: tag.name }
                                }
                            }
                        },
                        update: {
                            tags: {
                                connectOrCreate: {
                                    where: { id: tag.id ? tag.id : 0 },
                                    create: { name: tag.name }
                                }
                            }
                        }
                    }})
                },
                updatedAt: new Date()
            },
            include: {
                categories: true,
                images: true,
                blogs_has_tags: {
                    include: {
                        tags: true
                    }
                },
                users: {
                    select: {
                        realName: true
                    }
                },
                sources: true
            }
        })

Take a look at the where definitions of the relations. I pass an array of elements with maybe new elements and i have to check if the new element in the relation table exists or not, when not create a new record for it.
In the documentation i read that you are focused to use the where definition, what is no problem at the moment. Because i have to check existence. But what me bothered is that you are focused to pass a value. So for id its an integer.
The problem with new elements, that you want to add to the table, is that they dont have an id yet. Yesterday i got errors in my query at the point where i wanted to check the new element if its exists in the table, because the id field was undefined.
So in the where definition i have to check if my id field exists, when not then pass a fake id, in my example just 0.
So my request would be, when you work with relations and you use things like connectOrCreate, then it would be very cool, when the id check in the where definition would accept undefined. So its not needed to pass a fake value.
I hope you can understand what i mean with this.

Related: https://github.com/prisma/prisma/issues/4648
Maybe we should make both connections optional here.

This also creates a bad user experience when using uuids as IDs. Since you can't pass undefined or null but instead have to generate a fake uuid.
I had to do this:
private create = (params?: ParamsType): Prisma.OptionCreateInput => {
    return {
        ...this.generateOne(),
        products: {
            connectOrCreate: {
                create: {
                    ...this.productFactory.generateOne(),
                },
                where: {
                    id: params?.existing?.productId ?? faker.datatype.uuid(),
                },
            },
        },
    }
}

What I would expect is if I pass null/undefined in the where clause, it would go to the create clause resulting in much cleaner code.
private create = (params?: ParamsType): Prisma.OptionCreateInput => {
    return {
        ...this.generateOne(),
        products: {
            connectOrCreate: {
                create: {
                    ...this.productFactory.generateOne(),
                },
                where: {
                    id: params?.existing?.productId,
                },
            },
        },
    }
}

@vuki656 I made the same assumption that led me to this issue. Does Prisma agree with this? If so, I'm happy to tackle the PR myself.

@vuki656 I made the same assumption that led me to this issue. Does Prisma agree with this? If so, I'm happy to tackle the PR myself.

I think the design is intentional, although not 100 sure. @janpio could you elaborate?

Hmm maybe a built in helper function could make sense.
For example
where: {
   id: createIfEmpty(id)
}

And createIfEmpty passes in a symbol that indicates the query should be skipped if id is empty.

This would be super helpful

I am running into the same issue here where I need to pass some unique id to prisma.
model Address {
  id          String      @id @default(auto()) @map("_id") @db.ObjectId
  line        String
  city        String
  state       String
  zipCode     String
  addressType AddressType
}

{
  connectOrCreate: data.addresses.map((address) => ({
    where: {
      id: address.id, // <---- ID here is undefined the first time around
    },
    create: { ...address },
  })),
}

Running into the exact same issue as above, it would be great handling if it when where is undefined, it creates. If the create fails, then throw an error.
Any updates?

have same issue as @IrakliK. is there any update regarding this issue?

bump

Same issue, any news?

It would be great if the query auto switches the create clause when the where value is undefined

Is this issue essentially the same as https://github.com/prisma/prisma/issues/5233?