Unable to find command line tool python required for Firebase Android resource generation on ubuntu20

[REQUIRED] Please fill in the following fields:

Unity editor version: 2019.4.12f1
Firebase Unity SDK version: 6.16.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Auth
Other Firebase Components in use: Auth
Additional SDKs you are using: none
Platform you are using the Unity editor on: Linux (Ubuntu 20.04.1 LTS focal)
Platform you are targeting: Android
Scripting Runtime: First I tried Mono and then IL2CPP none of them seems to be working

[REQUIRED] Please describe the issue here:
(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)
1-Create a new project
2-Import firebase packages
3-above two steps are enough to reproduce the error even if google-services.json is present in Assets folder
Steps to reproduce:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts?
Yes
What's the issue repro rate? (eg 100%)
What happened? How can we make the problem occur?
Below is the error message I get
Unable to find command line tool python required for Firebase Android resource generation.
python is required to generate the Firebase Android resource file google-services.xml from Assets/google-services.json. Without Firebase Android resources, your app will fail to initialize.
python was distributed with each Firebase Unity SDK plugin, was it deleted?
System.ComponentModel.Win32Exception (0x80004005): ApplicationName='python', CommandLine='"/home/mughis/Unity/CP-Cash_Riddle_Game-main/Assets/Firebase/Editor/generate_xml_from_google_services_json.py" -i "Assets/google-services.json" -l', CurrentDirectory='/home/mughis/Unity/CP-Cash_Riddle_Game-main', Native error= Cannot find the specified file
at System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x002dc] in :0
at System.Diagnostics.Process.Start () [0x0003a] in :0
at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
at GooglePlayServices.CommandLine.RunViaShell (System.String toolPath, System.String arguments, System.String workingDirectory, System.Collections.Generic.Dictionary2[TKey,TValue] envVars, GooglePlayServices.CommandLine+IOHandler ioHandler, System.Boolean useShellExecution, System.Boolean stdoutRedirectionInShellMode) [0x002dc] in <3c3527f58bf541c9a5e9efe18e257c11>:0    at GooglePlayServices.CommandLine.Run (System.String toolPath, System.String arguments, System.String workingDirectory, System.Collections.Generic.Dictionary2[TKey,TValue] envVars, GooglePlayServices.CommandLine+IOHandler ioHandler) [0x00000] in <3c3527f58bf541c9a5e9efe18e257c11>:0
at Firebase.Editor.PythonExecutor.Run (System.Collections.Generic.IEnumerable1[T] arguments, System.String workingDirectory, System.Collections.Generic.Dictionary2[TKey,TValue] envVars, GooglePlayServices.CommandLine+IOHandler ioHandler) [0x0001c] in <685f3df879854c5fbc61809c34b3dfd0>:0
at Firebase.Editor.GenerateXmlFromGoogleServicesJson.RunResourceGenerator (System.Collections.Generic.IEnumerable1[T] arguments, System.String inputPath, System.Boolean showCommandLine) [0x0002b] in <685f3df879854c5fbc61809c34b3dfd0>:0  UnityEngine.Debug:LogError(Object) Firebase.Editor.GenerateXmlFromGoogleServicesJson:RunResourceGenerator(IEnumerable1, String, Boolean)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:ReadBundleIds(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:UpdateConfigFileDirectory()
Firebase.Editor.GenerateXmlFromGoogleServicesJson:CheckConfiguration()
Firebase.Editor.GenerateXmlFromGoogleServicesJson:m__0()
Google.RunOnMainThread:ExecuteNext()
Google.RunOnMainThread:m__1()
Google.RunOnMainThread:RunAction(Action)
Google.RunOnMainThread:ExecuteAllUnnested(Boolean)
Google.RunOnMainThread:ExecuteAll()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
along with a warning
Null
UnityEngine.Debug:LogWarning(Object)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:LogWarningIfEnabled(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:ReadBundleIds(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:UpdateConfigFileDirectory()
Firebase.Editor.GenerateXmlFromGoogleServicesJson:CheckConfiguration()
Firebase.Editor.GenerateXmlFromGoogleServicesJson:m__0()
Google.RunOnMainThread:ExecuteNext()
Google.RunOnMainThread:m__1()
Google.RunOnMainThread:RunAction(Action)
Google.RunOnMainThread:ExecuteAllUnnested(Boolean)
Google.RunOnMainThread:ExecuteAll()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /home/bokken/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
Relevant Code:
this does not seems like a code problem however I'm using the below code
using UnityEngine;
using UnityEngine.UI;
using Firebase.Auth;
using Firebase.Extensions;

public class AuthManager : MonoBehaviour
{
    public InputField phoneNo;
    public InputField code;
    public Text text;
    public GameObject panel;

    private string phoneId;
	private bool toggleLogs;

    Firebase.DependencyStatus dependencyStatus = Firebase.DependencyStatus.UnavailableOther;
	FirebaseAuth auth;
	FirebaseUser user;
	PhoneAuthProvider provider;

    void Start()
    {
		WriteLog("Start Called");
		toggleLogs = false;
        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
		{
			dependencyStatus = task.Result;
			//if (dependencyStatus == Firebase.DependencyStatus.Available)
			{
				InitializeFirebase();
				WriteLog("Firebase initializing...");
			}
			//else
			{
				WriteLog("Could not resolve all Firebase dependencies: " + dependencyStatus + " ERR");
			}
		});
    }

    void InitializeFirebase()
	{
		auth = FirebaseAuth.DefaultInstance;
		auth.StateChanged += AuthStateChanged;
		//AuthStateChanged(this, null);
	}

	public void PhoneGetVerificationCode_Click()
	{
		//Debug.Log(auth);
		WriteLog("GET VERIFICATION CODE");
		provider = PhoneAuthProvider.GetInstance(auth);
		Debug.Log(provider);
		WriteLog("Verify Phone Number: " + phoneNo.text);
		provider.VerifyPhoneNumber(phoneNo.text, 60, null, //phoneAuthTimeoutMs = 60
		verificationCompleted: (credential) => {
			// Auto-sms-retrieval or instant validation has succeeded (Android only).
			// There is no need to input the verification code.
			// `credential` can be used instead of calling GetCredential().
			WriteLog("Auto-sms-retrieval or instant validation has succeeded (Android only).");

			OnVerifyCode(credential);
		},
		verificationFailed: (error) => {
			// The verification code was not sent.
			// `error` contains a human readable explanation of the problem.
			WriteLog("The verification code was not sent.");
			WriteLog(error.ToString());
		},
		codeSent: (id, token) => {
			// Verification code was successfully sent via SMS.
			// `id` contains the verification id that will need to passed in with
			// the code from the user when calling GetCredential().
			// `token` can be used if the user requests the code be sent again, to
			// tie the two requests together.
			WriteLog("Verification code was successfully sent via SMS.");
			WriteLog("Id: " + id);
			WriteLog("Token: " + token);
			phoneId = id;

		},
		codeAutoRetrievalTimeOut: (id) => {
			// Called when the auto-sms-retrieval has timed out, based on the given
			// timeout parameter.
			// `id` contains the verification id of the request that timed out.
			WriteLog("Auto-sms-retrieval has timed out");
			WriteLog("Id: " + id);

		});
	}

	public void PhoneVerifyCode_Click()
	{
		Credential credential = provider.GetCredential(phoneId, code.text);
		OnVerifyCode(credential);
	}

	private void OnVerifyCode(Credential credential)
	{
		WriteLog("VERIFY CODE");
		auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
			if (task.IsFaulted)
			{
				WriteLog("SignInWithCredentialAsync encountered an error: " + task.Exception);
				return;
			}

			FirebaseUser newUser = task.Result;

			WriteLog(System.String.Format("User signed in successfully: {0} (ProviderID = {1})",
				newUser.PhoneNumber, newUser.ProviderId));
		});
	}

	void AuthStateChanged(object sender, System.EventArgs eventArgs)
	{
		WriteLog("Auth State Changed");
	}

    void WriteLog(string msg)
    {
        string temp = text.text;
        text.text += "\n" + msg;
    }

    public void OnSendCode()
    {
        PhoneGetVerificationCode_Click();
		string num = phoneNo.text;
    }

    public void OnVerfiyCode()
    {
        PhoneVerifyCode_Click();
		string otp = code.text;
    }

    public void OnSignout()
    {
        Debug.Log("Signout");
    }

    public void ToggleLogs()
    {
		if(toggleLogs)
		{
			panel.SetActive(true);
			text.gameObject.SetActive(false);
			toggleLogs = false;
		}
		else
		{
			panel.SetActive(false);
			text.gameObject.SetActive(true);
			toggleLogs = true;
		}
    }
}

Hi @mughis369,
The Firebase Unity SDK leverages python as part of its build process and so it's required to be installed on your linux instance.  The build scripts specifically look for the python binary executable and we recommend that you install python 3.x instead of python 2.x.  You can do some searches on how to install python on linux via apt.
You can test if it's configured correctly by starting a new shell instance and running python -version from the command line.  For example:
  $ python --version
  Python 3.6.8 (or something)

I hope this helps!

Hi @DellaBitta
I have a project which I wanted to add Oculus integration to  - so I installed the Oculus Integration from the Asset Store. Having done so, I receive the errors
Unable to find command line tool python required for Firebase Android resource generation.
python is required to generate the Firebase Android resource file google-services.xml from Assets/GoogleService-Info.plist. Without Firebase Android resources, your app will fail to initialize.
python was distributed with each Firebase Unity SDK plugin, was it deleted?

I certainly haven't deleted anything (just installed Unity), and in a new shell instance I ran
python -- version
and got
Python 3.8.5
Any ideas, what I might be doing wrong?

Hi @KibiH,
Was python working before you added the Occulus Integration?  Also are you also on Linux?

@DellaBitta
Python was working fine before Oculus
I am on Ubuntu 20.04 LTS

Hi @KibiH,
It seems that the Oculus package might clobber the path environment variable that the Firebase SDK depends upon.  Unfortunately it's hard to determine how and why this occurs. May I suggest:
1. Asking the Oculus support group about why this problem might exist?
  1. Start with a clean project, install Oculus first and then install Firebase to determine if the path environment variable remains intact in this order?


Grammatical fix on line 1

Fixed sentence #2 under ##Output by adding "for"

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @nikhilrwadekar on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Added 184th Quote file

I have seen the previous pull requests and saw that 183 was the lastest of them all. So I went with the 184 as the name. Let me know if any changes had to be done.

I don't think this will ever get merged, closing this 👎


feat: Component based Ready system

The 10% duplication is due to the existing Ready code still being in the codebase. That will be removed via #362 or similar.


added animation to posts

issue solved #180
How it looks now -
https://user-images.githubusercontent.com/53293156/114079754-34b39e80-98c8-11eb-8cb4-06b61adfd39e.mov

@Tejas1510 It was soooo hard to find the the component from the whole pool of code 😅

@Tejas1510 @sanjay270899 May you please review my PR!

@sanjay270899 Are they unstaged now?

@Castella1313 Not yet.

@sanjay270899 Can you please tell me how to do it ?

@sanjay270899 I think its done now!

@sanjay270899 @Tejas1510 Can you please check it now?

@Castella1313 No, you have removed those file. Join Athavani's discord server, I will try to hep. https://discord.com/invite/gEqSYzc5Yu

@sanjay270899 Can you please check it now?

@Castella1313 Yes, it is fine now. Do same for package-lock.json in server folder.

@sanjay270899 Done

@sanjay270899 Can you add the level?

@Castella1313 Oh Sorry! I forgot to add labels. Added now.


Canceled builds don't update github status (it's forever pending)

Posting an example screenshot. I think it's confusing and we should try & think of a solution...
This screenshot shows commit '14' listed as pending even though the build itself was aborted when '15' landed.

There is no way to delete a status.
Do what should we set it? FAILED I assume?

Also there is no way to register a listener on canceled builds as far as I an see. :(

Hello @bjoernhaeuser I suggest we list it as failed, because it did not complete. But, I'm not firm on that thinking.
I also suspect this is lower on the priority list than other open issues. I have no problem if you want to close it as "won't work on this in the near-term."

There are just 4 possible statuses in GitHub checks - error, failure, pending, or success. Aborted job is actually nothing of those.
Maybe a good solution will be at least to replace "Pending — Build started" with "Pending - Build aborted".
More about GitHub statuses.


Add Telegram, GSA, LinkedIn, and experimental SFSVC detection, add ignore property

What this does

✅ Added appKey for linkedin on iOS (detected before but no appKey existed before)
✅ Added detection for telegram for both iOS + Android
✅ Added detection for gsa for iOS (no need on Android)
❌ Removed ua passed in property - not used in public repos

New detection methods look for other properties on the window and not just UA

✅ Added new property called skip
✅ Added new method called SFSVCExperimental
🧹 Refactored tests and UAs to allow for window object mocking

Closes #30, Closes #31, Closes #29
Parameter changes
Some in-app browsers do let users download (if that is your purpose for using inapp-spy) you can exclude those in-app browsers with the skip parameter. See new README for suggestions on default skip configs.
const inapp = InAppSpy({
  skip?: {appKey: AppKey, platform?: 'apple' | 'android' | undefined for all}[]
  ❌ removed `ua`
})

Return changes
{
  isInApp: boolean; // more detection aligning with `appKey` additions

  appKey: "messenger" |
    "facebook" |
    "twitter" |
    "wechat" |
    "instagram" |
    "tiktok" |
    "snapchat" |
    "line" |
    "linkedin" | // added
    "gsa" | // added
    "telegram" | // added
    undefined; // can be undefined even if `isInApp: true`

  appName: string; // additions align with `appKey` additions

  ua: string; // unchanged

  skipped: boolean; // added - helpful for debugging, if user decided to skip this appKey it will be true

}

NEW Experimental SFSafariViewController Detection
SFSafariViewController has a cumbersome downloading experience compared to the full Safari browser.
Detect SFSafariViewController via SFSVCExperimental. This method could give false positives or change with OS updates. Use with caution. Feedback is appreciated!
Usage
import InAppSpy, { SFSVCExperimental } from "inapp-spy";

const { isInApp, appKey, appName } = InAppSpy(); // normal detection
// Code with `isInApp`, `appKey`, `appName`

const isSFSVC = await SFSVCExperimental(); // async needed!
// Code with `isSFSVC`

False Positives + Escape hatch
If you are using escape links to open in Safari or another browser - remember to add a query string just in case a false positive occurs. If the query string for redirecting exists do not show or fire the escape link.
If SFSVCExperimental all of a sudden stops working with a new Safari/OS update, define the max Safari version that works and it will return false for all versions after that.
SFSVCExperimental({
  maxVersion: "20.8.1", // (is a string) Max version of Safari that works with SFSVCExperimental - I hope it works forever! But just in case... :)
});

TODO:

[x] Add some more iPad uas
[x] Add tests for SFSVC (SFSafariViewController)
[x] Add tests for new property skip
[x] Write up what this does fully
[ ] Test more "SchemaDataExtractor" in window

Tagging @Janith-Umeda for SFSafariViewController detection (experimental) and @mujeebcpy for Telegram detection

Shout out to whomever created https://jeac.me.uk/ . The logs on this site helped with solidifying some strategies for SFSafariViewController detection.

To see these tests in action: https://deploy-preview-10--inappdebugger.netlify.app/


Feature: Typescript definitions missed

I have recently installed it then I noticed typescript definitions are not included.
I have tried npm i -D @types/vue-fabric-wrapper but it looks that they don't exist yet.
I think it would be great to have those definitions in order to allow easier development in typescript environments.
Thanks for the library.

Hi, Yes this would be good to have. I am not that experienced in creating definition file for vue components so if you or anyone else knows the best place to start feel free to contrubute.

Started a branch: https://github.com/bensladden/vue-fabric-wrapper/tree/typescriptdefs
But will require assistance to finish it off

Hi, Yes this would be good to have. I am not that experienced in creating a definition file for vue components so if you or anyone else knows the best place to start feel free to contrubute.

Me too, but we could have a look at other vue library repositories.


Make Eclipse mostly compile gradle again

Eclipse can't handle external .jars in the classpath very well. If two projects reference the same (Eclipse-external) .jar, it will index the .jar twice. Therefore changed the eclipse.gradle in a way that:

every .jar in any project of the workspace will be represented as linked file in the gradle (root) project.
every project classpath is altered to reference that linked .jar as an Eclipse internal file (/gradle/.eclipsecache/the-1.jar)

Some additional changes for eclipse to work are:

make every project use the default JRE and compiler settings of the workspace - otherwise Eclipse will complain about the @Override annotations missing or not missing at many places
do some additional classpath cleanups in the project (like removing duplicate entries etc.)

Hi Armin,
first of all, hats off to making it work in Eclipse again :) This is certainly no easy task, given that all core developers use IntelliJ, so no one feels the pain if it doesn't work in Eclipse.
I would like to split this up into two parts:

Changes that are needed to make Eclipse compile again
Changes that are "only useful" (like the proposed performance improvement)

Would that be okay for you?
For 1), you don't need to use the default JRE and clear the jdt properties file. Instead, you can set the eclipse.jdt.sourceCompatibility and eclipse.jdt.targetCompatibility to 1.6.
For the changes in 2), I would first like to have a little better understanding what you are trying to fix. Is it really the case that JDT indexes Jars twice? That sounds pretty surprising. Can you point me to a bug report or some similar information? I'm asking because the fix you propose adds significant complexity. Since we encourage everyone to use IntelliJ for working on Gradle Core, we don't want to add a lot of complexity if it does not solve a critical problem.
Cheers,
Stefan

Hi Stefan,
thanks for having a look into this. We can surely split it up, as long as it still works :)
1.: Regarding the default JDK, it is possible to set that straight, but I was desperately trying to get Eclipse compile and was stuck in too many 'must/does not override' and 'JDK not found' problem messages. So putting that all back to the default JDK looked like a sound way of getting back to a situation where I can code again. If someone uses 1.7 functionality where he shouldn't, he'll face that in the build process anyway. So what do you want me to do - don't clear the properties file in line 112 and rather set the eclipse.jdt.sourceCompatibility on every project?
2.: The performance improvement is not just about comfort: If you don't have it, Eclipse won't work on commodity hardware. I think the introduction above was not clearly stated: Eclipse will re-index each .jar for each project that has this .jar in the class path over again. Having 60 or so nested projects as it is in gradle, this has the effect that you can't use Eclipse, even after waiting for a long period of time to create them. You can test it also by altering the eclipse.gradle script to
return originalPath;
in function eclipseCacheFileAndGivePath
When doing so, you can see that the .metadata workspace directory heavily increases in size, reflecting the much larger amount of jar indexes. And you will see that Eclipse shuts down with an OutOfMemory sooner or later.
To answer your question: No, sorry, I don't have a bug ticket on Eclipse to point you at. Google does not help that much when entering terms like 'external .jar Eclipse index'. But I think this difference maybe one of the reasons why you can add .jars AND external .jars to the class path in eclipse in the first place.
And yes, IntelliJ may be the first pick to develop in gradle, but there's just this 'at the company' situation where you have a Windows machine without admin privileges but lots of virus scanners and only Eclipse. And this is what the hack is for.

So what do you want me to do - don't clear the properties file in line 112 and rather set the eclipse.jdt.sourceCompatibility on every project?

Exactly, just get rid of that line and the default JRE container. The right one will be chosen based on the targetCompatibility anyway.

Eclipse won't work on commodity hardware

It worked within a reasonable time for me when I tried last time. I'll try again and also get in touch with the JDT committers. I hope they'll have some insight on the performance problem you are describing. Can you please remove the performance-related code from this PR for now and open another one for that?

Hi Stefan, just coming back to tell you I have been sick last week so nothing happened until now. I'll try to get it done this week and will report back then.
Regards, Armin

Hi Stefan,
it is done now.

You were right on the jdt properties and the JRE (although keeping them leads to the strange situation that you have to have a 1.7 jre configured in eclipse which you have to name JavaSE-1.5, but I don't care - see instructions in eclipse.gradle)
You were right on the performance issue. Eclipse still works (but I suppose it will freeze more often compared to the performance tweak in place)

It think the current state is the minimal implementation now and you can give it another try.
Regarding the performance tweak - how to proceed on this matter? I can show the problem and solution with a showcase multi project build. Put that on the forum, write a gist?
Would be nice if we can employ a general solution for the eclipse plugin by itself. In my workplace, we found it a neccessity, as we're having workspaces with 300 projects and each project having something like 300 .jars.
Best Regards,
Armin

Dear Stefan,
reporting back because I further investigated in to the Eclipse performance issue. It seems that the problem occurs only with Eclipse 4.3 (may prior as well, but I didn't check that). With Eclipse 4.4 the problem does not occur. Anyway, in case you want to check that, you can have a go with this settings.gradle:
`
// make the master build file
new File('build.gradle').text = '''
task wrapper(type: Wrapper) {
gradleVersion = '2.12'
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
repositories {
    jcenter()
}

dependencies {
	compile 'org.springframework:spring-web:4.2.4.RELEASE'
	compile 'org.hibernate:hibernate:3.5.4-Final'
	compile 'org.wildfly.core:wildfly-server:2.0.10.Final'
	compile 'org.apache.kafka:kafka_2.10:<IP_ADDRESS>'
	compile 'org.apache.geronimo:geronimo-system:1.0'
	compile 'org.apache.cassandra:cassandra-all:3.2.1'
	compile 'com.netflix.hystrix:hystrix-examples:1.4.23'
	compile 'net.sf.ehcache:ehcache:2.10.1'
	compile 'com.h2database:h2:1.4.191'
	compile 'org.codehaus.groovy:groovy-all:2.4.5'
	compile 'ant:ant:1.7.0'
	compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.32'
	compile 'org.apache.openjpa:openjpa:2.4.0'
	compile 'org.apache.maven.plugins:maven-dependency-plugin:2.10'
	compile 'joda-time:joda-time:2.9.2'
	compile 'org.jclouds:jclouds-compute:1.6.0'
	compile 'com.netflix.archaius:archaius-core:2.0.0-rc.7'
	compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.32'
	compile 'org.mockito:mockito-core:2.0.42-beta'
	compile 'org.uberfire:uberfire-io:0.7.4.Final'
	compile 'io.netty:netty-all:4.1.0.CR2'
	compile 'org.apache.tomcat:tomcat-catalina:9.0.0.M1'
	compile 'org.eclipse.jetty:jetty-server:9.3.7.v20160115'
	compile 'jboss:jboss-system:4.2.2.GA'
	compile 'org.jboss.javaee:jboss-javaee:5.0.1.GA'
}

}
'''
for(int n = 0; n<300; n++){
new File("subprojects/project-$n/src/main/java").mkdirs()
include("project-$n")
}
rootProject.children.each {project ->
project.projectDir = new File('subprojects', project.name)
}
`
but I think further investigation is pointless, as Eclipse 4.5 is out already.
Regards,
Armin

Hi Armin,

It seems that the problem occurs only with Eclipse 4.3 (maybe prior releases as well, but I didn't check that). With Eclipse 4.4 the problem does not occur.

Thank you so much for digging into this issue! I agree that we don't need to fix this if it is already fixed in Eclipse itself.

you have to have a 1.7 jre configured in eclipse which you have to name JavaSE-1.5

That should not happen. Gradle should automatically add JavaSE-1.7 to the classpath if you specify a compatibility level of 1.7. Can you please double-check?
I have some further questions, but I'll add those as in-line comments.
Cheers,
Stefan

Hi Stefan,
I think you're asking the right questions :)
Seems I had some zombie code left over from the Eclipse 4.3 performance adjustments.
So I cut down the code two only 2 lines more than the original code. I hope you're not asking any more questions, otherwise no code will be left anymore and the pull request was pointless.
Regarding the JRE adjustments, I'm not sure on how to proceed.
The gradle/build.gradle file applies the gradle/gradle/groovyProject.gradle to every subproject.
In the groovyProject.gradle, you'll find
sourceCompatibility = 1.5
targetCompatibility = 1.5

I believe this is the reason why the eclipse plugin does set the JRE to JavaSE-1.5 in every subproject.
Some of the projects indeed use JDK6 classes (maybe even JDK7, I think I have seen it, but am too lazy now to find it) classes, for example  org.gradle.model.internal.manage.schema.extract.InvalidManagedModelElementTypeException in modelCore and org.gradle.api.internal.file.collections.jdk7.Jdk7DirectoryWalker in core are using java.util.Deque (JDK1.7).
So what do we do here?

adjust the source and targetCompatibility in these projects?  I think the core project aims at being compatible with a 1.5 rt.jar and VM - not good.
set the JRE specially to 1.6/1.7 in these projects? I think this will clutter the build files and JRE 1.6/1.7 rt.jar class usage will propagate to the other subprojects from time to time, each time rendering these projects with build errors in eclipse (and nobody here for fixing it). This approach has another drawback, I find - it would have the effect that you need 2 (or even 3) JREs configured in Eclipse - which doesn't make it easier in the end.
remove the JRE as done in the initial proposal and go with the standard JRE in eclipse, so nobody needs to adjust JRE names in eclipse (unless his standard jre is less than 1.6/1.7) and nobody needs to adjust JREs in the .gradle files.

Just tell me your thoughts, when we find a conclusion I'll move the setup instructions from eclipse.gradle to the README.md
Regards,
Armin

Hi Armin,
a contribution is not just measured in lines of code. You put a lot of research and deep thinking into this and as a result we learned something about Eclipse, which is great. Now we can tell others "you need at least Eclipse version 4.4 to make this work properly".
I checked and found that if you overwrite the eclipse.jdt.sourceCompatibility, you also need to overwrite eclipse.jdt.javaRuntimeName with the corresponding value (JavaSE-1.6). Then everything works fine.
Please go ahead and merge the instructions into the main readme and add the line I hinted above. Then this should be good to go 👍
Thanks again,
Stefan

Hi Stefan,
done. Actually I won't be able to do any more changes until July, as we're going on vacation now.
I hope it's ok now.
Regards,
Armin

Thank you Armin! I have merged your changes into master and did some final polishing.
It looks like there are still many compile errors because Eclipse's Groovy integration just doesn't understand some of our classes. There's not much we can do there. But at least the Java classes (which are the majority of production classes) can now be edited.

Code Review: https://code-review.gradle.org/cru/REVIEW-5963


Refactor script checking in CollectionSettings and FolderSettings

in macos (sequoia 15.1), when closing the app it crashes. this issue I am getting from 1.34.1.

@mdevice2013, thanks for reporting this bug. This PR was raised to fix an app crash issue and has been released as part of v1.34.2.
The issue you reported has been addressed by our team as part of the Mac-specific performance improvements.

Thanks for your prompt feedback much appreciated. when that fix be available for download? i use bruno_1.34.2_arm64_mac.dmg


Convert veritech to use naxum and jetstream (ENG-2652)

Description
This PR converts veritech to use both naxum and jetstream, like #4399 did for pinga. By using both technologies, we now have durable queues for function requests and easier flexibility for running multiple veritech instances in production systems. The "kill execution" functionality for veritech still uses core NATS due to its need for fan-out-style communication, but it also uses naxum for its handler, extractor, etc. benefits.

Additional Changes
We've also removed access to reconciliation functions at the veritech level. Sadly, this commit does not remove reconciliation functions from layers "above" veritech (e.g. the dal) nor does it remove reconciliation function from layers "below" veritech (e.g. cyclone and lang-js). This is because this commit is already large enough and aims to keep the bulk of changes within veritech itself.
This commit also renames "cancel execution" to "kill execution" to unify language across the codebase. As a result of this change, we needed to alias FuncRunState::Cancelled to the new enum variant FuncRunState::Killed. You'll change telemetry-related changes to this renaming as well.
Veritech shutdown handle has been removed in favor of shutdown tokens, much like pinga and our other services. Remaining pinga shutdown handle code has been remove from dal-test as well.
The FuncDispatchContext now requires WorkspaceId and ChangeSetId to be added. This was necessary to satisfy naxum-specific subject naming conventions. It may also open the door to more precise tracing at the veritech level.
Disclaimer
Tracing and telemetry may have drifted at the veritech level, but should have remained in tact. This goal of this commit is keep veritech functionally the same with follow-up tunings for tracing, usability, etc.

Merging. All tests pass. Func killing works with the admin dashboard. Actions run after composition with secrets, frames and generic fields. Qualifications pass. Authoring works. All mentioned features work interwoven with one another.

Pain.


Add link to the Velero user survey

This will add link from the site header to the survey, and also make sure that https://velero.io/survey works.
Signed-off-by: jonasrosland<EMAIL_ADDRESS>

:+1: Merging for timeliness sake.


When keyboard pops up, anchor message list bottom

When keyboard pops up the message list becomes smaller; it should be anchored to the bottom position.

This is fixed now by https://github.com/zulip/zulip-mobile/commit/ce44d788013f56d138fe427aa1ab5c25cea03030
now we are moving content up when keyboard pops

Closing as implemented.


Unmarshal "allOf" with array sub-schemas

This PR adds support for two related aspects of unmarshaling data using an OpenAPI schema:

Specifying an array schema without items is valid, but python-oas currently requires the presence of items. This PR returns the raw array instance without further unmarshaling when items is not present. Specifying an array schema without items can be useful, e.g., for adding constraints such as {min,max}Items to another array schema using allOf.
python-oas currently only supports object sub-schemas of allOf. This PR adds support for other sub-schemas, in particular array sub-schemas, with the limitation that the first sub-schema is used for unmarshaling. There are a few edge cases where this behavior results in slightly incorrect unmarshaling, e.g. when the first sub-schema is an array schema without items and the second sub-schema is an array schema with items with date values that should be parsed. The proper solution to this problem is to merge all sub-schemas of allOf, but it seems not trivial (see e.g. json-schema-merge-allof). I couldn't find a Python library for merging OpenAPI schemas, so we would need to write. I think having support for non-object sub-schemas with some limitations is better than not supporting non-object sub-schemas at all for now.

Thanks but I think that specifying an array schema without items is invalid. OpenAPI says as follows:

items - Value MUST be an object and not an array. Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. items MUST be present if the type is array.

Oh, you're right, I didn't realize this decrepancy between OpenAPI and JSON Schema. Thanks for pointing it out! Instead of omitting items, I can simply set "items": {}.

I have reverted f45ce82b17249a278edda90d0cfef53bde49911e and removed the tests for allOf with array sub-schema in which items is not present. Then, this PR still adds support for non-object sub-schemas of allOf.
What do you think?

Thanks, merged!


AttributeError: module 'gi' has no attribute 'require_version'

paru fails installing chwall with the following message
CHWALL_FAKE_INSTALL=exists python -B -m chwall.client desktop chwall-app.desktop ./locale
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/alanj/.cache/paru/clone/chwall/src/chwall-0.5.8/chwall/client.py", line 16, in <module>
    from chwall.gui.app import generate_desktop_file
  File "/home/alanj/.cache/paru/clone/chwall/src/chwall-0.5.8/chwall/gui/app.py", line 7, in <module>
    from chwall.gui.shared import ChwallGui
  File "/home/alanj/.cache/paru/clone/chwall/src/chwall-0.5.8/chwall/gui/shared.py", line 10, in <module>
    from chwall.gui.preferences import PrefDialog
  File "/home/alanj/.cache/paru/clone/chwall/src/chwall-0.5.8/chwall/gui/preferences.py", line 9, in <module>
    gi.require_version("Gtk", "3.0")
AttributeError: module 'gi' has no attribute 'require_version'
make: *** [Makefile:62: chwall-app.desktop] Error 1
rm data/icon_24x24.png data/icon_mono_16x16.png locale/fr/LC_MESSAGES/chwall.mo data/icon_mono_48x48.png data/icon_mono_32x32.png data/icon_mono_24x24.png data/icon_48x48.png locale/es/LC_MESSAGES/chwall.mo data/icon_mono_128x128.png data/icon_16x16.png data/icon_mono_64x64.png data/icon_128x128.png data/icon_32x32.png data/icon_64x64.png
==> ERROR: A failure occurred in package().
    Aborting...
error: failed to build 'chwall-0.5.8-1':
error: packages failed to build: chwall-0.5.8-1

Weird, it’s like you don’t have python-gobject installed on your system, but it’s a required dependency of Chwall. I don’t know Paru, but did you install all of chwall dependency before building it?

arch linux I think it broke after a system update and yes I installed chwall with paru

Do you still have the problem?
Can you check if all dependencies (mainly python-gobject in your case) are installed?
On archlinux, if you don’t succeed to build it, you can consider using my own custom repository: https://archlinux.umaneti.net

turns out it was just python/pip giving random errors. most of my other python apps were affected too. and they stopped somewhere between some updates


[PrintAsObjC] Fix class properties with generic parameters.

Explanation: Commas in ObjC generics break our compatibility macro used for ObjC class properties, just like they would with C++ templates in macros. Fix this by making the macro variadic.

Scope: Only affects class properties exposed to Objective-C. Should not change the behavior of anything that previously worked, either.

Issue: rdar://problem/26879147.

Risk: Very low. It's a very simple change with fairly limited scope.

Testing: Added compiler regression tests.

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@DougGregor, mind reviewing for the branch?
@swift-ci Please test

@swift-ci test


[BEAM-4658] Follow up on PR comments from #6050

https://github.com/apache/beam/pull/6050

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


links: Rename developer-community -> development-community.

@timabbott: FYI :)

@timabbott Just fixed the various build errors, this is now ready for review. Thanks!

Merged, thanks @eeshangarg!

That said, git grep developer-community suggests we still have dozens of links to update.


Upstream improvements for scf.for folding on loop ranges.

Motivating example:
    func @simple_mul_dispatch_0(%arg0: !vmvx.interface, %arg1: !vmvx.buffer, %arg2: index, %arg3: index, %arg4: index, %arg5: index, %arg6: index, %arg7: index, %arg8: index, %arg9: index, %arg10: index) {
      %c0 = constant 0 : index
      %c2 = constant 2 : index
      %c1 = constant 1 : index
      %c-1 = constant -1 : index
      %c4 = constant 4 : index
      %c4096 = constant 4096 : index
      %0 = vmvx.interface.binding<%arg0 : !vmvx.interface>[0] : !vmvx.buffer
      %1 = vmvx.interface.binding<%arg0 : !vmvx.interface>[1] : !vmvx.buffer
      %2 = vmvx.interface.binding<%arg0 : !vmvx.interface>[2] : !vmvx.buffer
      scf.for %arg11 = %arg3 to %c2 step %arg9 {
        %3 = muli %arg11, %c-1 : index
        %4 = addi %3, %c2 : index
        %5 = cmpi slt, %c1, %4 : index
        %6 = select %5, %c1, %4 : index
        scf.for %arg12 = %arg2 to %c4096 step %arg8 {
          %7 = muli %arg12, %c-1 : index
          %8 = addi %7, %c4096 : index
          %9 = cmpi slt, %c1, %8 : index
          %10 = select %9, %c1, %8 : index
          scf.for %arg13 = %c0 to %6 step %c1 {
            %11 = addi %arg11, %arg13 : index
            %12 = muli %11, %c4096 : index
            scf.for %arg14 = %c0 to %10 step %c1 {
              %13 = addi %arg12, %arg14 : index
              %14 = addi %12, %13 : index
              %15 = muli %14, %c4 : index
              %16 = vmvx.buffer.load<%0 : !vmvx.buffer>[%15] : i32
              %17 = vmvx.buffer.load<%1 : !vmvx.buffer>[%15] : i32
              %18 = muli %16, %17 : i32
              vmvx.buffer.store<%2 : !vmvx.buffer>[%15], %18 : i32
            }
          }
        }
      }
      return
    }

There's a lot of muls and adds in here that could be moved up into the loop ranges.
For example, %13 should be able to fold into the %arg14 loop:
%arg12p10 = addi %arg12, %10
scf.for %arg14 = %arg12 to %arg12p10 step %c1 {
  %14 = addi %12, %arg14 : index
  %15 = muli %14, %c4 : index
  %16 = vmvx.buffer.load<%0 : !vmvx.buffer>[%15] : i32
  %17 = vmvx.buffer.load<%1 : !vmvx.buffer>[%15] : i32
  %18 = muli %16, %17 : i32
  vmvx.buffer.store<%2 : !vmvx.buffer>[%15], %18 : i32
}

Which then repeated folds again:
%arg12p10 = addi %arg12, %10
%arg12p12 = addi %arg12, %12
%arg12p10p12 = addi %arg12p10, %12
scf.for %arg14 = %arg12p12 to %arg12p10p12 step %c1 {
  %15 = muli %arg14, %c4 : index
  %16 = vmvx.buffer.load<%0 : !vmvx.buffer>[%15] : i32
  %17 = vmvx.buffer.load<%1 : !vmvx.buffer>[%15] : i32
  %18 = muli %16, %17 : i32
  vmvx.buffer.store<%2 : !vmvx.buffer>[%15], %18 : i32
}

And then the muli can be folded in too to scale the range:
%arg12p10 = addi %arg12, %10
%arg12p12 = addi %arg12, %12
%arg12p10p12 = addi %arg12p10, %12
%arg12p10p12x4 = muli %arg12p10p12, %c4
scf.for %arg14 = %arg12p12 to %arg12p10p12x4 step %c4 {
  %16 = vmvx.buffer.load<%0 : !vmvx.buffer>[%arg14] : i32
  %17 = vmvx.buffer.load<%1 : !vmvx.buffer>[%arg14] : i32
  %18 = muli %16, %17 : i32
  vmvx.buffer.store<%2 : !vmvx.buffer>[%arg14], %18 : i32
}

(and then of course all those hoisted values can be themselves canonicalized/cse'd/hoisted again/etc)
This will help reduce a large amount of the addressing math by folding it into math that needed to happen anyway (loop variables) or at least help get a lot of it to be invariant to the inner loop and able to be hoisted out.
These could be canonicalizations on scf.for or a set of patterns that could be applied independently (there seems to be a bit of both approaches used upstream).
This is critical to VMVX but would also help the VM when we start using SCF there as an input (as well as any upstream dialect usage on the other codegen paths/etc).

Hi @benvanik , I'm interested in tacking a crack at this. I've been following the project for a little while and this looks like a good first issue.
Can you clarify this statement for me...

These could be canonicalizations on scf.for or a set of patterns that could be applied independently (there seems to be a bit of both approaches used upstream).

Are these other transformations done in IREE that do something similar to the above, or are you referring to the way the transformation is applied?

Hi @anthonycanino1! (sorry for the delay - was on vacation)
scf.for has some canonicalization patterns here: https://github.com/llvm/llvm-project/blob/4184018253e720b0f2449b2b83ce27fc682f8579/mlir/lib/Dialect/SCF/SCF.cpp#L841-L845
The idea would be to add some new ones that perform the range folding and hoisting like in the examples above. ForOpIterArgsFolder does range manipulation but for doing direct folds (the entire scf.for returns a single value, etc), instead of the range arithmetic manipulation like called for here.
scf.if has some similar patterns that may be useful as examples too:
https://github.com/llvm/llvm-project/blob/4184018253e720b0f2449b2b83ce27fc682f8579/mlir/lib/Dialect/SCF/SCF.cpp#L841-L845
If added upstream in those files then everyone benefits, which would be fantastic! The alternative mentioned is to do it somewhere in IREE as a pass that applies some patterns, however that'd only be if what we wanted to do was unsafe and required some conditions that were IREE-specific (using IREE dialect types, etc). I think these are all general purpose and safe, though.

No problem @benvanik! Thanks for the tips, I'm digging into the code you pointed out, and I'll look into chatting with the MLIR folks and working on this upstream.

@benvanik I have some small proof of concept of this code that works on your example above, and I'm starting to see how it behaves in the larger MLIR test suite now.
Can you provide me with a little more context of when this optimization will be useful, so I can start the discussion with the MLIR folks? Does this pattern of add/mul index offsets appears on the induction variable when compiling from linalg on tensors/memrefs?

A pass for this has landed upstream in https://github.com/llvm/llvm-project/commit/3f429e82d3ea1710ee0a841675acba9bb7b658d2.
Please let me know how you plan to work it in to the VMVX pipeline. I can even help with it as well if you give some tips.

Nice work @anthonycanino1!
After our next llvm integrate we should be able to add it here:
https://github.com/google/iree/blob/552d3f888e46f96c8227b1bd2e4600b85338237b/iree/compiler/Dialect/VM/Transforms/Passes.cpp#L24
As well as in the various other codegen lowering pipelines (as they all at some point route through scf). It looks like prior to the existing createForOpCanonicalizationPass in iree/compiler/Conversion/LinalgToLLVM and LinalgToSPIRV would be good. (that pass looks like it should eventually be upstreamed and renamed ForOpVectorCanonicalizationPass as it's just optimizing vector variables)
There may also be places higher up in the stack where it's useful (as this kind of optimization can be applied many times, like canonicalization or CSE) that we could experiment with. Making the IR more readable and giving more opportunity for canonicalizers/pattern matchers to identify similar loop constructs thanks to the folding will have some good ripple effects throughout the whole stack.

Unfortunately the upstream pass causes miscompilation and incorrect results ;(
I'm going to close this issue for now until we want to do a big push on improving things and fix the upstream dialects.

Any value in keeping it open with breadcrumbs for upstream fixes needed?

Yeah, I'll stash it in the backlog. I feel like we could get 2x vmvx improvements from some basic work here (and those would help everything else) but it needs some investment.

Sent out a flag to de-specialize FuncOp SCF stuff: https://reviews.llvm.org/D128614

Also de-specialized Affine passes: https://reviews.llvm.org/D128616

Iterating on a repro but can't see the illegal thing. I did bisect the other optimization passes and was able to repro only with this one, so I don't believe this is an interaction thing (I think this pass is faulty). Here is the before/after output of two dispatches for a simple add that is failing when SCFForLoopRangeFolding is enabled: https://gist.github.com/stellaraccident/f88a28cb935cf9f12efffae8cb8fdcb9

Actually, looked right past it: the upper bound of the first loop is being changed to a constant 2 when it should be 8 (derived from a mul of 2 constants).

Ugh: https://github.com/llvm/llvm-project/issues/56235

Damn my short-term memory; was just bit by this again: "ew all this indexing math" -> "oh neat a range folding pass" -> "whoops that doesn't work..." 🤦
The majority of the loops I see ending up in common vmvx programs are of a form that could be handled by the pass (I see a note about negative steps but I'm fine with ignoring those), so it'd still be good to have. Now that there's some dataflow stuff upstream it may also be possible to do something nicer (tracking values across control edges and such and using value range analysis to avoid divs/rems/etc).


Fix text displacement when there are no reviews

GitHub thinks the repo is empty on the server so instead of wasting even more hours to let me reopen it I created a new PR :(
AND:

Shorter message for when there are no reviews,

Remove meh icon on anime index's review,

Hide review links when there are no reviews,

Write One => Duplicate link of button added when there are no reviews,
View All => Only takes you to an empty page when there are no reviews.

+1 from me, not gonna ask you to torture yourself again to squash the two later commits lol

I swear this branch is cursed. None of my other branches or repos encounter this error e.o


Port bats tests to tape.js tests

In #254 I implemented a some of the tests suite using tape. The rest of the tests need to be ported too so that windows has full test coverage.

As of #282 this is complete.


Bump Echoserver Image Tag

https://github.com/kubernetes-sigs/gateway-api/pull/1520 bumps the echoserver image version in conformance tests. When https://github.com/envoyproxy/gateway/pull/717 is merged, it should cause Gateway API conformance tests in EG to use the new image tag. The image tag should be bumped to v20221109-7ee2f3e in user docs for consistency.

I am going to bump this after https://github.com/kubernetes-sigs/gateway-api/pull/1520 got merged. ResponseHeaderModifier is required this new echo-server to demonstrate response header modifying abilities.

ResponseHeaderModifier Filter needs to use this new echo-server to demonstrate response header modifying abilities

Yes, the image tag for the conformance tests should get bumped as part of bumping Gateway API. This issue targets the image tag used by the user docs that will not get bumped without manual intervention.


Xcode 7.1

It appears that in Xcode 7.1 liftoff creates project and puts Main.storyboard and LaunchScreen.xib to the "Compile sources" phase. This behavior leads to compile error. Moving storyboard and xib to "Copy Bundle Resources" phase solves the problem.
There is a discussion on apple's developer portal https://forums.developer.apple.com/thread/18369

This is fixed on master, but a release with this change wasn't made yet. (#238)

Yeah, sorry. Been really negligent on this. I'll see what I can do to get a release out this week.

Thanks a lot!

1.6 is now out which resolves this.


Compatibility: LLama Message Order

LLama only supports messages in this order: 'system', 'user' and 'assistant' roles, starting with 'system', then 'user' and alternating (u/a/u/a/u...)
continue.dev sends two user role messages in a row (one with the text, one with the code snippet).
could you consider to merge these client-side? or is there already an option to merge them?

There's no option as of now, but I've been thinking about finally merging into a single user prompt.
Curious: does this seem to be the cause of low-quality responses?

as far as i understand the fine-tuning of a model is configured for a specific flow. I could imagine that ignoring that could end up in suboptimal results.
in the case of llama, they have a check in their implementation:
https://github.com/facebookresearch/codellama/blob/d2b38acd3a9c55051de1f21d9132f61de7d1a630/llama/generation.py#L309

@adrianliechti I've played around with this formatting and found that there doesn't seem to be any downgrade in capabilities from using the different ordering. But I wanted to check with you as well before closing this issue - have you noticed any poor responses coming from Continue?

feel free to close this!! and thanks a ton
I also implemented a "flattering" of the order in my proxy by combining the role's messages:
https://github.com/adrianliechti/llama/blob/main/llama-openai/provider/llama/llama.go#L271

cool! Did you notice a quality difference after doing this?

ok going to close this because (really funny timing) someone just brought up that pplx-api enforces the chat message ordering! So made the change inspired by your flattening function, and going to keep it in pre-release for a bit


Wrong 'ps' process start times shown inside containers

Required information

Distribution: ubuntu
Distribution version: 16.04
The output of "lxc info"

config:
  core.https_address: '[::]:8443'
  core.trust_password: true
api_extensions:
- id_map
api_status: stable
api_version: "1.0"
auth: trusted
public: false
environment:
  addresses:
  - <IP_ADDRESS>:8443
  - '[2001:XXXX:XXXX:XXXX::21]:8443'
  - <IP_ADDRESS>:8443
  - '[2001:YYYY:YYYY:YYYY::1]:8443'
  architectures:
  - x86_64
  - i686
  certificate: <snip>
  certificate_fingerprint: <snip>
  driver: lxc
  driver_version: 2.0.8
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.4.0-83-generic
  server: lxd
  server_pid: 1382
  server_version: 2.0.10
  storage: btrfs
  storage_version: "4.4"

Issue description
Inside a container, the process start times shown by ps appear to be wrong.
Steps to reproduce
Inside a container (which was launched from ubuntu:16.04 image)
root@apt-cacher:~# ps auxwww | grep apt
apt-cac+   309  0.0  0.6 653476  6884 ?        Ssl  Jul09   0:59 /usr/sbin/apt-cacher-ng SocketPath=/run/apt-cacher-ng/socket -c /etc/apt-cacher-ng ForeGround=1
root      1356  0.0  0.1  14620  1096 ?        S+   21:38   0:00 grep --color=auto apt
root@apt-cacher:~# date
Mon Jul 10 08:12:57 UTC 2017

Note the start time of the transient "grep" process (pid 1356) is shown as 21:38, although the system time is 08:12 !  The system time is correct in UTC.
I did wonder whether the timezone on the outer host made a difference.  As it happens, this is set for a different zone (UTC+3)
root@lxd1:~# date; lxc exec apt-cacher date
Mon Jul 10 11:15:18 EEST 2017
Mon Jul 10 08:15:18 UTC 2017
root@lxd1:~# ps auxwww | grep ntp
ntp       1356  0.0  0.2 110032  2060 ?        Ss   Jul08   0:17 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:117
root     23428  0.0  0.0  14228   944 pts/1    S+   11:15   0:00 grep --color=auto ntp

Notice that (a) ntp is running on the outer host, and (b) the process start time for the grep process is correct (11:15).  However this cannot explain the offset from 08:12 to 21:38.
I first discovered this on a different, production host. Inside a container there:
# ps auxwww | grep nagios
nagios   27954  0.0  0.1  39924  5724 ?        SNsl Jul17   0:00 /usr/sbin/nagios3 -d /etc/nagios3/nagios.cfg
root     31549  0.0  0.0  14620   948 ?        S+   Jul17   0:00 grep --color=auto nagios
# date
Mon Jul 10 08:16:46 UTC 2017

Notice how this time it gives the ps start time as Jul17.  I think that means 7 days in the future! (The nagios process had itself been recently restarted too)
I don't think it means July 2017: there are other processes showing Jul06
# ps auxwww
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  37576  5756 ?        Ss   Jul06   0:04 /sbin/init
root        53  0.0  0.0  41588  2880 ?        Ss   Jul06   0:00 /lib/systemd/systemd-udevd
...
www-data 18900  0.0  0.1 255888  7924 ?        S    Jul17   0:00 /usr/sbin/apache2 -k start
root     29034  0.0  0.0  21624  3788 ?        Ss   Jul17   0:00 bash

Since the nagios process is stable and showing this problem, I can investigate.  I presume the start time information comes from the /proc filesystem.
# strace -f 2>&1 ps -uw -q 27954 | grep /proc
open("/proc/filesystems", O_RDONLY)     = 4
open("/proc/self/stat", O_RDONLY)       = 4
open("/proc/uptime", O_RDONLY)          = 4
open("/usr/share/locale/C.UTF-8/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C.utf8/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/C/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/C.UTF-8/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/C.utf8/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/C/LC_MESSAGES/procps-ng.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/proc/self/stat", O_RDONLY)       = 5
open("/proc/sys/kernel/pid_max", O_RDONLY) = 5
open("/proc/meminfo", O_RDONLY)         = 5
stat("/proc/self/task", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
stat("/proc/27954", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
open("/proc/27954/stat", O_RDONLY)      = 6
open("/proc/27954/status", O_RDONLY)    = 6
open("/proc/27954/cmdline", O_RDONLY)   = 6
open("/proc/stat", O_RDONLY)            = 6

# cat /proc/27954/stat
27954 (nagios3) S 1 27954 27954 0 -1<PHONE_NUMBER><PHONE_NUMBER>456 0 0<PHONE_NUMBER> 550 25 5 2 0 94495291 40882176 1431<PHONE_NUMBER>3709551615<PHONE_NUMBER>9296<PHONE_NUMBER>3156<PHONE_NUMBER>96912<PHONE_NUMBER>96016<PHONE_NUMBER>47421 0 0 4224 16794629 0 0 0 17 0 0 0 0 0 0<PHONE_NUMBER>4312<PHONE_NUMBER>7368<PHONE_NUMBER>3728<PHONE_NUMBER>98946<PHONE_NUMBER>98991<PHONE_NUMBER>98991<PHONE_NUMBER>99110 0

According to kernel doc the process start time is column 22 of /proc/PID/stat, and this is start time relative to system boot (although it's unclear what the units are - jiffies?)
# cat /proc/27954/stat | awk '{print $22}'; cat /proc/uptime
94495291
354711.0 285797.0

Aha. I wonder if /proc/uptime is showing the time the container started? The time since system boot in the outer host is different:
root@wrn-mon2:~# cat /proc/uptime
945951.46 3555916.94

The difference between 945951.46 and 354711.0 (in seconds) is 6.84 days, hence the 7 days difference I'm seeing.
Going back to the test host I used at the start:
root@lxd1:~# cat /proc/uptime; lxc exec apt-cacher cat /proc/uptime
142834.76 281500.47
94499.0 94361.0

DIfference of 48335.76 seconds, or 13 hours 25.6 minutes, which gets you from 08:12 to 21:38 (in the future).  Matches exactly what I saw.
So in summary: it appears that the kernel is giving process start times relative to host boot, but /proc/uptime is giving the time since container startup, and this is confusing ps.
The way to reproduce this reliably is to start a fresh lxd container on a host which has itself been running for a long period of time; the longer the host has been running, the longer the ps offset will be seen.

This is not a bug in LXD but a bug in LXCFS which we already fixed. The new LXCFS package should be available soon!

Thanks, for reference this appears to be https://github.com/lxc/lxcfs/issues/189 and https://github.com/lxc/lxcfs/issues/164


Python 3 install support

These two commits represent my thought process as I was working to get textract to build on Python 3. First, I sought to use the classic pdfminer package to build on Python 2 without changing the dependencies. But then I realized that pdfminer.six works on Python 2 and Python 3, so why not simply require it. The result is a simple dependency change that allows textract to install and import on Python 3. While there are almost certainly outstanding issues with other aspects of the package on Python 3 as seen by other pending pull requests, this one takes a very modest approach, only making one minor change toward compatibility.

Jaraco, thank you for putting the effort.
I did try installing straight from your branch, but my system is having some issue with libxml2-dev, so I couldn't even test it.

Thanks for putting this together. I'm going to bake this into our upcoming release which, god willing, will finally have python 3 support. Stay tuned...

Thanks for digging up pdfminer.six @jaraco. I finally got around to getting python3 working properly and merged this into #104 before making some final tweaks in #126 so that all of the tests are passing. I really appreciate the contribution and I should be releasing this with version 1.5.0 later today.

Currently what are the steps to be followed to get Textract working on py3 and would there be any issues apart from pdf files (pdfminer).


Force delete directory then make new one

Directly remove any existing (or not) build directory then make new one. (No unnecessary output and fix for the issue #233 )

linux-build contains cache for previously downloaded distros. I wouldn't reccomend this.

the problem is that if there was a conflict in downloaded file or cache, it will break futur build


doucment error at https://docs.arangodb.com/3.3/AQL/Operations/Update.html

Start from the section
FOR u IN users
  UPDATE u WITH { value: "test" }
  LET previous = OLD
  RETURN previous._key

all the examples are wrong. They are missing IN users before LET. The shell didn't report correct error in this situation instead of the followings:
Query: AQL: syntax error, unexpected RETURN declaration near 'RETURN previous._key' at position 2:1 (while parsing)

Hi @dsonet,
thanks a lot for reporting. This should be fixed by #5079, #5080 and #5081.

@maxkernbach Thanks a lot. Hope also can produce more reasonable error message for this situation.


WAR Section of Medium Article

Enjoyed the article, but wanted to point out that Barry Bonds is not in the Baseball Hall of Fame.

Good point! I will change that in the article. Ah, Barry, always needing an asterisk.


The image colorization

The work is great!! But when I ran your code, I found that in the image colorization task, many images were unsaturated and unsatisfactory. Is this normal?

Hey~ We colored the sample image based on your provided model, but the results are quite different from those shown in the paper. What could be the reason for this? Looking forward to your reply！ @wyhuai

Thanks for your feedback, you may refer to the "High-Quality Results" section in README for colorization, since the pre-trained model is better in hq_demo.


Documentation about installation misleading

Going through the installation document (https://github.com/ui5-community/wdi5/blob/main/docs/installation.md) I came across a situation where there is a slight difference between docu and reality.
I opted for quickstart and TypeScript.
Documentation: add config files (wdio.conf.ts + tsconfig.json) to a folder test in your current working directory
I read this that both files will be created under a folder test. What I got was wdio.conf.ts in the root folder of my project, and only tsconfig.json in a folder test.
/wdio.conf.ts
/test/tsconfig.json

ACK - tsconfig.json needs to go into the test folder as not to mess up transpliation scopes with the actual ts app.
Would you mind putting your finding into a PR for the documentation 😄 ?
(https://ui5-community.github.io/wdi5/#/contributing?id=work-on-the-docs)


Create default 'if' behaviour for observations

Currently an 'if' statement has to be written for every observation, which stops a table row being created for the observation if the data recorded is falsey (None, or equivalents).
Default adtl behaviour should automate this for the OneToMany table, so 'if' statements only need to be used when a departure from normal usage is required, e.g. if an observation should only be displayed where a different observation has also been recorded.
By default, any row where the observation isn't a value described in the 'values' section (i.e. either if it's empty, or a value mapped to NK/None etc.) should not be displayed.

Fixed by f2b3cbe21d709f84a62f71f9602cf0f158dd7e09


Unable to test apps with IAP (Sign In to iTunes Store dialog)

Describe the bug
Applications with in-app purchases will show a "Sign In to iTunes Store" dialog, and none of the detox matchers allow to interact with this dialog. This dialog occurs at the launch of the application, since applications with IAPs need to check the available purchases made by the current user.
Expected behavior
Detox matchers should work with these dialogs as well. For example, element(by.text('Cancel')).tap(); should close the dialog.
Screenshots

Environment (please complete the following information):

Detox: v14.0.3
React Native: v0.60.5
Node: v11.6.0
Device: Simulator iPhone X
Xcode: v10.3

There is nothing we can do about this currently. The problem is that the alert is presented out-of-process. I suggest you mock your APIs to not display this alert when testing.

Thanks for the answer. I understand.
Is this the only way to mock my API?
https://github.com/wix/Detox/blob/master/docs/Guide.Mocking.md

That's if you are using RN to access the API. For native, you can use something like OCMock.

Got it. Yes, I'm using react-native-iap to make in app purchases, so I'll follow your mocking guide.


Write a decent README

A README was added but a usage section still needs to be written; it has been omitted because it is not yet crystal clear

I will be suspending usage to the proper docs; closing this for now


pandas is not required in the setup.py and hence removed.

It should not have been in there, as usage with pandas is optional.
@ottonemo Please review.

LGTM


data race in ibazel

Here's the stacktrace of a data race with the latest ibazel e8cbba37f5aa56f36e8561ec64128008c1f2cbe1. It came up in normal use.
It's the same one I mentioned in https://github.com/bazelbuild/bazel-watcher/pull/35
==================
WARNING: DATA RACE
Read at 0x00c42008c788 by goroutine 11:
  github.com/bazelbuild/bazel-watcher/ibazel/command.(*defaultCommand).IsSubprocessRunning()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/command/command.go:75 +0xae
  main.(*IBazel).handleSignals()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:96 +0x478
  main.New.func1()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:83 +0x38

Previous write at 0x00c42008c788 by main goroutine:
  os/exec.Command()
      /usr/local/Cellar/go/1.9.1/libexec/src/os/exec/exec.go:143 +0x157
  github.com/bazelbuild/bazel-watcher/ibazel/command.start()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/command/command.go:58 +0x397
  github.com/bazelbuild/bazel-watcher/ibazel/command.(*defaultCommand).Start()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/command/default_command.go:64 +0x161
  github.com/bazelbuild/bazel-watcher/ibazel/command.(*defaultCommand).NotifyOfChanges()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/command/default_command.go:75 +0x46
  main.(*IBazel).run()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:281 +0x155
  main.(*IBazel).(main.run)-fm()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:158 +0x5f
  main.(*IBazel).iteration()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:218 +0x656
  main.(*IBazel).loop()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:176 +0x126
  main.(*IBazel).Run()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:158 +0x169
  main.handle()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/main.go:130 +0x1cf
  main.main()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/main.go:116 +0x38a

Goroutine 11 (running) created at:
  main.New()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/ibazel.go:81 +0x1d0
  main.main()
      /Users/jmhodges/src/github.com/bazelbuild/bazel-watcher/ibazel/main.go:109 +0x202
==================

@jmhodges, thanks for filing the bug. Is there any circumstance where you're reliably able to trigger this? I'd like to add an end to end test to cover the mutex but will put it in either way.

No, there isn't. The e2e would just have to make lots of changes quickly and maybe hit it once in a while.
Are you running the tests with --features=race in CI? If they are comprehensive, you might trigger the race detector during normal runs.

It might be --output_group=race, depending on how you're building the Go code for the e2e tests. Needs a relatively recent version of rules_go.

Oh, I'm not getting it pretty reliably when sending a ctrl-c to ibazel.

Hey, this is still happening. Definitely occurs when you send SIGTERM to ibazel.

@jmhodges Do you build ibazel with bazel build //ibazel/... --output_groups=race? I'm trying to reproduce this, but haven't had any luck so far.

You need --features=race with the (newer) version of rules_go that this repo is using. The race is pretty obvious if look at how, for instance, cmd.ProcessState is accessed in subprocessRunning without locks through Terminate in the signal handling goroutine vs the main goroutine that also updates it without locks.

The race detector depends on cgo, so to use it in our CI we'd have to remove pure = "on" from ibazel/BUILD. However, it seems like it's already been decided that we're better off foregoing cgo dependencies for easier multi-OS compatibility. I'll probably have a PR ready in the near future that fixes this race.

Ping!

@jmhodges Yep. This is probably still an issue. That said, I use it most every day and I haven't run into it yet. Can you help me understand circumstances where this triggers so I can write a test-case that exercises it? We can just start slapping mutexes on things, but without a regression test it is liable to come back up again which is no good. How can we make sure this is fixed forever?

I don't think it's reasonable to ask an issue reporter to know your testing mechanisms when the race is obvious both on the screen and with the race detector build turned on.
Like, I've given you everything you need including the stacktraces to build one. Help me out here, as one of your users.

And to summarize: you you can get it by sending SIGTERM to ibazel (that ctrl-c comment I left) and getting a test build now requires --features=race in current versions rules_go for both bazel test and bazel build.

@jmhodges, I agree that it isn't fair. I'm doing this not because I'm paid by anyone but because I wanted to do it. I do not work on Bazel professionally. This project, unlike most of the other things under bazelbuild, is not staffed by full time people. I open sourced it because it felt like the right thing to do not because it is my job. This is a volunteer effort for me and when I take time out of my day to work on it, it comes at the expense of spending time with my friends and family.

Okay, I have posted a PR that turns on the race detector in CI and causes the tests to fail. It's at #121
It seems there are other races, too.

To put a very fine point on this, I'm not doing it to spite you. I have to make a decision on what to work on with what little spare time I have and this is really hard for me to prioritize since I can't reproduce it on any of my computers even after trying REALLY hard. I wrote the e2e testing stuff so that I could run it overnight and have it run a crazy number of testcases. This code used to be a for loop that ran till it timed out. I'm happy to help diagnose this and get a fix. I am REALLY happy to do that.

By the way, if you wanted to use the guts of github.com/jmhodges/justrun to do this stuff, that'd be cool and I'd be willing to help extract them. It solves much of the same problems as bazel-watcher and we fixed up the races (both data and logical) in its guts that bazel-watcher keeps running into.

I believe all the data races have been corrected for. If you encounter more, please reopen or file another issue.


updated interface jupyter notebook explanations

Updated the documentation in the interface.ipynb to clearly show the input and output types for various components @baskaryan

@axa99 thanks this is great!

ready for merging upon passing tests


Rectangle

Hello, i have this error:

Can you help me?. When i try to import System.Drawing the size is not working:

Resolve: #2.

Hi Victoria,
How did you go resolving that issue.  Sorry my attention has been focused on other things, I haven't been able to give this repo the attention it needs.  I orginaly started the project in my other repo - YauGoh/Xamarin.Responsive: Responsive layout for Xamarin Forms (github.com)https://github.com/YauGoh/Xamarin.Responsive which was based on Xamarin forms.
My.Maui.Responsive is currently based on an early release of Maui (before the official release).  I'm sure a lot of the Microsoft Libraries have changed quite a bit, I remember early struggles with many breaking changes with early alpha releases of Maui.
As you have sparked my interest in this package again, this weekend I intend to update to the latest version of Maui.
Thanks!

From: Victoria Ramirez Charles @.>
Sent: Thursday, 1 February 2024 1:02 PM
To: YauGoh/My.Maui.Responsive @.>
Cc: Subscribed @.***>
Subject: Re: [YauGoh/My.Maui.Responsive] Rectangle (Issue #1)
Closed #1https://github.com/YauGoh/My.Maui.Responsive/issues/1 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/YauGoh/My.Maui.Responsive/issues/1#event-11664554612, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC3LJEB43MOHTMER4NAFG73YRMOVDAVCNFSM6AAAAABCUGKDB2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGY3DINJVGQ3DCMQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thank you!!


User upload fix

Fixing issue with user uploaded vcfs not being error checked properly, fixing user upload error checking to allow only a vcf.

quarantest build successful. Demo link at
http://a5713403.quarantest.iobio.io

Bam only local upload working correctly; vcf only local upload working correctly; only suggestion is that when bam only is loaded, you still display 'Proband variants' track and it's just empty - may as well hide it if no vcf uploaded

Also, read pileup doesn't work for local file upload or presigned S3 URLs (by design). You may want to hide that link when either of those upload formats are used

Merging the fix and opening separate issues to how we want to handle bam only / user upload display and functionality


Add missing directives in CSP

Provide a narrative description of what you are trying to accomplish:
Some directives are missing in Fetch directive

child-src
manifest-src
worker-src
prefetch-src
script-src-elem
script-src-attr
style-src-elem
style-src-attr

And some Navigation, Document and Reporting directives are missing.

base-uri
plugin-types
form-action
frame-ancestors
navigate-to
report-to

Code to reproduce the issue
$csp = new ContentSecurityPolicy();
$csp->setDirective('worker-src', ['https://*.google.com', 'http://foo.com']);
$csp->toString();

Actual result
Throw a Exception\InvalidArgumentException
New result
toString() should return "Content-Security-Policy: worker-src https://*.google.com http://foo.com;"
This PR fixes #163

Thanks, @MadCat34!

Thanks, @michalbundyra


test: Cypress -  added the excludeForAirgap and airgap in desc until the changes will  be picked via cypress grep

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Add a TL;DR when description is extra long (helps content team)
Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change
Links to Notion, Figma or any other documents that might be relevant to the PR

PR fixes following issue(s)
Fixes # (issue number)

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Chore (housekeeping or task changes that don't impact user perception)
This change requires a documentation update

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[ ] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

Tests

Enhanced regression tests with new parameters to support different testing environments.
Improved test setup with additional pre-test configurations.

Chores

Updated test specifications to exclude certain tests in specific deployment scenarios.

/ok-to-test


Fix nil blob mode

Bad blob entry keyword is used, so the blob mode is nil everywhere.
This PR fix that and add some tests about filemode (regular / executable / symlink).
The following Merge Request must be accepted to have spec working well: https://gitlab.com/gitlab-org/gitlab-git-test/merge_requests/1
Thanks.

Please fix tests first

Coverage increased (+0.12%) to 95.55% when pulling d3acffd694773b407ac0e2442f3604ba50ae0afd on Soullivaneuh:filemode into 323500916c5557b6b22a2eddfa6a38610036981d on gitlabhq:master.

@Soullivaneuh Looks like the fix got lost while fixing the tests :) Could you update this PR?

@DouweM @randx Will do it soon.

@randx As I said on my PR description:

The following Merge Request must be accepted to have spec working well: https://gitlab.com/gitlab-org/gitlab-git-test/merge_requests/1

Missing the change on blob class. It's fixed now.
But in any case, the related PR on gitlab-git-test must be merge to have all test green.

@Soullivaneuh we merged https://gitlab.com/gitlab-org/gitlab-git-test/merge_requests/1 but tests still failing.

@randx It's because:
$ ls -l support/mutable-repo.git/files/
total 20
drwxrwxr-x 2 sullivan sullivan 4096 mars  28 15:35 html
drwxrwxr-x 2 sullivan sullivan 4096 mars  28 15:35 images
drwxrwxr-x 2 sullivan sullivan 4096 mars  28 15:35 js
drwxrwxr-x 2 sullivan sullivan 4096 mars  28 15:35 markdown
drwxrwxr-x 2 sullivan sullivan 4096 mars  28 15:35 ruby

My added files on PR are not present on test. Maybe a bad checkout, where can I change it?

@randx Tests on master seems to have some random failed.
Can you please take a look and fix it if needed? I will rebase my PR after to fix mine.
Thanks.

@Soullivaneuh I have green tests on latest master

I see issue now. When I cloned gitlab_git to new directory tests failing. I guess its related to seomeone modifying test repo

Lets wait for green tests in master then. I left a comment for @DouweM  https://gitlab.com/gitlab-org/gitlab-git-test/merge_requests/1#note_1030841

@randx Please note that if an ran test multiples times, I don't have the same number of errors. Very weird.

@Soullivaneuh Could you rebase and try again? With 12a8694cbc30cf43ecdadf8e2c2c7870d49cfbf6 the failing tests should have been fixed.

Should be OK right now. :+1:
cc @DouweM @randx

Thank you @Soullivaneuh! Could you add a changelog item?

Done. I created 7.1.4 section. I think you should push a new patch version because it's a fix with no BC break.
Tell me if you don't want that and want me to change the changelog again.
Regards.

Makes sense to me. I'll release 7.1.4 in a minute. If you want it included into gitlab-ce, please create a separate MR for that there.

@Soullivaneuh Looks like linguist expects mode to be a string, not an int. See the stack trace here: https://ci.gitlab.com/projects/1/builds/21808 and the referenced files in gitlab-linguist. Could you see what exactly linguist is looking for and fix that?

@DouweM not sure to understand. It's a Gitlab CE test. What is the relation with this PR?

@Soullivaneuh It's a test in CE, but it's testing functionaliy that uses gitlab_git:
/home/gitlab-runner/lib/ruby/gems/2.1.0/gems/gitlab-linguist-3.0.1/lib/linguist/language.rb:93:in `to_i': wrong number of arguments (1 for 0) (ActionView::Template::Error)
	from /home/gitlab-runner/lib/ruby/gems/2.1.0/gems/gitlab-linguist-3.0.1/lib/linguist/language.rb:93:in `detect'
	from /home/gitlab-runner/lib/ruby/gems/2.1.0/gems/gitlab-linguist-3.0.1/lib/linguist/blob_helper.rb:286:in `language'
	from /home/gitlab-runner/tmp/builds/project-1/app/views/projects/blob/edit.html.haml:31:in `_app_views_projects_blob_edit_html_haml___4486078298386714428_70360759458700'

linguist/blob_helper.rb defines Linguist::BlobHelper, which is included in Gitlab::Git::Blob and whose language method uses the mode method, which this PR modified. Linguist requires it to return nil or a string, but with this PR it returns an int, causing language, which is used from GitLab CE, to fail. So what needs to be fixed is that mode should return a string, not an int.

I'm sorry but I'm not responsible of what the mode returns. And it returns an int (octal) that sounds correct for me.
Btw, before this PR, blob mode returns simply nothing because the needed key doesn't exists.
My fix is quite simple: Just changed the blob_entry key to get the existing one: https://github.com/gitlabhq/gitlab_git/pull/50/files#diff-08d64f4982096ddfeefffdd0a2fa2857L29

In any case, I've fixed the issue here in https://gitlab.com/gitlab-org/gitlab_git/merge_requests/19 and I've released version 7.1.6.

@DouweM not sure if converting value to string is the best practice.
Why not doing int comparison on gitlab linguist instead?
mode == 0100644 for example (octal) works well and seems proper isn't it?

gitlab-linguist is GitHub's linguist with a couple of GitLab-specific tweaks, but we try to not to change its core too much so that we'll be able to merge new versions back in. I think octal makes just a much sense, but we've got to adapt to their rules in this case. Note that Diff already has modes as strings as well.

@DouweM Gitlab-linguist was AFAIK just to get rid of the python dependency. Current upstream linguist version does not have this dependency anymore so I think it would be a good idea to switch back to the original project.

@Razer6 In that case this is even more of a non-issue; if we're going back on the mainline linguist, we won't have a choice but to use a string mode anyway. Do you want to investigate if we can switch from gitlab-linguist to linguist without issues?

if we can switch from gitlab-linguist to linguist without issues?

@DouweM We can not because it uses latest rugged version :( See https://dev.gitlab.org/gitlab/gitlabhq/issues/2052


Access seems to break with Google account aliases

Michael was added to the puzzles folder with one email address<EMAIL_ADDRESS>and then he tried to log in with his gmail address<EMAIL_ADDRESS>and couldn't, even though they are aliased to the same account. Also, adding the gmail address to the folder did nothing because the account already had access.
I resolved this by removing him from the folder and readding him with his other account.
Should see if we can improve handling google account aliases.

Looks like there's an API for this, feels pretty low pri but it's definitely fixable:
https://stackoverflow.com/questions/22671064/google-api-how-do-i-get-alias-emails-for-a-user


MySQLdb does not accept autocommit keyword

MySQLdb does not accept autocommit keyword while PyMyQSL does.
We need to make changes for both packages to work.

The autocommit keyword is actually accepted by the latest versions of mysqldb, but others are not. This is fixed by commit 99fc6703be052e93192284feec828a0db6add2f9


Protect against creating Textures larger than graphicsDevice#maxTextureSize

We can either clamp or warn users when they try to create a texture that is larger than the maxTextureSize supported by the hardware

Please find out what kind of texture and what was the process with it. Was it a texture they were loading pixel data to themselves? Or rendering to as a render target?


Serialise game to JSON

It would be nice to have an ability to save the current game state as JSON, and then build the game using this JSON.

Related issues:

https://github.com/michalbe/cervus/issues/76


daysOfWeekDisabled broke load default value from input

example:
http://jsfiddle.net/knedle/0Ltv25o8/5563/

No, its not :)...
Updated fiddle
http://jsfiddle.net/0Ltv25o8/5565/

http://jsfiddle.net/0Ltv25o8/5566/

$('#datetimepicker2').datetimepicker({     locale: 'cs',     useCurrent:false,     daysOfWeekDisabled: [0, 6] });

Hi, 2 things:

Please add a description we can't just see a tittle an example and try to guess what's going on.
You're using an older version, do this happen with the latest version?

And as @King-ZeuS has given a valid answer I'll be closing this.
NOTE: I edited @King-ZeuS's answer to be formatted as code.


promote-master on multi module projects

I am trying to run a mvn deploy on a multi module project.
Used gitflow-helper-maven-plugin version is 1.5.0.
Project structure is like this:
parent-pom

module a
module b

When I do a mvn deploy on the development branch the staging to our nexus fails with
a 400 - BadRequest error. Reason seems to be that the process tries to upload some module-catalog.txt file.
After some search I figured out this information seems to be created during
AbstractGitflowBasedRepositoryMojo#attachArtifactCatalog which is called when
PromoteMasterMojo#execute method is invoked.
The output on the commandline shows:
[INFO] No primary artifact to catalog, cataloging attached artifacts instead.
I added some additional output to the 'attachArtifactCatalog ' method and could verify
that the project.getAttachedArtifacts() does return an empty list.
This ends up in the creation of an empty file, which is later uploaded by the maven-deploy-plugin.
As this file is empty, the request does not contain any data and thus is rejected by nexus.
I hope somebody here has an idea whether this is a configuration issue or whether this is bug in the plugin.
The javadoc in the PromoteMasterMojo does not specify anything about doing something on
a devopment branch, but the execute handels this case the same way as for hotfixes and releases.
After removing the respective case statement I could at least build the module normally.
I have yet to test what happens on hotfix or release branches.
Edit:
I forgot to mention that the upload of the catalog.txt happens before the sub modules are actually build.

Yikes! This sounds like a bug in the plugin. I don't think I ever tested it on multi-module projects...

Would you be able to create a small sample project (in a github repo) I could use as a starting point?

I have set up a simple project on github:
see https://github.com/SimonK15/test-multi-module/
The section with the nexus repositories is commented, there you need to add something.
When executing mvn clean deploy -Denv.GIT_BRANCH="origin/dev" the error should happen
(I verified this under windows only, there seems to some issue with passing parameters from within Jenkins (running on a centOS). I might add another ticket for this later.)

Maybe this helps to isolate the issue: I am using the plugin on a big multi-module project without issue (on OSX and ubuntu, never tried on Windows), repo is Nexus 3.0.2-2.
I also tried SimonK15's sample project on OSX and it deployed like a charm.

So I did some digging on this today, as I was working on another PR / issue....
Turns out, I've been running this plugin on a multi-module project from the very genesis of this plugin. I just happened to forget about it....  Oddly enough, I use OS X locally, and the build server for that project is jenkins on linux (RHEL).
I think there may be a difference between resolving things from ${env} vs -D system properties on windows which doesn't manifest on a *nix system. Of course I don't have a test VM setup to run windows on to try this out. (I know, I know, bad developer...)
Could someone try setting it as a true windows environment property and then run the clean deploy? Does this only affect multi-module projects or is that just a red-herring?


Write a StreamingEngine unit test for seeking during a period transition

In streaming_engine.js, there's a comment in handlePeriodTransition_:
// TODO: Write unit tests for this case.

Well, it's a little over a year later, and that comment's still there. We should probably make a unit test like the comment says.

I believe this will be obsolete after #1339, but we will see.

This is obsoleted by #1339.


Adding an error notification when layer has errors

So, in short, we weren't getting the error state from the map instantiation (https://github.com/CartoDB/cartodb.js/pull/1478) and the error was not displayed in the proper layer. That's fixed, and the tooltip is appearing, but one important thing I've noticed is we should show the error in the notification, why? Because the error could belong to the Style panel but it could be "triggered" from the SQL panel, as @ramiroaznar has pointed in https://github.com/CartoDB/cartodb/issues/10432. Of course, once the layer is ok and the map is rendering again, the notification would disappear.
So, the things would look like:

Closes #10432
CR: @nobuti
cc @saleiva and @javisantana (any smoke test related to that?)

@javierarce, if you can "improve" the error parsing in your next PR would be great 💋 .

@xavijam: I'm not sure if in this case it would be make sense to improve the error in the front. The changes would be minimal… I think the message that appears in the image works ok and it's informative for the users, so I'd leave it as it's now.

:+1:


noEventsClick callback doesn't work

Hi, i want to handle event when user clicks on no event area but noEventsClick doesn't work, any idea?

I also experienced the same issue, and adding noEventsContent does not seem to work.

I also experienced the same issue, and adding noEventsContent does not seem to work.

I prepared a demo with noEventsClick and noEventsContent and I don't see the problem. Please check.

I prepared a demo with noEventsClick and noEventsContent and I don't see the problem. Please check.

Works only on list view, in other views don't work

Yes, because this is list view option only. I think this is mentioned in the docs.
Perhaps you want to handle an event when clicking on a free area inside the calendar. Then look at dateClick option.


Add Apache Buildr dependency formatter for Maven artifacts

Task Description
We would like to add support for copy-pasteable dependencies for Apache Buildr to be used in the search engine. The format is outlined here.
Tasks

[ ] Implement BuilderDependencyFormatter.
[ ] Implement a test case for it that checks things with different combinations of Maven artifact coordinates (see MavenArtifactCoordinates for more details) -- with, or without classifiers, different packaging types, etc.

Classes of Interest

DependencySynonymFormatter
CompatibleDependencyFormatRegistry

Existing Implementations For Maven Artifacts
The following could serve as examples of how this has been implemented for other build tools:

IvyDependencyFormatter / IvyDependencyFormatterTest
GradleDependencyFormatter / GradleDependencyFormatterTest
LeiningenDependencyFormatter / LeiningenDependencyFormatterTest
MavenDependencyFormatter / MavenDependencyFormatterTest
SBTDependencyFormatter / SBTDependencyFormatterTest

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@fuss86

Hello @carlspring ,
I have read the task and understand what needs to be done. I would like to do it if nobody took it yet.
Cheers :)

Hi @ogryniuk ,
Feel free to proceed! Thanks!


[Regression in 4.1.2] Property 'files' or 'body' does not exist on type 'Request'

Problem/Feature Request Summary
When upgrading from 4.1.1 to 4.1.2, I've got this error : "Property 'files' or 'body' does not exist on type 'Request'".
Environment Information

koa-body: 4.1.2
Koa: 2.11.0
Node.js: Latest LTS (12)

Current Behavior
Compiling with tsc I've got the following error : "Property 'files' or 'body' does not exist on type 'Request'". It didn't happen with the v4.1.1, everything was working perfectly fine.
Steps to Reproduce
Install the 4.1.2 version of Koa-body since nothing else changed.
Expected Behavior
tsc should compile the file correctly
Possible Solution
I've no idea, possibly linked with #175
Context (Environment)
Typescript 3.9.2

@MarkHerhold I think this issue is due to the PR submitted by me.
After my research, I found a solution. Just add { "compilerOptions": { "esModuleInterop": true } } to tsconfig.json, then we can compile declare module "koa" { } pass through.
I'm very sorry for that...

Duplicate of #173

No worries at all! As long as a fix exists and is submitted quickly, we all can manage. :)

Thank you for pointing this out. This broke our builds.

@Eusen I've checked and we already have esModuleInterop: true in all our builds, so I don't think this is the fix we need. I guess #175 is still the way to go. Others have the same behaviour? @albehrens ?
Thanks

Yes, we experienced the same behaviour as described in this ticket. We updated our repositories to use the fixed version of 4.1.1.

Shoot. Sorry guys :(
I will get this merged and re-released.
@Cocophotos I mentioned in the prior PR that we really need TS-based package integration tests (to prevent problems like this). Could you provide a minimal example where this breaks?

@MarkHerhold Sure thing! I'll do that tonight after work.
Best

Reverted that PR and published as 4.1.3

@MarkHerhold Took me less time than expected, so it's done. I've attached the files (I can create a Github repo if needed).
If you run npm run build, you'll end up with that error:

And you can see the esModuleInterop: true in the tsconfig.json

Hope it helps.
test-koa-body.zip


Automated Updates: set up update subcommand

This PR sets up the update subcommand:

adds the subcommand to osv-scanner main command
adds the snapshot test

The update subcommand flags are the same as the related ones of fix subcommand.

Codecov Report
Attention: Patch coverage is 70.51282% with 23 lines in your changes are missing coverage. Please review.

Project coverage is 59.60%. Comparing base (1710a53) to head (e342b14).

Files
Patch %
Lines

cmd/osv-scanner/update/main.go
69.33%
15 Missing and 8 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #830      +/-   ##
==========================================
- Coverage   59.75%   59.60%   -0.15%
==========================================
  Files         136      137       +1
  Lines       11266    11344      +78
==========================================
+ Hits         6732     6762      +30
- Misses       4104     4143      +39
- Partials      430      439       +9

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


How can we obtain the config of Llama 2 architecture?

I truly appreciate your amazing work! It helps beginners like me a lot.
Can I ask a silly question?
How do you obtain the config of Llama 2 architecture? As I can see, there is a model.py file containing the definitions of some layers and operations. However, I am unsure how to determine, for example, the types of layers that Llama uses or the detailed config of those layers, such as the number of channels/dimensions.
Is the model architecture described in the original paper or elsewhere?
Thank you in advance.

It depends on the size of the model you are using. 7B, 15B parameter. But you can get all configs from huggingface or the paper
Search for the " hugging face config.json" and you will find it. For example, llama-7B : https://huggingface.co/huggyllama/llama-7b/blob/main/config.json
Or you can refer to this table from the original llama paper

Thank you so much for the detailed reply!


Web-Responsiveness of the website, it is not displaying properly on all devices.

Describe the bug
The responsiveness of the website is extremely bad, it is not loading the elements properly on different devices.
Expected behavior
The Website should be apt and Responsive according to the device capability
Screenshots (Mandatory)

Additional Context (Mandatory )
All websites in today's world are responsive to the different devices, i will make the website responsive
Are you contributing under any open-source program ?
Please Assign to me Under GSSoC'24

i can help you with this , i have experience in improving responsiveness .
I am Front End Developer , studying at NIT Raipur

Hello I am Gargi from IIT Kharagpur! I work with html,css,js,react.js and so on and am eager to learn more. I'd appreciate being assigned this task for GSSoC 24.

@nishantharkut Thanks for raising the issue. But as per the rule of this repo . You can get assigned 1 issue at a time. As you are already assigned I can't assign you this issue

@maverickcodex18 I am assigning you this issue . Start working on it

Hi @maverickcodex18
I am closiing this issue as you are taking more time as expected.