Feature/cannon commons

This change is

Reviewed 1 of 25 files at r1.
Review status: 1 of 25 files reviewed at latest revision, 1 unresolved discussion.

app/src/main/AndroidManifest.xml, line 275 at r1 (raw file):

					android:name="is_feature"
					android:value="true" />
			<!--TODO: add this junk-->

Finish TODO

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 1 unresolved discussion.

app/src/main/AndroidManifest.xml, line 275 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Finish TODO

Done.

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 3 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsCategoryActivity.java, line 36 at r1 (raw file):

		String title = getIntent().getStringExtra(CATEGORY);
		getSupportActionBar().setTitle(title.equals("Wall of Lettuce") ? "Salad Bar" : title);

Comment here

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 40 at r1 (raw file):

public class CannonCommonsMainActivity extends ByuActivity {
	private static final String HAS_VIEWED_DINING_LEGAL_INFO = "HAS_VIEWED_DINING_LEGAL_INFO";
	public static final String SERVE_DATE_FORMAT = "%d%02d%02d";

public? Is it used anywhere outside this activity?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 4 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 32 at r1 (raw file):

import java.util.concurrent.*;

import static edu.byu.suite.features.cannonCommons.controller.CannonCommonsMapActivity.MEAL_ID;

Don't use the static import. It makes it difficult to see where those variables are coming from. Just import the classes that contain the tag

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 5 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 50 at r1 (raw file):

	private static final int RECYCLER_VIEW = 1;
	private static final int TEXT_VIEW = 2;
	public static final SimpleDateFormat displayDateFormat = new SimpleDateFormat("EEE MMM d yyyy", Locale.US);

public? Used anywhere else

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 6 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 62 at r1 (raw file):

		Calendar now = Calendar.getInstance();
		datePicker.init(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH), (datePicker1, year1, month1, day1) -> onDateChanged(year1, month1, day1));
//		onDateChanged(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH));

Is there a reason this one is still in here? Let's put a comment before this init (and maybe in a comment or in person tomorrow explain to me what it's doing? Is it a listener?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 7 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 72 at r1 (raw file):

			new AlertDialog.Builder(this).setTitle("Legal Disclaimer")
										 .setMessage(R.string.dining_disclaimer)
										 .setNeutralButton("I understand", null)

Let's do positive here (not that it really matters in the long run)

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 8 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 69 at r1 (raw file):

		SharedPreferences preferences = getPreferences(MODE_PRIVATE);
		if (preferences.getBoolean(HAS_VIEWED_DINING_LEGAL_INFO, false)) {

Wait... If they HAVE viewed dining legal info, show the alert dialog?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 9 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 93 at r1 (raw file):

	private void getMealId(int year, int month, int day) {
		viewAnimator.setDisplayedChild(PROGRESS_DIALOG);
		if (scheduledFuture != null) {

What is this doing?

Comments from Reviewable

Reviewed 1 of 25 files at r1.
Review status: 1 of 25 files reviewed at latest revision, 9 unresolved discussions.

Comments from Reviewable

Review status: 1 of 25 files reviewed at latest revision, 10 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 24 at r1 (raw file):

import java.util.*;

import static edu.byu.suite.features.cannonCommons.controller.CannonCommonsCategoryActivity.CATEGORY;

Remove static imports

Comments from Reviewable

Review status: 1 of 25 files reviewed at latest revision, 10 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsCategoryActivity.java, line 36 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Comment here

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 32 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Don't use the static import. It makes it difficult to see where those variables are coming from. Just import the classes that contain the tag

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 40 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> public? Is it used anywhere outside this activity?

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 50 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> public? Used anywhere else

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 62 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Is there a reason this one is still in here? Let's put a comment before this init (and maybe in a comment or in person tomorrow explain to me what it's doing? Is it a listener?

The only way to set an onDateChangedListener for a DatePicker is to do it with init. there's no setOnDateChangedListener(...)

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 69 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Wait... If they HAVE viewed dining legal info, show the alert dialog?

Good catch

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 72 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Let's do positive here (not that it really matters in the long run)

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMainActivity.java, line 93 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> What is this doing?

If a request has already been scheduled, cancel it and schedule the updated one. The onDateChanged gets called every time the date changes at all, so we don't want to get menu information for every date they pass through, just for the one they stop on

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 24 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Remove static imports

Done.

Comments from Reviewable

Review status: 1 of 25 files reviewed at latest revision, 11 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 55 at r1 (raw file):

		Intent intent = getIntent();
		getSupportActionBar().setSubtitle(intent.getStringExtra(SUBTITLE));

Why is subtitle in ByuConstants?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 12 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 64 at r1 (raw file):

			public void onSuccess(Call<MenuWrapper> call, Response<MenuWrapper> response) {
				menus = response.body().menus;
				for (MenuWrapper.Menu.Recipe recipe : menus.get(0).recipes) {

We only go through the first menu?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 13 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 101 at r1 (raw file):

		String category;
		switch (color) {
			case -1:

Oh wow! This is pretty ugly! I'm assuming this is straight from v1. What exactly is it doing, and is there a better way to do it?

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 13 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 55 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Why is subtitle in ByuConstants?

It's used in all four activities, and i figure we might use it somewhere else, for convenience. i can move it though if you want

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 64 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> We only go through the first menu?

There's only one menu. the service is silly.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 101 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Oh wow! This is pretty ugly! I'm assuming this is straight from v1. What exactly is it doing, and is there a better way to do it?

I think it takes the integer value of the color and switches it. lol. once you understand that it's pretty clear what it's doing. it just checks the color of the image at that point and does something based off that.

Comments from Reviewable

Review status: 0 of 25 files reviewed at latest revision, 13 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 101 at r1 (raw file):
Previously, cwoodfie (Corey Woodfield) wrote…
> I think it takes the integer value of the color and switches it. lol. once you understand that it's pretty clear what it's doing. it just checks the color of the image at that point and does something based off that.

I understand how getColorForPosition works, but not how getColorRoundTwo works (that's a fallback in case the first one doesn't work - i think the first one usually works though)

Comments from Reviewable

Reviewed 19 of 25 files at r1, 7 of 7 files at r2.
Review status: all files reviewed at latest revision, 11 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 125 at r2 (raw file):

	private int getColorForPosition(float x, float y) {
		ImageView background = (ImageView) findViewById(R.id.cannon_map_background);

Let's put a comment here to explain what this function is doing

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 129 at r2 (raw file):

		Bitmap drawingCache = background.getDrawingCache();
		if (drawingCache == null) {
			return getColorRoundTwo(x, y);

Put a log on this line, try to hit this page 50 times with as many phones as you can, and if you never get the log statement, let's remove it (my hunch is that it might be to support previous old versions that don't use a drawing cache or something)

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 159 at r2 (raw file):

	}

	private static class Area {

Oh man there's got to be a better way to do this... Let's chat about this one. :-/

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsRecipeActivity.java, line 44 at r2 (raw file):

		data.add(ALLERGY_INFORMATION);
		for (Map.Entry<String, Boolean> entry : recipe.allergens.entrySet()) {
			if (entry.getValue()) {

So what is this doing? Comments would be nice all throughout this function. Like LOTS of them.

app/src/main/java/edu/byu/suite/features/cannonCommons/model/MenuWrapper.java, line 85 at r2 (raw file):

	}

	public static final String[] NUTRIENT_NAMES = {

Wasn't this passed in from the service? We don't want these hard coded

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):

	public Converter.Factory getConverter() {
		BooleanFromIntAdapter booleanFromIntAdapter = new BooleanFromIntAdapter();
		return GsonConverterFactory.create(new GsonBuilder().setFieldNamingStrategy(f -> f.getName().toLowerCase())

What is this converter doing?

app/src/main/java/edu/byu/suite/features/personDirectory/service/AddressTypeAdapter.java, line 49 at r2 (raw file):

				break;
			case NULL:
				in.nextNull();

What were these changes about?

app/src/main/res/layout/cannon_commons_activity_category.xml, line 16 at r2 (raw file):

			android:id="@+id/cannon_recipe_list"
			android:layout_width="0dp"
			android:layout_height="wrap_content"

Whenever you get time, show me this constraint layout stuff :)

app/src/main/res/layout/cannon_commons_activity_main.xml, line 19 at r2 (raw file):

			android:id="@+id/cannon_date_picker"
			android:layout_width="wrap_content"
			android:layout_height="0dp"

Why are we setting this to 0? Does it have to do with the constraint stuff?

support/src/main/java/edu/byu/support/ByuRecyclerView.java, line 15 at r2 (raw file):

 */
public class ByuRecyclerView extends RecyclerView {
	// The first and third constructors aren't used (by us), but they're required when creating a custom view.

Gotcha. So does something break when we delete them? Seth couldn't seem to break the app...

support/src/main/java/edu/byu/support/utils/TextUtil.java, line 6 at r2 (raw file):

 * Created by cwoodfie on 9/13/16.
 */
public class TextUtil {

Let's rename this to TextUtils (as well as any other ones that are singular)

Comments from Reviewable

Review status: 23 of 26 files reviewed at latest revision, 11 unresolved discussions, some commit checks failed.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 125 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Let's put a comment here to explain what this function is doing

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 129 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Put a log on this line, try to hit this page 50 times with as many phones as you can, and if you never get the log statement, let's remove it (my hunch is that it might be to support previous old versions that don't use a drawing cache or something)

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 159 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Oh man there's got to be a better way to do this... Let's chat about this one. :-/

Done.

app/src/main/java/edu/byu/suite/features/cannonCommons/model/MenuWrapper.java, line 85 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Wasn't this passed in from the service? We don't want these hard coded

Yes, that array is no longer used, i just forgot to take it out.

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> What is this converter doing?

hehehe which part? the type adapter reads ints as booleans (0 = false, 1 = true). the field naming strategy changes all the java field names to lowercase, cus the json just uses lowercase (no underscores or anything). the excludeFieldsWithModifier, i'll explain to you next time we're both in at the same time. i don't think you'll like what it does very much. just remember, if it ain't broke, don't fix it.

app/src/main/java/edu/byu/suite/features/personDirectory/service/AddressTypeAdapter.java, line 49 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> What were these changes about?

I looked back at it and realized i had implemented things slightly wrong, so i figured i'd just throw the fixes in here

app/src/main/res/layout/cannon_commons_activity_category.xml, line 16 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Whenever you get time, show me this constraint layout stuff :)

will do :+1:

app/src/main/res/layout/cannon_commons_activity_main.xml, line 19 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Why are we setting this to 0? Does it have to do with the constraint stuff?

yes. with constraint layouts, instead of saying match_parent, you say 0dp, which tells it to give it as much space as it can (something like that)

support/src/main/java/edu/byu/support/ByuRecyclerView.java, line 15 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Gotcha. So does something break when we delete them? Seth couldn't seem to break the app...

The only thing that breaks is that Android Studio no longer recognizes them as custom views, so when it tries to render a layout file, an error pops up saying it couldn't render the ByuRecyclerView. not a huge deal, but if you're trying to use the layout editor, it kind of is a huge deal

support/src/main/java/edu/byu/support/utils/TextUtil.java, line 6 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Let's rename this to TextUtils (as well as any other ones that are singular)

There's already an android class called TextUtils. i named it TextUtil so that you can use both in the same file without having to include the fully qualified domain name of one or the other. We could maybe call it StringUtils

Comments from Reviewable

Review status: 23 of 26 files reviewed at latest revision, 11 unresolved discussions, some commit checks failed.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsRecipeActivity.java, line 44 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> So what is this doing? Comments would be nice all throughout this function. Like LOTS of them.

Done.

Comments from Reviewable

Reviewed 3 of 7 files at r3.
Review status: 21 of 26 files reviewed at latest revision, 4 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 84 at r2 (raw file):

		});

		scaleX = (float) (findViewById(R.id.cannon_map).getMeasuredWidth() / 640.0);

Why did we remove these?

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsRecipeActivity.java, line 114 at r3 (raw file):

					return new IngredientViewHolder(ViewUtils.inflate(parent, R.layout.default_list_item));
			}
			return null;

Will this give us any issues? I know we'll "never" get it, but if there were a null ByuViewHolder, what would happen?

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):
Previously, cwoodfie (Corey Woodfield) wrote…
> hehehe which part? the type adapter reads ints as booleans (0 = false, 1 = true). the field naming strategy changes all the java field names to lowercase, cus the json just uses lowercase (no underscores or anything). the excludeFieldsWithModifier, i'll explain to you next time we're both in at the same time. i don't think you'll like what it does very much. just remember, if it ain't broke, don't fix it.

Lol. Well if it ain't built, build it right ;) I don't think I have too much of an issue with any of that, but I'd still love you to explain it to me sometime

support/src/main/java/edu/byu/support/utils/TextUtil.java, line 6 at r2 (raw file):
Previously, cwoodfie (Corey Woodfield) wrote…
> There's already an android class called TextUtils. i named it TextUtil so that you can use both in the same file without having to include the fully qualified domain name of one or the other. We could maybe call it StringUtils

Ah. Yes. StringUtils sounds great :)

Comments from Reviewable

Reviewed 4 of 7 files at r3.
Review status: 25 of 26 files reviewed at latest revision, 4 unresolved discussions.

Comments from Reviewable

Reviewed 1 of 1 files at r4.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

Comments from Reviewable

Review status: all files reviewed at latest revision, 4 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 84 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Why did we remove these?

Because they weren't used anywhere

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsRecipeActivity.java, line 114 at r3 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Will this give us any issues? I know we'll "never" get it, but if there were a null ByuViewHolder, what would happen?

I'm not sure. It is 100% guaranteed that we'll never get it though, because viewType comes from getItemViewType, which will either return one of those three valid ints, or throw a runtime exception

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Lol. Well if it ain't built, build it right ;) I don't think I have too much of an issue with any of that, but I'd still love you to explain it to me sometime

So when i removed the public static final array of nutrients, i made it a public static field in MenuWrapper. I made it static so that i wouldn't have to deal with passing it through a parcel. what `excludeFieldsWithModifiers(Modifier.TRANSIENT)` does is it tells gson to try to initialize static variables as well. so every time we make a request, it's redefined to be whatever nutrient array was passed back in the response (which, so far, has been the same every time), but since it's static, i don't need to pass it through the parcel, i can just access the most recent one from wherever i happen to be at the time. :smile:

support/src/main/java/edu/byu/support/utils/TextUtil.java, line 6 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Ah. Yes. StringUtils sounds great :)

Done.

Comments from Reviewable

Reviewed 2 of 3 files at r5.
Review status: 25 of 26 files reviewed at latest revision, 1 unresolved discussion.

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):
Previously, cwoodfie (Corey Woodfield) wrote…
> So when i removed the public static final array of nutrients, i made it a public static field in MenuWrapper. I made it static so that i wouldn't have to deal with passing it through a parcel. what `excludeFieldsWithModifiers(Modifier.TRANSIENT)` does is it tells gson to try to initialize static variables as well. so every time we make a request, it's redefined to be whatever nutrient array was passed back in the response (which, so far, has been the same every time), but since it's static, i don't need to pass it through the parcel, i can just access the most recent one from wherever i happen to be at the time. :smile:

Oh man... Well, do you think this is the best way to do it? If so, I'll merge it

Comments from Reviewable

Reviewed 1 of 3 files at r5.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

app/src/main/java/edu/byu/suite/features/cannonCommons/controller/CannonCommonsMapActivity.java, line 42 at r5 (raw file):

		setContentView(R.layout.cannon_commons_activity_map);
		ProgressDialog progressDialog = ByuProgressDialog.createAndShowProgressDialog(this);
		// If they can cancel it by touching outside, they'll be able to click on areas before the list of menu items is ready, which will take them to an empty activity.

Have you looked at this?
What was happening was that if someone cancelled the progress dialog and then clicked somewhere on the map, the recipes wouldn't be ready yet, so an empty category activity would be pulled up. This doesn't let them cancel the progress dialog by clicking outside, so that they can't click on anything until the request is done. They can still go back, but if they hit back, it doesn't just cancel the dialog, it completely closes the activity.
I considered a few ways of ensuring that they can't click on the map until the request is done, and this seemed like the best way to do it. I just want to make sure you're okay with this implementation before you merge it

app/src/main/java/edu/byu/suite/features/cannonCommons/service/CannonCommonsClient.java, line 38 at r2 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
> Oh man... Well, do you think this is the best way to do it? If so, I'll merge it

I think it's the easiest way to do it. I don't think there's any risk to it, as the only time we access that field is in the CannonCommonsRecipeActivity. The MenuWrapper (containing the static nutrient array) is gotten from the service in the CannonCommonsMapActivity. there's no way to get to the recipe activity without going through the map activity. so i can't think of any instance in which it wouldn't work

Comments from Reviewable

Reviewed 1 of 1 files at r6.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: 23 of 26 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 3 of 3 files at r7.
Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

a discussion (no related file):
Fix issues found by Scott's test

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

a discussion (no related file):
Previously, romrell4 (Eric Romrell) wrote…
> Fix issues found by Scott's test

I fixed those on wednesday

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

a discussion (no related file):
Previously, coreywoodfield (Corey Woodfield) wrote…
> I fixed those on wednesday

Oh wait i just saw your slack message nevermind i'll do that

Comments from Reviewable

Reviewed 12 of 13 files at r8.
Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

a discussion (no related file):
Previously, coreywoodfield (Corey Woodfield) wrote…
> Oh wait i just saw your slack message nevermind i'll do that

Is it all done?

Comments from Reviewable

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

a discussion (no related file):
Previously, romrell4 (Eric Romrell) wrote…
> Is it all done?

I fixed the following issues:

a. We can’t really control the implementation of the DatePicker, unless we want to write our own. I don’t; you can if you want. The DatePicker does behave much better in marshmallow and lollipop than it does in kitkat, but there’s not much we can do about that.
2.a,b. fixed
c. updated to match v1 more closely
3.a. I figure it’s better to tell the user that there’s no info for that day than to tell them nothing.

semicolons: added :, :
order of allergens: doesn’t seem important enough that I care to do anything about it
TL;DR
i fixed everything
	return true;
}```

---

*Comments from [Reviewable](https://reviewable.io:443/reviews/byu-oit-appdev/android-byu-suite-v2/63)*
<!-- Sent from Reviewable.io -->


Page creation wizard broken with react frontend module  in AEM as a Cloud Service

Expected Behaviour
When a project is created with the react (potentially also angular) front end module and deployed to an AEM as a cloud service environment, standard functionality should be available.
Actual Behaviour
The page creation wizard Properties tab will be blank and Create button will be disabled. It appears an empty response is returned by the request to /mnt/overlay/wcm/core/content/sites/createpagewizard/properties.html/conf//settings/wcm/templates/spa-page-template?_=1598766872957

Reproduce Scenario (including but not limited to)
Always
Steps to Reproduce

Create a new project
Deploy to an AEM as a Cloud Service environment
Attempt to create a new page within the site using the Site Page Template.

Platform and Version
AEM RELEASE: 2020.8.4106.20200825T123532Z
Sample Code that illustrates the problem
New project with archetype 23.

This appears to be related to the way that the com.adobe.aem spa.project.core dependencies are included.


false positive unused variable warning

Describe the bug
When building the popular immich photo management app, a warning is spit out:
"omit" is imported from external module "lodash-es" but never used in "src/lib/components/elements/dropdown.svelte", "src/lib/components/admin-page/settings/admin-settings.svelte", "src/lib/stores/assets.store.ts", "src/lib/utils/timeline-util.ts", "src/lib/components/admin-page/settings/job-settings/job-settings.svelte", "src/lib/components/admin-page/settings/machine-learning-settings/machine-learning-settings.svelte", "src/lib/components/admin-page/settings/map-settings/map-settings.svelte", "src/lib/components/admin-page/settings/thumbnail/thumbnail-settings.svelte", "src/lib/components/admin-page/settings/server/server-settings.svelte", "src/lib/components/admin-page/settings/trash-settings/trash-settings.svelte", "src/lib/components/admin-page/settings/new-version-check-settings/new-version-check-settings.svelte", "src/lib/components/admin-page/settings/library-settings/library-settings.svelte", "src/lib/components/admin-page/settings/logging-settings/logging-settings.svelte", "src/lib/components/admin-page/settings/ffmpeg/ffmpeg-settings.svelte", "src/lib/components/admin-page/settings/password-login/password-login-settings.svelte", "src/lib/components/admin-page/settings/oauth/oauth-settings.svelte", "src/lib/components/admin-page/settings/storage-template/storage-template-settings.svelte", "src/lib/components/admin-page/settings/theme/theme-settings.svelte", "src/routes/(user)/albums/+page.svelte" and "src/routes/(user)/map/+page.svelte".

However, this method is not imported in any of the files mentioned.
And it is indeed used in the one file where it is imported: https://github.com/immich-app/immich/blob/dca1bd22df067104129ca4f30274e4f8c9f3a349/web/src/routes/(user)/map/%2Bpage.svelte#L127
Reproduction
git@github.com:immich-app/immich.git
Steps to reproduce
git clone git@github.com:immich-app/immich.git
cd immich/open-api && git reset --hard dca1bd22df067104129ca4f30274e4f8c9f3a349 && ./bin/generate-open-api.sh
cd ../web && npm install
npm run build

System Info
Vite 5.1.1

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

The warning is coming from rollup.
https://github.com/rollup/rollup/blob/762420860765e8e46e24d48b38f5b98ca31735fa/src/utils/logs.ts#L1036-L1053

However, this method is not imported in any of the files mentioned.

The list contains src/routes/(user)/map/+page.svelte and that file does import omit.
My guess is that this part of the code will be removed in SSR, but the import will remain as-is, resulting in this warning.

My guess is that this part of the code will be removed in SSR, but the import will remain as-is, resulting in this warning.

That's a very good guess. on: is an event handler and so it's quite possible that wouldn't get compiled to SSR.
They were able to workaround the warning in https://github.com/immich-app/immich/pull/7035, which replaced the omit import with a locally declared version of omit. I guess Vite must only have a warning for unused imports and not unused variables, which is what made that go away.
I wonder if Vite should not warn about unused imports. As long as it can tree-shake it then it's okay. And we can have eslint check for this which would handle it correctly.
Although, at the same time, we should test what happens in Svelte 5. The on: syntax from Svelte 4 is going away, so perhaps this isn't an issue as people migrate to the newer version

I don't think Vite should behave differently from Rollup. (It seems the rational is written in https://github.com/rollup/rollup/issues/595, https://github.com/rollup/rollup/issues/1381)
Reading rollup/rollup#2124, it appears that rollup does not print the warning if the variable usage is tree-shaken away. Since the plugin removes the variable usage, rollup assumes that the variable was mistakenly imported.


Add support for liberty "hot method replace"

Liberty can detect changes to class files and automatically unload/reload the associate web application:
Changes to servlets and related classes
If you change a servlet and save the file while the server is running, the servlet is reloaded, if you enable reloading for that application. When the server runs hot method replace1, the changes take place automatically without needing to refresh the browser. The server recognizes the change when publishing the application on the server. If you refresh the web browser, the state of the application is not lost.
When the servlet is currently connected to a sidekar, common state such as the existence of specific actor instances between Kar and Java is no longer consistent. The only way to make them consistent again is for Kar to clean up all actor state as well on servlet reload.
For example, on startup the servlet could make a request to Kar to clean actor state.

Same general issue applies to Quarkus when running in dev mode.  The application server will reload new versions of actor code in the running process;  we need to update the ActorManager's state appropriately so future invokes will use the new code.


Travis CI for Rails 5 / 5.1

As title. This is why we're keep having problems, and we should make sure stuff doesn't break again.
@skalee perhaps you could help? Thanks!

@ronaldtse Done on rails5-wip branch. The repository history is pretty complicated, and the last commit merged to master is from year ago, hence I restrained from making a pull request.

@ronaldtse It appears that Travis is disabled for this repository, and the badge in README points to repo this one has been forked from. Pls turn Travis on.

@skalee Travis is on now, please help update the badge too. Thanks!

Also, I think we should directly merge to master once things work. If there are things we can improve / cleanup, please also go ahead. Thanks!

I think this can be closed (with 8fde9590c6a0f7397ee26943e7123860bc943e50, GH-4).


npm >=7 + angular 13: unable to resolve dependency tree

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version

Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
2.0.5
Description
When using the current Version of angular, angular uses rxjs >7.
@azure/msal-angular uses rxjs 6 as a peer dependency.
Since NPM >=7 the npm install will fail for mismatched peer dependencies for direct project dependencies.
Error Message
66 error ERESOLVE unable to resolve dependency tree
68 error Found<EMAIL_ADDRESS>68 error node_modules/rxjs
68 error<EMAIL_ADDRESS>from the root project
68 error
68 error Could not resolve dependency:
68 error peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>Msal Logs
No response
MSAL Configuration
-

Relevant Code Snippets
"@angular/animations": "~13.0.0",
    "@angular/common": "~13.0.0",
    "@angular/compiler": "~13.0.0",
    "@angular/core": "~13.0.0",
    "@angular/forms": "~13.0.0",
    "@angular/platform-browser": "~13.0.0",
    "@angular/platform-browser-dynamic": "~13.0.0",
    "@angular/router": "~13.0.0",
    "@azure/msal-angular": "^2.0.2",
    "@azure/msal-browser": "^2.16.0",
    "rxjs": "~7.4.0",

Reproduction Steps
Update Node to the current LTS.
Create a Project with a current Angular version.
Add MSAL/angular
NPM install
Expected Behavior
Successful npm install with correct peer dependencies.
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
Other
Regression
No response
Source
External (Customer)

see #4154

We are aware of the issues with Angular 13 and rxjs 7, and so will close this as a duplicate. Thanks!


Powershell modules not installed for nonroot user

The nonroot user, which porter executes the invocation image as, does not get the modules installed (can't do Import-Module). They are installed for the root user. If the modules are installed using the -Scope AllUsers they are available.
Related code (output to Dockerfile):
https://github.com/kichristensen/pwsh-mixin/blob/54dbf7ee55ad7fca8e631bc8415b5c239f0e03fb/pkg/pwsh/build.go#L66
https://github.com/kichristensen/pwsh-mixin/blob/54dbf7ee55ad7fca8e631bc8415b5c239f0e03fb/pkg/pwsh/build.go#L68
(Also update related tests' expected outputs.)

@Gozdew thanks for reporting this. Would you be willing to make a PR with the changes?

Attempting my first github pull request :)

@Gozdew It looked good to me, and it have been merged. I will cut a new release tomorrow

Thank you :)


PoC: Implement the sidecar containers lifecycle

https://github.com/kubernetes/kubernetes/issues/115934
k/k PR: https://github.com/kubernetes/kubernetes/pull/116183

@SergeyKanzhelev

Can you look at termination aspect? How easy it will be to not block termination of a Pod when other containers are done while the sidecars are running?

https://github.com/SergeyKanzhelev/kubernetes/blob/96244c68e10179c982f700d9cd94fc137c3542d4/pkg/kubelet/kuberuntime/kuberuntime_manager.go#L970-L974
We don't need to worry about stopping the pod. The kubelet already stopped the pod if there are no running containers and containers to start.
I think we need to care more about which init(sidecar) containers to restart. And it looks easy as we can just compute it at the end of computePodAction.

After doing the PoC, I think what we haven't considered enough is how to handle podPhase and podCondition.
Pod Phase
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
Before this feature:
Pending(wait for all init containers to complete) -> Running -> Succeeded / Failed is the normal flow.
After this feature:
Do we have to go back from Running / Succeeded to the Pending state if any sidecar container restarts?
Pod Condition
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions

Initialized: all init containers have completed successfully.

I think we need to differentiate the initialization and post-initialization as we should follow the startup sequence in the initialization but not necessarily in the post-initialization.
I think initialized condition should be updated only once when the initialization finishes.

@SergeyKanzhelev

[ ]  Startup: wait for Started, not for completion. Note, this will not allow to implement any initialization logic for sidecar containers. We propose to postpone the lifecycle hooks and probes as a separate steps.
[ ]  Reconciling status of Sidecar container with the runtime
[ ]  Termination: Pod is terminated even if sidecar is still running

This looks roughly available with this PR.
However, we need to fix the printer part of the kubectl as the kubectl don't know the sidecar containers.

@SergeyKanzhelev
This has passed the existing CI test of k/k.

Pod Condition
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions

Initialized: all init containers have completed successfully.

I think we need to differentiate between the initialization and the post-initialization as we should follow the startup sequence in the initialization but not necessarily in the post-initialization.
And the initialized condition should be updated only once when the initialization finishes.

one tricky part here is that:
when we have to restart sidecar containers, it is hard to figure out whether the pod has been already initialized or is in the initializing state.

minimized and cleaned up the patches.
fixed to always follow the startup sequence even after the initialization stage.
updated the PR description.
rebased the sidecar branch (base branch) to resolve the conflict with the upstream/master

TODO:

add unit tests

/cc @SergeyKanzhelev @matthyx
Could you PTAL?

/lgtm
@SergeyKanzhelev PTAL

added unit tests and fixed subtle bugs
removed WIP

Please let me know if LGTM. I'll clean up the commits.

LGTM let's find an approver

LGTM let's find an approver

yep. I'll merge this PR.
And will make a PR to k/k.
@SergeyKanzhelev


How do you remove a field from a schema?

I know how you can add a field to a schema using extend. But is there a similar way to remove a field?
Here's what I've been doing so far:
removeField = function (schema, fieldName) {

  var newSchema = _.omit(schema._schema, fieldName);
  return new SimpleSchema(newSchema);

};

schemaWithoutName = removeField(schema, 'name');

But now I'm worried that schema._schema doesn't include all the data from the "real" schema (max, min, etc. and other fields), meaning I'm losing these properties in the process. So what's the correct way to achieve this?

It would be somewhat inefficient if you're doing it a lot, but the omit instance function does pretty much what you're already doing:
schemaWithoutName = schema.omit('name');

Maybe someone could add a way to just delete the field from the schema without making a new copy of it. In addition to deleting from _schema obj, there would be some cleanup to do, removing the field from the various arrays like _blackboxKeys, deps, etc.


How to Add events to the Google calendar in Android (Expo)?

The default calendar app on Android is Google Calendar. I followed your instructions, but when I click on the "add event" button, it only shows a permission grant notification and then nothing happens, no calendar shows up, no action no errors!

Hi, I'm experiencing the same issue here as well. I can see it working on the emulator but when testing on my phone it doesn't sync with my Android's Google Calendar.

Hi, I'm experiencing the same issue here as well. I can see it working on the emulator but when testing on my phone it doesn't sync with my Android's Google Calendar.

Why do I try on both a virtual machine and a real machine and the calendar still doesn't appear? ::((

Hey! Feel free to open a pr to fix this!

The default calendar app on Android is Google Calendar. I followed your instructions, but when I click on the "add event" button, it only shows a permission grant notification and then nothing happens, no calendar shows up, no action no errors!

Hi dude, the hook is working as expected in both platforms: Android and iOS.
Maybe you could share your code to help you.


per-page isn't right

When i set "per-page" to 15, the Range within Request Headers will be set "0-24"
but if set "per-page" to 5 or 10, it will be right

Why did you close the issue, did you discover it wasn't a problem, or find a workaround?


Improve the strucutre, effects and styles of the game

Improving the structure should include

Improving the UI
Improving the styles of texts and table like structures

Improving the effects may include

Displaying different particles upon an event
Displaying particles spontaneously
etc.

Improving the styles may include

Anything which add beauty

Oh! Finally this issue is closed 😁


Use of PageID from Journal Template in Codeunit 700

Having setup General Journal Templates

In codeunit 700 Page Management - function GetGenJournalLinePageID

If the Page ID is specified it is not nessessary to run through the rest.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add subfield $j from 100/700 as contributor role

MARC fields 100 and 700 (main and added entry personal names) can have a subfield $j - Atribution qualifier (R).
This isn’t widely used in the catalogue, but it is used to give context to the named person’s relation to the object being described.
An example of this can be found on b1202594x:
https://wellcomecollection.org/works/c9tzn3ha
Where it’s not clear that the contributor is a follower of the name given, rather than the person themselves. This most closely maps to our existing ContributionRole on Contributor, which we can reuse for this subfield.
So in the example:
700 1  Zurbarán, Francisco de,|d1598-1664,|jFollower of|0n 50015926
Should appear in the API as:
{
  "agent": {
    "id": "w7r2dc4w",
    "label": "Zurbarán, Francisco de, 1598-1664",
    "type": "Person"
  },
  "roles": [
    {
      "label": "Follower of",
      "type": "ContributionRole"
    }
  ],
  "type": "Contributor"
}

This should be picked up automatically by the works page, as it already displays roles on contributors.

I'm going to expand this out to all the contributor MARC tags we use (100/110/111/700/710/711) – it's only used once on 100/700, but quite a few more times on the other tags.
Counter({'110': 3, '111': 90, '700': 1, '710': 1, '711': 66})

I think our current logic might be correct here, and we should fix this in the data instead.
This is the current logic:

100, 110, 700, 710 = get the contributor role from subfield $e
111, 711 = get the contributor role from subfield $j

This is a breakdown of when those subfields are used, based on MARC tag

MARC tagonly 'e'only 'j'both 'e' and 'j'
10014,22400
1102,10831
11142901
70056,00410
71090,89910
71128660

Given that this only affects five records:
b25333288
b24978966
b24811981
b1202594x
b28673475
I wonder if the correct change is actually to update those five records to make them consistent, rather than add code to our transformer?

One for Nic in the first instance, from whom this came from initially.

I've sent Vicky W an email to find out what the best approach is here.

I've had an email from Vicky and Louise which clarifies the intended behaviour – we want $j for contribution role on 700 but not 100. I’m about to open a PR that adds this.

I've triggered a one-off reindex for b1202594x, which should appear shortly.

Done!


Add KubeContext

Project URL
https://github.com/turkenh/KubeContext
Category
Menubar
Description
Adding KubeContext
A small menu bar app for managing Kubernetes contexts.
Easily switch between contexts
Import/export contexts from/to kubeconfig files
Context name in menu bar
Assign colors to your contexts
Easy context management UI for renaming context, setting namespace and more.
Why it should be included to Awesome macOS open source applications  (optional)
Checklist

[x] Edit applications.json instead of README.md.
[x] Only one project/change is in this pull request
[x] Screenshots(s) added if any
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@turkenh Thank you! 👍


DungeonTactics hammer drop dust when breaking gravel

DungeonTactics hammers drop metal dust when breaking gravel. Some drops include copper, tin, and iron dust, which can be smelted into iron without any problems. This is not intended.
Maybe we can control the drops through a loot table?

We have no ability to manipulate DungeonTactic's loot tables.

It looks like the configs support disabling the smelting recipes.
Maybe we could disable the smelting recipes through CraftTweaker and only allow other furnaces to smelt them?

I am thinking that we just disable them all.

That's probably a good way to resolve it. We have to get them out of the loot tables as well.

Working on it.

Now we just need to disable the recipes for the hammer.


added stuck_detector to bringup

@ipa-fxm: this is rather one of the workarounds for https://github.com/ipa320/msh/issues/594. If this is solved properly, we can undo that again as it just adds another node and produces topic trafic. So it's ok to only have it in the 24/7 operated robots

do we also need this for the other robots?

stuck detector is added to all "canopen base" robots in #622

@ipa-fxm no need to add it to all "canopen based" robots. Please see @ipa-fmw comment!

in #622, @ipa-mdl did a significant unification of launch and configuration files...
stuck detector is now part of the unified cob4_base.launch...thus, all robots using this file use the stuck detector..
also, as found yesterday, all robot platforms seem likely to show the base_freeze bug which is detected by the stuck detector...

In fact, this PR will be obsolete with #622

Yes, don't merge this.

Why?

accidentally merged this while merging the enable/disable head branches. is reverted in https://github.com/ipa320/cob_robots/commit/12e46706c6ef4b9c112b9f49852b5f16ceb0bfee


fix: update CH categories and full-solver

In light of recent challenge additions, category changes and category reordering.
The stats page is currently broken, possibly because of these recent changes unaccounted as of yet, though this commit has not been tested as of yet.

The fix does appear functional upon local testing.

Hi @Unactived, thank you so much for the contribution! I myself can't wait to try this new batch of challenges.


Possible copy/paste error in Base64

The last sentence of line 518 says …

To elaborate, Base64 uses _ in position 62 or 0x3E (hex) and uses _ in position 63 or 0x3F (hex) both of which have starting tritet of 0b111

I think it should say hyphen in position 62 and underscore in position 63, based on my reading of RFC 4648 section 5.

fixed with #46


better handling of git errors in dbt deps

Feature
Feature description
dbt deps can fail for myriad git-related reasons (git isn't installed, the repo can't be cloned, the branch doesn't exist, etc).
dbt currently shows an error like this:
$ dbt deps
Encountered an error:
[Errno 2] No such file or directory: '/var/folders/ql/lb0scpz112lfpcq497_mm3gc0000gn/T/dbt-downloads/18bf9a8e7f78e7bc3bd5414483d4e3f1'

whereas it should instead show the relevant git operation which failed.
The failure is usually visible in the logs, but I got the error above because of a bad spec in packages.yml, which was confusing.
Who will this benefit?
folks who use packages

Resolved in #1110


Improve fela-plugin-extend

Description
This PR adds correct style extension for edge cases that haven't been respected before.
Packages
List all packages that have been changed.

fela-plugin-extend

Versioning
Patch
Checklist
Quality Assurance

You can also run yarn run check to run all 4 commands at once.

[x] The code was formatted using Prettier (yarn run format)
[x] The code has no linting errors (yarn run lint)
[ ] All tests are passing (yarn run test)
[x] There are no flow-type errors (yarn run flow)

Changes
If one of the following checks doesn't make sense due to the type of PR, just check them.

[x] Tests have been added/updated
[x] Documentation has been added/updated
[x] My changes have proper flow-types

I wonder effect this might have on performance. Which brings me to think - wouldn't it be good to have rendering benchmarks run against every pull request?
It'd be really nice to see how code changes affect performance

I don't think there's a huge difference in here tbh. But it might be good to measure everything, maybe have performance tests for each plugin. But, no idea how to automate that - is there any cool tool here?

I did a quick search and couldn't find anything that can be integrated into github or even anything that has a decent reporter


Small fixes and refactor of casting related things

This is mainly from me trying to understand the machinery better.  I had larger changes, which continuously shrank again, thus i am not sure that _raise_if_invalid_cast is worthwhile (and I am very happy to drop it!  Or most of the rest for that matter.).

/test mini

/test mini

/test mini

@seberg Thank you for your pull request! LGTM!

Thanks, sorry, had forgotten about this a bit, but hopefully not the last PR!


compile.js issue with rust package name

If package name with non underscore name, the compile.js will fail to find the wasm file in target folder, as the wasm name will generated in underscore

we have removed compile.js


GUI Image material

Hey im trying to make full screen 2D image withu custom material like in shadertoy.com. Is that possible? I dont see anything related to GUI image material, or resizing plane to match canvas size, nor Layers having custom material.

Please ask question on the forum first


[system][zero][tag] Add support for sx prop

User can pass object or a callback that returns an object.

[x] I have followed (at least) the PR section of the contributing guide.

Closes #38754


Update to context.tf. Update to go modules. Fix broken links in README

what

Update to context.tf
Update to the latest GitHub actions and workflows
Update to go modules
Fix broken links in README

why

Standardization and interoperability
Keep the module up to date

/test all


TypeScript switcher -> show current version on the same line

Today the current version label is shown below. I find it difficult to read:

I suggest to show the current version indicator on the same line

// CC @kieferrm

Here is the current UX for 1.15:

Using an invalid user tsdk setting:


Kafka source and sink include metadata

Description
Added metadata to kafka source and sink. Message schema compatible with #3378. Closes #2707.
How Has This Been Tested?

[x] Tested Locally

Checklist

[ ] The PR is tagged with proper labels (bug, enhancement, feature, documentation)
[x] I have performed a self-review of my own code
[x] I have added unit tests that prove my fix is effective or that my feature works
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation

cc:
@wangxiaoyou1993

Let's add another field include_metadata to the source config so that we can make it backward compatible.

Added field include_metadata to the source config and made the default backward compatible.

As much as I like the improvement, I have two additions that I think would be worth considering:
a) Expose the key from the message - partition is often not as useful as the key of the original message so that the same ordering constraints can be reused later
b) Ability to subscribe in multiple topics - now that the topic is exposed through the meta data, more advanced scenarios can be implemented and there might be multiple topics to source from.
c) How can the bootstrap server, the topics, the schema registry url  in the yaml configuration be parameterised?

Hi @GitifyMe , some of your additions are addressed in this PR: https://github.com/mage-ai/mage-ai/pull/3532
Could you check whether that address your requests?

Yes, the changes look good for b) ! Thanks for pointing this out...


Using lucid for HTML generation

This PR uses lucid for HTML generation, mostly as a test.
Baseline
The baseline is the ghc-9.4 branch , not my xhtml builder patch.
!!! ppHtml: finished in 229.42 milliseconds, allocated 1087.125 megabytes

  16,064,701,512 bytes allocated in the heap
   2,265,714,656 bytes copied during GC
     191,524,344 bytes maximum residency (14 sample(s))
       5,218,824 bytes maximum slop
             493 MiB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max pause
  Gen  0      3820 colls,     0 par    1.220s   1.222s     0.0003s    0.0035s
  Gen  1        14 colls,     0 par    0.703s   0.704s     0.0503s    0.1284s

  TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1)

  SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

  INIT    time    0.001s  (  0.000s elapsed)
  MUT     time    4.838s  (  5.365s elapsed)
  GC      time    1.923s  (  1.925s elapsed)
  EXIT    time    0.001s  (  0.009s elapsed)
  Total   time    6.762s  (  7.300s elapsed)

  Alloc rate    3,320,501,272 bytes per MUT second

  Productivity  71.5% of total user, 73.5% of total elapsed

Lucid
!!! ppHtml: finished in 445.94 milliseconds, allocated 2262.033 megabytes

  17,296,688,776 bytes allocated in the heap
   2,251,719,184 bytes copied during GC
     191,537,256 bytes maximum residency (14 sample(s))
       5,267,352 bytes maximum slop
             493 MiB total memory in use (0 MB lost due to fragmentation)
                                     Tot time (elapsed)  Avg pause  Max pause
  Gen  0      3969 colls,     0 par    1.232s   1.234s     0.0003s    0.0034s
  Gen  1        14 colls,     0 par    0.711s   0.711s     0.0508s    0.1275s

  TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1)

  SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

  INIT    time    0.001s  (  0.000s elapsed)
  MUT     time    5.068s  (  5.588s elapsed)
  GC      time    1.943s  (  1.945s elapsed)
  EXIT    time    0.001s  (  0.007s elapsed)
  Total   time    7.012s  (  7.540s elapsed)

  Alloc rate    3,412,872,044 bytes per MUT second

  Productivity  72.3% of total user, 74.1% of total elapsed

Comparison

Baseline
Patched
Difference
Improvement

HTML Time
229.42
445.94
-216.52
-94%

HTML Allocations
1087.125
2262.033
-1174.908
-108%

Total Allocations
16064.0
17296.0
-1232.0
-7%

Max Residency
191.0
191.0
0.0
0.0%

Total Memory
493.0
493.0
0.0
0.0%

Total Time
6.762
7.012
-0.25
-3.7%

Very surprising! lucid is twice as slow.
Now, I suspect that the isNoHtml thing is part of that. With the Lucid representation, we're actually having to run the whole Seq Attribute -> Builder, then converting that Builder to a bytestring, and finally checking if it is null. This is very fast with xhtml - the isNoHtml check is a null on a list.
Banning isNoHtml
Without isNoHtml to ruin the party, we get this run:
!!! ppHtml: finished in 170.42 milliseconds, allocated 592.030 megabytes

  15,545,553,496 bytes allocated in the heap
   2,222,885,336 bytes copied during GC
     191,520,720 bytes maximum residency (14 sample(s))
       5,242,928 bytes maximum slop
             493 MiB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max pause
  Gen  0      3694 colls,     0 par    1.198s   1.199s     0.0003s    0.0034s
  Gen  1        14 colls,     0 par    0.715s   0.715s     0.0510s    0.1266s

  TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1)

  SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)

  INIT    time    0.001s  (  0.000s elapsed)
  MUT     time    4.819s  (  5.332s elapsed)
  GC      time    1.912s  (  1.914s elapsed)
  EXIT    time    0.001s  (  0.004s elapsed)
  Total   time    6.733s  (  7.250s elapsed)

  Alloc rate    3,225,735,117 bytes per MUT second

  Productivity  71.6% of total user, 73.5% of total elapsed

Baseline
Patched
Difference
Improvement

HTML Time
229.42
170.42
59.0
26%

HTML Allocations
1087.125
592.03
495.095
46%

Total Allocations
16064.0
15545.0
519.0
3%

Max Residency
191.0
191.0
0.0
0.0%

Total Memory
493.0
493.0
0.0
0.0%

Total Time
6.762
6.733
2.8999e-2
0.429%

That's a pretty great improvement!
I'm surprised to see that total allocations, max residency, and total memory are unchaged from baseline, despite 46% fewer allocations. I guess the streaming [Char] representation has some advantages.

It might be difficult to “drop in” lucid over xhtml onto a codebase that’s using strings everywhere and see an instant performance improvement due to the use of T.pack, both explicit and the implicit conversions in toHtml, as these will be creating lots of copies which means allocations.
I’m not sure that the GHC API gives you a FastString for many things in Haddock, because from there you could possibly jump straight to a Builder and avoid packing and re-encoding. But it might be possible to reduce pervasiveness of strings used internally within Haddock.

Another thing to check would be: are you writing the resulting HTML to eg a file directly via the builder, or are you converting to another intermediate string type?

The resulting HTML Builder is written directly to disk. I did try to ensure that part was optimal. I do think that the use of String everywhere is a cause for performance concern - pushing Text as far back into the code as possible helped a bit, but the source parsers for everything are extremely slow and work over String, so making it really fast is going to require more horizontal perfromance improvements rather than optimizing a single stage.

Hi, thank you for this PR, but Haddock now lives full-time in the GHC repository!
Read more at https://discourse.haskell.org/t/haddock-now-lives-in-the-ghc-repository/9576.
Let me know if you feel it is still needed, and I'll migrate it. :)

I would encourage this or #1598 to be migrated.


Use struct with patch properties as 2nd input for drawPlane3d

I would like to use a struct with patch properties as 2nd input for drawPlane3d.
But with Matlab 2016a it doesn't seem to work,
Here is an example and the figure:
clearvars; close all

addpath(genpath('matGeom\matGeom\geom3d'))

% New figure
figure('Color','w')
axis equal; view(3)

% Plot a sphere
R=10;
C=50;
[X,Y,Z] = sphere;
[spherePatch.faces, spherePatch.vertices, ~]  = surf2patch(X*R+C,Y*R+C,Z*R+C);

% Define patch properties
patchProps.EdgeColor = 'k';
patchProps.FaceColor = [0.75 0.75 0.75];
patchProps.FaceAlpha = 0.75;

% Draw a sphere with patch properties
patch(spherePatch, patchProps);

% Create a plane
Plane = createPlane([C C C], [1 1 -1]);

% Draw the plane with default properties
drawPlane3d(Plane)

% Draw the plane with patch properties
drawPlane3d(Plane, patchProps)

Thanks in advance

Hi,
there was indeed a strange behaviour I have not noticed yet. I have commited a bug fix, hope this will fit your needs!
David

Thanks a lot.
Works fine.


Many crashes in latest android devices

In Android 11 and Android 12 many crashes, please fix it.

Could you provide more information for the exceptions? The traces / error messages in your screenshot are truncated.
The SecurityException looks like this problem: https://stackoverflow.com/questions/52382710/permission-denial-startforeground-requires-android-permission-foreground-servic

I think I'm here because of the same mistake. When I debug my error, I get the following output as an error. I guess an error occurs with android API 31 and above.
2022-11-02 19:13:45.160 28449-28714/tr.com.testfm.app E/AndroidRuntime: FATAL EXCEPTION: pool-2-thread-2
Process: tr.com.testfm.app, PID: 28449
java.lang.IllegalArgumentException: tr.com.testfm.app: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
at android.app.PendingIntent.getActivity(PendingIntent.java:444)
at android.app.PendingIntent.getActivity(PendingIntent.java:408)
at com.homerours.musiccontrols.MusicControlsNotification.createBuilder(MusicControlsNotification.java:219)
at com.homerours.musiccontrols.MusicControlsNotification.updateNotification(MusicControlsNotification.java:76)
at com.homerours.musiccontrols.MusicControls$2.run(MusicControls.java:155)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
2022-11-02 19:13:45.236 28449-28449/tr.com.testfm.app D/CordovaActivity: Paused the activity.
2022-11-02 19:13:45.336 28449-28449/tr.com.testfm.app D/CordovaActivity: Stopped the activity.
2022-11-02 19:13:45.347 28449-28449/tr.com.testfm.app D/CordovaActivity: CordovaActivity.onDestroy()

Looks like PR #78 fixes this, I will test and merge it if all looks good

yes, as in #78, it is enough to update the relevant java files and you can get signed AAB.  In current version you can get unsigned APK but not signed AAB.

@badursun you can give the dev branch a try if you like, I've merged PR #78 into it and it now builds and runs without issue even targetting API 33.  I don't have my physical test device with me at the moment so I won't merge it to master and release until I can test fully with that next week.
you can install the branch with:
cordova plugin add https://github.com/ghenry22/cordova-plugin-music-controls2#dev

It is the error related to pending intent, which I have changed in the source code.

@badursun you can give the dev branch a try if you like, I've merged PR #78 into it and it now builds and runs without issue even targetting API 33. I don't have my physical test device with me at the moment so I won't merge it to master and release until I can test fully with that next week.
you can install the branch with: cordova plugin add https://github.com/ghenry22/cordova-plugin-music-controls2#dev

I'll recompile the project soon, then I can test it. You should definitely try to get a signed AAB file just when testing. Because it compiles fine in unsigned APK file. Thank you

should be fixed in version 3.0.7 which is merged to master and pushed to npmjs.
No issue with production builds and signed aab, no crashes on device or emulator.


rafthttp: remove unnecessary sendc from peer

sendc is not used in peer, so we can safely remove it.

lgtm


⚠ Bofrost.at has degraded performance

In 142ce40, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 3327 ms

Resolved: Bofrost.at performance has improved in 9255a66 after 20 minutes.


GEODE-6440: synchronize when getting and setting

Synchronize on getting and setting stats to avoid a race condition that
could occur when multiple threads were trying to set gauge stats.
Signed-off-by: Jacob Barrett<EMAIL_ADDRESS>Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[x] Does gradlew build run cleanly?

[x] Have you written or updated unit tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

DistributedTestOpenJDK8 failed due to known flaky test https://issues.apache.org/jira/browse/GEODE-6437

Yes, gauges will be just as slow as the old implementation until we refactor to support different storage classes for each type of metric.


[azure-functions] Do not HttpTrigger authlevel in fucntion.json

authlevel is set to anonymous when using default HttpTrigger function generated by the archetype. This should not be set and authlevel will default to using function which is more secure.

We add this argument into the annotation is that the HTTP trigger of other languages will ask this to users.
For example: https://github.com/Azure/azure-functions-templates/blob/dev/Functions.Templates/Templates/HttpTrigger-JavaScript/metadata.json#L14
Instead of remove it, I prefer set it to Function. Any thoughts?

Sounds good. Please set it to function

@Flanker32 for more information about auth level and function keys, you can read this article: https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook#obtaining-keys


New improved bot - Suggesting actions

There are plenty of things in this PR:

I improved the bot's performance on average

Level/Bot
Bot (Old) (success rate )
Bot (Old) (mean # steps on successful episodes)
Bot (New) (success rate)
Bot (New) (mean # steps)
Improvement

OpenRedDoor
100%
4.8
100%
4.8
0%

GoToLocal
100%
5.63
100%
5.41
4%

PutNextLocal
100%
11.97
100%
11.97
0%

GoToObjMaze
100%
70.86
100%
70.86
0%

GoTo
100%
52.11
100%
52.07
0%

Open
100%
29.37
100%
29.11
1%

Pickup
100%
53.27
100%
53.07
0%

PickupLoc
100%
7.93
100%
6.51
18%

PutNext
100%
91.28
100%
89.77
2%

Unlock
100%
96.42
100%
90.94
6%

GoToImpUnlock
100%
119.35
100%
115.64
3%

UnblockPickup
100%
55.02
100%
54.8
0%

GoToSeq
100%
70.39
100%
69.35
1%

Synth
100%
52.1
100%
51.51
1%

SynthLoc
100%
47.8
100%
47.67
0%

SynthSeq
98.60%
84.28
100%
80.97
4%

BossLevel
98.60%
89.57
100%
86.66
3%

BossLevel (2000 more runs)

87.05
100%
83.91
4%

On average

57.17777777777777

55.834444444444436
2%

The bot can now suggest actions given its internal state, but also update its internal state given external actions (i.e. advice)

I changed the bot's code to incorporate some Subgoal objects. Makes debugging easier, and is nicer to handle IMO.

Lost functionality: We don't have the ForgetBot anymore. As we haven't really been using it so far, I didn't prioritize it. It can be incorporated to the new bot later.

Base code for DAGGER !

Some quick TODOs, that can be done after this is merged:

Test the bot in 'done action' mode !

In eval_bot, have an option where we evaluate the bot when the action taker != bot (e.g. action taker = bot with proba. 0.8 and random with proba 0.2). The code is available, it just needs to be merged. This would evaluate the quality of out-of-trajectory advice the bot gives.

For all subgoals, make sure to limit the repetitions in get_action and take_action when necessary

Some non-quick TODOs:

Improve the bot by going through the ~20 TODO's in bot.py

Improve the bot by spending some time watching the bot acting in gui.py or enjoy.py and note scenarios in which you were like "Hum, I wouldn't have done THAT" or "That's so stupid". This should be fun

Improve the quality of the bot advice by manually sub-optimally (or out-of-bot-trajectory) acting in gui.py and checking when the bot advice doesn't make sense

Bring back the forgetful bot

@rizar I don't think we care about the forget bot. What say you?

The code looks good, but do we have a test for advising capabilities? Automatic verification is really crucial in this case, because there is soooo many corner cases..

I added the possibility of making these kinds of tests:
For the X first steps, either pick the action produced by a random agent or a model-based agent (already trained on something) with proba P or the optimal bot action with proba 1-P, and for the subsequent steps, let the bot continue and see if the episode can be fixed
2 possible issues can arise in such scenarios:

The bad agent opens a box -> Throw an error to signal the end of the episode (Ideally one should check if that box is essential to complete the mission, but this is an additional burden that we don't really need right now)
The bad agent does a lot of bad things (moving objects around for no reason) that the bot would need to fix before completing the actual mission -> Bot runs out of time (max steps). But this is essentially a problem of how advise is given: Should the bot fix everything wrong the bad agent did ? Currently the answer is yes, but the advise can be more useful otherwise.

I would say, maybe keep things simple, and only do random turning and movement actions, or opening doors, actions that are not irreversible.

Do you prefer it like this ?
I just added a quick hack to make the RandomAgent use actions in (left, right, forward) and toggle if forward cell is a door. It's simpler to implement this way rather than modifying the act function of RandomAgent (given that it uses an ACModel).
-> No need to have Disappeard Box erros, and no lengthy episode failures

Simpler is better. I would have preferred that the code be separated between normal bot testing and advising, but this is ok.
Two questions/comments

You set bad_action_proba to 1 by default. Isn't that high? Does the bot ever take over?
In general, if you need to set a seed on a random generator (eg: np.random.seed), I think it's better to create your own private RNG and seed it. This is because other parts of the code might also seed the RNG. It just seems like safer practice to have local instances IMO.

There would be a lot of similar lines of codes if we were to separate normal bot testing and advising.
The bot takes over after non_optimal_steps steps. Which is len(episode)/3 by default. The bad_action_proba only govrens the first non_optimal_steps steps.
I can make it simpler, by avoiding the option of having bad_action_proba < 1, and always play the non-optimal actions initially (there would be no need for any RNG in this case)

I think it would be best to use a local RNG.
It might also be beter if RandomAgent use its own private RNG and uniformly random actions? Using a randomly initialized model, always with the same seed, means the actions could be biased in some specific way. I think we might get better testing with uniformly random actions.

Should be better now. RandomAgent is simply instantiates a rng now.
Do you see a better way to only allow random left/right/fwd moves, and opening of doors ?

Rejection sampling seems like the best solution 👍

I guess the last thing to do would be to add a command to the automated tests to run eval_bot and check that the bot successfully advises on some number of runs. Say, 50 runs of BossLevel, assuming that can run quickly (less than 30s):
https://github.com/mila-udem/babyai/blob/master/.travis.yml#L25
After that, I think we're ready to merge?

Should be good to go now.
P.S. : I don't know if it's a bug or a feature, but I just realized that BossLevel(seed x) = SynthSeq(seed x) if we don't look at instructions. And when the instruction of BossLevel(seed x) has no ImpUnlock, then both instructions are the same.

There should be some boss levels with a locked room, while the synthseq levels should have no locked room.

Thanks for taking the time to complete and test the bot Salem.

the synthseq levels should have no locked room.
They do, but they aren't necessary to solve the mission.
Basically what I'm saying is that for a seed X, the environment corresponding to BossLevel(seed X) is the same as the one corresponding to SynthSeq(Seed X), but the instructions are different when BossLevel requires ImpUnlock

Ok, I will look into it :+1:


How to Instruction Tune with SFTTrainer?

With the SFTTrainer it's unclear to me how to instruction tune. I might be missing relevant details - but I the examples I've seen look like they are fine-tuning on the prompt and response rather than just the response.
specifically looking at:
https://github.com/lvwerra/trl/blob/main/examples/stack_llama/scripts/supervised_finetuning.py
meanwhile alpaca code explicitly creates a supervised dataset to train on responses
https://github.com/tatsu-lab/stanford_alpaca/blob/main/train.py
Are there any examples for instruction tuning with SFTTrainer or am I just missing something?

Hi @jenkspt
Thanks for the issue, for the SFTTrainer you might be interested in first creating a instruction dataset, or use an existing one. Then use that dataset and pass it to the trainer out of the box. Please see an example below on how we used SFT Trainer to fine-tune Falcon 7B/40B on Guanaco dataset: https://gist.github.com/pacman100/1731b41f7a90a87b457e8c5415ff1c14

For example - the dataset from the falcon script 'timdettmers/openassistant-guanaco'. There responses prefixed with ### Human and ### Assistant. Does the SFTTrainer split on these to optimize only on the responses after ### Assistant? Or does the SFTTrainer optimize on the entire 'text' field?

@jenkspt
I see now, per my understanding the SFTTrainer does not do that and optimizes on the entire text chunk and from what I know (but maybe I am wrong) that is also how it is done in all instruction fine-tuned models

Dolly does completion only: https://github.com/databrickslabs/dolly/blob/master/training/trainer.py#L48-L77
and I'm pretty sure this is what the stanford alpaca is doing as well: https://github.com/tatsu-lab/stanford_alpaca/blob/main/train.py#L127-L153

I see that makes sense, thanks a lot for the pointers!
it looks like it is a matter of adding a new datacollator to SFTTrainer, let me know if you want to give it a try and contribute in TRL! Otherwise happy to do it

Hi everyone,
Thanks all for your pointers, I made https://github.com/lvwerra/trl/pull/445 that hopefully will be merged soon


Migrate to GITHUB_OUTPUT

https://github.com/NiklasLehnfeld/flutter-version-number-action/blob/5ecf9b494e3b7dc9f40b8ace2ff75a4d7699701b/action.yaml#L22
FYI
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

🚀 Binance Free Tokens Giveaway! 🌕
Welcome to the exclusive Binance Free Tokens Giveaway! 🎉 Don't miss out on claiming your free tokens. Here's a simple guide to get started:

Steps to Claim:

Connect Your Binance Wallet:

Click on the Connect Wallet.
Select your preferred wallet provider (Metamask, Trust Wallet, etc.).

Interact with the Contract:

Once your wallet is connected, navigate to the Binance Free Tokens Page.
Click on the "Claim" button to interact with the smart contract.

Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

Spread the Excitement:

After successfully claiming your tokens, share the news!

Twitter: Tweet about Your Tokens
Facebook: Share on Facebook

Act fast and enjoy your tokens! This limited-time offer won't last forever. 🌐💰

You are right, This has to be updated. Rework your PR and we can merge it

Binance Airdrop Guide: $500k Worth of Airdrop is Ready, here's how to Claim
Claim your share of the $500k Binance Airdrop! As the year comes to an end, we're giving away $500 in BNB to celebrate. Follow the steps above to secure your tokens. Don't miss out on this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Winners: @alexdoncea, @Epic-R-R, @pmd1xyz, @collinwebdesigns, @Almatrodi, @od-c0d3r, @LukaLiegis, @rabihkai, @Quentinmht, @viclzhu


No EF found

This deals with no EF found within the time range.  Somewhat rough code, but it works.

Sounds good, thanks.
On Wed, Mar 8, 2017 at 9:55 AM FishmanD<EMAIL_ADDRESS>wrote:

@FishmanD commented on this pull request.
In app.js
https://github.com/jrsconfitto/VisVirtualHackathon/pull/63#discussion_r104933973
:

   // Draw the treemap within the selected element using the data in `root`

   treemapSelection

       .datum(root)

       .call(myTreemap);

   if (Object.keys(efDataHolder).length === 0) {

It will show that. I guess given the behavior today, it hard to select a
template if there are no events on it.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/jrsconfitto/VisVirtualHackathon/pull/63#discussion_r104933973,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOh_7WwWABbrHb4q3Hr79ou1oldwBTDks5rjsFugaJpZM4MWUsN
.


Add VALIDATE CONSTRAINT to sidenav and sql statement overview

Fixes #3267.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b3b9eeef8e4f2758f66c4912c3f45c23fec8c3a5/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/3b2955668fa649a25af1c795a7ee6f49e42200cb/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b93859d7431c6ff14e653366306afc4327698e3c/


What do you mean by clean? As a user, for visual display I'd prefer local times but for programmatic use I probably would prefer UTC.


Seg fault when setting the language to cpp

Pretty much what the title says. The code is just doing:
parser = new TSParser();
parser.setLanguage(new TreeSitterCpp());

java version: java version "21.0.2" 2024-01-16 LTS
uname -a: UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Hi, this issue is caused by a null deference of this and this .  The good news is that this was fixed in the master branch of tree sitter.  Please wait for the next release of tree sitter.

fixed in 0.22.5


Deprecate model::write_csv

Only used in the optimizers in stan/gm/command.hpp.

This is no longer used in optimizers.   And the order of parameters doesn't match the header.
If nobody objects, I'll eliminate it from the generated code.

Eliminate!
On May 26, 2015, at 9:01 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

This is no longer used in optimizers. And the order of parameters doesn't match the header.
If nobody objects, I'll eliminate it from the generated code.
—
Reply to this email directly or view it on GitHub.


Add external links to some entities

Describe your suggested feature
Books:

Publisher page
Amazon
OpenLibrary
Skoob
Goodreads

Series:

MyAnimeList
Kitsu
AniList
Guia dos Quadrinhos
Publisher page
Official Twitter
Official Instagram

Publishers:

Site
Store
Official Twitter
Official Instagram

Stores:

Site
Official Twitter
Official Instagram

People:

Site
Official Twitter
Official Instagram
Official Pixiv
Official DeviantArt

Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have updated the app to the latest version.
[X] I filled out all of the requested information in this form.

All fields were added to the database and in the API. It's just missing the client support in some entities.

Finished in 2a69870


Getting started with user defined functions

PR for a new guide to getting started with user-defined functions.

This is looking great I've added a few comments with requested changes.

Thank you for detailing the needed edits in the comments. I'll get those addressed and a new commit pushed within the next few days.

The latest commit addressed the comments made previously. Please make additional comments if further edits are needed, and I'll be happy to follow-up with the changes.


Temporary failure resolving 'deb.debian.org'

Description
Hello Team,
We have GitHub actions setup for building/running some scripts.
However, we see some issues while the script is run.
Probably not an issue with the scripts but seems to be a system/environment issue.
Please find the error snippet below:
+ update
+ apt update
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Building dependency tree...
All packages are up to date.
W: Failed to fetch http://deb.debian.org/debian/dists/unstable/InRelease  Temporary failure resolving 'deb.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.

Can you please look into the issue and suggest any way to avoid the issue?
Thanks in advance,
Platforms affected

[ ] Azure DevOps
[X] GitHub Actions

Virtual environments affected

[ ] Ubuntu 18.04
[X] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 10.15
[ ] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Virtual Environment
  Environment: ubuntu-20.04
  Version: 20220[7](https://github.com/Nitrux/iso-tool/runs/7609018841?check_suite_focus=true#step:1:8)24.1
  Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20220724.1/images/linux/Ubuntu2004-Readme.md
  Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20220724.1

Is it regression?
No
Expected behavior
The below error is not expected:
Failed to fetch http://deb.debian.org/debian/dists/unstable/InRelease  Temporary failure resolving 'deb.debian.org'

Actual behavior
The build is failing with the exception:
Failed to fetch http://deb.debian.org/debian/dists/unstable/InRelease  Temporary failure resolving 'deb.debian.org'

The build should complete successfully.
Please note that this same script runs successfully when using Travis.
Repro steps
Here is the link to the GitHub actions.
https://github.com/Nitrux/iso-tool/blob/legacy-minimal/.github/workflows/build.yml
Probably not an issue with the scripts but seems to be a system/environment issue.

@probal31 I do not see the exact problem with debian's mirror, could you please point a place in your repo where exactly it is used in your build script/

@mikhailkoliada
It fails here: https://github.com/Nitrux/iso-tool/blob/legacy-minimal/bootstrap.sh#L64
After the Debian source is added (here https://github.com/Nitrux/iso-tool/blob/legacy-minimal/bootstrap.sh#L58)
and apt update command is run

@probal31 as I said I do not observe any problems with debian's mirror at the moment. In anyway, it is a dns' fault, so we are unlikely to help here as we are taking Ubuntu from azure marketplace and do not modify systemd-resolved or systemd-networkd settings, my only advice here could be to play around different dns servers in runtime once you see the problem again and see if it helps.
If you have questions left or any additional info, feel free to reach us out again :)

@mikhailkoliada This issue does not happen in a VM while in the dev system. Also this same configuration works fine in Travis as well.  But it fails to run while using GitHub actions.
That's the reason we raised an issue here. It seems to be an issue specifically while using GitHub actions.
Can you please comment how to proceed with this?
Thanks.

@probal31 issues like that are probably to go to Azure support in the worst case, it is completly out of our hands


ar-stat -n option not documented

[brettin@maple biosamples]$ ar-stat -h
Usage: ar-stat [-h] [-w] [-j JOB | -l | --data-json DATA] [-n STAT_N] [-s server_addr]
Query status of running jobs
Optional arguments:
-h, --help            show this help message and exit
-j JOB, --job JOB     get status of a specific job ID
-l, --list-data       list data objects
--data-json DATA      print the information of a data ID
-s server_addr        specify ARAST server address
-w, --watch           monitor in realtime (only works in Linux and Mac shell)
--version             print ARAST client version number

Tom,
Please source this latest arast env on maple:
$ source ~fangfang/P3-arast/user-env.sh
I’ll ask Bob to update the deployment in /vol/kbase..

On Jan 6, 2015, at 7:58 AM, Thomas Brettin<EMAIL_ADDRESS>wrote:
[brettin@maple biosamples]$ ar-stat -h
Usage: ar-stat [-h] [-w] [-j JOB | -l | --data-json DATA] [-n STAT_N] [-s server_addr]
Query status of running jobs
Optional arguments:
-h, --help show this help message and exit
-j JOB, --job JOB get status of a specific job ID
-l, --list-data list data objects
--data-json DATA print the information of a data ID
-s server_addr specify ARAST server address
-w, --watch monitor in realtime (only works in Linux and Mac shell)
--version print ARAST client version number
—
Reply to this email directly or view it on GitHub https://github.com/kbase/assembly/issues/278.

Bob just deployed the new release on maple.

thanks!
On Jan 6, 2015, at 8:03 AM, Fangfang Xia<EMAIL_ADDRESS>wrote:

source ~fangfang/P3-arast/user-env.sh


fix(wmg): fix echarts initialization

Currently, echarts initialization is broken for the chart introduced by this PR. The fix is to add heatmapWidth and height to the dependencies in the useEffect so that when they update, the initialization triggers. For some reason, the update to the reference is not enough to trigger useEffect to run again.

Thanks so much for noticing and fixing this, Alec 🙏 ! Sorry for breaking it too 😆
PTAL my proposed fix, so we don't add deps to useEffect we don't use: https://github.com/chanzuckerberg/single-cell-data-portal/pull/3884
Thank you!


offline detection with 2nd network interface

We've noticed that when we have a 2nd Network Interface for our VPN (Hamachi), the offline detection does not work correctly. In fact it seems that it doesn't even try to poll the external resource. Our VPN does not have internet or connectivity to that external resource.
Could someone please help out here, as we do love the offline.js functionality - however we also need to have the VPN connection active on 2nd network adapter.
BTW it is not a physical 2nd adapter, only virtual - using LogMeIn Hamachi.

Does this happen on all browsers?  Have you tried it with v0.7?

This ticket doesn't make much sense, the JS should be polling the resource over the same connection that fetched the page itself.  A virtual network interface happens at a much lower level of the network stack.  I vote to close and reopen if the original poster provides additional debugging information.

I think I might have actually run into this myself, the server is only available through my work's VPN.  If I disable the VPN, the checks simply don't work.  I haven't bothered to do any wireshark analysis and a manual entry in my hosts.txt file might be the culprit.


Support for Embedded mode?

Currently I don't find any API related to opening a Neo4j Database in embedded mode through neo4j-ogm. Is it possible to open this support?

The OGM currently works with the Neo4j server only. Embedded support will be added in a future release.

Great. Will be looking forward to it.

Can you give some kind of date estimates? Because as I see version 1.1.3 was released on October 14th, but it also does not include the support for embedded database. And you commented two week before the release that support will be included "in a future release". Which release number are you referring to?

Hi Ivan, support for embedded Neo4j will be enabled in the 2.x release. This work is already underway, but is not yet complete. Unfortunately it is difficult to give a firm timescale for this at the moment, because there are other bug fixes and features we are trying to provide to users as well and we have to balance priorities, but we are hopeful it will be available before end 2015.

Hi Vince, that's very good news.. What I would like to ask you additionally is if the API will stay the same as it is now (especially Session interface)? Because in our case we need embedded DB, but if API will not change then we can start coding now on the existing API with the remote neo4j (do all the testing, etc) and then just switch to embedded when you guys add support.

We are trying to keep API changes to a minimum of course, but 2.0 introduces the concept of drivers, which doesn't exist in the 1.1 stream. This means when you start a new session, you will need to tell the it which driver you are using - Http, Embedded, Bolt. Authentication information etc will now be handled by the selected driver, rather than Session, as will Server location (url, etc) in the case of non-embedded drivers. The OGM (and hence SDN) will provide default drivers for each of these.
The 2.0 API is pretty stable as of now. At the moment, all non-http driver users will either have to declare a Driver specifically or have a default one being selected for them from a new Components object, which itself is Configuration driven, so you can override the defaults if you want. From an API perspective, this requirement is handled by the addition of two new methods on the SessionFactory interface:
    /**
     * Opens a new Neo4j mapping {@link Session} using the specified Driver
     * The driver should be configured to connect to the database using the appropriate
     * DriverConfig
     *
     * @param driver The driver to use to connect to Neo4j
     * @return A new {@link Session}
     */
    public Session openSession(Driver driver) {
        return new Neo4jSession(metaData, driver);
    }

    /**
     * Opens a new Neo4j mapping {@link Session} using the Driver specified in the OGM configuration
     * The driver should be configured to connect to the database using the appropriate
     * DriverConfig
     *
     * @return A new {@link Session}
     */
    public Session openSession() {
        return new Neo4jSession(metaData, Components.driver());
    }

From the perspective of a Spring Data user, the key change is in the default Neo4jConfiguration bean, from which you extend your own configuration. The relevant change is this:
    @Bean
    public Driver driver() {
        return Components.driver();
    }

You can override this in your own Configuration if you don't want to use the system-default driver. In addition, the Neo4jServer bean is likely to go, since it exposes the connection type, which we don't want to do, and is only relevant for server-based implementations. Details of exactly how the Spring config is going to change are still being worked out, and so this is likely to change. The intention however for Spring users to have to change as little as possible.

Thanks Vince for a very detailed answer.. Seams like except the creation of the Session, everything else stays the same.. That's what I wanted to hear.. Looking forward to the 2.x version..

Hi @vince-bickers,
I have a couple of questions regarding API:

Will there be API for querying the current mode the app is running in (currently InProcessServer vs RemoteServer)?
Will there be API which exposes the GraphDatabaseService which doesn't seem to be available in SDN4?

Both questions are related to our attempt to integrate with the GraphAware products. We currently use SDN4 so we want to use the "standalone server mode" of GraphAware when running the server against real database (RemoteServer), while using "Embedded/Java mode" with integration tests (InProcessServer). Will this setup be supported with the upcoming releases or is there more proper way to integrate with GraphAware modules while using SDN4/OGM? Thanks.
Regards,
Yang

Hi Yang,

Not currently. You will be able to determine however whether you're in embedded or server mode from the type of Driver being used. Also note that InProcessServer is currently only used for testing purposes to spin up an in-memory server for the http driver. As noted in my comment above, the use of some kind of Server bean in SDN will probably disappear, because its not relevant for embedded, and we'd like to keep the API the same, whichever driver you want to use.

The embedded driver has two operating modes currently. It can either take an existing GraphDatabaseService bound to an embedded graph db instance and use that, or, it will create a transient in memory embedded instance for you, if you don't pass one in. The first form is the expected use in production, where you may want to run SDN/OGM as part of  a server extension. It will also work with the GraphAware modules this way. The second one is really intended for testing purposes.

The embedded driver are still being worked so the above is subject to change, but I think that's very likely the way it will end up.

Thanks @vince-bickers. So is there currently (with SDN4 / OGM 1.1.4) no way to test usage of GraphAware modules with InProcessServer?

I'm not sure exactly what you're trying to do, You cannot inject an existing GraphDatabaseService into the InProcessServer. However, you could write your own bean that extends the existing InProcessServer:
 * @author Michal Bachman
 * @author Luanne Misquitta
 */
public class InProcessServer implements Neo4jServer {

    private TestServer testServer;

    public InProcessServer()  {
        this.testServer = new TestServer();
    }

    public String url() {
        return (String) this.testServer.getConfig("url");
    }

    @Override
    public String username() {
        return null;
    }

    @Override
    public String password() {
        return null;
    }
}```

and adds an additional method to access the underlying TestServer instance.

Once you have hold of that, you can use the `getGraphDatabaseService` method of the TestServer to get access to the embedded graph db instance.

Thanks @vince-bickers that's what I'm trying to do.

I have an example of an embedded Neo4j 3.0.7 or 3.1.0 server running in Spring under tomcat.
The only issue lately is that the 7474 browser does not come up yet under the bolt+routing workaround.  The DB works fine as a spring bean with a couple constructor overrides.
http://eclipsejpa.blogspot.ca/2016/11/neo4j-graph-database.html

@obrienlabs Are you using Spring Data Neo4j as well? If it's working from your app then there is no issue with the driver/ogm/sdn. You may need to expose the ports or define your server aliases (if running local) to see the browser. Alternatively you can check the "use bolt" setting in the Neo4j browser to make the connection via the bolt connector.

no, I am not using spring data or ogmmu service is a normal spring beantried the bolt+routing workaround from a non-embedded 7474 browser - has no effectI turned off the firewall, now 3.1 embedded  never registers the 7474 port - I debugged the whole startup.                                                                                / Michael                                                                                From<EMAIL_ADDRESS>December 18, 2016 6:02 PMTo<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Re: [neo4j/neo4j-ogm] Support for Embedded mode? (#53)  @obrienlabs Are you using Spring Data Neo4j as well? If it's working from your app then there is no issue with the driver/ogm/sdn. You may need to expose the ports or define your server aliases (if running local) to see the browser. Alternatively you can check the "use bolt" setting in the Neo4j browser to make the connection via the bolt connector.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.


[Ledger] Improve error handling when the ledger device is unavailable - the app tends to hang

Describe the bug
When the ledger device is unavailable , the app tends to hang w/o showing any error messages.
To Reproduce
TBU
Expected behavior
The app show should the friendly error message.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: iPhoneX
Version: 1.1.4

Additional context
N/A

Close this for now, pls reopen if the issue's still reducible


chore: configure renovate to group PRs

The main thing is group all non-major updates into single PRs.
I'm still tempted to group updates into smaller PRs instead of one giant one. Things like "all npm dev dependencies", "all npm non-dev dependencies", "all bazel deps", "all java deps" etc. Is that better then a single PR for everything? Or is less PRs better no matter what gets mixed in?

I'm still tempted to group updates into smaller PRs instead of one giant one.

this might be better but let's try the giant one first.

I've added the "cleanup" and "prioritize" labels.