App using analytics.google fails to build on Android for 5.0.0.GA

Environment:
Mac OSX 10.10.5
Ti CLI 5.0.4
Ti SDK 5.0.0.GA
Targetting Android SDK 21
Android build tools 22.0.1
[ERROR] Failed to run dexer:
[ERROR]
[ERROR] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
[ERROR]
[ERROR] UNEXPECTED TOP-LEVEL EXCEPTION:
[ERROR] java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/LocationSource;
[ERROR]         at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
[ERROR]         at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
[ERROR]         at com.android.dx.command.dexer.Main.processClass(Main.java:732)
[ERROR]         at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
[ERROR]         at com.android.dx.command.dexer.Main.access$300(Main.java:83)
[ERROR]         at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
[ERROR]         at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
[ERROR]         at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[ERROR]         at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[ERROR]         at com.android.dx.command.dexer.Main.processOne(Main.java:632)
[ERROR]         at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
[ERROR]         at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
[ERROR]         at com.android.dx.command.dexer.Main.run(Main.java:246)
[ERROR]         at com.android.dx.command.dexer.Main.main(Main.java:215)
[ERROR]         at com.android.dx.command.Main.main(Main.java:106)
[ERROR] 1 error; aborting

Removing analytics.google module results in a successful build.

Hi @shodanuk. Thanks for the report. Was this run on your own app or on the test app in the repo? Are you able to update and run the test app for 5.0.0.GA?

Hi,
The test app in the repo builds ok but then crashes as soon as it starts with the following (both before & after updating the ti sdk in tiapp.xml):
[ERROR] TiApplication: (KrollRuntimeThread) [47,180] Sending event: exception on thread: KrollRuntimeThread msg:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/analytics.google.test-1/base.apk"],nativeLibraryDirectories=[/data/app/analytics.google.test-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libanalytics.google.so"; Titanium 3.5.0,2015/01/12 15:33,0014f83
[ERROR] TiApplication: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/analytics.google.test-1/base.apk"],nativeLibraryDirectories=[/data/app/analytics.google.test-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libanalytics.google.so"
[ERROR] TiApplication: 	at java.lang.Runtime.loadLibrary(Runtime.java:366)
[ERROR] TiApplication: 	at java.lang.System.loadLibrary(System.java:989)
[ERROR] TiApplication: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:132)
[ERROR] TiApplication: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:99)
[ERROR] TiApplication: 	at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:185)
[ERROR] TiApplication: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:109)
[ERROR] AndroidRuntime: FATAL EXCEPTION: KrollRuntimeThread
[ERROR] AndroidRuntime: Process: analytics.google.test, PID: 17321
[ERROR] AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/analytics.google.test-1/base.apk"],nativeLibraryDirectories=[/data/app/analytics.google.test-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libanalytics.google.so"
[ERROR] AndroidRuntime: 	at java.lang.Runtime.loadLibrary(Runtime.java:366)
[ERROR] AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:989)
[ERROR] AndroidRuntime: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:132)
[ERROR] AndroidRuntime: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:99)
[ERROR] AndroidRuntime: 	at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:185)
[ERROR] AndroidRuntime: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:109)

Interestingly, if I add a reference to ti.map in the tiapp.xml of your test project, I get the dexer error I originally reported.
Then if I remove the analytics.google reference but leave the ti.map ref, it builds ok.
Looks like it might be a conflict with ti.map?

I don'T compile my project because of same issue. Older versions of your modules don't compile too.

Yes when I remove ti.admob module from my project it complied.

Looks like it might be a conflict with all ti.*** modules.
example: ti.admob - ti.dfp - ti.map

@shodanuk do you know any alternative analytics module working with sdk 5.0

@kerbooo I don't about any other working ones but you might find others on http://gitt.io.
@astjohn I'm afraid my native skills aren't up to much but there's anything else I can do to help debug this, please let me know.

Hi @shodanuk I solved my problem. I get help from this link https://developer.appcelerator.com/question/141306/how-can-i-know-my-titanium-module-path
I am using ti.admob and this module in my project. I think you are using Mac OS.  Every modules has got "lib" folder.
This module use a jar file which name is "google-play-services.jar"
Looks like it might be a conflict with if your other module use same or like "google-play-services-base.jar" files. May be you can delete or use same "google-play-services.jar" for your project.

@kerbooo Hey. Thanks for the tip. Unfortunately, I've already tried this but it didn't work for me. Ti.map doesn't use the standard google-play-services.jar anymore but now has two libs: google-play-services-base.jar & google-play-services-map.jar. I tried dropping in google-play-services-base.jar but that didn't seem to work.

@shodanuk There was same thing for me I found "ti.admob" 's older version which using "google-play-services.jar" I solved with this version. May be you can find analytics module which use "google-play-services-base.jar"

@kerbooo Maybe. I've tried most of the others but they weren't as good as this one. Hoping it gets fixed soon :)

Hey guys. Apologies because I've been swamped recently, but perhaps I can take a deeper look this weekend. I was also one of the authors for the recent drawing additions to Ti.Map and so it's in Sitata's best interest to make sure the two modules play nice with each other.

You might want to look at my pull request, which gets into issues of google play services compatibility.  I think this is one of the biggest problems Titanium has on the android platform.  It's getting harder and harder to build an android app and not run into this problem.

@kerbooo I have exactly the same problem as you had but I cannot seem to solve it. Can you please tell me what exactly to rename and what should be the new name of the jar?

@vladcvoinescu Hi I am using ti.module and this module in my project. If you are using same modules too. You can import ti.admob module's 2.1.4 version and this module's lasted version. So yo don't do to need anything more and any fix.
ti.module's link: https://github.com/appcelerator-modules/ti.admob/releases/tag/android-2.1.4

Ok, after about 8 hours of trial and error during a few days, I eventually fixed it by removing all the jars that were in the lib folder of the modules that I use (admob, google analytics) and replacing them with the complete one from the android sdk tools (C:\android-sdk-win\extras\google\google_play_services\libproject\google-play-services_lib\libs). If you decide to follow this method, bare in mind that you will have to delete the modules from C:\ProgramData\Titanium\modules\android first, then recompile them using the complete GPS jar (- in case you are deploying the modules for Titanium SDK, if not, you will probably have to delete the modules from your project).
@kerbooo Thank you for the fast reply. I should have posted earlier and maybe would've won some hours with your help :) I used the aforementioned method and it worked for me.

@vladcvoinescu my native skills is not good. Do you share your modified modules with me?

@vladcvoinescu  When I was using MAC OSX, lasted titanium sdk was 5.xx I installed Appcelerator Studio for windows from Appcelerataor Platform, Studio is installing mobilesdk-3.5.1RC is it normal?  And studio doesn't update anything after installation finished.

I only have two modules in my app that include Google Play Services: ti.map & analytics.google. I removed the gps jar from the analytics.google module's lib folder but unfortunately I am now seeing what can only be described as one of the biggest stack traces I've ever encountered.
Please see: http://pastebin.com/5DDPBBER
Again, removing the analytics.google module "fixes" this.
There definitely seems to be a compatibility issue between analytics.google & ti.map and I'm also now wondering if the problem would also occur between ti.map & any other module that uses google play services.

This sort of google play services conflict is becoming a really big problem for Titanium developers.
I think you can solve this problem using the technique that I outline here (in my last couple of comments).
The bottom line is that I think you're going about things backwards.  I think you should use the google play services jar from analytics.google, not the one from ti.map.  IIRC, the one shipped with ti.map is not complete; it is stripped down to just the code that is required for google maps.  So you don't want to use that one with analytics.  Use the full JAR shipped with analytics with the ti.map module.
I realize that means modifying a module that is shipped by Appcelerator, but I can tell you that it has worked for us so far.  I am using my forked version of titanium-google-analytics, which I have updated to the latest google play services (or at least it was the latest when I did that a month ago).

Hmm ok. The reason I pulled out the analytics.google google play services lib included with ti.map appears to have been split into 2 parts with slightly different names: "google-play-services-base.jar" + "google-play-services-map.jar". @jpriebe, Presumably this is what you're referring to when you say the version of google play services that ships with ti.map is "stripped down"?

Yes, that's what I mean.  See this article for details about how developers can now selectively use individual APIs from Google Play Services.  But if you only have the base and the map API JAR files, you won't have the analytics code, so it's no big surprise that titanium-google-analytics isn't working.
Thus I suggest just getting all the modules synced up on a single google play services JAR file that includes enough for all of them.  It's a royal PITA, but I don't know a better way around it.

I've had this same problem, and my workaround for now was to revert ti.cloudpush back to v 3.3.8 and ti.map back to 2.3.1 (both the second most recent versions). They must be using updated gps jar.

I can confirm that removing the google-play .jar files from all the non Google Analytics module lib folders and replacing them with the google-play-services.jar from the Google Analytics lib folder works great. It appears Google Analytics has a full version and most other modules use a smaller .jar file. Having just one that is all-encompassing and keeping them in sync seems to work great so far.

Having the same issue. Attempted jabele's solution which allows the dexer to complete but then results in an insta-crash on app launch.
I copied the google-play-services.jar from the GA module lib folder, deleted the partial gps jars from the ti.map lib folder, and replace them with the single google-play-services.jar.
Unfortunately the app doesn't leave a stack trace on crash, so it's difficult to troubleshoot this further.

An entire day of troubleshooting and I figured out a solution!
What I ended up doing was replacing one of the google-play-services.jar with the official jar that you can download from the Extras section of the Google SDK manager (./android) tool. Once that was done, I deleted all other gps jars from other modules that may contain it.
The last step of this process is a bit more convoluted:
Each of the add-on modules have a platform/android/res/ that contains a version.xml file inside of which has a line with google_play_services_version and an integer. All you have to do is change that value to the correct gps version and you're set!
The only drawback to this approach is that it will likely cause you to hit your 64K Dalvik references limit since you're importing the entirety of the Google Play Services jar. I'm sure there is a way to work around that, but this solution works for my use case.
Good luck!

After going through the link which @jpriebe had shared, which states the separation of the Google Play libraries into smaller parts, there is something for analytics. What I was wondering is that instead of using the entire google-play-service JAR, can we not use the google-play-service-base and google-play-service-analytics instead? I have not tried it, but just a thought which I wanted to share. One such link to the JAR file is, https://github.com/dandar3/android-google-play-services-analytics. I do not know the version number of it though.

@soumyakantikar This is 100% the best approach if possible. I realize I've been out of touch lately, but I've been completely swamped. If someone can attempt this and make a proper pull request, I'm all for it. Anything moving forward should be backwards compatible to the lower Titanium API's. i.e. see if it will work with the minimum Titanium API that's currently specified.

I will work on this in the weekend and update as to whether it is working or not. I have had posted a query in StackOverflow too, where Fokke has responded. If anyone is interested, then you can follow up. There is a TIMOD ticket also open.
http://stackoverflow.com/questions/35731035/android-module-with-google-play-conflict-during-build

After adding google-play-services-analytics.jar to the module, we are still getting the dex error. For testing, if we remove the base.jar from the lib folder of CloudPush, then in that case the dex error is not coming. Hence, there are functions which are present in both base.jar and in the analytics.jar. As Fokke, mentioned I guess, there is no other way, as of now, than to remove the JAR files from all the modules than one so that the duplicate issue is not generated. I will still continue to see if there is any other process.

When using the google-play-services-analytics.jar from the following link then the module is building properly, no dex is found. But, the only catch is that this JAR needs google-play-services-base.jar to be present, and if using this module in conjunction with another TiModule (for example TiCloudPush) then in that case the dex error is generated again and we need to remove the base.jar from this module (no need to modify the Appcelerator modules). Now I will test and confirm that the applications are building properly and that they are functioning properly.

I've created a new module project with your java files to check if the problem can be produced by the project, but no. The problem is the same.
If I introduce 2 different google_play_services.jar files, Appcelerator tells me.  But in this case I haven't got this error.
I need to solve this quickly, because my boss.
My error is in both modules (yours & mine):
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzrn;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzrp;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzro;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzrl;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzrm;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/zzc;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/ConnectionResult;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/zza;
[ERROR] :  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/Scopes;

The temporary solution for me is:
1.- Download ti.map master from gitHub
2.- Change google-play-services-base.jar and google-play-services-map.jar  --> for google.play-services.jar (the same that analytics.google project)
3.- Change in version.xml the number 7571000 --> to 6171000
4.- Compile the module
Then, the two libraries can work together.

@annamf Yes, this approach will also work.

@soumyakantikar Sorry, It doesn't work. Ti.map doesn't work with the google-play-services.jar some classes are missing.
Where can I find the google-play-services-analytics.jar??? or another google-play-services.jar that includes all the libraries about maps??

I will create the PR. For my test scenario, Google Analytics is working fine with Google Cloud Push and they are working in harmony. I have tried it with 5.2.0.GA. Would request others to test and confirm.

Hi all. I seem to be experiencing a similar issue, but I am only using the singular Analytics module, not the map one. This is the error message i'm getting:
[ERROR] :  AndroidRuntime: FATAL EXCEPTION: KrollRuntimeThread
[ERROR] :  AndroidRuntime: Process: com.****, PID: 8783
[ERROR] :  AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.****-1/base.apk"],nativeLibraryDirectories=[/data/app/com.****-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libanalytics.google.so"
[ERROR] :  AndroidRuntime: 	at java.lang.Runtime.loadLibrary(Runtime.java:366)
[ERROR] :  AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:989)
[ERROR] :  AndroidRuntime: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:132)
[ERROR] :  AndroidRuntime: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:99)
[ERROR] :  AndroidRuntime: 	at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:205)
[ERROR] :  AndroidRuntime: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:114)

I'm currently using Titanium SDK 5.2.1, and i'm using the Android SDK 6.0 (Level 23).
Any suggestions / guidance would be much appreciated. I've tried the above to no avail.

Hi @annamf,
I have done the changes as per you said, but when showing map app crashing..
[ERROR] :  TiApplication: (main) [7920,27089] Sending event: exception on thread: main msg:java.lang.NoClassDefFoundError: ti.map.TiUIMapView; Titanium 5.2.1,2016/03/18 22:51,23e1c7d
[ERROR] :  TiApplication: java.lang.NoClassDefFoundError: ti.map.TiUIMapView
[ERROR] :  TiApplication: 	at ti.map.ViewProxy.createView(ViewProxy.java:79)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:492)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:478)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:516)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:500)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:478)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:516)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:500)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:478)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:516)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:500)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:478)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.handleAdd(TiViewProxy.java:679)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.proxy.TiViewProxy.add(TiViewProxy.java:573)
[ERROR] :  TiApplication: 	at ti.modules.titanium.ui.WindowProxy.windowCreated(WindowProxy.java:258)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.TiActivi
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.TiBaseActivity.windowCreated(TiBaseActivity.java:524)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:638)
[ERROR] :  TiApplication: 	at org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18)
[ERROR] :  TiApplication: 	at android.app.Activity.performCreate(Activity.java:6259)
[ERROR] :  TiApplication: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)
[ERROR] :  TiApplication: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
[ERROR] :  TiApplication: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
[ERROR] :  TiApplication: 	at android.app.ActivityThread.-wrap11(ActivityThread.java)
[ERROR] :  TiApplication: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
[ERROR] :  TiApplication: 	at android.os.Handler.dispatchMessage(Handler.java:102)
[ERROR] :  TiApplication: 	at android.os.Looper.loop(Looper.java:148)
[ERROR] :  TiApplication: 	at android.app.ActivityThread.main(ActivityThread.java:5443)
[ERROR] :  TiApplication: 	at java.lang.reflect.Method.invoke(Native Method)
[ERROR] :  TiApplication: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
[ERROR] :  TiApplication: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
is there any solution on it.?

@soumyakantikar, I think I'm making progress and made a new branch, but haven't had time to test yet. Can you (or anyone else) please see if it works and report back. Thanks!
New version number will be 3.2.0. Use the zip in this folder:
https://github.com/Sitata/titanium-google-analytics/tree/3.2.0/android/dist
Please treat it as an unstable release candidate.

@astjohn
Thanks for giving reply on this issue. I really appreciate your work.
I have tested this module of version 3.2.0 but it not working.
Giving me following errors-
[ERROR] :  Failed to run dexer:
[ERROR] :
[ERROR] :  UNEXPECTED TOP-LEVEL EXCEPTION:
[ERROR] :  java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/zzau$zza$zza;
[ERROR] :  	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
[ERROR] :  	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
[ERROR] :  	at com.android.dx.command.dexer.Main.processClass(Main.java:732)
[ERROR] :  	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
[ERROR] :  	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
[ERROR] :  	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
[ERROR] :  	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
[ERROR] :  	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[ERROR] :  	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[ERROR] :  	at com.android.dx.command.dexer.Main.processOne(Main.java:632)
[ERROR] :  	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
[ERROR] :  	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
[ERROR] :  	at com.android.dx.command.dexer.Main.run(Main.java:246)
[ERROR] :  	at com.android.dx.command.dexer.Main.main(Main.java:215)
[ERROR] :  	at com.android.dx.command.Main.main(Main.java:106)
[ERROR] :  1 error; aborting

I gone through these 2 modules ti.map and google.analytics of versions 2.3.6(latest) and 3.2.0 respectively.
ti.map module's lib folder contains google-play-services-analytics.jar and google-play-services-base.jar
AND
google.analytics module's lib folder contains google-play-services-map.jar and google-play-services-base.jar
Means they are containing same google-play-services-base.jar file. Because of that this error is coming.
I have removed this jar alternatively from these 2 module and run the app but failed.
App cant run or installed in mobile or in android emulators.
Can you please look into this issue.
Thanks in advance..

@dineshkoli You're correct. Appcelerator has chosen to create this base.jar and other jars as a way to trim down google play services for apps that don't need all of google play services. This means that all modules which use google play services must include both base.jar and whatever other trimmed down jar is necessary. Here it is analytics.
As a result, all modules now need to include base.jar and the other jar file. This is for the case when a user is only using one module using google play services. However, our app and your app both use maps AND analytics.
This might mean that we always need to remove base.jar from one of the modules. I'm not sure. It might also mean that the stripped down analytics.jar that I made included some things that are already in base.jar. I'm still trying to figure out how they stripped down the jars to make base.jar and map.jar. Clearly, the stripped down analytics.jar file I made has some overlap with something that's in base.jar. I think if we can figure this bit out then we'll have a working solution.

@dineshkoli I pushed some updates. Can you please try again?
You will have to replace the base.jar in other modules with the one from this module.

@astjohn I have used your updated code and replace base.jar. And it working fine..
Great work astjohn.
Thanks a lot for your help.. :)

@astjohn I have been held up with multiple tasks recently and hence could not look into it. But from the changes and the post, I would say that we both are going in the same direction. We need to include the analytics.jar and use the base.jar from other modules, if we are including multiple Google Play dependent modules. I will look into it from my end too and confirm.

Hi guys.
Thanks for all these great contributions. I think that found a solution that can work for every body.
First of all, it seems like finding the proper jar files from a safe trustable source is quite difficult. For that, simply install Android Studio and let Grade find the jars for you (regardless of the version). You can find all the Grade package names for the Google Play Services sub-packages at https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project.
Then, find the jar files in your project directory and rename them appropriately because they will all be called classes.jar in a package specific directory.
The following is an example that I have got in my project directory ...
./app/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/8.4.0/jars/classes.jar   ---(rename to)---> google-play-services-analytics.jar

./app/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/8.4.0/jars/classes.jar   ---(rename to)---> google-play-services-base.jar

./app/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/8.4.0/jars/classes.jar   ---(rename to)---> google-play-services-basement.jar

./app/build/intermediates/exploded-aar/com.google.android.gms/play-services-gcm/8.4.0/jars/classes.jar   ---(rename to)---> google-play-services-gcm.jar

./app/build/intermediates/exploded-aar/com.google.android.gms/play-services-maps/8.4.0/jars/classes.jar   ---(rename to)---> google-play-services-maps.jar

Then use the combination of the google-play-services-basement.jar and google-play-services-base.jar plus any other jar that you need (maps, analytics, etc.)
So the steps are ...

Create an project in Android Studio
Modify the build.gradle file and added the google-play-services-* dependencies that you need and sync the project so that the needed files are all downloaded.
Find the jar files and rename them appropriately.
Copy the jar files everywhere in titanium modules wherever they are needed (even in Titanium modules that you may be building).
Compile the project.
Enjoy

Not that you do not need to be careful about not duplicating the jars are long as they have they are identical (ex. from the same version of Google Play Services).
If you are building a module, it can happen that you receive an error message about the expected version vs the used version. In such case, set the version manually.
The example below show what I had to do in my module (the expected version was 8487000) ...
<!-- <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> -->
<meta-data android:name="com.google.android.gms.version" android:value="8487000"/>

It is working properly and the data are getting posted into Google Analytics. Any body else found any issue or has any update on the same?

Hi @soumyakantikar have you used the solution above from @asiby ? Are you running Titanium 5.2.2.GA ?

@soumyakantikar @asiby @astjohn -- im having some trouble getting the solution to work, using analytics and maps.  What Ive done:

built a sample android project, and pulled down all the individual google play service jars.
renamed and moved each classes.jar to my project's module directory, ie:
-- /Users/me/Documents/Appcelerator_Studio_Workspace/ProjectName/modules/android/analytics.google/3.2.0/lib/google-play-analytics.jar
-- /Users/me/Documents/Appcelerator_Studio_Workspace/ProjectName/modules/android/analytics.google/3.2.0/lib/google-play-services-base.jar

Did same thing for Titanium installed Modules, ie ti.map
-- /Users/me/Library/Application Support/Titanium/modules/android/ti.map/2.3.10/google-play-services-base.jar
-- /Users/me/Library/Application Support/Titanium/modules/android/ti.map/2.3.10/google-play-services-maps.jar
and Ti.CloudPush
-- /Users/me/Library/Application Support/Titanium/modules/android/ti.cloudpush/3.4.1/google-play-services-gcm.jar
/Users/me/Library/Application Support/Titanium/modules/android/ti.cloudpush/3.4.1/google-play-services-base.jar
Ive tried it with and without the google-play-services-basement.jar
Ive tried it by naming the .jars as suggested above using google-play-services-.jar and also the way the 9.4.0 version I pulled down in my sample android application, simply as play-services-..jar.
Ive verified all jars are the same version of play services, which is 9.4.0.
When I launch my app with google.analytics in, I get a crash on start up.
Upon commenting it out, the app runs normally.
Any thoughts on what might be happening or if Ive missed something?
Thanks!

Hello guys,
I know it is an old issue and most of you probably have already solved it, but I thought I should share with with the ONLY solution I could find. It's Proguard!
It is really simple and easy to use (in this case) and the tutorial is here.
Hope you enjoy and that it helps you as well.

Hello Soumya
This is an interesting link. Thanks.
On Wed, Oct 19, 2016 at 5:19 PM, Douglas Alves<EMAIL_ADDRESS>wrote:

Hello guys,
I know it is an old issue and most of you probably have already solved it,
but I thought I should share with with the ONLY solution I could find. It's
Proguard!
It is really simple and easy to use (in this case) and the tutorial is
here
https://medium.com/all-titanium/deal-with-titanium-modules-and-its-missing-support-for-android-multidex-546de5486d13#.y4t50z77p
.
Hope you enjoy and that it helps you as well.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Sitata/titanium-google-analytics/issues/48#issuecomment-254944064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbz-rCCvfus8Ze-uP2hnuCZoy84JHewks5q1olsgaJpZM4GCbCs
.

@ericpolkadoc im having the same issue, when i use ti.map and analytics.google together the app crash, no matter what version of both and titanium sdk that i use, it still crashes running an fresh new app for tests, no errors on console...
did you found any solution on this?

what facility is provided for users not keen on being part of analytics to opt-out?  without cracking your app

None.
It's up to each app developer to have that in the settings ... then disable
the analytics module accordingly. However, one has to ask what someone
could be hiding if they are trying to opt out of Google Analytics in a
simple mobile app (I am assuming it's a simple app). Most of the time, it
is used in order to improve the content delivery flow of the app by knowing
how people are using the app.
In our case, we have simply explained what we are really doing with Google
Analytics and that it cannot and will not be disabled. If they do not want
that, then they should not install our app. None of the data we collect can
be used to identify a user. We just want to collect information that will
help us know the most used features in the app, the most popular pages, the
number of time the app is launched, etc. Most importantly, we never collect
the GPS location because that can be used for pin pointing a user by
linking them with a physical address.
A. Siby
On Tue, Feb 14, 2017 at 4:11 AM, lulap<EMAIL_ADDRESS>wrote:

what facility is provided for users not keen on being part of analytics to
opt-out? without cracking your app
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Sitata/titanium-google-analytics/issues/48#issuecomment-279649549,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbz-hfhKOSbtFPcOACiw2wv_Bs99P8Vks5rcW_GgaJpZM4GCbCs
.

Hi Guys I solved Google Play Services conflict for using more Titanium modules. I have recorded a screencast for solution. You can find it from [https://youtu.be/Coei6zvPIys)](https://youtu.be/Coei6zvPIys)
May be that is help for somebody...


How do I make the sortable icons disappear

Issue:
I want to show the loaded data in a sorted order but I don't want to have the sort function enabled. I turned the sortable to false but doing that accumulate all the sort icons in one column. This might be my misunderstanding of the documentation, but I would really appreciate your guidance in here

Ps: I just took a screenshot of the headers above. You can see how all the 3 sort icons gathered at ルーター column
Code:
This is my table configuration:
table: {
        columns: [
          {
            label: "管理ユニット名",
            field: "management_unit_name",
            sortable: false,
            width: '50%',
          },
          {
            label: "施設名",
            field: "management_unit_facility_name",
            sortable: false,
            width: '20%',
          },
          {
            label: "ルーター",
            field: "id",
            sortable: false,
            width: '20%',
          },
        ],
        sortable: {
          order: "id",
          sort: "asc",
        },
        messages: {
          pagingInfo: vm.$t('page_footer.available_items_info', {
            from: '{0}',
            to: '{1}',
            total: '{2}'
          }),
          pageSizeChangeLabel: vm.$t('page_footer.page_size_change_label') + ': ',
          gotoPageLabel: vm.$t('page_footer.go_to_page_label') + ': ',
          noDataAvailable: vm.$t('page_footer.no_data_available'),
        },
      },

Hi @lilz-sofia
Thanks for your issue, It was a bug and I am fixed it on v1.4.1
try upgrade to v1.4.1 please, if it resolved, close the issue, thanks.

Thank you for the quick fix! ^^ It's working correctly now


Cannot receive emails ... from gmail

Hi !
When I use mailin ( as a global command ) and that I try so send a mail to it with hotmail it works but when I try to do it with gmail mailin doesn't 'see' it.
Could you help me ? Does anybody else have the same issue ?
Thank you !

Ok it seems that it only took a long time ...


Get Organization repositories from Github API

There's both a package-lock.json and yarn.lock. We need to pick a single package manager for this project. I think the kit uses npm so let's stick to that please.

I actually thought we used yarn. I will delete the yarn.lock file.


pull policy "if-not-present" yet still querying remote registry

This is a little odd.  s2i build --pull-policy if-not-present appears to query a remote registry for (at least) metadata even if the named image is present in the local registry.
Log excerpt from https://github.com/jboss-container-images/openjdk/actions/runs/6864309836/job/19052020240 (the original logs are enormous):
DEBUG Executing 's2i build --loglevel=5 --pull-policy if-not-present  --context-dir=undertow-servlet -r=master  https://github.com/jboss-openshift/openshift-quickstarts ubi9/openjdk-21:1.17 integ-ubi9/openjdk-21:1.17  ' command...
ERROR I1127 11:44:13.305506   19494 build.go:52] Running S2I version "v1.3.4"
ERROR I1127 11:44:13.306519   19494 util.go:58] Getting docker credentials for ubi9/openjdk-21:1.17
ERROR I1127 11:44:13.306544   19494 util.go:74] Using  credentials for pulling ubi9/openjdk-21:1.17
ERROR W1127 11:44:13.518495   19494 build.go:167] could not inspect the builder image for labels: reading manifest 1.17 in docker.io/ubi9/openjdk-21: errors:
ERROR denied: requested access to the resource is denied
ERROR unauthorized: authentication required
ERROR I1127 11:44:13.520728   19494 docker.go:491] Using locally available image "docker.io/ubi9/openjdk-21:latest"

Note that the named builder image ubi9/openjdk-17 exists in the local docker container storage, and the rest the S2I process works as expected using the local image.
Confirmed with 1.3.4 and 1.3.9.

/remove-lifecycle rotten

/reopen
I guess the bot didn’t like my fresh command

/reopen
/remove-lifecycle rotten
/lifecycle frozen


Search not working on mobile / SPA-1411

To reproduce:

Go to mobile view in chrome or firefox
Try searching for any term (not camera)
Results won't show up

QA done, fixed by: https://github.com/SAP/cloud-commerce-spartacus-storefront/pull/143


Remove version: SmartSoft.SmartFTP version 10.0.3128.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://static.smartftp.com/static/Products/Client/10.0.3128.0/x64/SmartFTP.msi
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 911)


Arabic QA: "Delete All Users Data"

Confirm the following texts are correctly translated into Arabic (see screenshots in English and Arabic below):

[ ] Do you want to delete all user data from this phone? This includes which answers are chosen in the questionnaire and which topics are bookmarked.
[ ] Delete all user data
[ ] CANCEL

Also confirm whether

[ ] the line breaks make sense

If not, make your suggestions in the comment.

During staging QA, check if updated translation appears in the app

Translation is fine but layout is different in <IP_ADDRESS>.
Not a deal breaker for production but it should be fixed for the next release.

We might need to hack this with adding spaces prior to the string because React Native Alert component headings cannot be moved using CSS.

Closing this as won't fix, we can't change the style specifically in Ar.


Refactor to use django-bower for javascript dependencies

More info on django-bower install here:
https://django-bower.readthedocs.org/en/latest/installation.html
Dependencies include:
** react
** react-select
** query
**bootstrap
** react-input-autosize

just found https://github.com/jazzband/django-pipeline. May be a better option.

Further investigation of django-pipeline shows its more for minifying js and css rather than managing dependencies. Will stick with django-bower.
Just need to make sure that whatever is used can be used with Heroku.

Ended up just using raw bower and forgot about django-bower. It wasn't really adding any value.
Just set up bower to place the javascript in the static directory.
To deploy to heroku I had to setup the app to be both node and python. The node part is only used so that bower is available to run.


#1413 - Added padding to Your Order tooltip

With 0.5em padding:

Coverage remained the same at 74.18% when pulling a9aa209ca632181b1cc88a33307caca65abdb4cc on 1413-your-order-padding into 11051e402694412c97ba36244163f086509e42aa on master.

Coverage remained the same at 74.18% when pulling a9aa209ca632181b1cc88a33307caca65abdb4cc on 1413-your-order-padding into 11051e402694412c97ba36244163f086509e42aa on master.

Coverage remained the same at 74.18% when pulling a9aa209ca632181b1cc88a33307caca65abdb4cc on 1413-your-order-padding into 11051e402694412c97ba36244163f086509e42aa on master.


Solves #10

Created a new route at /statistics
Accept query string and a date range. Display a histogram of tweets.
@Orbiter Kindly review/test this pull. You'll need to a npm install before gulp dev.
I know you asked me to directly commit. But I am not very sure if this is what is wanted.
Here is a screenshot of the page:

I love it, great!
I did not ask for a separate page but this is good to test with. Lets keep it there and see how we integrate that with the other stats.
there are some points:

if you restrict the time frame to only two days, you get a histogram by hours. If you narrow it further, you also get minutes. The scale on the graph should reflect that.
the timezoneOffset is not used. You must read the value from the browser and send it to the backend as well. Otherwise the narrowed hour-histograms are wrong

ah, and if possible: please put the get entities into the url to make it possible to tweet such urls!

3a8a0b461d9b388480962509d5f9e4ebce4d6bad adds more control over date/time selection and also adds timezoneOffset.
Now trying to get them from url params.

I got errors with morris.js after pulling the new merge, does anyone have the same problem?

@fuksi okay, i can replicate that. happens when there are no tweets in the given period. You can try searching for a different term/time range. Till then i'll fix it so that it displays a "no tweets found" or similar error message.

@aneeshd16 I have some zeros in my server to test if you wish.
http://swlok.mooo.com/api/search.json?q=youtube since:2015-04-01_17:10 until:2015-05-31_18:20&source=cache&count=0&fields=created_at,screen_name,mentions,hashtags&limit=6&timezoneOffset=-120

@smokingwheels, Thanks! But the error occurs when created_at={} Zeros are okay!


Make sure epoch length equation is satisfied for testnet

Description
This PR makes sure that epoch length equation is satisfied for the testnet.
Additionally, 140s timeout is removed for InfoAction test.
Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated.  These may include:

golden tests
property tests
roundtrip tests
integration tests
See Runnings tests for more details

[ ] Any changes are noted in the CHANGELOG.md for affected package
[ ] The version bounds in .cabal files are updated
[ ] CI passes. See note on CI.  The following CI checks are required:

[ ] Code is linted with hlint.  See .github/workflows/check-hlint.yml to get the hlint version
[ ] Code is formatted with stylish-haskell.  See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
[ ] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7

[ ] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG node developers to do this
for you.

Looks like the usual timeouts on Mac. Seems fine to be admin-merged to me.

I am fairly sure these timeouts are occuring on some tests due to the network existing for longer from genesis with an unstable configuration. This can result in frequent rollbacks, which results in expected transactions not existing on the chain being queried.
Pre-8.8 I was able to run a stable private Conway network with short epoch length of 20 seconds using but I'm unable to find a configuration to make this possible. I don't know why this is but I suspect it to be either a change with consensus or how cardano-testnet is now configured by default. Although, to my knowledge, the only shelley-genesis configuration parameters that impact this is are epochLength, activeSlotsCoeff and securityParam, which must satisfy the rule: Epoch length should be "10 * k / f" where "k = securityParam, f = activeSlotsCoeff".  From my experience, an inbalance here can cause instability in longer running chains, which seem to affect longer tests on the Macs in CI more often due to their slower test execution, although I also see it on longer tests on the Linux build machines and more local machine.
Currently, with 8..8 I have managed a stable short-ish epoch length of 1000 seconds using activeSlotsCoeff=0.1 and securityParam=10. Will attempt to reduce this further today.


add switch to enable hyphenation

I merged it into my branch and added some lines of documentation

I'll merge this upstream. Would you like to submit the documentation as a pull request?

It seems that that all my commits merge automatically into one pull request #62,
some lines of documentation are here: 89243fb9ace8f1ac00b1551c6a8f64fa3da73dd1

That's happening because you are sending a pull request from master. You should always sent a pull request from a branch that has only the changes for a single issue. It's really hard to manage a pull request that has many changes.

That's happening because you are sending a pull request from master. You should always sent a pull request from a branch
I did not know. Thank you.

that has only the changes for a single issue. It's really hard to manage a pull request that has many changes.
Yes, every commit treats only one issue. But I think the changed lines are sometimes overlapping. So the order matters. I synchronized successfully with your master-branch.

The lines overlap because you aren't using branches. One pull request == one branch. Then, all changes stay isolated.


Git Clone Fails

Bug description
Doing a Stack creation via Git Clone fails saying the following error message:
2019/09/03 05:41:50 http error: open /data/compose/1/docker-stack.yml: no such file or directory
 (err=open /data/compose/1/docker-stack.yml: no such file or directory
) (code=500)

Expected behavior
A stack is created based on the stack file from the GitHub repository.
Steps to reproduce the issue:

Go to Stacks and click Add Stack
Click on Repository
Set the following and click Create:
Repository URL: https://github.com/sk-sudo/portainer-stack-testing
Compose path: docker-stack.yaml
See error

Technical details:

Portainer version: 1.20.1, 1.21.0 and latest
Docker version (managed by Portainer): 19.03
Platform (windows/linux): Linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer:{tag}
Browser: Firefox

Additional context
Add any other context about the problem here.

Was able to reproduce on Docker 18.06.3-ce with portainerci/portainer:develop and on my local build (develop branch + Docker 19.03.1)

The issue was that the extension of the Stack file was yaml not yml - closing the issue.


Make ember-responsive a dependency in all envs

Fixes #367

@steven-ferguson beat me to it :)

thanks for the fix!

This is not needed. The ember light table blueprint installs ember-responsive on the host app. This is why it's not required as a dependency.

It seems like it would be much more straight forward to include it as a dependency. That way users don't have to worry about maintaining compatibility.

@steven-ferguson the point here is that ember-responsive must exist on the host application. Not as a dependency of ELT. The media service as well as the breakpoints file are both needed for everything to function correctly.

should we update the readme?

I dont think there should be a need to. Everything should be correctly setup and installed if you run ember install ember-light-table.

From the ember-cli docs, the proper way to do this is by including as a dependency.

@steven-ferguson what @offirgolan is trying to say is that the consuming host app needs to have ember-responsive as a dependency because it is required as a top-level to define breakpoints and be consumed by ember-responsive https://github.com/freshbooks/ember-responsive#getting-started among other things I imagine

Right, which is exactly what including it as a dependency will ensure. From the docs:

If your addon depends on another addon, install it as a dependency in your package.json...
An application that consumes your addon will automatically install and bundle dependencies specified this way.

this is the expected output.
dependency-test $ ember install ember-light-table
Installed packages for tooling via npm.
installing ember-light-table
  install addon ember-responsive
Installed packages for tooling via npm.
installing ember-responsive
  create app/breakpoints.js
  create app/initializers/responsive.js
  create tests/helpers/responsive.js
Installed addon package.
Installed addon package.

~/dependency-test $ git diff
diff --git a/package.json b/package.json
index c6f757d..411889d 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,10 @@
     "ember-cli-uglify": "^1.2.0",
     "ember-data": "^2.11.0",
     "ember-export-application-global": "^1.0.5",
+    "ember-light-table": "1.8.4",
     "ember-load-initializers": "^0.6.0",
     "ember-resolver": "^2.0.3",
+    "ember-responsive": "2.0.2",
     "ember-source": "^2.11.0",
     "ember-welcome-page": "^2.0.2",
     "loader.js": "^4.0.10"
diff --git a/tests/.jshintrc b/tests/.jshintrc
index d2bd113..7ec445c 100644
--- a/tests/.jshintrc
+++ b/tests/.jshintrc
@@ -1,5 +1,6 @@
 {
   "predef": [
+    "setBreakpoint",
     "document",
     "window",
     "location",
diff --git a/tests/test-helper.js b/tests/test-helper.js
index e6cfb70..b02ae8c 100644
--- a/tests/test-helper.js
+++ b/tests/test-helper.js
@@ -1,4 +1,6 @@
 import resolver from './helpers/resolver';
+import './helpers/responsive';
+
 import {
   setResolver
 } from 'ember-qunit';

what you reference above is stating that the addon's dependencies will automatically be bundled, but we need ember-responsive to be installed top level, when you install ember-light-table

see https://github.com/alexander-alvarez/dependency-test/commits/master

If you include ember-responsive as a dependency for ember-light-table, ember-responsive's media service will be available in the consuming application. I have created a demonstration here. In my opinion this is a much simpler way to include dependent addons because the user does not have to rerun ember install every time they update your package.

@steven-ferguson

If you include ember-responsive as a dependency for ember-light-table, ember-responsive's media service will be available in the consuming application.

That is the point. Not only that but the generator for ember-responsive must be run on the consuming application so breakpoints file is created correctly.
This addon has a couple other dependencies but ember-responsive must be installed on the consuming app there currently is no way around that.

see https://github.com/freshbooks/ember-responsive/issues/84 and https://github.com/freshbooks/ember-responsive/pull/87


feat: add db3 session

Add db3 session.

Move session manager to db3-session

duplicate with https://github.com/dbpunk-labs/db3/pull/146


subscription-manager rhsm_repos var should be more idempotent.

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Feature Request
FEATURE REQUEST INFO:
When re-running the subscription-manager role against a host that has already been subscribed, we should re-enable the repo list to ensure that the proper repos have been enabled.
For example:
Run1:
# # Subscription Management Details
rhsm_register: True
rhsm_satellite: 'sat.example.com'
rhsm_org: 'MY_ORG'
rhsm_activationkey: 'openshift'

rhsm_repos:
 - "rhel-7-server-rpms"
 - "rhel-7-server-ose-3.5-rpms"
 - "rhel-7-server-extras-rpms"

Followed by Run 2:
# # Subscription Management Details
rhsm_register: True
rhsm_satellite: 'sat.example.com'
rhsm_org: 'MY_ORG'
rhsm_activationkey: 'openshift'

rhsm_repos:
 - "rhel-7-server-rpms"
 - "rhel-7-server-ose-3.5-rpms"
 - "rhel-7-server-extras-rpms"
 - "rhel-7-fast-datapath-rpms"

Should result in 4 repos being enabled. However currently, if a host is already registered, we skip the entire role. We should change this to skip only the registration block.
@oybed

@etsauer we should like this with the already open issue in https://github.com/redhat-cop/casl-ansible
https://github.com/redhat-cop/casl-ansible/issues/35
We also have this rhsm role that is already idempotent and does what you are requesting - it may just be a matter of porting this over:
https://github.com/redhat-cop/infra-ansible/tree/master/roles/rhsm
However, I believe the folks here have another plan for subscriptions. Maybe that's a bit longer term, and we can use the above in the meantime, but I'll let @bogdando @cooktheryan @tomassedovic comment on this plan.

I believe our long term plan is to use this module
https://github.com/openshift/openshift-ansible/tree/master/roles/rhel_subscribe

@cooktheryan that module seems to be very opinionated and has hardcoded values rather than letting the inventory drive it. Do you know if there's a plan to improve this? The rhsm role mentioned above sources all its information from the inventory and hence is generic (although it could potentially use some additional work in other areas).

@oybed we definitely should seek to make it better in openshift-ansible.  A strong focus and goal that we have is to use as much upstream as we possibly can.

@oybed @cooktheryan  I've done some work to add it via a PR. There is some room to extend it. The repo part is indeed idempotent, but the registration portion is not. Perhaps, the yum repolist should be called before the registration portion and it the repos already exist skip the subscription-manager portion.
Thoughts?

@dav1x are you referring to the subscription-manager role in this contrib repo (the one that came from the casl-ansible repo)? If so, I'd recommend taking a look at the rhsm role in the infra-ansible repo as it pretty much does what @etsauer is after - and it is idempotent on both the registration part as well as the repo enabe/disable part.
https://github.com/redhat-cop/infra-ansible/blob/master/roles/rhsm/tasks/main.yml

Here is the task im issuing:
- name: 'Register system using Red Hat Subscription Manager'
  redhat_subscription:
    state: present
    username: "{{ rhsm_user | default(omit) }}"
    password: "{{ rhsm_password | default(omit) }}"
    pool: "{{ rhsm_pool | default(omit) }}"
    server_hostname: "{{ rhsm_satellite | default(omit) }}"
    activationkey: "{{ rhsm_activation_key | default(omit) }}"
    org_id: "{{ rhsm_org_id | default(omit) }}"

TASK [rhsm : Is the system already registered?] **********************************************************************************************************************************************************************
changed: [nfs-0]
https://github.com/ansible/ansible/blob/d8b1cb9a634d0e828a7be39d4019a6215410e643/lib/ansible/modules/packaging/os/redhat_subscription.py#L747-L760
I'm looking at the code and it looks right. But, it should be setting changed to false and exiting.

Interesting - let me double check as this has worked for us many times.
In the meantime: what version are you using of ansible?

-> ansible --version
ansible <IP_ADDRESS>
But, upstream devel has the same logic check. I can submit a PR for redhat_subscription and work on a fix for it myself if need be.
[root@app-0 ~]# subscription-manager list --consumed | grep "Subscription Name" | wc -l
8
[root@app-0 ~]# subscription-manager list --consumed | grep "Subscription Name" | wc -l
10

This is closed


Master is broken

On npm install, I get the below error.

We've just updated the library to use Mapbox GL JS 0.27, which was released 3 days ago.
Please make sure that your cache / proxy / etc is up to date. ;)

https://github.com/mapbox/mapbox-gl-js/releases/tag/v0.27.0
https://www.npmjs.com/package/mapbox-gl


leftovers after removal?

in the ios simulator...
so in my code, I'm trying to remove the realm file, completely, so I can restore it with one I have saved in cloudkit.
                    let realmPath = try Realm().path
                    print("** resetModel: realm to be removed. \(realmPath)")
                    try NSFileManager.defaultManager().removeItemAtPath(realmPath)

problem is after this code, I end up with
Aeneid:FF593330-4093-4A11-9FE4-566A44A78FD7 kyounger$ ls -l
total 8
drwxr-xr-x  3 kyounger  staff   102 Oct 16 08:29 Library
-rw-r--r--  1 kyounger  staff  1320 Oct 16 09:49 default-archive.realm.lock
prw-------  1 kyounger  staff     0 Oct 16 09:48 default-archive.realm.note

afterward. (and yes, the default realm file in my case is "default-archive.realm", in a shared App Group.
then when I create a new realm file, the realm seems to be in some weird state? would the vestiges of these old locks be messing with the new db in some way?? should I remove them as well?

or even more, after the removal of "default-archive.realm"
-rw-r--r--  1 kyounger  staff  1320 Oct 16 10:19 default-archive.realm.lock
-rw-r--r--  1 kyounger  staff   136 Oct 16 10:19 default-archive.realm.log
-rw-r--r--  1 kyounger  staff  4096 Oct 16 10:19 default-archive.realm.log_a
-rw-r--r--  1 kyounger  staff  4096 Oct 16 10:19 default-archive.realm.log_b
prw-------  1 kyounger  staff     0 Oct 16 10:19 default-archive.realm.note

The lock, log and note files shouldn't affect new Realm files, or cause them to be in a "weird" state. What do you mean by that? These files are used for Realm operations (lock file for resource locks, log files for transaction logs, and note file for notifications).

there was a single object inside of the realm file, and I wondered if I had a strong reference to the realm someplace, and was shooting the realmfile out from under the cache?
but no, it was a failure of my realm init code. bad dog, no biscuit.

Anyway I understand your curiosity about those files and created #2695 for that reason. :+1:


Add es build

Lets package consumers tree-shake with webpack2, just like redux. In fact, I lifted the lodash-es babel plugin from the redux repo. 😉

Okay. If redux is doing it... 😄

Published as v6.0.0-alpha.9.


Add bitsong

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
add logo

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:
Add BitSong logo to token list

This replace the PR #6


Mirror Debian Security Repository

I have difficulty mirroring and publishing the debian security repository in a format the installer likes. When I publish, aptly creates jessie-updates instead of jessie/updates. Reproduce:
aptly version: 0.8
aptly -architectures="amd64" -with-udebs=true mirror create jessie-security http://security.debian.org/ jessie/updates main contrib non-free
aptly snapshot create sec-snap from mirror jessie-security
aptly publish snapshot sec-snap
deb http://your-server/ jessie-updates main
aptly publish list
Published repositories:

./jessie-updates [amd64] publishes {main: [sec-snap]: Snapshot from mirror [jessie-security]: http://security.debian.org/ jessie/updates [udeb]}

ls dists/jessie-updates/
InRelease  main  Release  Release.gpg
Is there another way I should do this?

Please see #110 this is related to the way aptly handles published repositories, it changes / to - while publishing. When #110 is resolved, this should work as expected.


.ProxyError: HTTPSConnectionPool(host='login.microsoftonline.com', port=443): Max retries exceeded with url: /organizations/oauth2/v2.0/token (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x057ACCB8>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')))

$ az feedback
ERROR: This command is interactive, however no tty is available.

We appreciate your feedback!
For more information on getting started, visit: aka.ms/azcli/get-started
If you have questions, visit our Stack Overflow page: aka.ms/azcli/questions
Recent commands:
[0] create a generic issue.
[1] az login        : FAILURE. Ran: 12 hrs 06 mins ago.
[2] az extension add: FAILURE. Ran: 12 hrs 04 mins ago.
[3] az extension add: FAILURE. Ran: 12 hrs 03 mins ago.
[4] az login        : SUCCESS. Ran: 12 hrs 03 mins ago.
[5] az login        : SUCCESS. Ran: 12 hrs 03 mins ago.
[6] az extension add: FAILURE. Ran: 12 hrs 02 mins ago.
[7] az extension add: FAILURE. Ran: 12 hrs 02 mins ago.
[8] az login        : FAILURE. Ran: 19 mins ago.
[9] az login        : FAILURE. Ran: 17 mins ago.
nv996c@WACDTL02NV996C MINGW64 ~
$
Related command

Describe the bug
Unable to add az extenstions becuase of  proxy errors and i do have Internet connectivity and have required security filters across.
To Reproduce

Expected behavior

Environment summary

Additional context

@jiasli for awareness


EOS-26482 : Initial commit to support hctl status over http

Signed-off-by: Yash Bhamare<EMAIL_ADDRESS>Problem Statement

Support hctl status over http

Coding
Checklist for Author

[x] Coding conventions are followed and code is consistent

Testing
Checklist for Author

[ ] Unit and System Tests are added
[ ] Test Cases cover Happy Path, Non-Happy Path and Scalability
[ ] Testing was performed with RPM

Impact Analysis
Checklist for Author/Reviewer/GateKeeper

[ ] Interface change (if any) are documented
[ ] Side effects on other features (deployment/upgrade)
[ ] Dependencies on other component(s)

Review Checklist
Checklist for Author

[x] JIRA number/GitHub Issue added to PR
[x] PR is self reviewed
[x] Jira and state/status is updated and JIRA is updated with PR link
[x] Check if the description is clear and explained

Documentation
Checklist for Author

[x] Changes done to WIKI / Confluence page / Quick Start Guide

@ydb242, please check the rfc folder in Hare sources, there's already some documentation about hctl status (https://github.com/Seagate/cortx-hare/blob/main/rfc/11/README.md), you can update the same or create a new rfc document.

@ydb242  Please post a sample test output.

@ydb242 Please post a sample test output.

@mssawant I am trying this using the kubernetes branches of motr+hare cluster. As a result, m0d processes dont work but hctl status gives us output for required testing.
Following is the output:

[root@ssc-vm-g2-rhev4-0108 ~]# curl http://<IP_ADDRESS>:8008/cluster/status
{
"pools": [
{
"fid": "0x6f00000000000001:0x2f",
"name": "the pool"
}
],
"profiles": [
{
"fid": "0x7000000000000001:0x4f",
"name": "default",
"pools": [
"the pool",
null,
null
]
}
],
"filesystem": {
"stats": {}
},
"nodes": [
{
"name": "localhost",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x6",
"ep": "inet:tcp:<IP_ADDRESS>@2001",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x9",
"ep": "inet:tcp:<IP_ADDRESS>@3001",
"status": "unknown"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0xc",
"ep": "inet:tcp:<IP_ADDRESS>@3002",
"status": "unknown"
},
{
"name": "m0_client",
"fid": "0x7200000000000001:0x29",
"ep": "inet:tcp:<IP_ADDRESS>@5001",
"status": "unknown"
},
{
"name": "m0_client",
"fid": "0x7200000000000001:0x2c",
"ep": "inet:tcp:<IP_ADDRESS>@5002",
"status": "unknown"
}
]
}
]
}[root@ssc-vm-g2-rhev4-0108 ~]#

@ydb242 Please post a sample test output.

Tested the given changes with kubernetes deployment. It is working as expected.

[root@ssc-vm-g2-rhev4-2494 k8_cortx_cloud]# curl http://<IP_ADDRESS>:8008/cluster/status
{
"pools": [
{
"fid": "0x6f00000000000001:0x81",
"name": "storage-set-1__sns"
}
],
"profiles": [
{
"fid": "0x7000000000000001:0xcc",
"name": "Profile_the_pool",
"pools": [
"storage-set-1__sns",
"storage-set-1__dix",
null
]
}
],
"filesystem": {
"stats": {
"fs_free_seg":<PHONE_NUMBER>92,
"fs_total_seg":<PHONE_NUMBER>80,
"fs_free_disk":<PHONE_NUMBER>00,
"fs_avail_disk":<PHONE_NUMBER>00,
"fs_total_disk":<PHONE_NUMBER>00,
"fs_svc_total": 12,
"fs_svc_replied": 12
},
"timestamp":<PHONE_NUMBER>.165318,
"date": "2021-12-13T11:02:19.165318"
},
"nodes": [
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-1910",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x31",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x34",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x41",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x4e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x51",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x54",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@4002",
"status": "started"
}
]
},
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-2493",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x7",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0xa",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x17",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x24",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x27",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x2a",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@4002",
"status": "started"
}
]
},
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-2494",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x5b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x5e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x6b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x78",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x7b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x7e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@4002",
"status": "started"
}
]
}
]
}[root@ssc-vm-g2-rhev4-2494 k8_cortx_cloud]#

@ydb242, please check the rfc folder in Hare sources, there's already some documentation about hctl status (https://github.com/Seagate/cortx-hare/blob/main/rfc/11/README.md), you can update the same or create a new rfc document.

Updated the 11/HCTL RFC to include information about the new endpoint.

@ydb242

I am planning to use squash and merge option of the github PR. It will make sure that all the commits are squashed into one while merging.

We normally don't do that in Hare component (so we keep having separate commits in the target branch so they can be cherry-picked back and forth - you know how many branches we may need to maintain 😉 ).
So the idea is that you as the PR author is the best person to decide which commit deserves to exist as a separate one in the main historical line and which ones are a kind of noise (hesitations, debug stuff, scaffolding elements etc) and thus should be melded into the "real" commits.
cc @mssawant, @suvratjoshi

@ydb242

I am planning to use squash and merge option of the github PR. It will make sure that all the commits are squashed into one while merging.

We normally don't do that in Hare component (so we keep having separate commits in the target branch so they can be cherry-picked back and forth - you know how many branches we may need to maintain 😉 ). So the idea is that you as the PR author is the best person to decide which commit deserves to exist as a separate one in the main historical line and which ones are a kind of noise (hesitations, debug stuff, scaffolding elements etc) and thus should be melded into the "real" commits.
cc @mssawant, @suvratjoshi

Ok. I get the point.
I have updated the branch, and squashed the multiple commits into one.

@ydb242, looks good. Can you also try with hax pod service name instead of an explicit ip address? I mean it should be possible to fetch status from any given cortx data container hostname/service name as hax run in all the data pods.
e.g. curl http://cortx-data-headless-svc-ssc-vm-g2-rhev4-1910:8008/cluster/status

@ydb242 , commit message does not look right, consider,
Problem: no way to fetch hctl status outside of Hare installation

Hare implements a `hctl` control interface command to fetch Hare and Motr cluster status. This interface requires cortx-hare software to be installed which adds to user dependencies.

Solution:
- Start a http server in Hare hax service
- Implement a http command to fetch Hare and Motr cluster status.

@ydb242 , commit message does not look right, consider,
Problem: no way to fetch hctl status outside of Hare installation

Hare implements a `hctl` control interface command to fetch Hare and Motr cluster status. This interface requires cortx-hare software to be installed which adds to user dependencies.

Solution:
- Start a http server in Hare hax service
- Implement a http command to fetch Hare and Motr cluster status.

Updated

@ydb242, looks good. Can you also try with hax pod service name instead of an explicit ip address? I mean it should be possible to fetch status from any given cortx data container hostname/service name as hax run in all the data pods. e.g. curl http://cortx-data-headless-svc-ssc-vm-g2-rhev4-1910:8008/cluster/status

Yes, I tried the above pattern of hostname/service with all the containers in the data pod. I was able to retrieve the cluster status.
I even logged into the control pod and accessed the csm-agent container. From there too, I was able to retrieve cluster status using hostname/service pattern.

[root@cortx-control-headless-svc /]# hostname
cortx-control-headless-svc
[root@cortx-control-headless-svc /]# curl http://cortx-data-headless-svc-ssc-vm-g2-rhev4-2494:8008/cluster/status
{
"pools": [
{
"fid": "0x6f00000000000001:0x81",
"name": "storage-set-1__sns"
}
],
"profiles": [
{
"fid": "0x7000000000000001:0xcc",
"name": "Profile_the_pool",
"pools": [
"storage-set-1__sns",
"storage-set-1__dix",
null
]
}
],
"filesystem": {
"stats": {
"fs_free_seg":<PHONE_NUMBER>92,
"fs_total_seg":<PHONE_NUMBER>80,
"fs_free_disk":<PHONE_NUMBER>00,
"fs_avail_disk":<PHONE_NUMBER>00,
"fs_total_disk":<PHONE_NUMBER>00,
"fs_svc_total": 12,
"fs_svc_replied": 12
},
"timestamp":<PHONE_NUMBER>.040964,
"date": "2021-12-14T06:27:51.040964"
},
"nodes": [
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-1910",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x31",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x34",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x41",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x4e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x51",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x54",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-1910@4002",
"status": "started"
}
]
},
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-2493",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x7",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0xa",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x17",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x24",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x27",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x2a",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2493@4002",
"status": "started"
}
]
},
{
"name": "cortx-data-headless-svc-ssc-vm-g2-rhev4-2494",
"svcs": [
{
"name": "hax",
"fid": "0x7200000000000001:0x5b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@2001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x5e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3001",
"status": "started"
},
{
"name": "ioservice",
"fid": "0x7200000000000001:0x6b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3002",
"status": "started"
},
{
"name": "confd",
"fid": "0x7200000000000001:0x78",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@3003",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x7b",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@4001",
"status": "started"
},
{
"name": "s3server",
"fid": "0x7200000000000001:0x7e",
"ep": "inet:tcp:cortx-data-headless-svc-ssc-vm-g2-rhev4-2494@4002",
"status": "started"
}
]
}
]
}


Investigate public information retrieval of enclave

For the purpose of verifiability we need to check:

which information should we make public? (e.g. TEE's shielding key, MRENCLAVE, shard-Id, attestation report?)
and how? Ideally, all the information should be queriable on parachain

A written document is beneficial

This might be related to https://docs.integritee.network/5-nodes-and-infrastructure/5.3-how-to-deploy (i.e.if we want to do the RA ourselves and register the information on chain - using Attesteer? or simply use Integritee's service?)
It would need a careful and thorough research

As mentioned, this is an open topic that should include the following aspects:

what's the process of remote attestation? Ideally with code example and report example => let's have a sharing session among TEE devs
which information in the report do we actually need to make public? We don't exclude the option for the users to get the full report, but we want to make some information explicitly verifiable to improve the user's experience. Probably this needs to be aligned with the fields in VC design by @jingleizhang
how can we publicise that information on chain?
what about other information: shielding key, MRENCLAVE, shard...? Do we need a new pallet to register and store such information, or do we reuse/extend the teerex pallet?

Then we can start coding.

Maybe we (tee-worker) should support quote sign types (linkable and unlinkable) both. and here is the difference between linkable and unlinkable quote types,  https://api.portal.trustedservices.intel.com/EPID-attestation.
Let's make it configurable which type we use when running the service, for example, use the linkable flag under the run command to specific linkable quote, or without it we use unlinkable quote instead.
./integritee-service run --linkable


Update DApp after creating house

DApp immediately after getting the transaction address
Should be updated when the transaction gets mined, as the updated data about the house is not there

when I tried to run the dapp it is showing undefined near logged in as. can you help me out


Errors not getting logged

None of the errors we've seen in email lately from the production server have been logged in graylog.

I have not heard about this issue recurring over the 2+ years since it was created, so I am going to provisionally close it. If by any chance this winds up still being an active issue with production logging, then please simply re-open the issue and we can have the infrastructure people look into it!


Add #nostr tag to repo

Would it be possible to add the #nostr tag to this repo
I'll show up in this nice list here:
https://github.com/topics/nostr

+1 please. It would be helpful for me the nostr-commit-bot

done


Error: Could NOT find Lua51 (missing: LUA_INCLUDE_DIR) when runtests.sh

I try to run test, using openresty luajit and luarocks
but cmake occurs exception:
===== Testing Cmake build =====
-- The C compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
CMake Error at /usr/local/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
Could NOT find Lua51 (missing: LUA_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/local/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake-3.0/Modules/FindLua51.cmake:94 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:18 (find_package)
-- Configuring incomplete, errors occurred!
so tests' running must required Lua5.1?

cmake is currently hardocded to lua 5.1. I recommend just using make if you want to build it, it's suitable for running the test suite. See the test workflow here: https://github.com/openresty/lua-cjson/blob/master/.github/workflows/test.yml


i18n(fr): Update publish-to-npm.mdx, integrations.mdx, manual.mdx and auto.mdx

What kind of changes does this PR include?

Translated content

Description
Update publish-to-npm.mdx, integrations.mdx, manual.mdx and auto.mdx

Thanks for the reviews @pioupia and @delucis!


Prevent conversion of native number params to Scientific Notation

Updates the processing of native function parameters to set a fix number of fractional digits (20) to include after the decimal point when appending the number value to the native function string.  This will prevent JavaScript from representing numbers with  many fractional digits using Scientific Notation (which causes an error in some native XPath functions).
I believe that currently only the native ceiling and floor functions are affected since they are the only supported native functions that accept number parameters.
Closes #159

@yanokwa Do you have a minute to review this change before we merge?

@garethbowen LGTM.  I think it also closes https://github.com/enketo/openrosa-xpath-evaluator/issues/43

@yanokwa @eyelidlessness I think this is good to go. Are you happy for this to be merged, and a new release being published? We're hoping to include this in a release in the next couple of weeks.

Happy for it to be merged and released. Do you also need a core release to be able to use it? We've been heads down in Express and weren't planning to release the other tools for another 3ish weeks but could possibly revise that.

@lognaturel I'm happy to do the merge and release, but I don't think I have the npm permissions required to do the actual publish. Would you mind helping out either by doing the publish, or granting me permissions on npm?

Will try to do by middle of next week.

It's out.

Thanks a ton @lognaturel!  This is very helpful!  We will be pulling in the new release this week.


gestureRecognizers not working on web platform

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.19.6

Plugin version
6.0.0

Android version

iOS version

macOS version

Xcode version

Google Chrome version
124.0

Description
I use the a InAppWebView in a scrolling widget to embed a web video player (vimeo but the demo is with youtube embeded player it does the same) in Web platform. But the InAppWebView does swallow vertical scroll events even with gestureRecognizers: {Factory(() => TapAndHorizontalDragGestureRecognizer())},. I looked into the web code and I do not find usage of gestureRecognizers
In the android implementation i found:
return AndroidViewSurface(
          controller: controller as AndroidViewController,
          gestureRecognizers: params.gestureRecognizers ??
              const <Factory<OneSequenceGestureRecognizer>>{},
              ...

Web implementation:
return HtmlElementView(
      viewType: 'com.pichillilorenzo/flutter_inappwebview',
      onPlatformViewCreated: (int viewId) {
        var webViewHtmlElement = WebPlatformManager.webViews[viewId]!;
        webViewHtmlElement.initialSettings = initialSettings;
        webViewHtmlElement.initialUrlRequest =
            _webPlatformParams.initialUrlRequest;
        webViewHtmlElement.initialFile = _webPlatformParams.initialFile;
        webViewHtmlElement.initialData = _webPlatformParams.initialData;
        webViewHtmlElement.headlessWebViewId =
            _webPlatformParams.headlessWebView?.isRunning() ?? false
                ? _webPlatformParams.headlessWebView?.id
                : null;
        webViewHtmlElement.prepare();
        if (webViewHtmlElement.headlessWebViewId == null) {
          webViewHtmlElement.makeInitialLoad();
        }
        _onPlatformViewCreated(viewId);
      },
    );

Expected behavior:
gestureRecognizers or disableVerticalScroll to be effective and prevent vertical scrolling
Current behavior:
Steps to reproduce
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
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});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: SingleChildScrollView(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Container(
              color: Colors.blue,
              width: double.infinity,
              height: 600,
            ),
            SizedBox(
              height: 200,
              child: InAppWebView(
                initialSettings:InAppWebViewSettings(
                  disableVerticalScroll: false,
                ),
                initialData: InAppWebViewInitialData(
                  data:
                      '<iframe height="200" src="https://www.youtube.com/embed/6Dh-RL__uN4" frameborder="0" allowfullscreen></iframe>',
                ),
                gestureRecognizers: {Factory(() => TapAndHorizontalDragGestureRecognizer())},
              ),
            ),
            Container(
              color: Colors.red,
              width: double.infinity,
              height: 600,
            ),
          ],
        ),
      ),
    );
  }
}

In this example you can scroll by draging or scroll with mouse wheel on the blue or red panel  but not the webview space

Seeing the same problem. On web only, if I have an app-bar with popup menu over the top of the inappwevview, I cannot select anything in the menu which overlaps it.


Fix threshold rounding

Take 2

Coverage remained the same at 59.178% when pulling d0b04c957fd9dcb5c752600476705c36b33bc78a on fix-threshold into cecce07102fde8d0d58039acbd5276b57789b853 on master.

👍


[serverless] Support trace context propagation for ALB target groups with MultiValueHeaders

Originally https://github.com/DataDog/datadog-agent/pull/30764
What does this PR do?
Adds support for extracting trace context from MultiValueHeaders in ALBTargetGroupRequest
Motivation
Currently, Datadog APM context propagation doesn't work when MultiValueHeaders is enabled in ALB target groups. This PR resolves this issue by allowing trace context propagation even when using MultiValueHeaders configuration.
Describe how to test/QA your changes

Enable MultiValueHeaders in ALB target group
Create a Lambda endpoint
Send a request with trace context headers to the ALB endpoint
Verify in Datadog's trace view that the trace context is properly propagated from ALB to Lambda

Possible Drawbacks / Trade-offs

Only the first value from MultiValueHeaders is used, subsequent values are ignored

Additional Notes

This PR includes test coverage:

Unit tests for MultiValueHeadersCarrier
Tests for MultiValueHeaders extraction in ALB target groups
Tests for MultiValueHeaders support in tag extraction functionality

Maintains backward compatibility by prioritizing the existing Headers field

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html#multi-value-headers-request

/merge


[QUESTION] Import without temporary file creation?

Prerequisites

[X] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[X] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[X] Checked that your question isn't already asked before.
[X] Filled in the entire issue template

Versions

PHP version: 7.3.3
Laravel version: 6.x
Package version: 3.x

Description
Is there a safe way to skip the temporary file copy upon import? In some cases this is unnecessary (file already in a safe local location).
Additional Information
I am importing large files over 5Gb in size. I have already moved them to save/persistent storage before beginning the import process with Laravel-Excel. So the import causes a heavy copy, and a sudden disk allocation spike where it's not necessary.

I realize now after digging in the code deeper that the temporary file copy is a necessary part of dealing with compressed files. So to answer my own question, "no".
But the fread/fput combo is taking up to 25s on a 6Gig file from local to local.
Maybe we can just do a "copy" instead for local temporary files?

I ended up just taking the Csv reader from the phpspreadsheet project and creating a fork to handle the large files. Not ideal, but the cleanest I could make it for now. I'll continue to use Laravel Excel for anything smaller than xx megs.


Update README.md

updated the readme.md file
fixed error #13

can u mark this under gssoc? @hasmithagunda123  and assign it to me


Error while loading shared libraries in docker container

Hi! I tried to run segnet-console from docker image, but I got error about loading shared libraries, like:
./segnet-console: error while loading shared libraries: /usr/lib/aarch64-linux-gnu/libnvinfer.so.7: file too short

docker image that I use: dustynv/jetson-inference:r32.4.4
Output of jetson_release:
 - NVIDIA Jetson Xavier NX (Developer Kit Version)(B
   * Jetpack 4.4.1 [L4T 32.4.4]
   * NV Power Mode: MODE_10W_2CORE(B - Type: 3(B
   * jetson_stats.service: active(B
 - Libraries:(B
   * CUDA: 10.2.89
   * cuDNN: <IP_ADDRESS>
   * TensorRT: <IP_ADDRESS>
   * Visionworks: <IP_ADDRESS>1
   * OpenCV: 4.1.1 compiled CUDA: NO(B
   * VPI: 0.4.4
   * Vulkan: 1.2.70

Why it happens?

Looks like I found the problem: I added "default-runtime": "nvidia" in /etc/docker/daemon.json. But, if I understood this doc rightly the setting is needed for build container. In my case I use container that already built.

Looks like the setting is required for run too

Hi @andrejlevkovitch, are you using the docker/run.sh script?   If so, it automatically uses --runtime nvidia


Sort out sample workflow GIF (share between this repo and KSIUJ/pz.ksi?)

[x] The current sample workflow GIF is too detailed (starts with editing machete file which is not so relevant & a bit boring), let's change that
[x] We could simply use the one that's use for https://pz.ksi.ii.uj.edu.pl/companies/virtuslab-git-repository-organizer-rebase-automation-tool-as-intellij-idea-plugin.html, although maybe re-recorded to reflect new context menu entry names
[x] My bad, I moved the pz_sample_workflow.gif file to pz.ksi.ii.uj.edu.pl/ folder and now pz.ksi.ii.uj.edu.pl doesn't have any GIF :man_facepalming: sooo... now that a single GIF will be used for both repos, maybe let's just remove pz_sample_workflow.gif completely + link this repo's sample_workflow.gif from KSIUJ/pz.ksi's README (or copy the GIF directly to KSIUJ/pz.ksi to remove dependency on this repo)

PR to pz repo created: https://github.com/KSIUJ/pz.ksi/pull/6


How to relay mails with forward/mailbox set in server?

Classification

[X] Question
[X] Documentation

Description
I'm sending relay mail from another server, works so far when using senders not set in postfixadmin. When the sender is found on the mailserver (generic addresses like noreply@ or hello@) relaying fails with
a) when not authenticated
553 5.7.1<EMAIL_ADDRESS>Sender address rejected: not logged in;

b) when authenticated with a generic account
553 5.7.1<EMAIL_ADDRESS>Sender address rejected: not owned by user<EMAIL_ADDRESS>
How can I - without setting up multiple accounts for relaying and setting those in every website/app/etc - allow sending of emails with existing adresses?
Steps to reproduce

create virtual or mailbox in postfixadmin
try to send a mail from relay with above user as from adress
watch error log

Expected results
Mails should be relayed if authenticated or just when domain is found in mynetworks i.e.
Actual results
Not relaying email.

https://github.com/hardware/mailserver/issues/187#issuecomment-342570349

Thank you, worked fine 👍

Sorry to reopen this again, but it seems that the above change is only allowing sending from authenticated users from domains in my_networks, correct?
Is it possible to allow sending through an authenticated user from a different domain? I have a development server running with a different domain which can only send if I set the from-addresses to the authenticated user, not even an alias.

Sorry for not being clear enough, but the dev-server is a virtual server on my desktop, so I cannot add it to my_networks with it's non-static IP.


issue-687: Add test case for HystrixIsolationModeEnum.

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #719 (bea849d) into master (508fd41) will increase coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #719      +/-   ##
============================================
+ Coverage     58.43%   58.52%   +0.09%
- Complexity     1066     1068       +2
============================================
  Files           237      237
  Lines          5459     5459
  Branches        604      604
============================================
+ Hits           3190     3195       +5
+ Misses         1991     1987       -4
+ Partials        278      277       -1

Impacted Files
Coverage Δ
Complexity Δ

...l/plugin/divide/balance/spi/RandomLoadBalance.java
78.94% <0.00%> (+10.52%)
7.00% <0.00%> (+1.00%)

...ra/soul/common/enums/HystrixIsolationModeEnum.java
100.00% <0.00%> (+100.00%)
1.00% <0.00%> (+1.00%)

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 508fd41...bea849d. Read the comment docs.


repository 'https://github.com/kickstarter/native-secrets/' not found

I have encountered issue as below, please kindly advise:
git clone https://github.com/kickstarter/native-secrets vendor/native-secrets
Cloning into 'vendor/native-secrets'...
remote: Repository not found.
fatal: repository 'https://github.com/kickstarter/native-secrets/' not found

We should do a better job of suppressing that error message, but it shouldn't cause you any problems. The project should build without access to that private repo. Can you give it a shot?

Build successfully this time. I have changed some gradle setting and the build failure was caused by this mistake. Thanks for the advice.


Vue: Sort both script and setup script

Fixes https://github.com/trivago/prettier-plugin-sort-imports/issues/218

code.replace is not safe to use here.
https://github.com/IanVS/prettier-plugin-sort-imports/blob/c2a67662333de61a23af1fead28067e823eef430/src/preprocessors/vue.ts#L85-L88
The code here is the whole SFC source code. Despite the fact that up to one

You can tell that different block use different language and the order of block does not matter. This prettier plugin only cares about

The <template> block contains the same "code text" in

Although the  is compressed a bit due to the HTML Whitespace Sensitivity settings of prettier in this repo's config, you can tell that it has replace the wrong place.

As the parse tells where a block starts and ends in SFC, the correct and faster way is using that offset to merge blocks like the original fix. The algorithm here is simple here.

Find out the block we want, say that we got one


70x: Accept 202 responses

The spec defines 202 status codes for asynchronous media uploads, so test 700, 701, and 702 should allow it.

Additionally, I would suggest that all of the post creation tests (10X, 20X, 30X) should all also respect an HTTP 202 response, and not try to load the returned location immediately.

I am running across this same issue too. I think it’s largely because there may sometimes be a discrepancy between where files and media are stored, and where they are accessible to the public.
Indeed, when I began building my endpoint, I assumed that given the endpoint was interfacing with where files are stored, it should return statuses and locations based on that information (in my case this would be 202 and the location of a file on a GitHub repo). But then I realised that the spec asks that endpoints return details relating to the published location (makes sense)… but there’s not always a 1:1 relationship between where a file has been saved, and where it is (more) publicly available.
This discrepancy is highlighted by those like myself @gerwitz who are using static site generators, saving files to places like GitHub, and then via tools like Netlify post-publishing the site in a separate flow. I wonder if there’s a way to better account for this use case?


Keybase Install Error: There was an error trying to install the mountdir

After multiple requests for entering admin credentials:

I tried this multiple times (even with more than a few minutes in-between) but always with the same result.
Based on this comment in issue #11240, I also tried uninstalling and reinstalling keybase but the issue persists.
Maybe also of interest:
 /> ls /keybase/
KBFS_NOT_RUNNING

my log id: 57da329f1c5c73f8522ef41c
edited to add: macOS Mojave. Keybase ran without issues until the update, even the KBFS part.

Sorry, we had a bug.  New release coming out today or tomorrow, or if you want in the mean time, you can try this preview:
https://s3.amazonaws.com/prerelease.keybase.io/darwin-test/Keybase-2.12.5-20190101163554%2Bc4dec09.dmg

ERROR CODE 505, DB error in method stellar.1.local.airdropRegisterLocal. what happens to keybase?

Related:

https://github.com/keybase/client/issues/15257#issuecomment-531395333
#19515
#19531
#19548
#19572
#19642
#19644
#19646
#19647

have same issue, what should I do?

Solved: #19718

Sorry ,you do not qualify.in method stellar.1.local.airdropRegisterLocal


NEXT-36082 - Use absolute path for root plugin

1. Why is this change necessary?
The plugin:refresh command currently fails when the composer.json in the project root is a plugin.
2. What does this change do, exactly?
The \Shopware\Core\Framework\Plugin\Util\PluginFinder returns an absolute path (using the project dir) when a Shopware plugin is detected in the composer.json file in the project root.
This prevents an error in the refreshPlugins() method of the \Shopware\Core\Framework\Plugin\PluginService which expects all plugin paths to be absolute.
3. Describe each step to reproduce the issue or behaviour.
Add or adjust this in the default root composer.json after setting up a clean Shopware project with shopware/production:
{
    "type": "shopware-platform-plugin",
    "version": "1.0.0",
    "autoload": {"psr-4": {"Swag\\DemoPlugin\\": "src/"}},
    "extra": {
        "shopware-plugin-class": "Swag\\DemoPlugin\\MyDemoPlugin",
        "label": {
            "de-DE": "Demo Plugin",
            "en-GB": "Demo Plugin"
        }
    }
}

Create src/MyDemoPlugin.php:
<?php
namespace Swag\DemoPlugin;
class MyDemoPlugin extends \Shopware\Core\Framework\Plugin
{
}

Run plugin:refresh command.
4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-36082
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[x] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your contribution @astehlik !


Update README.md

I have added the method to the main routes so that users won't face any issues while using it.
Let me know if you'd like further adjustments!

Description
This feature/fix allows to...
Code samples
Laragear::sample();

This should be part of #99