🐛 [firebase_performance] iOS crashes and Android throws an error on a hot restart after 0.7.0+8

Bug report
Steps to reproduce

Add firebase_performance package
Call FirebasePerformance.instance somewhere in the code
Hot restart the app

Additional context
This is a regression on the changes made by this PR for this issue.
The fix was to clear the handler list.
This PR introduces the regression by removing the clearing of the handlers, resulting in an Exception with message "Object for handle already exists: %s".

@MattisBrizard
Can you check if this issue is same as yours ? because just running the plugin example using latest plugin version gives me below error on startup:
When the exception was thrown, this was the stack:
#0      MethodChannelFirebase.app (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:147:5)
#1      Firebase.app (package:firebase_core/src/firebase.dart:55:41)
#2      new FirebasePerformance._ (package:firebase_performance/src/firebase_performance.dart:13:24)
#3      FirebasePerformance.instance (package:firebase_performance/src/firebase_performance.dart:18:67)
#4      FirebasePerformance.instance (package:firebase_performance/src/firebase_performance.dart)
#5      new _MyAppState (package:triage/main.dart:53:58)
#6      MyApp.createState (package:triage/main.dart:21:32)
#7      new StatefulElement (package:flutter/src/widgets/framework.dart:4677:25)
#8      StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:737:38)
#9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3626:40)
#10     Element.updateChild (package:flutter/src/widgets/framework.dart:3383:18)
#11     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1198:16)
#12     RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1167:5)
#13     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1112:18)
#14     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2531:19)
#15     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1111:13)
#16     WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:944:7)
#17     WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:924:7)
(elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)

While the same works using ^0.6.0+2 plugin version.


docs: add workflow status badges in README

:tada: This PR is included in version 5.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Methane update

You commited 1.20.1 to 1.19.2
How in the world 27k additions 700 deletions
I'm not adding methane, you can play yourself with that/make an addon to this addon


Contributing guidelines and Discord link are not working

Hello, the links for the contributing guidelines and the discord server that you mentioned in the Readmeare not working.

Hi David,
Thanks for spotting this bug, I've now replaced the link with one that never expires. Thanks for joining the conversation!


Adding unlinking feature to biosample relationship script

Added unlinking feature to script - add '-u' flag to command to unlink samples specified in an input file, e.g.
python test_unlinking.py -s test_sample_accs_list_3.txt -c test_credentials.json --verbose -u
(if relationships specified in input spreadsheet do not already exist in the input file, these will be ignored)
Please also test linking and then unlinking using repeated source accessions (e.g. file below) as these do not seem to be adding/removing correctly. @M-casado
test_sample_accs_list_3.txt

Opened another PR as a continuation (for I had no authority over this branch to push changes) from my forked repo.

Closing this PR as changes in #17 have been merged


Fix arrow pointing in the wrong direction in the Dock Position popup

Just your average copy-n-paste mistake.

Before:
After:

Thanks!


Add remark plugin to support GitHub Flavored Markdown

Add an option to use the remark-gfm plugin, which adds GitHub Flavored Markdown (autolink literals, strikethrough, tables, tasklists).
Uses version 1 of the remark-gfm plugin, since version 2+ doesn't seem to be compatible with remark 13. See issue here.

@ChristofferKarlsson Thank you.


Can GDNative instances interact with or create other GDNative instances?

I have a GDNative module called int_test that has p_user_data pointing to an int. I would like to create a method for this module that takes in another int_test instance and adds the parameter int_test's int to its own int. In GDScript, it would look like this:
func example():
    var int_test_res = preload("res://bin/int_test.gdns")
    var int1 = int_test_res.new()
    var int2 = int_test_res.new()
    int1.set(3) # sets int1's p_user_data int to 3
    int2.set(4) # sets int2's p_user_data int to 4
    int1.increment(int2) # adds int2's int (4) to int1's int (3). How is this done in C?
    print(int1.get()) # prints 7

In this example, is it possible for the module's increment function to take in another int_test instance and get it's p_user_data? If so, how?
If the above can be done, here's a similar question: Can a new int_test instance be created and returned within a GDNative method? I would like to have an add function that takes in 2 int_test instances and returns a new one whose int value is the sum of the 2 parameters'. The GDNative code would look like this:
func example():
    var int_test_res = preload("res://bin/int_test.gdns")
    var int1 = int_test_res.new()
    var int2 = int_test_res.new()
    int1.set(3) # sets int1's p_user_data int to 3
    int2.set(4) # sets int2's p_user_data int to 4
    var int3 = int1.add(int1, int2) # Creates a new int_test instance whose int = 3 + 4
    print(int3.get()) # prints 7

Is this possible in GDNative?

Definitely possible but a bit convoluted in C, this is where the C++
bindings library comes in handy.
I’ll see if i can write up a little example tonight, on my phone right now:)
On Thu, 29 Nov 2018 at 3:51 pm, beamer159<EMAIL_ADDRESS>wrote:

I have a GDNative module called int_test that has p_user_data pointing to
an int. I would like to create a method for this module that takes in
another int_test instance and adds the parameter int_test's int to its
own int. In GDScript, it would look like this:
func example():
var int_test_res = preload("res://bin/int_test.gdns")
var int1 = int_test_res.new()
var int2 = int_test_res.new()
int1.set(3) # sets int1's p_user_data int to 3
int2.set(4) # sets int2's p_user_data int to 4
int1.increment(int2) # adds int2's int (4) to int1's int (3). How is this done in C?
print(int1.get()) # prints 7
In this example, is it possible for the module's increment function to
take in another int_test instance and get it's p_user_data? If so, how?
If the above can be done, here's a similar question: Can a new int_test
instance be created and returned within a GDNative method? I would like to
have an add function that takes in 2 int_test instances and returns a new
one whose int value is the sum of the 2 parameters'. The GDNative code
would look like this:
func example():
var int_test_res = preload("res://bin/int_test.gdns")
var int1 = int_test_res.new()
var int2 = int_test_res.new()
int1.set(3) # sets int1's p_user_data int to 3
int2.set(4) # sets int2's p_user_data int to 4
var int3 = int1.add(int1, int2) # Creates a new int_test instance whose int = 3 + 4
print(int3.get()) # prints 7
Is this possible in GDNative?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GodotNativeTools/godot_headers/issues/38, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB2vabyz7lx38xy2J4s2j3SPXuIGTJFQks5uz2fSgaJpZM4Y48ML
.

--
Kindest regards,
Bastiaan Olij
https://www.facebook.com/bastiaan.olij
https://twitter.com/mux213
https://www.youtube.com/BastiaanOlij
https://www.youtube.com/channel/UCrbLJYzJjDf2p-vJC011lYw
https://github.com/BastiaanOlij

Thank you. I am particularly interested in the C method since I am not using the C++ bindings.

Well this was a bit of a puzzle but this seems to work:
typedef struct user_data_struct {
	int64_t value;
} user_data_struct;

godot_variant simple_add_simple(godot_object *p_instance, void *p_method_data, void *p_user_data, int p_num_args, godot_variant **p_args) {
	godot_variant ret;
	user_data_struct * user_data = (user_data_struct *) p_user_data;

	if (p_num_args == 0) {
		// no parameter?
		printf("SIMPLE.Missing parameter\n");
		api->godot_variant_new_bool(&ret, false);
	} else {
		godot_object * other = api->godot_variant_as_object(p_args[0]);
		if (other == NULL) {
			printf("SIMPLE.Parameter is not an object\n");
			api->godot_variant_new_bool(&ret, false);
		} else {
			// we're assume we got the right type of object, should really double check somehow
			user_data_struct * other_data = (user_data_struct *) nativescript_api->godot_nativescript_get_userdata(other);
			if (other_data == NULL) {
				printf("SIMPLE.Parameter does not have user data\n");
				api->godot_variant_new_bool(&ret, false);
			} else {
				user_data->value += other_data->value;

				api->godot_variant_new_bool(&ret, true);
			}
		}
	}

	return ret;
}

This is based off of the simple demo example in the gdnative demos. Also it assumes the correct data is parsed. On the GDScript side it does:
# load the SIMPLE library
const SIMPLE = preload("res://bin/simple.gdns")

func _on_Button_pressed():
	var a = SIMPLE.new()
	a.set_data(5)

	var b = SIMPLE.new()
	b.set_data(3)

	a.add_simple(b)

	$Label.text = "Data = " + str(a.get_data())

(I also implemented a set data, really need to add that one to the official one)

Hmm, I'm going to let @karroffel answer that one. Generally speaking you have to destroy what you create. When you create a variant it usually copies the data you give to it and you can destroy your copy of the data.
With objects however you are copying pointers so you may end up actually destroying the object you're trying to return. Godot does reference counting to keep track of that but this is where things do get a bit confusing. In C++ I use Ref to ensure this reference counting mechanism is used but I'm not sure how this should be done in C.

Is it also possible to create new GDNative instances within a GDNative instance?

Yes, check out how godot-cpp does it. Basically you create a NativeScript instance, set its library and class_name, create a new instance of the base object, then set its script to the NativeScript.

Also, just for clarification: For all functions godot_variant_as_{SOMETHING}, does this memory not need to be freed with godot_{SOMETHING}_destroy? I am thinking mainly about {SOMETHING} being string or object (in your example above).

For Strings, Arrays/PoolArrays and Dictionaries, yes.
All of them are internally reference counted, so you are always responsible for destroying the reference you got.
That's not the case for objects, though. Objects are passed by pointer and even those that extend the Reference class don't get their reference increased when your function is called. So if you use the object only locally in your function, you don't have to worry about this at all.
If you store that object somewhere in your C code, though, you start being one of the owners of this object.
If it extends Reference, you can call reference on it via method binds and then unreference it when your C data is to be freed.
For Nodes, if they are in the SceneTree, they will be freed if their parent is freed, so you may or may not want to destroy them in your C code: "do I own this Node or should the SceneTree own it?".
Either way, you can check if the object is still valid with godot_is_instance_valid and either destroy it or not. Remembering that, as far as I'm aware of, godot_object_destroy does not check for reference counting and will destroy Reference objects right away.

I'll close this as it was a discussion/support issue and not really something which can be "solved". Though if some of the information in this issue is relevant to add to the documentation, it could be worth summarizing in an issue on https://github.com/godotengine/godot-docs (though with the current barebones state of GDNative docs, I'm not sure where that would go - might be something to revisit for 4.0 once we document GDExtensions).


Graceful shutdown on sigterm

Add SIGTERM to the list of signals we listen to for graceful shutdown of
a brimcap command.

@mattnibs: I made scratch artifacts to test this fix on macOS (https://storage.googleapis.com/brimsec-releases/brim/v0.25.0-prerelease-024c1228.0/macos/Brim-0.25.0-prerelease-024c1228.0.dmg) and Windows (https://storage.googleapis.com/brimsec-releases/brim/v0.25.0-prerelease-024c1228.0/windows/Brim-Setup-0.25.0-prerelease-024c1228.0.exe) and saw no change in behavior. Let me know if there's something else I can do to debug. I double checked that the Brimcap version being used is definitely the one based on the branch.
macOS:
$ /Applications/Brim.app/Contents/Resources/app.asar.unpacked/zdeps/brimcap -version
Version: 7901e8f

Windows:
C:\Users\Phil\AppData\Local\Programs\Brim\resources\app.asar.unpacked\zdeps>.\brimcap -version
Version: 7901e8f

Just wanted to update that I did a separate test of this with Brim and it does appear to fix things. This good to be reviewed.


How do i make a selectable option?

I want to have the first field to have a checkbox for each row, and then when the user selects a checkbox it will add it to the data model, how would i do this?

There are a few ways you can do it... the most straight forward way is to use your own template for the rows.

define your first column as empty {label: '', field: ''} (this will make space for checkbox)
within the template, add first td as your checkbox

<input type="checkbox" @click="checkboxClicked(props.row)"/>

then in your method checkboxClicked do whatever you want with the clicked row.

closing... please re-open if you have more questions/concerns.

Hello!
How can I get the row number, in stead of the row content?
Best regards, Met vriendelijke groet,
Raymond Verbruggen
FOCUSSING B.V.
Mispel 8
7621 WB Borne
Netherlands
+31 6 250 500 69
<EMAIL_ADDRESS>www.focussing.nl

Op 14 aug. 2017, om 14:00 heeft xaksis<EMAIL_ADDRESS>het volgende geschreven:
There are a few ways you can do it... the most straight forward way is to use your own template for the rows.
define your first column as empty {label: '', field: ''} (this will make space for checkbox)
within the template, add first td as your checkbox

then in your method checkboxClicked do whatever you want with the clicked row.
closing... please re-open if you have more questions/concerns.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/xaksis/vue-good-table/issues/43#issuecomment-322172005, or mute the thread https://github.com/notifications/unsubscribe-auth/AZf2GIuXUFYPt61qDHT8QZ2_0cxUn65qks5sYDbsgaJpZM4O2Dn3.

@focussing the readme contains this info, but here it is again:

In addition to prop.row that contains the row object, prop.index contains the index for the table display row. And prop.row.originalIndex contains the original row index. You can access the original row object by using row[prop.row.originalIndex].

Sorry to bother you; with “originalIndex” you mean the row index before any sorting and filtering?
Best regards, Met vriendelijke groet,
Raymond Verbruggen
FOCUSSING B.V.
Mispel 8
7621 WB Borne
Netherlands
+31 6 250 500 69
<EMAIL_ADDRESS>www.focussing.nl

Op 18 aug. 2017, om 15:48 heeft xaksis<EMAIL_ADDRESS>het volgende geschreven:
@focussing https://github.com/focussing the readme contains this info, but here it is again:
In addition to prop.row that contains the row object, prop.index contains the index for the table display row. And prop.row.originalIndex contains the original row index. You can access the original row object by using row[prop.row.originalIndex].
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/xaksis/vue-good-table/issues/43#issuecomment-323358702, or mute the thread https://github.com/notifications/unsubscribe-auth/AZf2GC_D3Vi-wJUAIYduYqqz8ABieENlks5sZZZIgaJpZM4O2Dn3.

@focussing no problem. yes... originalIndex is the array index for the object without sorting/filtering/paging.. so if you do myRowArray[prop.row.originalIndex], this will give you the entire object for that row.

thanks!
working now on my 3rd project with your table :)
Best regards, Met vriendelijke groet,
Raymond Verbruggen
FOCUSSING B.V.
Mispel 8
7621 WB Borne
Netherlands
+31 6 250 500 69
<EMAIL_ADDRESS>www.focussing.nl

Op 18 aug. 2017, om 15:56 heeft xaksis<EMAIL_ADDRESS>het volgende geschreven:
@focussing https://github.com/focussing no problem. yes... originalIndex is the array index for the object without sorting/filtering/paging.. so if you do myRowArray[prop.row.originalIndex], this will give you the entire object for that row.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/xaksis/vue-good-table/issues/43#issuecomment-323360629, or mute the thread https://github.com/notifications/unsubscribe-auth/AZf2GEb-cZWy-iXnTK__BDiKhONCTi66ks5sZZgFgaJpZM4O2Dn3.

Hi, I was able to add a row in the correct formatting, modifying your Table.vue with this:

           {{ getCurrentIndex(index) }}
           <slot name="table-row" :row="row" :index="index">

               {{ collectFormatted(row, column) }}

             	edit
           </slot>

And then adding a method:
      editRow() {
        alert("edit:" + props.row);
      },

but when I click on my edit link, I get errors:
[Vue warn]: Property or method "props" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
AND
TypeError: undefined is not an object (evaluating '_vm.props.row')
Any ideas why? Thanks!

Nevermind, I just figured out I needed to include my template code in my own vue, not the base Table.vue file.


Load the combined CSV to memory and perform a simple EDA

Investigate at least two of the following approaches to reduce memory usage while performing the EDA (e.g., value_counts).

Changing dtype of your data
Load just columns what we want
Loading in chunks
Dask

Discuss your observations.

Closing this as it has been addressed.


Draft: Collision: Improved the collision detection mechanism

Earlier the game detected collision using the bounding box method. With this commit, the game can detect collisions based on pixel collision.
fixes: #1

Known issue: on Different widths, the collision does not work correctly.
Major issue: Collision does not work at all on smaller screen resolutions.

So is the issue here essentially that the solution doesn't adjust as the world resizes?

Yeah


Removed obsolete link to Rubyforge (closes #4).

The old homepage at Rubyforge isn't online any more.
We should remove this link from the repo description as well (I don't have rights to do that).

Hm, it's not related to this PR, but the Travis build is broken, apparently to version mismatch with newer Daru implementations.

@lokeshh can you fix this gem too? Should not be much more than a dependency update.


[LLDB] Jucipp crashes when compiled with lldb support

Jucipp crashes on my Linux 64 bits system when lldb is provided.
Project compiles right without any problems, but when I start it just crahes with warning:
: CommandLine Error: Option 'aarch64-reserve-x18' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options
I managed to build and launch it without any problems, when lldb was disabled (removed from system).

We need some more information. What platform are you on? What is the error message?

Sorry I messed up clicked a submit issue without writing comment.
My system is s little bit not standard - manjaro. But it uses mostly unmodified upstream packages, so probably this can be reproduced with newest LLDB (on my system it is 3.7.1-1 version).

Manjaro is based on Arch Linux, which has an issue with respect to lldb (see installation notes):
https://bugs.archlinux.org/task/47811?project=1&cat[0]=2&string=lldb
Feel free to vote up this Arch Linux issue:)

This issue is persistent with my lldb-issue on arch.
It's due to an error in the arch lldb package.
I haven't produced a work around yet. Since Manjaro is based on Arch it's not so wage to suggest this.
The lldb-AUR-package is also broken.


eth1 chain cache timeout error on startup

Describe the bug
There are quite frequent eth1 chain cache timeout errors on startup
 Sep-02 20:36:05.274[eth1]            error: Error updating eth1 chain cache  Timeout request
Error: Timeout request
    at JsonRpcHttpClient.fetchJsonOneUrl (file:///usr/app/packages/beacon-node/src/eth1/provider/jsonRpcHttpClient.ts:247:17)
    at JsonRpcHttpClient.fetchJson (file:///usr/app/packages/beacon-node/src/eth1/provider/jsonRpcHttpClient.ts:171:16)
    at JsonRpcHttpClient.fetch (file:///usr/app/packages/beacon-node/src/eth1/provider/jsonRpcHttpClient.ts:110:33)
    at Eth1Provider.getBlockNumber (file:///usr/app/packages/beacon-node/src/eth1/provider/eth1Provider.ts:125:28)
    at Eth1DepositDataTracker.update (file:///usr/app/packages/beacon-node/src/eth1/eth1DepositDataTracker.ts:197:32)
    at Eth1DepositDataTracker.runAutoUpdate (file:///usr/app/packages/beacon-node/src/eth1/eth1DepositDataTracker.ts:169:29)

Expected behavior
There should not be any timeout errors when querying the execution client on startup.
Steps to reproduce
Start beacon node with connected execution client (timeout does not happen consistently)
Additional context
Could be related to hashing the state on startup which is blocking the event loop causing delay in timers queue
https://github.com/ChainSafe/lodestar/blob/6646e23cfeb5b51ca6a5609befa2b329b993a65c/packages/cli/src/networks/index.ts#L201
https://github.com/ChainSafe/lodestar/blob/6646e23cfeb5b51ca6a5609befa2b329b993a65c/packages/state-transition/src/util/weakSubjectivity.ts#L104
I have not / rarely seen this on goerli but more frequently on mainnet and it was also reported for holesky. This further indicates that it might be related to state size.
Operating system
Linux
Lodestar version or commit hash
unstable

Additional information from rocknet on discord further indicates that the delay 30+ seconds could be caused by hashing the state and causing the request timeout (default: 30s).

Version message
1 Second later: Connected to leveldb
~30 seconds later: Initializing beacon from valid db state slot=0
~62 seconds later: Error stack trace from above.

I am not seeing this issue anymore, could be due to optimizations to tree root hashing? Closing for now


[cxx-interop] NFC, test, drop extern_c from a test module

Explanation:
A C++ interop test had incorrect extern_c attribute on a module.
Scope: C++ interop tests.
Risk: Low, test only change.
Testing: Unit tests.

@swift-ci please test


The page says that one can call debug() from the console, but doing so generates an "Uncaught TypeError: debug is not a function"

Welcome! Please use this template for reporting documentation issues on https://developers.google.com/web/.
For questions about Chrome DevTools, checkout the
google-chrome-devtools tag on StackOverflow.
For questions about Chrome, check the google-chrome
tag. If you think you've found a Chrome bug, check out our
feedback page for more details on how to file it.
Page Affected: https://developers.google.com/web/TODO
What needs to be done?
Please provide description of what's needs to be done here. Please be sure to include the link to the original page
and any supporting links/data.

[ ] Appropriate type-something label has been added.
[ ] Appropriate section-something label has been added.

Can you provide a link to the page you're referring to? If you mean the Console API then ensure you are calling console.debug() and not just the function debug()

Here’s the page that could be improved: https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
It never references debug as a method of console and even provides several example where it’s called as a top-level function, and this page is what I found with this search “chrome dev window setting a breakpoint in js that doesn't appear in sources” rather than the API page you mention, which is pretty clear.
From: Conner Turner<EMAIL_ADDRESS>Reply-To: google/WebFundamentals<EMAIL_ADDRESS>Date: Saturday, September 7, 2019 at 8:21 PM
To: google/WebFundamentals<EMAIL_ADDRESS>Cc: "Saux, Stephane"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [google/WebFundamentals] The page says that one can call debug() from the console, but doing so generates an "Uncaught TypeError: debug is not a function" (#8088)
Can you provide a link to the page you're referring to? If you mean the Console API https://urldefense.proofpoint.com/v2/url?u=https-3A__developers.google.com_web_tools_chrome-2Ddevtools_console_api&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=A712-yZH4MZ3ksogqLMjZ5bh6vjpYZo5RbEySCwAeJY&e= then ensure you are calling console.debug() and not just the function debug()
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_google_WebFundamentals_issues_8088-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAEA7UQ5SEE6YZMBWE5H2S4DQIRVSJA5CNFSM4IT7R7P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6FG3MA-23issuecomment-2D529165744&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=ox6k63MWGvjMCvlAbcznlrI0IoeOKwLwWlqEFuxm1M8&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AEA7UQ2FSWONNGYQWQ4R24LQIRVSJANCNFSM4IT7R7PQ&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=kFZrc-GpBmjD4C6e88ZKYMEEqZDEEQTHRtwXhTVvrjo&e=.

Reading the console api, console.debug is just an alias for console.log, while the debug function referenced in the page https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
Is purported to allow one to set a breakpoint in a particular function. The problem I was trying to solve had to do with debugging code that is part of the eval script from prototype updater. The code doesn’t appear in the source tab of the dev window. I was hoping to be able to set the breakpoint using that method (although it might not work either). Other issues with eval script (but that’s a prototype issue) is that if there’s a syntax error in the script being eval’ed, it’s not shown in the console (I suppose prototype eats the error).
From: Conner Turner<EMAIL_ADDRESS>Reply-To: google/WebFundamentals<EMAIL_ADDRESS>Date: Saturday, September 7, 2019 at 8:21 PM
To: google/WebFundamentals<EMAIL_ADDRESS>Cc: "Saux, Stephane"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [google/WebFundamentals] The page says that one can call debug() from the console, but doing so generates an "Uncaught TypeError: debug is not a function" (#8088)
Can you provide a link to the page you're referring to? If you mean the Console API https://urldefense.proofpoint.com/v2/url?u=https-3A__developers.google.com_web_tools_chrome-2Ddevtools_console_api&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=A712-yZH4MZ3ksogqLMjZ5bh6vjpYZo5RbEySCwAeJY&e= then ensure you are calling console.debug() and not just the function debug()
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_google_WebFundamentals_issues_8088-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAEA7UQ5SEE6YZMBWE5H2S4DQIRVSJA5CNFSM4IT7R7P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6FG3MA-23issuecomment-2D529165744&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=ox6k63MWGvjMCvlAbcznlrI0IoeOKwLwWlqEFuxm1M8&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AEA7UQ2FSWONNGYQWQ4R24LQIRVSJANCNFSM4IT7R7PQ&d=DwMCaQ&c=B73tqXN8Ec0ocRmZHMCntw&r=qIVf_9uN-B_t84iaE3qzU1qE3Gq-NkOXmH7ogp4L-3U&m=EGlwDErz-QX0W0Q1Ab73-pP08gzbmskYNF73r5inUT4&s=kFZrc-GpBmjD4C6e88ZKYMEEqZDEEQTHRtwXhTVvrjo&e=.


saving a GRAY frame to png saves it as RGB instead of GRAY

It should be saved to a GRAY png

GRAY png huh...

Software support for GRAY format images + metadata is extremely poor.


more mower sensor values

Mower device object has more properies then currently available as entity in home assistant. The goal is to provide home assistant with more information about status of mower.

The vacuum entity for the mower has all those values as attributes already.

Hm, I am running the latest home assistant and I do not see attributes for vacuum entity.

My goal was to see those data on dashboard, can that be done with attributes? Can attributes be used to trigger sending email or something like that?


[SMALLFIX] Change default test forking strategy

Set reuseForks to false so that a new JVM is used for each test class. This improves test isolation.
Set forkCount to 2. This will run two tests at a time in separate JVMs, offsetting the speed cost of setting reuseForks to false
Set runOrder to alphabetical. Now that test classes are run in separate JVMs, it doesn't matter what order they run in, so we might as well use a simple deterministic order.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12145/
Test PASSed.

LGTM, thanks for the improvement!

@aaudiber Is there a downside to increasing the fork count for higher performance?

Having more JVMs running means more memory is needed, which could be a problem on memory-constrained systems. That's why I'm putting it at only 2. It can always be overridden with -DforkCount=N

@gpang This change increases the test time for me locally from 6 minutes to 7 minutes

hrmmm, I see. I guess the overhead for each new jvm is pretty high. So, the main motivation for this change is for the test isolation?

Hi @gpang !
Main motivation is the exception:
UnsatisfiedLinkError: Native Library /usr/java/jdk1.8.0_102/jre/lib/amd64/libjaas_unix.so already loaded in another classloader. (You get full stack trace if comment the string)
Reason of the exception is : PowerMock uses separate classloader for load mocks of 'final' classes. In this way, if your test uses mock of 'final' class then the test will load by PowerMock classloader.And ... next test that uses same native library will get the exception. In other words, we MUST clear classpath after each test.

Hi @gpang.
The full stack trace of the error is:
getRpcAddress(alluxio.master.AlluxioMasterRestServiceHandlerTest) Time elapsed: 0.016 sec <<< FAILURE!
org.junit.ComparisonFailure: expected:<["localhost/<IP_ADDRESS>:8080"]> but was:<[Failed to login: java.lang.UnsatisfiedLinkError: Native Library /usr/java/jdk1.8.0_102/jre/lib/amd64/libjaas_unix.so already loaded in another classloader
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1907)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.sun.security.auth.module.UnixSystem.(UnixSystem.java:48)
at com.sun.security.auth.module.UnixLoginModule.login(UnixLoginModule.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
at alluxio.security.LoginUser.login(LoginUser.java:87)
at alluxio.security.LoginUser.get(LoginUser.java:57)
at alluxio.RestUtils.call(RestUtils.java:43)
at alluxio.master.AlluxioMasterRestServiceHandler.getRpcAddress(AlluxioMasterRestServiceHandler.java:124)

@gpang Right, there are correctness issues when we don't isolate the tests like this. I think in the long term we should switch from PowerMock to Mockito 2's support for mocking final classes. In the short term I think adding one minute to the build is a cheap price to pay to avoid interference between test classes.

LGTM


ddev: match upstream usage of git tag in ldflags version constants

Description of changes
Upstream uses Git tags for these flags, as can be seen in its Makefile:
https://github.com/ddev/ddev/blob/9c3de4966ba930045e79442299fa2a57e3f9ce4a/Makefile#L34-L61
Since src.rev refers to the tag, it should be used when setting other values
based on the tag.
This minor discrepancy in the package expression likely went unnoticed for
a long time because it does not seem to have any detrimental effect on the
package's functionality.
However, the difference may affect other tools that integrate with DDEV and
expect a version string with a v prefix.
See php-perfect/ddev-intellij-plugin#301 for further context.
Props to @freelock for identifying the issue.
Things done

Built on platform(s)

[ ] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Thanks for getting this in!

@montchr
Could you rebase this please?
Such a small change would make the phpstorm-plugin working also in nixos. \o/
I just need to find out, how I can patch/build my current package (atm 1.23.5).

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 344503

x86_64-linux

:white_check_mark: 1 package built:

ddev


PostgraphQL graphiql does not pick up drop table actions

I expected that postgraphql should automatically restart and remove the relevant queries and mutations when a drop table command is issued but that does not happen. Is this normal behavior?

@johnbendi Are you using the --watch option? If not then it will only perform introspection when the system is first ran and that schema will be permanent until you restart the process.
If you  are using --watch then yes, this is a bug.

@benjie Yes I'm using the -w option.

I'll look into the schema watching functions; it's not something I use but we need it for PostGraphQL 4 so I need to familiarise myself with it.

Hi @johnbendi, I've had a quick look through the relevant code - the following SQL is executed to add watching to the database:
https://github.com/postgraphql/postgraphql/blob/396bca42a927f598b5cbab176fd53a012600f60f/resources/watch-fixtures.sql
Please can you check the postgraphql_watch schema exists in your database? If not it might be that we don't have permissions to install it, though if that is the case then we should be outputting a warning:
https://github.com/postgraphql/postgraphql/blob/6b3374baa974d8efd110970e4bd9431b8b3771f3/src/postgraphql/watch/watchPgSchemas.ts#L43-L47
Do other DDL commands work (such as adding a column) - is dropping a table the only thing that doesn't work?

Can confirm there's an issue with the watch fixtures that does not pick up certain drop actions. I've fixed this in V4 but cannot do so in the same way in V3 because it's a breaking change:
https://github.com/postgraphql/graphql-build/commit/3656b1990bc9707ad5cdb122c09759f4dac03a87

Sorry for the long silence. I have been away for a while. Will test the changes and revert asap. Thanks for checking this issue out.

What is the status on this? It seems to me that it could be closed. @benjie ?

This is fixed in v4; v3 will not be receiving the fix as it may cause issues (it’s a significant change)


[Bug]: UUID Parsing error when using GPT 4 Turbo

Describe the bug
Whenever I try to chat using the "gpt-4-turbo" model it returns the same error.
Steps to Reproduce

Go to model
Add a new model "gpt-4-turbo"
Create a new chat
Send a message and the error appears.

Expected behavior
I expect the chat to generate an answer.
App Info
I dont have an "about page"

Additional context
Screenshot:

I'm sorry, I don't have the key for gpt-4 and cannot replicate this issue.

I'm sorry, I don't have the key for gpt-4 and cannot replicate this issue.

I can confirm that the issue fixed itself. Best fix for now is to just create a new chat. I also can't explaon exactly what happens.


Merge feat/contributing to dev

It is very important as an open-source organization to remove the barriers that stand before contributors. This merge requests adds the following reusable resources, which we can re-purpose for future projects:

An in-depth README (minus a few sections) describing getting started with the project
A Code of Conduct for contributors to follow
A Contributing file with guidelines on how to contribute
An Issue template to make filing bugs easier
A Pull Request template, so that people know what they need to include information-wise in their request.

My approvals are not removing the Review required notice.

@maccelerated I'll see what's up. Maybe I need to mark your comments as resolved or something.

Yeah, I'm not quite sure what's going on. I'm just going to merge the changes and hope it gets over itself

@maccelerated I solved the issue. Turns out you didn't actually have write permissions to this repository, and Github wants approval from write-enabled developers. So, I've added you to the team @multi-cell/developers, so I can add a chunk of devs to each repository and give them read/write/admin access. Now your approval is considered valid.


highway-casing# producing errors

highway-casing1, highway-casing2,highway-casing3 and highway-casing4 are producing errors.

Hmmm but nothing has changed here...
Not getting errors this morning, but had them on Friday evening

Fixed https://github.com/tangrams/tron/commit/2413d705005ca879ca77ad5c9dca5f3173de707f
Thanks @nvkelso !


vendor/bin/composer finally didn't have to take priority

Is there an existing issue for this?

[x] I have searched the existing issues

Is your feature request related to a problem?
Hi, we have to accept the mistakes we make and I think what I proposed in #6602 was a mistake.
Unfortunately, after proposing this solution, we have seen that by always running the composer from vendor/bin, there is another set of problems and failures when updating Drupal. This has led us to investigate the issue again and clarify whether this should really be the case or not, and we finally came across the following message: https://www.drupal.org/project/drupal/issues/3075785#comment-13227500
It seems that although composer is required as a development dependency in Drupal core, it is actually required as a library and the vendor/bin executable should not be used. This causes some problems if you want to run other executables such as drush from the same folder (making it impossible to use path prioritisation in the $PATH variable).
Given all this, we thought we might have to undo what was done in #6602, as it is not good practice.
Sorry for the inconvenience.
Describe your solution
Revert #6602.
Describe alternatives
No response
Additional context
No response

I think you are probably right, and I struggled with this on a recent ddev composer create of D11, which by default included composer and made things more difficult.

The revert is in:

#6772

Additionally, I made composer inside ddev ssh to use /usr/local/bin/composer, so it's consistent.


Fixing plugin readme files' broken link to test app activities

Fixes https://github.com/mapbox/mapbox-plugins-android/issues/350

Tested each one out they're all working 👍


doc(AUTHORS): Add 1.1 contributors and tweak the header/footer

Current coverage is 100% (diff: 100%)

Merging #910 into master will not change coverage

@@           master   #910   diff @@
====================================
  Files          31     31
  Lines        1969   1969
  Methods         0      0
  Messages        0      0
  Branches      320    320
====================================
  Hits         1969   1969
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 67d6102...fdbbc0a


Now support custom pg port value for db and security groups

Closes #59 - Use can now sets postgres_server_port in tfvars file and have the value used for both postgres as well as security groups needed for postgres.

Need to have further conversations with the team on this one as it does not currently align with our other providers.


PCB layout

Would it be difficult to add a high resolution picture of the back of the PCB? Since the service manual is probably lost to the ages, or at the very least buried deep in Apple's or Yokogawa's archives, this would allow someone to reconstruct the schematic. Though what I had in mind was taking a Z80 core and seeing if I could emulate the plotter and generate images, and with the layout I could determine how the various support chips are attached.

I'll see if I can get you those images soon, but it probably won't be until after the new year!


[WIP] Add specs for Websocket API

@yivo You don't need to review my WIP Pull request. I tested how web-socket API works.


Azure File Sync and Storage Account Failover

Based on the following documentation Azure File Sync does not support storage account failover:
Azure File Sync does not support storage account failover. Storage accounts containing Azure file shares being used as cloud endpoints in Azure File Sync should not be failed over. Doing so will cause sync to stop working and may also cause unexpected data loss in the case of newly tiered files._
(source: https://docs.microsoft.com/en-us/azure/storage/common/storage-disaster-recovery-guidance?toc=/azure/storage/files/toc.json#unsupported-features-and-services)
QUESTION: Would it be possible to add a similar section here as it would avoid that people get under the impression Storage Account Failover will work with Azure File Sync.
thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d8314bbb-3e1b-7a68-dcd1-f7dfe34221a2
Version Independent ID: 5c26cb3f-ec5c-b028-f456-53998a67749e
Content: Disaster recovery and storage account failover - Azure Storage
Content Source: articles/storage/common/storage-disaster-recovery-guidance.md
Service: storage
Sub-service: common
GitHub Login: @tamram
Microsoft Alias: tamram

@cpinotossi, Thanks for the feedback! We are taking a look into this and will get back to you soon.

@cpinotossi Firstly, apologies for the delay in responding here and any inconvenience this issue may have caused.  Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@cpinotossi - Thanks for your feedback. I've added this info to the prereqs section of the Initiate a storage account failover. The change will go live in a few hours.
#please-close


GPT4-V

Any plan to add GPT 4 vision support to upload images?

Upvoting, after Open AI Dev Day, it is now possible using the API, and rather simple to implement.

@mckaywrigley

Dear @mckaywrigley please add GPT-4 Vision. I'm already using your amazing code on a personal Vercel deploy. And now I need to use it for GPT-4V API as well. Thanks in advance

+1 BIG fan of chatbotUI, pls add support for GPT-4-V

I have implemented it


Update F841 autofix to not remove line magic expr

Summary
Update F841 autofix to not remove line magic expr
Test Plan
Added test case for assignment statement with and without type annotation
fixes: #6116

Current dependencies on/for this PR:

main

PR #6086

PR #5552

PR #6117   👈

This comment was auto-generated by Graphite.


Release 3.25.2

A fix for Intercom.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 35.267%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/CookiesBanner/index.tsx
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3604

Relevant Lines:
9281

💛  - Coveralls

Intercom is working for me now so all good, thank you señores :)


Index RegexLogitsProcessor with Input IDs, Eliminate _patched_apply_logits_processor

For outlines/vllm previously FSM-sequence correspondence was broken, resulting FSM state being mixed between sequences, corrupting output. To alleviate this, we have _patched_apply_logits_processor which passes a stable sequence ID to the logits processor.
In this PR we eliminate _patched_apply_logits_processor and cache FSM state based on the states input IDs.
Continuation of https://github.com/outlines-dev/outlines/pull/539 but much simpler because vllm upgrade fixed a lot of the issues being addressed there.
Related discussions:

https://github.com/outlines-dev/outlines/issues/624
https://github.com/outlines-dev/outlines/issues/524 (this one can be closed, as it's was addressed previously by upgrading vllm)

@viktor-ferenczi can you please confirm whether this branch fixes either https://github.com/outlines-dev/outlines/issues/610 or https://github.com/outlines-dev/outlines/issues/605
Smoke tests
basic parallel
passed

import json
import vllm
from pydantic import BaseModel
from typing import List
import torch
import pandas as pd
from outlines.serve.vllm import JSONLogitsProcessor

class ConceptsList(BaseModel):
    concepts: List[str]

BASE_MODEL = "microsoft/phi-2"
llm = vllm.LLM(model=BASE_MODEL, tensor_parallel_size=1, dtype=torch.float16, max_model_len=2048)

logits_processor = JSONLogitsProcessor(ConceptsList, llm.llm_engine)

full_prompts = [
    f"Provide me a list of {i} strings with key 'concepts'"
    for i in range(20)
]

batch_results = llm.generate(
    full_prompts,
    sampling_params=vllm.SamplingParams(
        max_tokens=2048, logits_processors=[logits_processor]
    ),
)

for result in batch_results:
    for output in result.outputs:
            json.loads(output.text)

never ending regex
passed

python3 -m outlines.serve.serve --model="microsoft/phi-2"
curl http://<IP_ADDRESS>:8000/generate \
    -d '{
        "prompt": "Sequence of numbers and letters:",
        "regex": "([123]-[abc]-([def]-)?)*",
        "n": 7
}'
{"text":["Sequence of numbers and letters:1-a-1-b-1-c-1-a-","Sequence of numbers and letters:1-a-2-b-3-c-1-a-","Sequence of numbers and letters:1-a-2-b-3-c-d-1-","Sequence of numbers and letters:2-a-1-b-2-c-1-b-","Sequence of numbers and letters:2-b-3-c-d-2-b-3-","Sequence of numbers and letters:2-a-3-b-2-b-1-c-","Sequence of numbers and letters:2-a-3-b-d-2-a-3-"]}

# rules for the above to validate correct FSM-sequence correspondence:
# [123] always followed by [abc], [def] only ever preceded by [abc]

# 1-a-1-b-1-c-1-a-
# 1-a-2-b-3-c-1-a-
# 1-a-2-b-3-c-d-1-
# 2-a-1-b-2-c-1-b-
# 2-b-3-c-d-2-b-3-
# 2-a-3-b-2-b-1-c-
# 2-a-3-b-d-2-a-3-

sometimes ending early regex
passed

python3 -m outlines.serve.serve --model="microsoft/phi-2"
curl http://<IP_ADDRESS>:8000/generate \
    -d '{
        "prompt": "Sequence of numbers and letters:",
        "regex": "([123]-[abc]-([def]-)?){3}",
        "n": 16
}'

output
{"text":["Sequence of numbers and letters:1-a-2-b-3-c-d-","Sequence of numbers and letters:1-a-2-b-3-c-d-","Sequence of numbers and letters:1-a-2-b-3-c-d-","Sequence of numbers and letters:1-a-2-b-3-c-d-","Sequence of numbers and letters:1-a-2-b-3-c-d-","Sequence of numbers and letters:3-a-1-b-2-c-d-","Sequence of numbers and letters:2-a-1-b-3-c-d-","Sequence of numbers and letters:1-a-1-b-1-c-d-","Sequence of numbers and letters:2-a-3-b-d-1-c-e-","Sequence of numbers and letters:1-b-3-a-2-c-d-","Sequence of numbers and letters:3-a-d-1-b-e-2-c-","Sequence of numbers and letters:1-a-3-b-1-b-d-","Sequence of numbers and letters:3-a-f-2-b-d-1-c-","Sequence of numbers and letters:1-b-d-3-a-e-2-c-","Sequence of numbers and letters:3-c-1-b-d-1-a-e-","Sequence of numbers and letters:1-c-1-c-e-1-b-e-"]}

analysis:
1-a-2-b-3-c-d-
1-a-2-b-3-c-d-
1-a-2-b-3-c-d-
1-a-2-b-3-c-d-
1-a-2-b-3-c-d-
1-a-2-b-3-c-d-
3-a-1-b-2-c-d-
2-a-1-b-3-c-d-
1-a-1-b-1-c-d-
2-a-3-b-d-1-c-e-
1-b-3-a-2-c-d-
3-a-d-1-b-e-2-c-
1-a-3-b-1-b-d-
3-a-f-2-b-d-1-c-
1-b-d-3-a-e-2-c-
3-c-1-b-d-1-a-e-
1-c-1-c-e-1-b-e-

Observations:

All patterns are correct
Patterns don't "borrow" FSM state from one-another, they retain their own independent state
Some patterns produced more tokens than others successfully

Viktor's regex
passed

python3 -m outlines.serve.serve --model="microsoft/phi-2"
curl http://<IP_ADDRESS>:8000/generate \
    -d '{
  "prompt": "You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite down the first 10 prime numbers as a comma separated list, starting with 2.\n\n### Response:\n",
  "n": 1,
  "best_of": 1,
  "presence_penalty": 0.0,
  "frequency_penalty": 0.0,
  "repetition_penalty": 1.0,
  "temperature": 0.0,
  "top_p": 1.0,
  "top_k": -1,
  "min_p": 0.0,
  "use_beam_search": false,
  "length_penalty": 1.0,
  "early_stopping": false,
  "stop": [],
  "stop_token_ids": [],
  "include_stop_str_in_output": false,
  "ignore_eos": false,
  "max_tokens": 50,
  "logprobs": null,
  "prompt_logprobs": null,
  "skip_special_tokens": true,
  "spaces_between_special_tokens": true,
  "regex": "\\d+(\\s*,\\s*\\d+)*\\s*"
}'

output:
{"text":["You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite down the first 10 prime numbers as a comma separated list, starting with 2.\n\n### Response:\n2, 3, 5, 7, 11, 13, 17, 19, 23, 29\n"]}

Viktors schema
passed

python3 -m outlines.serve.serve --model="microsoft/phi-2"
curl http://<IP_ADDRESS>:8000/generate \
    -d '{
  "prompt": "You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n",
  "n": 5,
  "best_of": 5,
  "presence_penalty": 0.0,
  "frequency_penalty": 0.0,
  "repetition_penalty": 1.0,
  "temperature": 1.0,
  "top_p": 1.0,
  "top_k": -1,
  "min_p": 0.0,
  "use_beam_search": false,
  "length_penalty": 1.0,
  "early_stopping": false,
  "stop": [],
  "stop_token_ids": [],
  "include_stop_str_in_output": false,
  "ignore_eos": false,
  "max_tokens": 200,
  "logprobs": null,
  "prompt_logprobs": null,
  "skip_special_tokens": true,
  "spaces_between_special_tokens": true,
  "schema": {
    "properties": {
      "kind": {
        "title": "Kind",
        "type": "string"
      },
      "color": {
        "title": "Color",
        "type": "string"
      },
      "count": {
        "title": "Count",
        "type": "integer"
      },
      "weight": {
        "title": "Weight",
        "type": "number"
      },
      "sweet": {
        "title": "Sweet",
        "type": "boolean"
      }
    },
    "required": [
      "kind",
      "color",
      "count",
      "weight",
      "sweet"
    ],
    "title": "Fruit",
    "type": "object"
  }
}'

output:
{"text":["You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n{\n\"kind\": \"Apple\",\n\"color\": \"Red\",\n\"count\": 10,\n\"weight\": 0.2,\n\"sweet\": true\n}","You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n{\n    \"kind\": \"Apple\",\n    \"color\": \"Red\",\n    \"count\": 10,\n    \"weight\": 0.2,\n    \"sweet\": true\n}","You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n{\n  \"kind\": \"apple\",\n  \"color\": \"red\",\n  \"count\": 5,\n  \"weight\": 0.1,\n  \"sweet\": true\n}","You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n{\n\"kind\": \"Apple\",\n\"color\": \"Red\",\n\"count\": 10,\n\"weight\": 0.24,\n\"sweet\": true\n}","You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n{\n  \"kind\": \"Apple\",\n  \"color\": \"red\",\n  \"count\": 5,\n  \"weight\": 0.3,\n  \"sweet\": true\n}"]}

Testing the PR branch with my experiments.

Request:
{
  "prompt": "You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite down the first 10 prime numbers as a comma separated list, starting with 2.\n\n### Response:\n",
  "n": 1,
  "best_of": 1,
  "presence_penalty": 0.0,
  "frequency_penalty": 0.0,
  "repetition_penalty": 1.0,
  "temperature": 0.0,
  "top_p": 1.0,
  "top_k": -1,
  "min_p": 0.0,
  "use_beam_search": false,
  "length_penalty": 1.0,
  "early_stopping": false,
  "stop": [],
  "stop_token_ids": [],
  "include_stop_str_in_output": false,
  "ignore_eos": false,
  "max_tokens": 50,
  "logprobs": null,
  "prompt_logprobs": null,
  "skip_special_tokens": true,
  "spaces_between_special_tokens": true,
  "regex": "\\d+(\\s*,\\s*\\d+)*\\s*"
}

It should generate: 2,3,5,7,11,13,17,19,23,29
What it generates: 2,
It does not crash, just stops after a comma where it should not based on the regex.

This request crashes the outlines.serve.vllm server with KeyError: -1, which appears to be a reproduction of #610:
{
  "prompt": "You are an AI programming assistant, utilizing the Deepseek Coder model, developed by Deepseek Company, and you only answer questions related to computer science. For politically sensitive questions, security and privacy issues, and other non-computer science questions, you will refuse to answer.\n\nYou are a helpful AI assistant. You give concise answers. If you do not know something, then say so.\n### Instruction:\nWrite a JSON describing a random fruit. It must conform to the following JSON schema: {\"properties\": {\"kind\": {\"title\": \"Kind\", \"type\": \"string\"}, \"color\": {\"title\": \"Color\", \"type\": \"string\"}, \"count\": {\"title\": \"Count\", \"type\": \"integer\"}, \"weight\": {\"title\": \"Weight\", \"type\": \"number\"}, \"sweet\": {\"title\": \"Sweet\", \"type\": \"boolean\"}}, \"required\": [\"kind\", \"color\", \"count\", \"weight\", \"sweet\"], \"title\": \"Fruit\", \"type\": \"object\"}\n\n### Response:\n",
  "n": 5,
  "best_of": 5,
  "presence_penalty": 0.0,
  "frequency_penalty": 0.0,
  "repetition_penalty": 1.0,
  "temperature": 1.0,
  "top_p": 1.0,
  "top_k": -1,
  "min_p": 0.0,
  "use_beam_search": false,
  "length_penalty": 1.0,
  "early_stopping": false,
  "stop": [],
  "stop_token_ids": [],
  "include_stop_str_in_output": false,
  "ignore_eos": false,
  "max_tokens": 200,
  "logprobs": null,
  "prompt_logprobs": null,
  "skip_special_tokens": true,
  "spaces_between_special_tokens": true,
  "schema": {
    "properties": {
      "kind": {
        "title": "Kind",
        "type": "string"
      },
      "color": {
        "title": "Color",
        "type": "string"
      },
      "count": {
        "title": "Count",
        "type": "integer"
      },
      "weight": {
        "title": "Weight",
        "type": "number"
      },
      "sweet": {
        "title": "Sweet",
        "type": "boolean"
      }
    },
    "required": [
      "kind",
      "color",
      "count",
      "weight",
      "sweet"
    ],
    "title": "Fruit",
    "type": "object"
  }
}

Server side traceback:
Traceback (most recent call last):
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 29, in _raise_exception_on_finish
    task.result()
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 409, in run_engine_loop
    has_requests_in_progress = await self.engine_step()
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 388, in engine_step
    request_outputs = await self.engine.step_async()
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 189, in step_async
    all_outputs = await self._run_workers_async(
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 276, in _run_workers_async
    all_outputs = await asyncio.gather(*coros)
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/worker/worker.py", line 213, in execute_model
    output = self.model_runner.execute_model(seq_group_metadata_list,
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 542, in execute_model
    output = self.model.sample(
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 314, in sample
    next_tokens = self.sampler(self.lm_head.weight, hidden_states,
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/model_executor/layers/sampler.py", line 74, in forward
    logits = _apply_logits_processors(logits, sampling_metadata)
  File "/home/viktor/env/outlines/lib/python3.10/site-packages/vllm/model_executor/layers/sampler.py", line 156, in _apply_logits_processors
    logits_row = logits_processor(token_ids, logits_row)
  File "/home/viktor/dep/outlines-contrib/outlines/serve/vllm.py", line 39, in __call__
    self.fsm_state[seq_id] = self.fsm.next_state(
  File "/home/viktor/dep/outlines-contrib/outlines/fsm/fsm.py", line 178, in next_state
    last_token_to_end_state = self.states_to_token_maps[state]
KeyError: -1

@viktor-ferenczi can you please confirm whether this branch fixes either https://github.com/outlines-dev/outlines/issues/610 or https://github.com/outlines-dev/outlines/issues/605

Summary:

#605: Seems to be fixed, at least it has not happened with the kind of requests it did before.
#610: Appears to be 100% reproducible, see above.
There seems to be an "early stopping" issue where an EOS is generated at regex states where it should not happen, see above.

Thanks so much @viktor-ferenczi will try to resolve as part of this PR.

@viktor-ferenczi I pushed a small change, it appears to be working for your test requests (example output in detail section of original post). Could you confirm whether I missed something?

Sure, I switch to your branch and start using it. Let's see whether it works as expected.

Your branch works way better than main. No crashes so far and the generations are good.
There is an unrelated issue where the model does not stop generating content on reaching the regex's final state. But this issue is unrelated to your branch and happens the same way on main as well.

Thanks so much for testing!

Thank you, this is going to solve a few problems for downstream libraries. I’m not sure how LoRAX integrated Outlines, but we should make sure this doesn’t break their code before releasing.


Can't undelete for one folder with the soft deleted version

Storage Explorer Version: 1.15.0-dev
Build: 20200824.2
Branch: rel/1.15.0
Platform/OS: Windows 10/ Linux Ubuntu 16.04/ MacOS Catalina
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Expand one Non-ADLS Gen2 storage account (make sure the blob versioning is enabled) -> Blob Containers (make sure the soft delete policy is enabled).
Create one blob container -> Upload one folder with blobs to it.
Open the folder -> Delete one blob -> Switch to 'All blobs and blobs without current' view -> Delete the version.
Right click the folder -> Click 'Undelete -> Undelete Selected' -> Click 'Ok'.
Check the result.

Expect Experience:
Succeed to undelete the version.
Actual Experience:
Can't undelete the version.

More Info:
This issue also reproduces when clicking 'Undelete by Date…'.

When blob versioning is enabled, the listing won't include blobs without current version so we won't undelete previous versions of them. Attempting to include versions may slow down the undelete since all the versions will be in the listing response.

I have updated the undelete confirmation dialog to make it clear what will be undeleted.


[BUG] Tildes in map doesn't load in exported reports

Describe the bug
Tildes in map doesn't load in exported reports
To Reproduce
version: '3'
services:
  opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
    expose:
      - "9200" # Expose port 5601 for web access to OpenSearch Dashboards
    image: opensearchproject/opensearch:2.8.0 # Specifying the latest available image - modify if you want a specific version
    container_name: opensearch-node1
    environment:
      - cluster.name=opensearch-cluster # Name the cluster
      - node.name=opensearch-node1 # Name the node that will run in this container
      - discovery.seed_hosts=opensearch-node1  # Nodes to look for when discovering the cluster
      - cluster.initial_cluster_manager_nodes=opensearch-node1  # Nodes eligible to serve as cluster manager
      - bootstrap.memory_lock=true # Disable JVM heap memory swapping
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
    ulimits:
      memlock:
        soft: -1 # Set memlock to unlimited (no soft or hard limit)
        hard: -1
    volumes:
      - opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
    ports:
      - 9200:9200 # REST API
      - 9600:9600 # Performance Analyzer
    networks:
      - opensearch-net # All of the containers will join the same Docker bridge network
  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:2.8.0 # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
    container_name: opensearch-dashboards
    ports:
      - 5601:5601 # Map host port 5601 to container port 5601
    expose:
      - "5601" # Expose port 5601 for web access to OpenSearch Dashboards
    environment:
      OPENSEARCH_HOSTS: '["https://opensearch-node1:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query
    networks:
      - 'opensearch-net'

volumes:
  opensearch-data1:
  opensearch-data2:

networks:
  opensearch-net:

Steps to reproduce the behavior:

Go to the dashboard
Click on reporting
Report PDF (or png)
Check the report

Issue moved to https://github.com/opensearch-project/reporting/issues/732


Confirmation dialog for plugin deletion

Summary
This PR introduces a confirmation dialog for plugin deletion in the ConfigurationList.jsx component. The dialog prompts the user to confirm their action before a plugin is deleted, enhancing the user experience by preventing accidental deletions.
Changes Made

Added Confirmation Dialog:
The dialog includes a message asking the user to confirm the deletion and two buttons: "Delete" and "Cancel".

Updated JSX Structure:
Modified the JSX to include the confirmation dialog conditionally based on the showConfirmDialog state.

Styled Confirmation Dialog:
Added CSS styles for the confirmation dialog.

Updated Table Columns:

Fixes Issue
#35
Screen Capture
https://github.com/user-attachments/assets/81e9d21e-95ca-4b93-91c9-0048e6c32a4c

Please give me your feedbacks, thank you!

@kart2004 use confirmDialog for confirm pop, please refer utils/ConfirmDialog.jsx file

Thanks @sethumadhavan-k, I will refer to the utils/ConfirmDialog.jsx file.

Hi, @sethumadhavan-k , I made the necessary changes to ConfigurationList.jsx. It now uses the ConfirmDialog.jsx file in order to display a confirmation message before deleting.
https://github.com/user-attachments/assets/e3bb8174-b640-45cf-b2e8-b97636541425

@sethumadhavan-k . I've made the changes and included the button icons for both.
https://github.com/user-attachments/assets/741d2a1e-0b6a-4cc0-96f3-8d45a97b212b


Quotes around the custom paths will prevent StableSwarmUI from launching

I shut down the server after adding some quotes to my custom ModelRoot path, and now I can no longer start StableSwarmUI to recover from this misconfiguration. This should be handled better in the logic so the server will launch with bad paths and allow the user to edit the paths once again.
15:15:20.274 [Error] Failed to create directory for SD models. You may need to check your ModelRoot and SDModelFolder settings. The filename, directory name, or volume label syntax is incorrect. : 'D:\Documents\stable-diffusion\stableswarmui\StableSwarmUI\"C:\machine-learning\models"\checkpoints'

Good call - handles it better now (opens the ui with shiny red error at the top alerting you to fix it)


subversion16 incompatible with 10.11

It says its not compatible because OS X does not provide openssl files anymore. Wouldn't it be possible to use the brew openssl instead?

No, It doesn't work against newer OpenSSL versions sadly. For this reason the Subversion formulae in this repo are likely going to be deprecated in the coming cleanup of the Versions tap.

I see. Thanks.


Fix render of Authors.md

Hi, the Authors file do not look fine in github web, please consider make a bullet list to se a better render of the file.
Signed-off-by: William José Moreno Reyes<EMAIL_ADDRESS>


css and js can not be loaded when blog is in a subdir

TL;DR : you use the same logic to generate the DPlayer.min.js and find the DPlayer.min.js in stylesheet.
Details:
I put my blog in a subdirectory, i.e. in `_config.yml
url: https://xxx.me
root: /blog/

And I set styleDir = '/blog/assets/css/', now it puts the  DPlayer.min.js in 'https:xxx.me/blog/blog/assests/css/ and the stylesheet tries to find it https:xxx.me/blog/assests/css/. WRONG!
THX

try this
https://github.com/dixyes/hexo-tag-dplayer
in commit<PHONE_NUMBER>e78d6e9db324557c3c4be49cdbf0c7

THX


On IPhone 13 (tested 13 pro and Mini) check icon not visible when using Zoom

Steps to reproduce:
Go to iPhone Settings -> Display & Brightness -> Display Zoom
Set: "Larger Text"
Open app with image editor take a photo.
Can't apply image due to check icon not visible
Footer works fine, because it has Horizontal scroll, header action not

(On iPhone 11 works fine.)

fixed in v0.2.2


End tournament

click to end

set winner_ID
Congrats to winner!

This is tentatively finished, need to confirm working with @Chrisqtran3's code for the Current Tourney Table


make bench fails with panic more than two versions is not allowed

Running make bench fails after the SELECT stage of bench-on-disk
V full version: V 0.2.4 d4b3c65.d33f7d1
OS: Fedora linux

Thanks for raising this, the benchmark isn't part of CI and so was missed.
Assuming it's not actually a bug, this is caused by multiple transactions trying to manipulate the same record at the same time which would lead to conflicts when COMMIT comes around. Normally servers just lock until the new frozen record becomes available. However, that's a little trickier here as the transaction would have to relinquish control of the file and retry seamlessly (so the client sees it behave like a lock).
In any case this is a legitimate bug because the error I currently have is a lazy way to handle the situation so it needs to be improved regardless.


Adding material entities from plant parts

Can PO add a new term for referring to a specific material entity for a plant part, for example, "grain" derived from "seed"? @ramonawalls @CropStoreDb

In theory, yes we could, but the example you provide makes no sense botanically.  A grain is a caryopsis fruit (http://browser.planteome.org/amigo/term/PO:0030104) and develops from a gynoecium.  A seed (PO:0009010) on the other hand develops from a plant ovule.  In other words, the grain is a special kind of fruit which contains a single seed.  Caryopses are specific to the Poaceae (the grass family).
Also, we don't currently use the "derives_from" relation (http://www.ontobee.org/ontology/RO?iri=http://purl.obolibrary.org/obo/RO_0001000), but we use the more informative "develops_from", whihc would not be appropriate here.

You are correct that for cereal 'grains' they are caryopses. However, in trade and common parlance the term legume 'grain' is also sometimes used, yet these are multiple seeds that develop from an ovule. So we have a difference in botanical and agricultural use of the term grain/seed,  For a harvested product the term 'develops_from' does not seem appropriate. For crop products, we are at the interface between botanical and commodity entities.

I think we will be able to define these classes in FOODON, which is probably a better home after all. They are now importing PO terms, so we can use the derived from relations there. Thanks for the consideration, @cooperl09 !

Thanks to you both for he comments and discussion.  I am closing this issue.


Multiple windows example broken after new states

Since 284889c64b2a4a4f67018e42a14062392edbd0aa running the multiple windows example results in
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', examples/window/multiple_windows.rs:75:10

https://github.com/bevyengine/bevy/blob/45b2db70705da24a89426e6b6e77d603a3983025/examples/window/multiple_windows.rs#L71-L75

https://github.com/bevyengine/bevy/blob/45b2db70705da24a89426e6b6e77d603a3983025/examples/window/multiple_windows.rs#L21-L26
setup_pipeline runs before setup_window I think.

The SystemSet::on_enter(AppState::CreateWindow) should be SystemSet::on_enter(AppState::Setup).
But even then, the order is

run set_window
run setup_pipeline (windows.iter() is only the primary window)
run setup_pipeline (windows.iter() is only the primary window and the new one)

Resolved by #1737