The system of saving

Hi. I came across some misunderstanding about how saves work in this extension.
First, I would like to know if the background corresponding to the moment of saving is saved somewhere. I want to put in the save slots, in addition to the save date, the background that was in the game at the moment, so that it would be easier to find the right save.
Secondly, I did not understand how to add my data to the saves and then count them. As I understand it, SaveDataMy (the so-called SaveData subclass) stores the data that we need to save. Data Saved My creates a list with this data. SaveLoaderMy takes a Json file and reads the data from there. But how to implement it is not clear to me. And it is not clear how my classes are implemented into the existing preservation system.

I'm... not entirely sure what you're getting at here. For example, it's not clear what you mean by "background". Also, this system doesn't have any class called "SaveDataMy". Please explain what you're trying to do as far as far as making custom save data goes.

Background. When I have saved the Fungus data, I want to upload it. The download works fine, except instead of the background (what the "view" indicates) I get a gray picture.
All classes ending in "...My" are subclasses of the classes of the same name from the SlotBasedSystem (SaveData, DataSaver, SaveLoader). In my understanding, SaveDataMy stores user data that we need to save. DataSaverMy - creates a list with this data (which we will have to write to JSON later). SaveLoaderMy - takes a Json file and reads data from there. But it sounds beautiful in words. And how it actually interacts, I don't understand.

Sounds to me like I should explain how classes like SaveData and DataSaver interact. Let’s start with...
The Process of Creating Save Data
This is centered around the GameSaver component: the head honcho of this process. It creates GameSaveData instances that hold the more specific save data types (such as FlowchartData).
Right after creating such an instance, it passes it around to its minions (which I also call subsavers), one by one. The minions here are DataSaver subclasses. One example of that is FlowchartSaver. Their job is to gather up what they want saved and then give it to the head honcho. The head honcho then takes what it was given, adding it to the GameSaveData instance. When the subsavers' work is done, the GameSaver adds in stuff like the scene name and the last-hit Progress Marker. And with that, the GameSaveData instance is ready to be loaded, written to disk, and such.
There’s a lot more involved in this system (such as the process of reading save data). But before I move onto that, please let me know if you have any questions.

Yes, everything seems to be clear here. We have a GameSaver that creates a list of additional subordinates (derived from DataSaver). They're collecting some kind of data. Then we create an object from GameSaveData, an object is created where we record everything we have collected.

Glad to hear! Now, as for the process of loading save data... The structure is similar to the process for saving it. You have one main module tasked to do a job, and then it has its submodules do different parts of said job. In this case, the main module is GameLoader. The submodules are derived from SaveLoader.
Any questions? Sorry for taking so long to respond, by the way...

I also study and work. There is very little time. I need to comprehend and try out everything that is written here in order to clarify the questions. Don't close the subject yet, please.

No, you're supposed to subclass DataSaver and SaveLoader. You also need to make sure that you have those subclasses added to the GameSaver and GameLoader GameObjects, respectively. Those GameObjects are in the SaversAndLoaders prefab.

Let's say. When will I need to write my own functions to save the parameters? Or is it possible to abandon your class from the "GameSaveData" class and not from "SaveData"?

I created these subclasses. But I don't really understand what to do with them next. And should I inherit my classes from "DataSaver" and "SaveLoader"?

Should I inherit my classes from DataSaver and DataLoader
Yes, that's what subclassing means.

What to do with them next
As I mentioned, you add them to the GameSaver and GameLoader GameObjects. To be more precise (since we're working with Unity), this means adding them as Components to those GameObjects.

Also, I feel I should mention... Reasonably-robust save systems are an intermediate-level topic as far as programming is concerned. If you don't have a coder who is at least on that level, then I suggest doing at least one of the following:

Recruiting one such programmer
Taking courses so you can get to that level

I can recommend you a couple, if you'd like

Without a coder on that level on your team, you're probably not going to be able to do what you want with this save system

I am the programmer in the team. And I have some knowledge. And not only in C#, but it's hard for me to work with someone else's code, because my tasks are usually simpler (the same inheritance).
I also understand that scripts are components of objects. I meant what should I do next with the subclasses. As I understand it, all my variables will be added in the form of "SaveDataItem" or "GameSaveData". That's the question, how do I make "DataSaver" pack into .json my variables and then "SaveLoader" from the file (or rather from the registry, because we use JsonUtility) wrote the data to the variable

DataSaver doesn't handle packing things into json. That's what the SaveWriter class handles. As for reading from json, that's the SaveReader class's job

Sorry. I have to keep asking questions, because the problem has not been solved.
I will specify the task. I need to save a string that the user can enter in the Input Field. To simplify, I decided to save the string in an instance of SaveDataItem. If I understand correctly, I can create another class, inherit it from SaveData and store my variables there.
We have MySaver:DataSaver and MySaveLoader:SaveLoader. There you need to define CreateItems() and Load(SaveDataItem item), respectively. But I don't understand what should be in these methods? I hoped the implementation of FlowchartSaver and FlowchatLoader would help me, but not no.
Can you please explain what my classes specifically do?


The text box is highlighted and disappears on mouse over.

Steps to reproduce
The text box in which the texts are clicked is automatically highlighted and disappears on mouseover. It comes back when the mouse is hovered away

✔ Expected Behavior
The text box should not be highlighted
❌ Actual Behavior
The text boxes are highlighted
Other Software
WSA settings app.
Please specify the version of Windows Subsystem for Android
2210.40000.7.0

Hi, are you seeing this behavior only in the WSA Settings app when Windows is in high contrast mode?

Hi, are you seeing this behavior only in the WSA Settings app when Windows is in high contrast mode?

No, it happens on other installed apps as well.

This appears to be an app issue. We'll need a feedback hub report in order to properly investigate.


[Linux] Handle 'Open in Storage Explorer' commands better

Related to #140
The crux is that we currently cannot open a view focused on a specific resource. This is a know Storage Explorer behavior.
For linux we should either:

Change all commands to merely opening Storage Explorer, or
Hide the command.

The code as of v0.6.0 currently does not consider Linux as a possible OS for the user w.r.t these commands.

Fixed in https://github.com/microsoft/vscode-azurestorage/pull/900 and https://github.com/microsoft/vscode-azurestorage/pull/908


Crashing when AuthMongo Plugin is active

Environment

OS:
CentOs
Erlang/OTP:
EMQ:
2.3.7

Description
While setting up auth mongo plugin i am getting this error.
09:05:57.368 [error] gen_server <0.1448.0> terminated with reason: killed
09:05:57.368 [error] CRASH REPORT Process <0.1448.0> with 1 neighbours exited with reason: killed in gen_server:decode_msg/9 line 410
09:05:57.368 [error] gen_server <0.1443.0> terminated with reason: killed
09:05:57.369 [error] CRASH REPORT Process <0.1443.0> with 1 neighbours exited with reason: killed in gen_server:decode_msg/9 line 410

I don't understand from these message, the actual reason behind this.
I am also attaching my emq_auth_mongo.conf  -
auth.mongo.type = rs
auth.mongo.rs_set_name = rs0
auth.mongo.server = MY_PRIV_IP:MY_PORT
auth.mongo.pool = 8
auth.mongo.login = MY_USERNAME
auth.mongo.password = MY_PASSWORD
auth.mongo.database = mqtt
auth.mongo.w_mode = unsafe
auth.mongo.r_mode = slave_ok
auth.mongo.topology.pool_size = 1
auth.mongo.topology.max_overflow = 0
auth.mongo.auth_query.collection = mqtt_user
auth.mongo.auth_query.password_field = password
auth.mongo.auth_query.password_hash = plain
auth.mongo.auth_query.selector = username=%u
auth.mongo.super_query = on
auth.mongo.super_query.collection = mqtt_user
auth.mongo.super_query.super_field = is_superuser
auth.mongo.super_query.selector = username=%u
auth.mongo.acl_query = on
auth.mongo.acl_query.collection = mqtt_user
auth.mongo.acl_query.selector = username=%u

Can anybody also suggest me about how to configure this plugin with mongodb running with replica sets.

@arihantdaga Sorry for late rely due to Labor Day. I'm investigating this issue.

Would this comment work for you ?

I'm facing the same error connecting to mongo running with -replSet option, with just one mongo instance. With mongo version 3.6.3 and emqtt version 2.3.8.

Hi, @GiviMAD
What's the result of mongo command db.isMaster().hosts ? Is it same as what you've configured in auth.mongo.server ?

no, I'm running in docker-compose, the mongo db real ip should be resolved from the container name.

I was able to connect after consult the db.isMaster().hosts result and provide it to the auth.mongo.server config. But running in containers this is not an option it could change, auth.mongo.server should be able to resolve the host name from the dns I think


Hope to be compatible with Rainbow Folder Background and Rainbow Folder Titles CSS

Hope to be compatible with Rainbow Folder Background and Rainbow Folder Titles.

What is actually the issue here, do they interfere each other?


OpenType attribute is missing in meta serializer

OpenType attribute is not handled properly in appendEntityTypes and appendComplexTypes in MetadataDocumentXmlSerializer

Fixed, see https://github.com/apache/olingo-odata4/commit/d0f52977e66645f79ddfe22aff17be3be22e9acb


gRPC support

How to configure gRPC?

How to configure gRPC?

+1 ☝🏼

Also wanting to know how to configure grpc


Separate upload part for the BlockStore

VolumeSnapshotter i.e BlockStore interface should have an extra method,
called as UploadSnapshot(). This method should make use of all the tags and
snapshot objects used for CreateSnapshot() method. Hence, add a way to store
these information to the itemBackupper.
Signed-off-by: Satyam Zode<EMAIL_ADDRESS>

Please ignore this; This is just a POC.


Add in docs about RetryOOM

This adds/clarifies some docs about RetryOOM and SplitAndRetryOOM
This fixes #8052

build

build

build


i18n for public website and documentation and French translation of existing doc

tl;dr : Add i18n capabilities with a language switcher, modify site structure by adding "en" and "fr" repositories, translate every existing page in French.
I've added 2 directories : en and fr.
I've put all the existing english doc in the "en" directory.
Then copied everything to the "fr" directory and translated every page.
I've added a "language switcher" which is basically a select list that will check the languages.js file and create the options for the select.
Note that the select will only appear if the same page exists in other languages.
To know if a page exists in other language, I've added a new attribute : "translationKey" in the pages files.
For example, in the homepage it's "translationKey : homepage", in the Usage with Nextcloud page it's "translationKey: usage-nextcloud"
The "fr", "en" (and then other languages) files that corresponds to the translation must contain the same translationKey.
I can add more documentation, but first I've translated the existant and if it is OK with this structure, I can help to add more doc.
PS : the more I use photoview the more I love it ;)

Nice work! My only concern is that currently a lot of old links would be broken. Would it be possible to have all urls not prefixed with a language code automatically be redirected to the english one?
For example /docs -> /en/docs, instead of 404

@viktorstrate you're right 👍  I'm going to check how this can be done

@viktorstrate it seems there's no easy way to have redirections in Github pages, so I chose the best option : meta refresh+ canonical link, this way search engines will interpret as 301 redirections. If you choose to migrate from github pages to another thing, this can be replaces by a .htaccess file or a _redirects with Netlify for example.
And for end-users it works well.

That's good for now, it won't be hard to change in the future, if we decide to move to somthing other than GH Pages.
Thank you very much for your work and effort!


Explicitly inform about the existence of a more updated version of the same name.

I was about to send code suggestion to this repository, but only then did I find that there is a more up-to-date repository.
This pull request hint explicitly informs other potential developers of the 2.0 release at https://github.com/mydata-sdk/mydata-sdk

I will close this pull request.
I got in touch with Slack folks at https://mydataglobal.slack.com and kindly informed me about it and plan to look around the GitHub repositories with less updated versions.
Also, there is a lot going there on Slack, so it's a great place to get in touch with the non software developers and they have wonderful links to research related to privacy on the last decades.


fix-288-remove_pipename changes

Describe the contribution
Removes the PipeName field from the CFE_SB_PipeD_t struct.
Testing performed
make install
make test
Expected behavior changes
A clear and concise description of how this contribution will change behavior and level of impact.

API Change: internal change to CFE_SB_GetPipeName
Behavior Change: reduced memory impact of the CFE_SB_PipeD_t table

System(s) tested on:

Hardware: VM
OS: Linux
Versions: "master"

Contributor Info
Chris Knight, NASA Ames Research Center

CCB 20191123 - Discussed the string copies vs passing pointers, or use the get properties but could result in fixing implementation (os_queues dependency would get built in).
This implementation saves memory, but is a performance hit with the string copies.  Not in the standard get/send path (just for error processing), and in the create/delete so not really a significant real time operation impact.

CCB 20191123 - approved for integration candidate, under additional review by jphickey and acudmore

I would like to see some updates to the CFE_SB_GetPipeName() to always fill the buffer with a null terminated string (i.e. an empty string) even in cases of error,

Generally I prefer the minimum of change on error. Is there "style guidance" we should adopt and that should be documented in the coding style guide?
The SB code is not particularly consistent:
CreatePipe does this--initializes *PipeIdPtr to an invalid ID at the start of the function.
GetPipeOpts does NOT do this for *OptsPtr.
CFE_SB_GetAppTskName ...sorta...does this, by adding a null at the end of the buffer (no matter how long the actual name is.) But that, of course, does not handle the intervening bytes.
Remember, also, that CFE_SB_GetPipeName is a "private" function, although I could easily see exposing this. (In fact, there's one unit test already, which is kinda odd for a private function.)

to also pass in a separate size,

Again this is not what CFE_SB_GetAppTskName does, a lot of functions assume (and are documented to assume) that the buffer is OS_MAX_API_NAME in length. If we want to change the "guidance" and start recommending array buffers be passed with size, I am good with that.

and also reverse one case where it was called before releasing the SB lock.

Ok I will evaluate the locking logic per this and your other comment.

CCB - 12/4/2019: Consider adding an OSAL API which just retrieves the name of a resource, simplifies this issue and the other's related

OBE - pull request 404


Use binary mode in snapshot tool for fopen

In the snapshot tool the files were opened
in text mode. However the snapshot files
are binary files thus it is advised to use the
binary mode when opening the files.
Specifying the binary mode is a must on Windows
platform otherwise the read/write operations
are inserting extra '\r' characters.
Also update jerry-libc to accept the 'b' modifier.

Created a PR to improve the license checker: https://github.com/jerryscript-project/jerryscript/pull/2391

@akosthekiss I've updated the PR, the CRLF problems are solved.


This makes WAGTAILIMAGES_IMAGE_FORM_BASE useless

Issue Summary

You know how we can add extra fields to WagtailImage by setting WAGTAILIMAGES_IMAGE_MODEL and WAGTAILIMAGES_IMAGE_FORM_BASE right?! well breaking news, we can't !!
the image submission to /admin/images/multiple/add/ end up here:
https://github.com/wagtail/wagtail/blob/93166339872df002c1b04e275b096807f73f38d7/wagtail/admin/views/generic/multiple_upload.py#L127-L144
** that is not passing all the form data in request.POST to the form
** It's expected to simply create custom "wagtailimages/multiple/add.html" with our custom fields included but now there is no way you have custom required fields for your Image (model or form) and pass this page "wagtailimages:add_multiple"** at first try without creation of UploadedImage and even worse if your custom fields are not required it just silently passes
My Solution
I just simply expect this method to do what a normal django being does and pass the request.POST

Might be related https://github.com/wagtail/wagtail/issues/9088

Might be related #9088

No it's not, I just simply expect this post method to do what a normal django being do (just pass request.FILE and request.POST and etc)

Hah, I just discovered this same issue but from a different direction.
In image upload the file name always ends up in 'Title' field, instructions on how to add js to alter is here:
https://docs.wagtail.org/en/v4.1.1/advanced_topics/images/title_generation_on_upload.html
However it doesn't work and I was trying to figure out why - JS runs, alters title, altered title is POSTed to this URL and returned form has field filled out with filename not the title passed.
Turns out this is due to extending the image model which now has a required field, so it fails form.is_valid() and the subsequent code only uses:
self.object = self.model(
                title=self.request.FILES["files[]"].name,

instead of the code used earlier in the same function:
"title": request.POST.get("title", request.FILES["files[]"].name)


Proposal)Netty5)Remove Apache commons logging related classes

Apache commons logging has not been updated since 2014.
and Netty's classes that support for it was marked as deprecated in 2016. (#5615)
I think now is a good time to get rid of deprecated classes and their dependencies.
Please let me know If I can create a PR.

Yes please 🙏

Thank you for your reply. Let me create a PR soon 👍


Separate Beckn Gateway and Beckn Registry installations

This issue has to be approved by business @faizmagic
Right now Beckn Gateway and Beckn Registry are clubbed together in the v2 install script. Is this really a production setup. Wouldnt it be better if it is separate options.
Please start on this only after @faizmagic  has approved this enhancement.

Yes @faizmagic . I am surprised I missed this yesterday.
Currently the script allows installation of BAP,BPP,Registry and Gateway on four different machines.


Invalid MIDI file: Bad SMF header track count

I upgraded FooBar2000 and thus got the recent version of this MIDI plugin. Playing up a MIDI file which worked before, I get this error.

I'm not that deep into the technical aspects of MIDI, and Google didn't give me any relevant results (searching for "Bad SMF header track count" in quotation marks only turned up this page). I'm not necessarily asking for some kind of fix for this (though it did work in older versions), but maybe at least for the error code to give a clearer pointer towards what would need to be addressed in the file.
Here's a link to the MIDI itself:
https://www.vgmusic.com/music/console/nintendo/gamecube/Eternal_Darkness_Final_Boss.mid

Depending on the MIDI file format the header of the file (SMF = Standard MIDI File format) is supposed to declare the number of MIDI tracks that are following the header,
The error message means that there is a mismatch with what the header declares and the data that followings. Or so the code thinks. I never rule out a coding error but after all these years I think most bugs have been found.

I see. Is there anything which I can do about this?
Optionally, if you know MIDI, are you able to see if there's anything which is quick and easy to fix with that file?

I'll have a quick look to see if there is really something wrong with the file or if it is a bug. In case of the former you may try to load it into a MIDI editor that is more tolerant to errors in the file and resaved it. In case of the latter I guess I'll have to fix the bug :-)

Thanks, that's very kind of you!
For editing MIDI, do you have any suggestions? I tried looking at a MIDI program once, but I had no idea at all what I was looking at, and I have no idea what does what (nor any musical education lol).

The file declares itself as a MIDI format 0 file but specifies a track count of 11. That is not possible according to the spec because a format 0 file should contain only 1 track with interleaved MIDI messages. I modified byte 10 in the file to make it a format 1 file. It now passes all the quality checks.
Eternal_Darkness_Final_Boss.zip

Thank you very kindly for your assistance!
What program did you use to do this?

Just a plain, old binary file editor: HxD (www.mh-nexus.de). If this is new territory for you, note that byte 10 is at offset 9 since byte numbering starts at 0.

Binary file editor? Like hex editing? I'm averse to complex math, and I always thought hex editing looked complex and hard to understand, so I think I would be better off trying to learn to tweak MIDI with a dedicated program.
Still, thank you for your help and accommodation!


Play audio from a stream (New feature)

Hello, would it be possible to add the possibility of playing audio from a stream?
Thanks

ok, I will add this feature later

#7

Thanks!


Make sass variables "!default"

This allows uses to import the SASS file from PickMeUp using their own custom variables, without the need to alter the source files.
It is a better workflow for users who include PickMeUp via bower and other tools.
Also, I changed the variables indentation to spaces, so they look prettier on github.

LGTM, thanks for contribution!


Variable Length Trials not working? Or are they?

It seems at the moment cropped scoring does not work for variable length trials? Although I have not really clearly confirmed that yet.
Here is an example that fails (unfortunately not runnable for others as it relies on local data on our cluster):
https://gist.github.com/robintibor/343b7b54fea558a7c73ea93d167490a4
Anyways @sliwy I had some problem to understand the code here:
https://github.com/braindecode/braindecode/blob/41d6fc4479b8a3b7db443648d288e47981be29b1/braindecode/training/scoring.py#L178-L182
Looks to me like this could never work for variable length trials? Still for some older version the above code apparently ran? Next steps here might be to create a simpler example with artificial variable length trial dataset (we would need it anyways).. Or also run TUHAbnormal that also actually shouldn't work I guess? I can also look at it more next week just since I saw you active @sliwy  thought I put it public here :)

I agree that it should not work at the moment. The solution might to pad each element of trial_preds with np.nan to be the same length. Then, each time we compute average over time we should use np.nanmean to drop those values. What do you think? @robintibor  It would be great if we can have a test scenario with variable trial length which should work in the end.

The thing is as far as I understand the code we just forward the preds to skorch and have to rely on their logic to work, no idea what they do with regard to nanmean... have to look inside a bit again

It seems in this commit we removed the averaging of the predictions in the scoring function (see towards bottom):
https://github.com/braindecode/braindecode/commit/bd85babeeb9d90848d9e938b8f3946be2649cce6
This breaks some use cases, actually then it's also not really a "cropped trial" rather a "cropped crop" scoring function right?

Probably here it's explained what is supposed to happen: https://github.com/braindecode/braindecode/pull/171 Maybe this you meant with the nanmean there?

But regarding nan padding and nanmean... not so sure if it is good idea, seems make everything even harder to understand and also will hide errors when you actually do have nans inside.... wonder if there is a cleaner solution

@robintibor I think we can do this without nans. It's good you reminded me about this PR. The quickest solution would be in my opinion to rollback EpochScoring to this version:
            y_preds_per_trial = np.array(
                [np.mean(p, axis=1) for p in trial_preds]
            )

and change predict_proba to something hacky like this:
def predict_proba(self, X):
        y_pred = super().predict_proba(X)
        if self.cropped and len(y_pred.shape) == 3:
            return y_pred.mean(axis=-1)
        else:
            return y_pred

I tried in my fork https://github.com/sliwy/braindecode/tree/variable_trial_length, technically it works (at least test_cropped_decoding.py) but it gives different results than previously. You can try to find the problem there.  I think that it should be the quickest but hacky solution.

So is solved now with #224 , great.


Items Doesn't support maps whilst using map[string]string

Problem statement
I have this object:
// GroupSnapCreateRequest specifies a request to create a snapshot of given group.
// swagger:parameters snapVolumeGroup
type GroupSnapCreateRequest struct {
	// group id
	Id     string            `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Labels map[string]string `protobuf:"bytes,2,rep,name=Labels" json:"Labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

I’m getting . items doesn’t support maps
Swagger specification
// parameters:
// - name: groupspec
//   in: body
//   description: GroupSnap create request
//   required: true
//   schema:
//    "$ref": "#/definitions/GroupSnapCreateRequest"

Swagger 2.0 doesn't support map[string]* except through "additionalProperties".  I'm not sure how you would annotate this, or if it's even possible.

based on this:
https://github.com/go-swagger/go-swagger/issues/960
i figured map[string]string would be supported.

hmm looks like changing parameter to model worked?

after changing it to Model.

Okay, so it did generate additionalProperties under Labels.  That's good.


IDs not saved when I used stepper to go back and enter them

I tried creating a phenopacket without entering the phenopacket ID and individual ID. The validator will not let me create a phenopacket until I used the stepper to go back and enter this information. However, the values I entered were not saved.

If I try to use the validator from the "list" view it gives a new error.

@belkassaby The problem gets worse. I created a phenopacket by using the next button. It has saved the two ids properly with no validation errors. But when I go to the list, it is looking odd. The IDs are not showing up and if I validate again I get that error shown above.

But the IDs do exist and I can see them if I click on the ID.

I think this phenopacket is not listed, it is instead showing something else that is blank? See the turquoise x.

@belkassaby Here is a clue to what is happening. I tried this on the dev site. I created a phenopacket using the next buttons to get to the last page. It confirmed and saved, showing it fine on the list. Then I clicked on the validator button on the list page. No problems, but when it returned me to the list page, the ID information is gone.

Also the delete button is not working. I clicked it and it says it has been deleted, but the list still looks the same.

After trying a few times, I dont see the first error you pointed out: I can create the phenopacket correctly .

Then trying to delete the file works fine

But when trying to validate the file, that's when there is the bug, and then deleting doesnt work anymore too:

For the ID creation, can you try again after having cleaned up your cache? and confirm the bug I found when clicking on the validation button?

All of these have been fixed on the Dev site.


Script inherits from native type 'x', so it can't be instanced in object of type: 'ScriptEditorDebuggerInspectedObject'

Godot version
3.4.2.stable.official [45eaa2daf]
System information
Manjaro with Plasma KDE, Atx Radeon 580 GLES3
Issue description
In the code editor, if I have a particular script open when I save, I get the following error:
Script inherits from native type 'x', so it can't be instanced in object of type 'ScriptEditorDebuggerInspectedObject'.
Even though I don't use ScriptEditorDebuggerInspectedObject anywhere on my project.
After some testing in a new project it turns out this happens if

You have a tool script open
You are running your project
There has been a runtime error

You don't even need to set the scene inspector to Remote.
Related to #29506, which is closed, but I've managed to reproduce the bug in a minimal project.
Steps to reproduce

Create a tool script.
Run your project.
Cause an error (assert(false) suffices).
Save the tool script.

Minimal reproduction project
RemoteToolError.zip

Hello :)  Can anyone tell me if there is a solution for this.


Weird relationship behavior

I currently have something like the following:
export default class User extends Model
{
	static entity = 'users';

	static fields ()
	{
		return {
			first_name: this.attr(''),
			last_name: this.attr('')
		}
	}
}

export default class Invite extends Model
{
	static entity = 'invites';

	static fields ()
	{
		return {
			user: this.hasOne(User, 'userID'),
			code: this.attr('')
		}
	}
}

When I insert a Invite with a User attached to it, all works well.
So the following...
var user = {
	id: 1,
	first_name: 'John',
	last_name: 'Doe'
};

var invite = {
	id: 1,
	code: 'foobar',
	user: user
};

Invite.insert({ data: invite });

...works great.
But the weird thing is this: when after the above code I do this:
var user = {
	id: 2,
	first_name: 'Jane',
	last_name: 'Porter'
};

User.insert({ data: user });

And after that I do the following query:
store.getters['entities/invites']().withAll().get()

I somehow get the Invite, but then joined with Jane Porter instead of John Doe.
Is this expected behavior? What am I doing wrong..

@tafelnl Not sure exactly why that's happening, but you need to add few more schema definition on your Models.
export default class User extends Model
{
  static entity = 'users';

  static fields ()
  {
    return {
      id: this.attr(null), // <- You must define primary key.
      first_name: this.attr(''),
      last_name: this.attr('')
    }
  }
}

export default class Invite extends Model
{
  static entity = 'invites';

  static fields ()
  {
    return {
      id: this.attr(null), // <- You must define primary key.
      userID: this.attr(null), // <- You must define foreign key.
      user: this.hasOne(User, 'userID'),
      code: this.attr('')
    }
  }
}

Could you try adding fields mentioned above to the Models and try again? 😃

Ahh yeah, I think I was a little bit to enthusiastic when simplyifing my models to post here. When I'm at work I will double check it..

@tafelnl Thanks! Hope things go well 🤝

Closing issue due to inactivity. Please open a new issue if there's anything further to add. 👍


Add "pnpm-lock.yaml" to default file nesting patterns

"pnpm-lock.yaml" is lock file of pnpm, so it can be collapsed with "package.json".

Thanks!


Cast int and double as String

hi @javiercbk ,
Thanks for your awesome project, it is very helpful and saving much time when I want to generate json as dart class model.
But, sometime I found a weird json like this
[
    {
        "volume":123
    },
    {
        "volume":123.5
    },
    {
        "volume":null
    }
]

it will be awesome if there is an option to cast all int and double as String in your project..
thank you

Actually the library supports this but the frontend does not. I thought about providing hint to the generator and force it to choose a type even though it was not the one that it had detected.
this should be implemented in the frontend but sadly it is not a trivial amount of work.


Issue parsing multiple formulas in one line

For example: <!-- TBLFM: $5=($4/$2);%.2f::$6=($3/$4);%.2f -->

Ah, known issue, then. Good stuff. I was beginning to think I was losing my mind when my attempt at this formula failed:
<!-- TBLFM: @2$4..@>$4=((@+1$5-$5)/60)::@2$4..@>$4=if($4<0, 0, $4);%.2f -->


Who Hanged Up?

Hi,
I'm a Asterisk 11 user and I'm developing an windows service application using thi library to connect my PBX. Till here everything is working fine, I can send commands and read incoming event messages.
But now I need to develop a feature on my software based over one information that I thought it could be easy to retrieve. The information I'm looking for is - who hanged up?
I googled for it a lot and I could found a few answers, most of them talking about setup the G option on CDR and also some considerations about it. Still like this I couldn't grab any valuable information.
Maybe if I tell you about my working scenario you could help me. Lets go, I'm going to bullet split this:

I do have a caller calling from a cellphone and this calling are incoming to my internal PBX extension
My PSTN trunk is a E1/R2 directly to my PBX
No matter if caller or callee hangs up always I do have "normal clearing" message
I know I'm receiving from my service provider the information about my releasing device, because if I use my Siemens 3800 Hipath over CSTA I can retrieve this information.

So the gold question is: How can I retrieve who is the releasing device on this situation?
Thanks in advance,
Andrew Paes

It sounds like more of a Asterisk question than a AsterNET questions. So I don't have much of an answer for you.
I would suggest asking in the Asterisk forum about what AMI event to look for.
It does look like the ManagerEvent_Hangup as a "cause" property, try checking that if you haven't already.

The only way I could find after read Asterisk doc almost entirely was reading HangupRequest event messages.
HangupRequest event writes the messages like the following one:
Event: HangupRequest
Privilege: call,all
Channel: SIP/8103-000001be
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 8103
CallerIDName: Agent 8103
ConnectedLineNum:<PHONE_NUMBER>6
ConnectedLineName:<PHONE_NUMBER>6
Language: en
AccountCode:
Context: from-internal
Exten: 8100
Priority: 1
Uniqueid:<PHONE_NUMBER>.446
Linkedid:<PHONE_NUMBER>.445

So accordly to HangupRequest Event Asterisk documentation I could notice the channel in the message is the channel related to the releasing device, also CallerIDNum and CallerIDName are related to.
Since I know where to read this information I download tag v1.3.0 which I was using. Then wrote a HangupRequestEvent:
namespace AsterNET.Manager.Event
{
    public class HangupRequestEvent : AbstractChannelEvent
    {
        /// <summary>
        ///
        /// </summary>
        /// <param name="source"></param>
        public HangupRequestEvent(ManagerConnection source)
            : base(source)
        {
        }
    }
}

And include this on ManagerConnection.cs like:
public delegate void HangupRequestEventHandler(object sender, Event.HangupRequestEvent e);
public event EventHandler<HangupRequestEvent> HangupRequest;
Helper.RegisterEventHandler(registeredEventHandlers, 16, typeof(HangupRequestEvent));

also
case 15:
	if (Dial != null)
	{
		Dial(this, (DialEvent)e);
		return;
	}
	break;
case 16:
	if (HangupRequest != null)
	{
		HangupRequest(this, (HangupRequestEvent)e);
		return;
	}
	break;
case 17:
	if (DNDState != null)
	{
		DNDState(this, (DNDStateEvent)e);
		return;
	}
	break;

This feature is not implemented right now on the library, but I'm going to push over there and ask them to include on next release.
Yet I don't know where to read this information on FreePBX Admin.

You mean HangupRequestEvent isn't implemented in AsterNET?
Feel free to make a pull request with your change.

You mean HangupRequestEvent isn't implemented in AsterNET?
Feel free to make a pull request with your change.

Yeah, it isn't. I will, but I was working on version 1.3.0 and if I branch master to do it, there are many different things from 1.3.0.
What do you recommend; branch 1.3.0 or branch master?

What do you recommend; branch 1.3.0 or branch master?

Why not both? :woman_shrugging:
I don't expect 2.0.0 to be released any time soon, unless we suddenly get a lot more activity here. So might be more likely to post a small update to the 1.x.x branch.
That is what #206 is asking for too, I think.

What do you recommend; branch 1.3.0 or branch master?

Why not both? 🤷♀
I don't expect 2.0.0 to be released any time soon, unless we suddenly get a lot more activity here. So might be more likely to post a small update to the 1.x.x branch.
That is what #206 is asking for too, I think.

Are you guys using Giit Flow to manage this repo? Cuz I couldn't see any develop branch to work on.
Are you going to create any branch to work on or I should just work on this branch https://github.com/AsterNET/AsterNET/tree/AsterNET-1.x ?

I should just work on this branch https://github.com/AsterNET/AsterNET/tree/AsterNET-1.x ?

Yes.

I should just work on this branch https://github.com/AsterNET/AsterNET/tree/AsterNET-1.x ?

Yes.

Well, I'm trying to finish my 2019 tasklist and one things is on it is this issue. So I tried to finish it now and I can't. Could you please give me rights for it?
andrew.paes@TRUE07 MINGW64 /d/Projetos/AsterNET (AsterNET-1.x)
$ git push
ERROR: Permission to AsterNET/AsterNET.git denied to andrew-paes.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

I am not sure what you are trying to do, but you can make a pull request when using GitHub. I have never used pure Git, so I can't help you with how you would do that. But I guess you make a fork here on GitHub and push your changes to that, then make the pull request.

I am not sure what you are trying to do, but you can make a pull request when using GitHub. I have never used pure Git, so I can't help you with how you would do that. But I guess you make a fork here on GitHub and push your changes to that, then make the pull request.

Yeah, I was avoiding all these steps.. A bit lazy at the end of the year lol
The only other way would be putting me as colab, but nevermind. Tomorrow I think I can do it.
Tnx,


Use new Zenodo datasets in tests

WIP list of updates needed.
For https://zenodo.org/records/10257532:

[ ] Update to 2.0 workflow

For https://zenodo.org/records/10257149

[ ] Update to 2.0 workflow

The new tiny OME-Zarr dataset is available here: https://zenodo.org/records/13305156
The new small OME-Zarr dataset is available here: https://zenodo.org/records/13305316
cc @lorenzocerrone These test datasets now include masking ROI tables :)
@tcompa Can you update our test cases to use these new datasets?

@jluethi Thanks super useful for Ngio


RuntimeError: Given groups=1, weight of size [45, 3, 1, 7, 7], expected input[1, 204, 3, 112, 112] to have 3 channels

I tried to use the InitializationNotebook in scripts to test my own video, want to get the segmented video, but encountered such an error. I don't know why, but has anyone else been in the same situation.
RuntimeError: Given groups=1, weight of size [45, 3, 1, 7, 7], expected input[1, 204, 3, 112, 112] to have 3 channels, but got 204 channels instead

Same here!

Same issue. And I have been running it on videos from the dataset that authors provided.


Add support for international monetary indicators (Euro, Rupee, Ruble, etc.)

[ ] Euro €
[ ] Rupee ₹
[ ] Ruble ₽

These don't exist in any of our fonts currently so we'll want to add them to the fonts first.  I've opened https://github.com/KaTeX/katex-fonts/issues/18 to track that part of the work.

[ ] Won ₩
[ ] Yuan 元
[ ] Lira ₺
[ ] Baht ฿

@ribrdb I would create a new issue, as that sounds much easier to fix. Please let us know what symbols specifically. Thanks!

They feel roughly the same cost.  If we don't add real glyphs we still need to add fake metrics similar to what we do for Cyrillic.

Sorry, I meant: if there's an existing currency symbol such as \pounds that isn't working in text mode but isn't, then let us know in a separate issue. But yes, for these new symbols, adding to math and text mode are equally difficult and this is the issue for both.


Examples for customizing HTML Output and specific Charts

Not sure if this makes sense in on larger Issue but it would be good to have any examples on outputting to PDF with the specific outputs such as FairDistributionCurve or FairViolinPlot, or at least have a way to configure how the HTML report, you know how much executives love their branding :)
As an aside, is there anyway to change around the output of the Violin Chart specifically? The X Axis labels are horizontal but should ideally have a 60 or 45 degree offset, while that sound super whiny, we are building meta models from multiple scenarios per Threat Community and it usually ends up super busy and ugly. And another reason for my business leaders to sob uncontrollably in their Lambos
Thanks for any assistance in advance!

I will see what I can come up with this weekend on custom user reports. I made some (rather poor) design choices early on that make it difficult for someone without access to the source to easily make their own reports.
As someone who has spent a large percentage of his adult life tweaking reports for no discernable purpose, I can empathize. I think it makes sense to set the rotation to 45 for the violin plots going forward.

@theonaunheim awesome, I appreciate that.
Re: 1: I think something that could be interesting is an argument to specify a .css file, I took a look at it and it seems pretty simple to modify to make the colors the "right colors". To take it further, a way to provide a base HTML or better documentation on inserting HTML  or otherwise into the base for the report would be good. As quantitatively minded as FAIR is, we still have to write some more qualitative risk statements / exec. summaries to accompany our various scenarios and threat communities.
Re. 2: I really appreciate that, just helps with readability but as you can empathize you already know the futility of my situation regarding this. As an aside, it seems with the violin chart and a few others as well that when writing multiple reports to HTML (we do several 100) I am getting memory issues, is there a way to configure whatever you have underneath it (matplotlib, etc) to clear out memory after each report being written? Doesn't seem there is a way I can do it on my end.
Thanks again, this is an awesome project and saved us 100s of hours trying to mess around with Monte Carlo and BetaPERT madness in Python.

@jonrau1 , just FYI violin plot x-axis labels have been rotated in 0.2-beta.0.
Still working on custom user reporting and memory usage. In the mean time I've also added a Jupyter shim which may be useful: https://github.com/theonaunheim/pyfair/blob/dev/pyfair/report/jupyter.py

Thanks for the update @theonaunheim will mess with the Jupyter stuff a bit when time permits


No progress indication when reloading app

Problem description

Open your a Tabris.js application (with activated developer console) on an iOS device
open the developer console
reload from development server
no progress indication is shown until app restarts

Expected behavior
Developer console stays open showing some progress indicator until resources are loaded from server.
Then the developer console closes and the app restarts.
Environment

Tabris.js version: 2.x
Device: iPad 9.7 6th gen
OS: iOS 12.1.1

Closing this in favor of https://github.com/eclipsesource/tabris-js/issues/1778.

@mpost Same issue?

@cookieguru Corrected the link.


Add another check to re-enqueue the job if it’s not enqueued/dequeued correctly

Pipeline blocks are stuck on queued.
These are screen shots of different block on different pipelines on different days

will include it in version 0.9.46

This enhancement has been released


Remove base-bytes dependency

It's already present on ocaml >= 4.02 and since we use dune we will not build on
anything lower.

The tangible benefit of this change is that we no longer need ocamlfind to build and install cppo (base-bytes depends on ocamlfind).

thanks!


Run existing Validators on GCP

Motivation
Motivation for this is that we need to move things to GCP as a first step towards having Elastic Validators deployed on GCP.
Proposal
We are doing a few things here:

Creating a Dockerfile to build the "prod" docker container. This build is meant to be run on Google Cloud Build, since it would otherwise be slow for folks on new Apple Silicon Macs
Dynamically fetching and setting the worker IPs using the kube crate from Kubernetes

There's more work to be done here, this is just the first step. But I think it makes sense to merge this as is as we have a working solution. Please help me clean up this code and make it nice, if it isn't there yet :)
Next steps will be adding Prometheus metrics as well as cleaning things up so we have an easy to deploy and use "devnet". I'm planning on writing some scripts to make that as seamless as I can think of.
Test Plan
Deploy validators to GCP, call them through a client in my laptop to do a transaction and also benchmark, make sure both succeed and logs from Validator/Workers look clean and expected.
Release Plan

[x] All good!
[ ] Need to bump the major/minor version number in the next release of the crates.
[ ] Need to update the developer manual.
[ ] This PR is adding or removing Cargo features.
[ ] Release is blocked and/or tracked by other issues (see links above)

Reviewer Checklist

[ ] The title and the summary of the PR are short and descriptive.
[ ] The proposed solution achieves the goals stated in the PR.
[ ] The test plan is reproducible and provides sufficient coverage.
[ ] The release plan is adequate.
[ ] The commits correspond to distinct logical changes.
[ ] The code follows the coding guidelines.
[ ] The proposed changes look correct.
[ ] The CI is passing.
[x] All of the above!

Overall this is a good first step. IMO the biggest point for improvement would be the segregation of any kubernetes logic into feature-gates. This will improve compilation speed when not using kube and also lower cyclomatic complexity, nicely segregating any kube related logic from local development logic.

I can't plan changes, but I still need to make sure the Google Cloud build is succeeding with these changes


add gbif authentication

Use GBIF suer accounts and registry-ws to authenticate users and potentially assign roles (would need to be added to registry):
https://github.com/gbif/data-repo/blob/master/data-repo-ws/pom.xml#L323
https://github.com/gbif/data-repo/tree/master/data-repo-ws/src/main/java/org/gbif/datarepo/auth/jwt

Added BasicAuth against the GBIF login API to authenticate credentials.
Added trusted gbif auth to retrieve a full user


SVG charts automatically update to total number of puzzles

When running hunt20, I noticed that the SVG charts generated in /team/X and /finishers didn't scale with the total number of puzzles.

Hi Ethan, what a coincidence! This issue is also fixed in much the same way in the GPH2020 codebase, which I've just imported into this repo. Thanks for noticing and sending in a patch!


Activity log not working

What happened?
Activity-log not working - showing wrong things. I was checking this NFT, and playing with the activity. Not working.

Video
https://user-images.githubusercontent.com/104380776/229151581-8e2c08ca-2ef3-4e44-ba1f-180ce0a5e6a4.mov
Please reproduce in steps
Open any NFT on RMRK2 - click on Activity and try it
Expected Behavior
shopw correct activity
What browsers are you seeing the problem on?
Chrome
At which address did you encounter bug?
beta.kodadot.xyz
Are you logged in?
None
Which wallet you are using?
No response
Screenshots

Relevant log output
No response
Payment link for reward
https://kodadot.xyz/transfer/?target=<My_Kusama_Address_check_https://github.com/kodadot/nft-gallery/blob/main/CONTRIBUTING.md#creating-your-ksm-address>
Code of Conduct

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

ah, i see the problem, you are only deselecting one at a time - if its grey that means that its selected - by default when you open the gallery item, all settings are active.
@JustLuuuu I have to rethink bit the buttons or the default state when you open gallery, this should not happen :D

@JustLuuuu I have to rethink bit the buttons or the default state when you open gallery, this should not happen :D

lol, I thought its the opposite. I was sure that I'm selecting only one :DD

@JustLuuuu yeah, its my bad - it should be clear what state is selected - it could be confusing when you open that and everything is selected by default

UX researcher enters room


Question: Backreference possible?

with perlre it is possible to (back-)reference a capture group. Is this possible with this crate? Iwant to write regex like r"(.)(.)\2\1".
Thanks in advance,
Silvio

Nope. The first sentences of the documentation explain why:

This crate provides a native implementation of regular expressions that is heavily based on RE2 both in syntax and in implementation. Notably, backreferences and arbitrary lookahead/lookbehind assertions are not provided. In return, regular expression searching provided by this package has excellent worst-case performance.

Hups! Sorry! ... and thanks

Hi @BurntSushi!
Feels like the link is dead and it would be good to update it given that this issue occurs among the first ones in Google for queries like rust rg backreference

Fixed, thanks. Note that the answer is still literally in the first paragraph of the crate documentation.

Thanks!

Note that the answer is still literally in the first paragraph of the crate documentation.

For sure :) It's just a small improve to enhance Google'ability (e.g. I knew this fact, but just wanted to make a quick check)


Feature Request: Add a way to use additional aliases for the edit window

Feature Requested
Hi there! Love the plugin! I just have a small request- I have a keybinding vim.keymap.set("<leader>w", vim.cmd.w) that I use to save usually, and that ends up throwing an error in the snippet edit window since I'm not calling :w directly. Is there a way to add additional aliases?
I'm not a plugin author by any means, but maybe there could be a special buffer type here https://github.com/chrisgrieser/nvim-scissors/blob/f7a24fbbb10c1c87f1907e57de5f384cc01baf24/lua/scissors/edit-popup.lua#L161 instead of nofile? Does that work with ftplugin files? (or is that just filetypes)
Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.

That does not work, because the snippet window isn't a real file.
Is there a reason why you  not just setting the saveChanges keymap off this plugin to <leader>w?

That does not work, because the snippet window isn't a real file.

Ah, darn

Why you not just set the saveChanges keymap of this plugin to w?

Mostly because I also do :w as well. Just kind of depends how fast I'm typing at the moment 🙃

So if both, <leader>w as well as :w are covered, what exactly is your issue then?

Sorry - should have clarified, I was trying to teach myself to use <CR> too. But until that muscle memory started working, I figured it might be nice to have multiple options. (I was thinking of a few ways to access jumpBetweenBodyAndPrefix too)

Ah, so you want to be able to set multiple keymaps?

Yes, that's a better way of putting 😄

If you set your keymap like this:
vim.keymap.set("n", "<leader>w", ":w<CR>")

Then <leader>w will work to save the snippet, regardless of what you set the saveChanges key to. (It needs to be via : for nvim-scissors overwrite to take effect).
This means that you can use <CR> for saveChanges as well, giving you a total of 3 options for how you can save changes. Adding extra options for multiple keymaps beyond that feels somewhat unnecessary for me.
If there are other people also requesting the multiple keymaps, I'll reconsider, though.


Can not superimpose 2 UV/VIS

https://react-science.pages.dev/pages/demo#?filelist=https%3A%2F%2Fzakodium-oss.github.io%2Fanalysis-dataset%2Fuvvis.json
@wadjih-bencheikh18 Could you check why there is an issue when we try to superimpsoe 2 spectra ?

There is still a bug if you unselect everything, you can not select anymore after. No spectrum will be displayed.

There is still a bug if you unselect everything

@lpatiny bug fixed


Running Local (Aidbox form challenges)

 (Problem Common to Beda and Local Installation)

Tried directly accessing the Aidbox form builder. One created local was throwing this error. (This was not the issue, If I run aidbox locally, but only in this beda fhir-emr compose.

Was able to cross this error:
By removing this flag: env/aidbox
AIDBOX_SDC_ENABLED=false
and/or changing devbox aidbox image to edge, and devbox-db to aidboxdb:17 on compose.yaml
and this created questionnariretheme resources and aidbox form builder was loading successfully. However while importing the forms from the aidbox forms from the latest version was giving these error
Screenshot from aidbox/bedaemr (my local was the same result)

on further analysis there is no struturedefinition resource. Looks like it might have been introduced on fhir 4.0.1 but we were using 4.0.0 on beda, tried few changes on environment variable taking from docker-compose from aidbox as reference and added to env/aidbox with no luck
docker-compose.yaml from aidbox


Sponge crashes on startup (7.1.4)

So a quick explanation: I got a clean install of spongevanilla spongevanilla-1.12.2-7.1.4.jar renamed it to sponge.jar and launched it without any plugins or whatever and it just crashes. It seems it has to do with launchwrapper for some reason but I do not know how to fix it myself or if there is an easy fix for this problem. And since I only installed sponge this seemed like the best place.
I can provide the config too but that is basically a standard config anyways.
java -jar sponge.jar nogui < commando used to launch the server(in ubuntu)
error below:
Downloading launchwrapper-1.12.jar... This can take a while.
https://libraries.minecraft.net/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar
Successfully downloaded launchwrapper-1.12.jar and verified checksum!
Exception in thread "main" java.lang.NoClassDefFoundError: net/minecraft/launchwrapper/Launch
at org.spongepowered.server.launch.VanillaServerMain.main(VanillaServerMain.java:126)
at org.spongepowered.server.launch.VersionCheckingMain.main(VersionCheckingMain.java:38)
Caused by: java.lang.ClassNotFoundException: net.minecraft.launchwrapper.Launch
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 2 more

I can't reproduce this issue. Can you try running SpongeVanilla from a fresh directory?

I ran it in a new directory and got the same issue:
java -Xmx3072M -Xms3072m -jar sponge.jar nogui
Downloading the versions manifest...
Downloading minecraft_server.1.12.2.jar... This can take a while.
https://launcher.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar
Successfully downloaded minecraft_server.1.12.2.jar and verified checksum!
Downloading launchwrapper-1.12.jar... This can take a while.
https://libraries.minecraft.net/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar
Successfully downloaded launchwrapper-1.12.jar and verified checksum!
Exception in thread "main" java.lang.NoClassDefFoundError: net/minecraft/launchwrapper/Launch
at org.spongepowered.server.launch.VanillaServerMain.main(VanillaServerMain.java:126)
at org.spongepowered.server.launch.VersionCheckingMain.main(VersionCheckingMain.java:38)
Caused by: java.lang.ClassNotFoundException: net.minecraft.launchwrapper.Launch
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 2 more

Ok I did fix it let me tell yu the problem:
the launchwrapper didn't like openjdk on linux so I needed to install oracle jdk which fixed the problem I had. Anyways thanks for the attempt to help this issue can be closed.


Add _tests folder with a set of test file to run against the application

Is your feature request related to a problem?
It would be cool to be able to provide a set of test file that will run against the application to validate if the solution is actually passing.
Describe the solution you'd like.
Add the ability to create a _test folder with tests for that specific lesson.
Describe alternatives you've considered.

Additional context
No response

You can add test cases in the _files and src/templates, and then create a script in package.json that runs your test script. Then in the mainCommand you can defined this script to be run.
Something like this should work:
src/
├── content
│   └── tutorial
│       ├── meta.md
│       └── math
│           └── exercies
│               ├── meta.md
│               └── sum
│                   ├── meta.md
│                   ├── _files
│                   │   └── sum.js
│                   └── _solution
│                       └── sum.js
└── templates
    └── default
        ├── sum.test.js
        └── package.json

// _files/sum.js
export function sum(a, b) {
  return 0; // TODO Fix me
}

// _solution/sum.js
export function sum (a, b) {
  return a + b;
}

// templates/default/sum.test.ts
test('sum adds numbers', () => {
  expect(sum(2, 3)).toBe(5);
});

// package.json
"scripts": {
  "test": "<your test runner command here>"
}

// meta.md
mainCommand: ["npm run test", "Running tests"]

@AriPerkkio would that gate users from proceeding to the next lesson (or some other type of indication that they "successfully completed" the challenge)? If not, I think that sort of functionality would be super useful

We don't yet provide any way for preventing users from proceeding the tutorials without completing previous lessons.
I think for this feature we could add support for:

Run test cases against code editor's current code
Show results of these test cases in the UI
Optionally set UI to hide "Next lesson"-link when test cases do not pass. Note that this doesn't prevent navigating via URL as TutorialKit's Astro builds are just static files.

For the test cases we could provide our own test() / it() function that either renders ✅ on UI when pass, or ❌ when the given callback throws.

@AriPerkkio would that gate users from proceeding to the next lesson (or some other type of indication that they "successfully completed" the challenge)? If not, I think that sort of functionality would be super useful

Yeah that was my idea and i think i like this idea from @AriPerkkio

For the test cases we could provide our own test() / it() function that either renders ✅ on UI when pass, or ❌ when the given callback throws.


Comments on Timer Utilities

No headers or anything on your timer utilities

again, other than usual comments, otherwise looks good.

fixed in current trunk version


deps: tools: up octosql to v0.8.0

Details are here https://github.com/cube2222/octosql/releases/tag/v0.8.0.

https://github.com/kamilsk/dotfiles/commit/4083573d1ea069ef81693447e98fa5a99af13b10


Replace short function names with aliases

All one word function names have been renamed to avoid clashes
with aliases. Those functions are then aliased to their original
name.
Fixes #351

@lukesampson Please review these changes before merging them in. Just want to make sure you're happy with how I've named internal commands.


Update create table

Closes #52, #53
PR checklist

[x] This comment contains a description of changes (with reason).
[x] If you've fixed a bug or added code that should be tested, add tests!

[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/genomenote branch on the nf-core/test-datasets repository.

[ ] Make sure your code lints (nf-core lint).
[x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

(just added a commit to change the branding, as in the other pipelines :) )


Impl Posterize

Hi @Michael-Lfx ,
I appreciate your enthusiasm for contributing to the repository, but could you please hold off on porting more of the shaders? @BradLarson and I are working through them together and I am documenting all the math behind them. We were actually preparing to port the effects this week. Thanks.
Janie


How to use $in condition in search_filters

When using hybrid search and vector search, how to use $in condition filtering on fields in metadata, such as filtering by document id list.

I'm facing the same problem. I'd like to use $gte for example. So far, I haven’t found a clear method to do it through the API or the provided functions. I've had a look into the source code. Regarding the hybrid_search function we can only pass in dictionaries of the format dict[str, Union[bool, int, str]], this will then be dumped into a JSON string. So it seems the intention is to only do exact matches. For the search function it is very explicit:
        mapped_filters = {
            key: {"$eq": value} for key, value in filters.items()
        }

This limits us strictly to exact equality.
Interestingly though, the mapped filters are eventually passed to the build_filters function, which seem to provide the operators we are looking for:
                    "$eq",
                    "$ne",
                    "$lt",
                    "$lte",
                    "$gt",
                    "$gte",
                    "$in",

But I was not able to utilize it for the hybrid search because this violates the parameter type.
Does anyone know for sure if this is a current limitation, or perhaps there’s a technique or workaround that I’ve missed?

Hey All,
Thanks for the great feedback on requesting the full filter logic to be exposed, we will address this in a PR that will be merged in shortly - https://github.com/SciPhi-AI/R2R/pull/859


export 'nextTick' was not found in 'vue'

If you are reporting a bug, please fill in below. Otherwise feel free to remove this template entirely.
Description
What are you reporting?
Running "npm run dev" after a clean installation, it shows:
in ./node_modules/vue-gtag/dist/vue-gtag.esm.js
"export 'nextTick' was not found in 'vue'
An the app does not compile
Expected behavior
Happily compile
Actual behavior
it shows
in ./node_modules/vue-gtag/dist/vue-gtag.esm.js
"export 'nextTick' was not found in 'vue'
and a blanck screen
Environment
Run this command in the project folder and fill in their results:
npm ls vue-gtag:
<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>Then, specify:

Operating system:
Ubuntu 20
Browser and version:
Chrome Version 90.0.4430.93 (Official Build) (64-bit)

Reproducible Demo
Please take the time to create a new app that reproduces the issue or at least some code example
Demonstrable issues gets fixed faster.

Hello @SumentsJavi can I ask you what Vue version are you running it with?

From "package.json", on the dependencies: "vue": "2.6.11",

I thought so. Version 2.x of vue-gtag is for vue 3 only, so you need to install 1.x or use Vue 3.
I see that vue-gtag is a dependency on another package for you, so you might want to redirect your issue to them.

I have the same issue, I'm using nuxt js, does this package not work in nuxt?

You have to give me a bit more insights on your setup. What Vue version and what 'vue-gtag' version

I have the same problem with Nuxt


Remove duplicate global margin

global margin variable was being declared twice - removed duplicate

Note: this needs the docs to be adjusted as well (https://github.com/zurb/foundation-sites/issues/7101), but I wasn't sure which comment was the right one.

The docs are automatically generated from this list, so it updates automatically.


Fix NPE when loading maps with terraintypes

Simple null pointer check, enable loading of Tiled maps containing terraintpyes

Cool thanks. Would you mind add a bullet point in the CHANGELOG.md for this? Thanks.

Ok, I've added the bullet in CHANGELOG.md

Thanks!

Thanks to you!


Tag master for Symfony 7

@sfmok could you please tag/release the changes in master? Would love to use this bundle in Symfony 7, since the FOSRestBundle body_converter within cannot be used anymore (and this bundle fills that gap easily).

@sfmok can you please tag master?

@sfmok can you please tag master?

Thanks for your comment. Soon, I will release a new version that supports symfony 7

@ping-localhost A new version (1.2.6) has been released that supports Symfony 7.


We can't search the data on LIKE query

How do i search the data using LIKE in query

whereStartsWith, whereEndsWith, whereContains

@nahid
How can search for multiple columns on JSON Data?
For Example:
{
"products": [
{"id":1, "user_id": 2, "city": "bsl", "name":"iPhone", "cat":1, "price": 80000},
{"id":2, "user_id": 2, "city": null, "name":"Macbook Pro", "cat": 2, "price": 150000},
{"id":3, "user_id": 2, "city": "dhk", "name":"Redmi 3S Prime", "cat": 1, "price": 12000},
{"id":4, "user_id": 1, "city": null, "name":"Redmi 4X", "cat":1, "price": 15000},
{"id":5, "user_id": 1, "city": "bsl", "name":"Macbook Air", "cat": 2, "price": 110000},
{"id":6, "user_id": 2, "city": null, "name":"Macbook Air Mini", "cat": 2, "price": 105000}
]
}
I want to search the name and city both column search. It is possible??
I've Tried whereContains method but it is not working.
cc: @shaan24k  @sergiuwd  @me-shaon  @lo00l

Yes its possible. Try this
$data = $jsonq->from('products')->where('name', '=', 'iPhone')->where('city', '=', 'bsl')->get();

@nahid
I want to search in multiple columns orwhereContains with multiple columns.?
In Above Example Json Data I'm trying to search Redmi then I want to check this string constraint on Name and City Column?.
Can you please help me with this
Thanks


App Crashes on full-screen button pressed for LANDSCAPE!

Hey,
Thanks for the package!
But there's an issue which is a very fundamental one:
The app functions nicely, until the ** Full-Screen Button for Landscape mode** is pressed
Actions to crash the app:
Open App --> Let the video play --> Press FullScreen Icon --> App Crashes
Request you to please look into the issue.
Any help is hugely appreciated!
Thanks.

V/AudioTrack(30277): obtainBuffer(754) returned 0 = 0 + 0 err -11 I/Choreographer(30277): Skipped 31 frames!  The application may be doing too much work on its main thread. V/AudioTrack(30277): obtainBuffer(754) returned 3840 = 754 + 3086 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3086 = 650 + 2436 err 0 V/AudioTrack(30277): obtainBuffer(1272) returned 2436 = 1272 + 1164 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1164 = 1164 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1164 = 1164 + 0 err 0 V/AudioTrack(30277): obtainBuffer(758) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(758) returned 3840 = 758 + 3082 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3082 = 902 + 2180 err 0 V/AudioTrack(30277): obtainBuffer(1020) returned 2180 = 1020 + 1160 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1160 = 1160 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1160 = 1160 + 0 err 0 V/AudioTrack(30277): obtainBuffer(762) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(762) returned 3840 = 762 + 3078 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3078 = 1154 + 1924 err 0 V/AudioTrack(30277): obtainBuffer(768) returned 1924 = 768 + 1156 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1156 = 1156 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1156 = 1156 + 0 err 0 V/AudioTrack(30277): obtainBuffer(766) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(766) returned 3840 = 766 + 3074 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3074 = 1406 + 1668 err 0 V/AudioTrack(30277): obtainBuffer(516) returned 1668 = 516 + 1152 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1152 = 1152 + 0 err 0 W/ContentCatcher(30277): Failed to notify a WebView V/AudioTrack(30277): obtainBuffer(1922) returned 1152 = 1152 + 0 err 0 V/AudioTrack(30277): obtainBuffer(770) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(770) returned 3840 = 770 + 3070 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3070 = 1658 + 1412 err 0 V/AudioTrack(30277): obtainBuffer(264) returned 1412 = 264 + 1148 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1148 = 1148 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1148 = 1148 + 0 err 0 V/AudioTrack(30277): obtainBuffer(774) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(774) returned 2432 = 774 + 1658 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3066 = 1910 + 1156 err 0 V/AudioTrack(30277): obtainBuffer(12) returned 1156 = 12 + 1144 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1144 = 1144 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1144 = 1144 + 0 err 0 V/AudioTrack(30277): obtainBuffer(778) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(778) returned 3840 = 778 + 3062 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3062 = 1922 + 1140 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1140 = 240 + 900 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1140 = 240 + 900 err 0 V/AudioTrack(30277): obtainBuffer(1682) returned 900 = 900 + 0 err 0 V/AudioTrack(30277): obtainBuffer(782) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(782) returned 2944 = 782 + 2162 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3058 = 1922 + 1136 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1136 = 492 + 644 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1136 = 492 + 644 err 0 V/AudioTrack(30277): obtainBuffer(1430) returned 644 = 644 + 0 err 0 V/AudioTrack(30277): obtainBuffer(786) returned 0 = 0 + 0 err -11 W/ContentCatcher(30277): Failed to notify a WebView I/Adreno  (30277): DequeueBuffer: dequeueBuffer failed V/AudioTrack(30277): obtainBuffer(786) returned 3840 = 786 + 3054 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3054 = 1922 + 1132 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1132 = 744 + 388 err 0 I/Adreno  (30277): DequeueBuffer: dequeueBuffer failed I/Adreno  (30277): DequeueBuffer: dequeueBuffer failed W/OpenGLRenderer(30277): swapBuffers encountered EGL error 12301 on 0x78dd1ff780, halting rendering... V/AudioTrack(30277): obtainBuffer(1922) returned 1132 = 744 + 388 err 0 V/AudioTrack(30277): obtainBuffer(1178) returned 388 = 388 + 0 err 0 V/AudioTrack(30277): obtainBuffer(790) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(790) returned 3840 = 790 + 3050 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3050 = 1922 + 1128 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1128 = 996 + 132 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1128 = 996 + 132 err 0 V/AudioTrack(30277): obtainBuffer(926) returned 132 = 132 + 0 err 0 V/AudioTrack(30277): obtainBuffer(794) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(794) returned 3840 = 794 + 3046 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3046 = 1922 + 1124 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1124 = 1124 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1124 = 1124 + 0 err 0 V/AudioTrack(30277): obtainBuffer(798) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(798) returned 3840 = 124 + 3716 err 0 V/AudioTrack(30277): obtainBuffer(674) returned 3716 = 674 + 3042 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3042 = 1922 + 1120 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1120 = 1120 + 0 err 0 W/AudioManager(30277): Use of stream types is deprecated for operations other than volume control W/AudioManager(30277): See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case V/AudioTrack(30277): obtainBuffer(1922) returned 1120 = 1120 + 0 err 0 V/AudioTrack(30277): obtainBuffer(802) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(802) returned 3840 = 380 + 3460 err 0 V/AudioTrack(30277): obtainBuffer(422) returned 3460 = 422 + 3038 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3038 = 1922 + 1116 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1116 = 1116 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1116 = 1116 + 0 err 0 V/AudioTrack(30277): obtainBuffer(806) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(806) returned 3840 = 636 + 3204 err 0 V/AudioTrack(30277): obtainBuffer(170) returned 3204 = 170 + 3034 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3034 = 1922 + 1112 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1112 = 1112 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1112 = 1112 + 0 err 0 V/AudioTrack(30277): obtainBuffer(810) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(810) returned 3840 = 810 + 3030 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3030 = 82 + 2948 err 0 V/AudioTrack(30277): obtainBuffer(1840) returned 2948 = 1840 + 1108 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1108 = 1108 + 0 err 0 I/flutter (30277): VideoData {"duration":266.461,"videoUrl":"https://www.youtube.com/watch?t=13&v=BBAyRBTfsOU","availableQualityLevels":["hd1080","hd720","large","medium","small","tiny","auto"],"videoEmbedCode":"<iframe width=\"100\" height=\"100\" src=\"https://www.youtube.com/embed/\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>"} V/AudioTrack(30277): obtainBuffer(1922) returned 1108 = 1108 + 0 err 0 V/AudioTrack(30277): obtainBuffer(814) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(814) returned 3840 = 814 + 3026 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3026 = 334 + 2692 err 0 V/AudioTrack(30277): obtainBuffer(1588) returned 2692 = 1588 + 1104 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1104 = 1104 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1104 = 1104 + 0 err 0 V/AudioTrack(30277): obtainBuffer(818) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(818) returned 3840 = 818 + 3022 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3022 = 586 + 2436 err 0 V/AudioTrack(30277): obtainBuffer(1336) returned 2436 = 1336 + 1100 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1100 = 1100 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1100 = 1100 + 0 err 0 V/AudioTrack(30277): obtainBuffer(822) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(822) returned 3840 = 822 + 3018 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3018 = 838 + 2180 err 0 V/AudioTrack(30277): obtainBuffer(1084) returned 2180 = 1084 + 1096 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1096 = 1096 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1096 = 1096 + 0 err 0 V/AudioTrack(30277): obtainBuffer(826) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(826) returned 3840 = 826 + 3014 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3014 = 1090 + 1924 err 0 V/AudioTrack(30277): obtainBuffer(832) returned 1924 = 832 + 1092 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1092 = 1092 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1092 = 1092 + 0 err 0 V/AudioTrack(30277): obtainBuffer(830) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(830) returned 3840 = 830 + 3010 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3010 = 1342 + 1668 err 0 V/AudioTrack(30277): obtainBuffer(580) returned 1668 = 580 + 1088 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1088 = 1088 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1088 = 1088 + 0 err 0 V/AudioTrack(30277): obtainBuffer(834) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(834) returned 2176 = 834 + 1342 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1342 = 1342 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3006 = 1594 + 1412 err 0 V/AudioTrack(30277): obtainBuffer(328) returned 1412 = 328 + 1084 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1084 = 1084 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1084 = 1084 + 0 err 0 V/AudioTrack(30277): obtainBuffer(838) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(838) returned 3840 = 838 + 3002 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 3002 = 1846 + 1156 err 0 V/AudioTrack(30277): obtainBuffer(76) returned 1156 = 76 + 1080 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1080 = 1080 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1080 = 1080 + 0 err 0 V/AudioTrack(30277): obtainBuffer(842) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(842) returned 2688 = 842 + 1846 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2998 = 1922 + 1076 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1076 = 176 + 900 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1076 = 176 + 900 err 0 V/AudioTrack(30277): obtainBuffer(1746) returned 900 = 900 + 0 err 0 V/AudioTrack(30277): obtainBuffer(846) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(846) returned 3840 = 846 + 2994 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2994 = 1922 + 1072 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1072 = 428 + 644 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1072 = 428 + 644 err 0 V/AudioTrack(30277): obtainBuffer(1494) returned 644 = 644 + 0 err 0 V/AudioTrack(30277): obtainBuffer(850) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(850) returned 3840 = 850 + 2990 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2990 = 1922 + 1068 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1068 = 680 + 388 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1068 = 680 + 388 err 0 V/AudioTrack(30277): obtainBuffer(1242) returned 388 = 388 + 0 err 0 V/AudioTrack(30277): obtainBuffer(854) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(854) returned 3840 = 854 + 2986 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2986 = 1922 + 1064 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1064 = 932 + 132 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1064 = 932 + 132 err 0 V/AudioTrack(30277): obtainBuffer(990) returned 132 = 132 + 0 err 0 V/AudioTrack(30277): obtainBuffer(858) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(858) returned 3840 = 858 + 2982 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2982 = 1922 + 1060 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1060 = 1060 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1060 = 1060 + 0 err 0 V/AudioTrack(30277): obtainBuffer(862) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(862) returned 3840 = 124 + 3716 err 0 V/AudioTrack(30277): obtainBuffer(738) returned 3716 = 738 + 2978 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2978 = 1922 + 1056 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1056 = 1056 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1056 = 1056 + 0 err 0 V/AudioTrack(30277): obtainBuffer(866) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(866) returned 3840 = 380 + 3460 err 0 V/AudioTrack(30277): obtainBuffer(486) returned 3460 = 486 + 2974 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2974 = 1922 + 1052 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1052 = 1052 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1052 = 1052 + 0 err 0 V/AudioTrack(30277): obtainBuffer(870) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(870) returned 3840 = 636 + 3204 err 0 V/AudioTrack(30277): obtainBuffer(234) returned 3204 = 234 + 2970 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2970 = 1922 + 1048 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1048 = 1048 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1048 = 1048 + 0 err 0 V/AudioTrack(30277): obtainBuffer(874) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(874) returned 3840 = 874 + 2966 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2966 = 18 + 2948 err 0 V/AudioTrack(30277): obtainBuffer(1904) returned 2948 = 1904 + 1044 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1044 = 1044 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1044 = 1044 + 0 err 0 V/AudioTrack(30277): obtainBuffer(878) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(878) returned 3840 = 878 + 2962 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2962 = 270 + 2692 err 0 V/AudioTrack(30277): obtainBuffer(1652) returned 2692 = 1652 + 1040 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1040 = 1040 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1040 = 1040 + 0 err 0 V/AudioTrack(30277): obtainBuffer(882) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(882) returned 3840 = 882 + 2958 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2958 = 522 + 2436 err 0 V/AudioTrack(30277): obtainBuffer(1400) returned 2436 = 1400 + 1036 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1036 = 1036 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1036 = 1036 + 0 err 0 V/AudioTrack(30277): obtainBuffer(886) returned 0 = 0 + 0 err -11 W/ContentCatcher(30277): Failed to notify a WebView V/AudioTrack(30277): obtainBuffer(886) returned 3840 = 886 + 2954 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2954 = 774 + 2180 err 0 V/AudioTrack(30277): obtainBuffer(1148) returned 2180 = 1148 + 1032 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1032 = 1032 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1032 = 1032 + 0 err 0 V/AudioTrack(30277): obtainBuffer(890) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(890) returned 3840 = 890 + 2950 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2950 = 1026 + 1924 err 0 V/AudioTrack(30277): obtainBuffer(896) returned 1924 = 896 + 1028 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1028 = 1028 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1028 = 1028 + 0 err 0 V/AudioTrack(30277): obtainBuffer(894) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(894) returned 3840 = 894 + 2946 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2946 = 1278 + 1668 err 0 V/AudioTrack(30277): obtainBuffer(644) returned 1668 = 644 + 1024 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1024 = 1024 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1024 = 1024 + 0 err 0 V/AudioTrack(30277): obtainBuffer(898) returned 0 = 0 + 0 err -11 V/AudioTrack(30277): obtainBuffer(898) returned 2176 = 898 + 1278 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 2942 = 1530 + 1412 err 0 V/AudioTrack(30277): obtainBuffer(392) returned 1412 = 392 + 1020 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1020 = 1020 + 0 err 0 V/AudioTrack(30277): obtainBuffer(1922) returned 1020 = 1020 + 0 err 0 V/AudioTrack(30277): obtainBuffer(902) returned 0 = 0 + 0 err -11 D/        (30277): PlayerBase::stop() from IPlayer D/AudioTrack(30277): stop() called with 869764 frames delivered V/AudioTrack(30277): obtainBuffer(902) returned 0 = 0 + 0 err -4 W/AudioManager(30277): Use of stream types is deprecated for operations other than volume control W/AudioManager(30277): See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case I/Choreographer(30277): Skipped 36 frames!  The application may be doing too much work on its main thread. W/ContentCatcher(30277): Failed to notify a WebView D/AndroidRuntime(30277): Shutting down VM E/AndroidRuntime(30277): FATAL EXCEPTION: main E/AndroidRuntime(30277): Process: np.com.sarbagyastha.youtube_player_flutter_example, PID: 30277 E/AndroidRuntime(30277): java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.DisplayAdjustments android.view.Display.getDisplayAdjustments()' on a null object reference E/AndroidRuntime(30277):        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1761) E/AndroidRuntime(30277):        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1505) E/AndroidRuntime(30277):        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7354) E/AndroidRuntime(30277):        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1092) E/AndroidRuntime(30277):        at android.view.Choreographer.doCallbacks(Choreographer.java:888) E/AndroidRuntime(30277):        at android.view.Choreographer.doFrame(Choreographer.java:819) E/AndroidRuntime(30277):        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1078) E/AndroidRuntime(30277):        at android.os.Handler.handleCallback(Handler.java:873) E/AndroidRuntime(30277):        at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(30277):        at android.os.Looper.loop(Looper.java:201) E/AndroidRuntime(30277):        at android.app.ActivityThread.main(ActivityThread.java:6810) E/AndroidRuntime(30277):        at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(30277):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) E/AndroidRuntime(30277):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) I/Process (30277): Sending signal. PID: 30277 SIG: 9 Lost connection to device.

The Error ☝

`import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:youtube_player_flutter/youtube_player_flutter.dart';
void main() {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Color(0xFFFF0000),
));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Youtube Player Demo',
theme: ThemeData(
brightness: Brightness.dark,
primarySwatch: Colors.red,
appBarTheme: AppBarTheme(color: Color(0xFFFF0000)),
scaffoldBackgroundColor: Colors.black,
),
home: MyHomePage(title: 'Youtube Player Demo'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
YoutubePlayerController _controller = YoutubePlayerController();
var _idController = TextEditingController();
var _seekToController = TextEditingController();
double _volume = 100;
bool _muted = false;
String _playerStatus = "";
String _errorCode = '0';
String _videoId = "BBAyRBTfsOU";
void listener() {
if (_controller.value.playerState == PlayerState.ENDED) {
_showThankYouDialog();
}
setState(() {
_playerStatus = _controller.value.playerState.toString();
_errorCode = _controller.value.errorCode.toString();
});
}
@override
void deactivate() {
// This pauses video while navigating to next page.
_controller.pause();
super.deactivate();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: YoutubeScaffold(
fullScreenOnOrientationChange: true,
child: Scaffold(
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            YoutubePlayer(
              context: context,
              videoId: _videoId,
              flags: YoutubePlayerFlags(
                hideFullScreenButton: true,
                mute: false,
                autoPlay: false,
                forceHideAnnotation: true,
                showVideoProgressIndicator: true,
                disableDragSeek: false,
              ),
              videoProgressIndicatorColor: Color(0xFFFF0000),
              actions: <Widget>[
                IconButton(
                  icon: Icon(
                    Icons.arrow_back_ios,
                    color: Colors.white,
                    size: 20.0,
                  ),
                  onPressed: () {},
                ),
                Text(
                  'Hello! This is a test title.',
                  style: TextStyle(
                    color: Colors.white,
                    fontSize: 18.0,
                  ),
                ),
                Spacer(),
                IconButton(
                  icon: Icon(
                    Icons.settings,
                    color: Colors.white,
                    size: 25.0,
                  ),
                  onPressed: () {},
                ),
              ],
              progressColors: ProgressColors(
                playedColor: Color(0xFFFF0000),
                handleColor: Color(0xFFFF4433),
              ),
              onPlayerInitialized: (controller) {
                _controller = controller;
                _controller.addListener(listener);
              },
            ),
            SizedBox(
              height: 10.0,
            ),
            /* Padding(
              padding: EdgeInsets.all(8.0),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: <Widget>[
                  TextFormField(
                    controller: _idController,
                    decoration: InputDecoration(
                        border: OutlineInputBorder(),
                        hintText: "Enter youtube \<video id\> or \<link\>"),
                  ),
                  SizedBox(
                    height: 10.0,
                  ),
                  InkWell(
                    onTap: () {
                      setState(() {
                        _videoId = _idController.text;
                        // If text is link then converting to corresponding id.
                        if (_videoId.contains("http"))
                          _videoId = YoutubePlayer.convertUrlToId(_videoId);
                      });
                    },
                    child: Container(
                      padding: EdgeInsets.symmetric(
                        vertical: 16.0,
                      ),
                      color: Color(0xFFFF0000),
                      child: Text(
                        "PLAY",
                        style: TextStyle(fontSize: 18.0, color: Colors.white),
                        textAlign: TextAlign.center,
                      ),
                    ),
                  ),
                  SizedBox(
                    height: 10.0,
                  ),
                  Row(
                    mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                    children: <Widget>[
                      IconButton(
                        icon: Icon(
                          _controller.value.isPlaying
                              ? Icons.play_arrow
                              : Icons.pause,
                        ),
                        onPressed: () {
                          _controller.value.isPlaying
                              ? _controller.pause()
                              : _controller.play();
                          setState(() {});
                        },
                      ),
                      IconButton(
                        icon:
                            Icon(_muted ? Icons.volume_off : Icons.volume_up),
                        onPressed: () {
                          _muted ? _controller.unMute() : _controller.mute();
                          setState(() {
                            _muted = !_muted;
                          });
                        },
                      ),
                      IconButton(
                        icon: Icon(Icons.fullscreen),
                        onPressed: () => _controller.enterFullScreen(),
                      ),
                    ],
                  ),
                  SizedBox(
                    height: 10.0,
                  ),
                  TextField(
                    controller: _seekToController,
                    keyboardType: TextInputType.number,
                    decoration: InputDecoration(
                      border: OutlineInputBorder(),
                      hintText: "Seek to seconds",
                      suffixIcon: Padding(
                        padding: EdgeInsets.all(5.0),
                        child: OutlineButton(
                          child: Text("Seek"),
                          onPressed: () => _controller.seekTo(
                                Duration(
                                  seconds: int.parse(_seekToController.text),
                                ),
                              ),
                        ),
                      ),
                    ),
                  ),
                  SizedBox(
                    height: 10.0,
                  ),
                  Row(
                    children: <Widget>[
                      Text(
                        "Volume",
                        style: TextStyle(fontWeight: FontWeight.w300),
                      ),
                      Expanded(
                        child: Slider(
                          inactiveColor: Colors.transparent,
                          value: _volume,
                          min: 0.0,
                          max: 100.0,
                          divisions: 10,
                          label: '${(_volume).round()}',
                          onChanged: (value) {
                            setState(() {
                              _volume = value;
                            });
                            _controller.setVolume(_volume.round());
                          },
                        ),
                      ),
                    ],
                  ),
                  Padding(
                    padding: EdgeInsets.all(8.0),
                    child: Text(
                      "Status: $_playerStatus",
                      style: TextStyle(
                        fontWeight: FontWeight.w300,
                      ),
                      textAlign: TextAlign.center,
                    ),
                  ),
                  Padding(
                    padding: EdgeInsets.all(8.0),
                    child: Text(
                      "Error Code: $_errorCode",
                      style: TextStyle(
                        fontWeight: FontWeight.w300,
                      ),
                      textAlign: TextAlign.center,
                    ),
                  ),
                ],
              ),
            ), */
          ],
        ),
      ),
    ),
  ),
);

}
void _showThankYouDialog() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Video Ended"),
content: Text("Thank you for trying the plugin!"),
);
},
);
}
}
`

The Code. ☝

Note: The App also crashes on multiple Orientation Changes

@punkooz What's your device brand and model ? There's a bug in flutter for chinese device mnufacturer regarding Platform Views. There's also a PR for it. This crashing issue will only fix after the PR rolls into Flutter engine.

Device:
Redmi Note6 Pro
Any workaround till the bug gets fixed?

I'm having the exact same issue with a Samsung S8+ , Android v9, youtube_player_flutter: ^4.1.0

There's no workaround currently. Fixed the fullscreen mechanism with Version 5 to minimize the crash.

Finally fixed with Version 6.0.0.

Just received a similar error on Version 6.0.3+2 while playing Youtube Video on a Redmi device.
Some of the device details:

Causes a fatal crash and a lot of bad reviews and churn of our users. Please help.
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.DisplayAdjustments android.view.Display.getDisplayAdjustments()' on a null object reference
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1783)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1527)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7394)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1036)
       at android.view.Choreographer.doCallbacks(Choreographer.java:832)
       at android.view.Choreographer.doFrame(Choreographer.java:767)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
       at android.os.Handler.handleCallback(Handler.java:873)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:201)
       at android.app.ActivityThread.main(ActivityThread.java:6810)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)


Improve software component discovery

Every time the CLI is called the component discovery has to run.
It even needs to compile and execute the code to get information about the CLI.
This may not be performant enough for the future.
It may also be interesting to aggregate install and configure steps from multiple components into separate command groups:
dagos install git miniconda tinytex
dagos configure miniconda
dagos manage git configure

The performance of the chosen solution seems to be fine and the intended behavior stated at the outset of this issue is implemented. If a need for optimization arises in the future, a dedicated issue should be created.