feat: cleaner json usage within curl snippets

This slightly modifies the cURL snippet target to clean up how it handles JSON payloads into rendering them on multiple lines.
This is what they currently look like:
curl --request POST \
  --url http://mockbin.com/har \
  --header 'content-type: application/json' \
  --data '{"number":1,"string":"f\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":{}}],"boolean":false}'

With this change:
curl --request POST \
  --url http://mockbin.com/har \
  --header 'content-type: application/json' \
  --data '
{
  "number": 1,
  "string": "f\"oo",
  "arr": [
    1,
    2,
    3
  ],
  "nested": {
    "a": "b"
  },
  "arr_mix": [
    1,
    "a",
    {
      "arr_mix_nested": {}
    }
  ],
  "boolean": false
}
'

🐳  Things to note

I don't love how arrays and objects get blown out if they're small enough to be able to fit on a single line (like arr is above), but the stringify-object library that's used throughout this library for doing prettification of objects removes quotes from object keys, which in this case would result in invalid JSON from being sent.
If the JSON payload has a ' quote within it, we can't wrap that in a --data string without busting STDIN so instead we wrap the JSON within a HEREDOC:

curl --request POST \
  --url http://mockbin.com/har \
  --header 'content-type: application/json' \
  --data @- <<EOF
{
  "number": 1,
  "string": "f'oo"
}
EOF

To prevent miniscule JSON payloads from getting blown out snippets, if the stringified JSON is less than or equal to 20 characters we'll render it on one line:

curl --request POST \
  --url http://mockbin.com/har \
  --header 'content-type: application/json' \
  --data '{"foo":null}'

@erunion I was going to merge this for the next release, but with the conflicts I didnt feel confident fixing them up for you (happened due to the change from #227)
Mind fixing it up and ill merge it later.

@reynolek I just fixed the merge conflict so this should be good to go after Travis gives it the 👍


Unable to setup Kafka Cluster

I had no issues building and running the program until it was time to add a Kafka cluster. When running the kafka-create-cluster.sh file I received the following message:

Trying <IP_ADDRESS>...
TCP_NODELAY set
Connection failed
connect to <IP_ADDRESS> port 29092 failed: Connection refused
Trying ::1...
TCP_NODELAY set
Connection failed
connect to ::1 port 29092 failed: Connection refused
Failed to connect to localhost port 29092: Connection refused
Closing connection 0

Any suggestions? Thanks.

Windows, macOS or Linux?
Ports in your logs are wrong, maybe your IDE automatically change formatting of this file?

MacOS, using terminal, what should the ports be?

You can check ports in docker-compose.yml. Kafka expose 9092 ports. And also you can create this cluster via GUI using Kafka Manager (localhost:9000)

HI,
We are getting this error. Can you please check this?
Thanks

@digitalibi documents-service is written using Kotlin. Eclipse can have a problem with this language without additional plugins. Try IntelliJ instead Eclipse or read this -> https://kotlinlang.org/docs/tutorials/getting-started-eclipse.html


chore: prepare for renaming the default branch from master to main

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Clarify that shard allocations settings are not mutually exclusive

I also tested "zoneA" with camel case like that and it works.

retest this please


Default behavior on deserialization of List<T> is to append to the collection instead of replacing it.

Source/destination types
public class Sample
{
    public List<int> Integers { get; set; }
    public Sample() =>
        Integers = new List<int> { 1 };
}

Source/destination JSON
{
    "integers": [ 2, 3 ]
}

Expected behavior
I expected Sample.Integers to contain 2 and 3.
Actual behavior
Sample.Integers contained 1, 2, and 3.
Steps to reproduce
using Newtonsoft.Json;

string configuration = "{ \"integers\": [ 2, 3 ] }";
var sample = JsonConvert.DeserializeObject<Sample>(configuration);
Console.WriteLine(string.Join(",", sample.Integers));
_ = Console.ReadKey();

public class Sample
{
    public List<int> Integers { get; set; }
    public Sample() =>
        Integers = new List<int> { 1 };
}

For clarity, this behavior can be changed by specifying ObjectCreationHandling.Replace in your JsonSerializerSettings. This issue is focused on understanding why the default behavior is to try to add elements to the collection.

@tacosontitan I think this is mainly to allow scenarios where the constructor creates the collection, and the collection type is custom, or not exposed.
public class Sample
{
	public IEnumerable<int> Integers { get; set; }
	public Sample() =>
		Integers = new HashSet<int> { 1 };
}

If you try this with the following calling code
		string configuration = "{ \"integers\": [ 2, 3 ] }";
		var ser = new JsonSerializerSettings()
		{
			ObjectCreationHandling = ObjectCreationHandling.Replace
		};
		var sample1a = JsonConvert.DeserializeObject<Sample>(configuration);
		Console.WriteLine(sample1a.Integers.GetType());
		Console.WriteLine(string.Join(",", sample1a.Integers));
		var sample1b = JsonConvert.DeserializeObject<Sample>(configuration,ser);
		Console.WriteLine(sample1b.Integers.GetType());
		Console.WriteLine(string.Join(",", sample1b.Integers));

You get
System.Collections.Generic.HashSet`1[System.Int32]
1,2,3
System.Collections.Generic.List`1[System.Int32]
2,3

Since the behaviour, requirements, and performance for the class may be improved by using a HashSet instead of a List, and the fact that Newtonsoft.Json cannot tell what type to use, you can initialize the collection beforehand. If you don't, or you force Json.Net to create/replace the collection, it uses List<T>.
If 'default' values are added to the collection type, you can always ensure they are cleared before deserializing (without having to use JsonSerializerSettings by adding
	[OnDeserializing]
	internal void OnDeserializingMethod(StreamingContext context)
	{
		(Integers as ICollection<int>)?.Clear();
	}

to the Sample class.
In this case you get
System.Collections.Generic.HashSet`1[System.Int32]
1,2
System.Collections.Generic.List`1[System.Int32]
2,3

It should be noted that you can make Integers read only. In this case Newtonsoft.Json will silently 'fail' case b as it cannot replace the object.
	public IEnumerable<int> Integers { get; }

And (assuming you don't have the OnDeserializing -> Clear function) you get
System.Collections.Generic.HashSet`1[System.Int32]
1,2,3
System.Collections.Generic.HashSet`1[System.Int32]
1

I grant you that it may not be intuitive in all cases, but it is very powerful (especially if you don't necessarily own all the classes).
Newtonsoft.Json tries to do a lot of stuff for you, and sometimes causes problems because of it (see the issues around date handling). If you want something 'simpler' and more rigid, you might want to use System.Text.Json instead.


Feature/add full deep link support to kotlin sample

Add full support for deep links in Kotlin Analytics.
This adds a new top-level API addDeepLinkOpen() function to the Analytics functions that people will use to manually track the app opening from a deep link.

Codecov Report
Base: 78.32% // Head: 78.32% // No change to project coverage :thumbsup:

Coverage data is based on head (244815d) compared to base (fc5d0a9).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #133   +/-   ##
=========================================
  Coverage     78.32%   78.32%
  Complexity      477      477
=========================================
  Files            71       71
  Lines          5914     5914
  Branches        736      736
=========================================
  Hits           4632     4632
  Misses          708      708
  Partials        574      574

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


fix: handle scoped packages with _index on package root

Fixes #284
Like I mentioned in the issue, there's still a bug when I cmd/ctrl + click the link @use "@foo/bar"; where VS Code tries to open the file of that name. I wasn't able to figure out where and how to fix that.

Thanks @wkillerud. I added anothe commy to fix open. The reason was a unnecessary encoding of the @.
I updated the test in the following way

@use '@foo/bar/baz resolves to<EMAIL_ADDRESS>@use '@foo/bar resolves to<EMAIL_ADDRESS>
Please speak up, if I misunderstand how @use works

Nice, thank you!

@use '@foo/bar/baz resolves to<EMAIL_ADDRESS>
If _baz.scss exists, yes. Otherwise it might resolve to:

<EMAIL_ADDRESS>(non-partial)
<EMAIL_ADDRESS>(where baz is another directory with an index file))

@use '@foo/bar resolves to<EMAIL_ADDRESS>
Yes

If _baz.scss exists, yes. Otherwise it might resolve to:

<EMAIL_ADDRESS>(non-partial)
<EMAIL_ADDRESS>(where baz is another directory with an index file))

Yes, that's how it's implemented.


where is run.sh or how do you build this?

The readme.md states "run build.sh to build docker image" but there is no build.sh at least for the bot / docker image.
I tried docker-compose and it outputs this:
=> CANCELED [openttddiscord_bot internal] load metadata for mcr.microsoft.com/dotnet/core/runtime:3.1             0.0s
=> CANCELED [openttddiscord_bot internal] load metadata for mcr.microsoft.com/dotnet/core/sdk:3.1                 0.0s
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to parse stage name ":latest": invalid reference format

Hello,
I need to update readme indeed. Instead of using single docker image (as I was doing that in the past) I changed recently this repository to use docker compose.
Could you run ./run.sh on normal linux and ./run.pi.sh if you are using raspbian?
I am going to check if it works 100% on the weekend.

Hello @shoter
Can I provide some help to you? I believe it would be nice to hold your ideas with GitHub Issues, so people could see whats in progress and where is help needed.

@iTKerry I am glad to hear that! :)
Currently I want to accomplish some changes by myself but there is an repository that is going to host Admin Port C# client which is going to be used by this repo. It has some tasks which require some attention.
https://github.com/shoter/OpenTTDAdminPort/projects/1
For example usage of ILogger is very scarce and it's hard to analyze errors and behavior of AdminPortClient. If it could have more logs then it would be perfect. I only put some logigng last time when I was debugging weird behavior on docker tests.
My future plan is to bring this repo in par with OpenTTDAdminPort repo. I have few objectives I want to accomplish:

Create modular structure of the OpenTTDDisocrd behaviors. With that it should be easy to extend it's functionalities.
Increase amount of tests
Create automatic tests in github actions pipeline
attach codecov tool to this repo.

I am going to create issues from few of those items though.

Been having a go at trying to get this version to work, since the last version doesn't seem to work anymore on the latest server versions. ;(
All I keep getting is this...
`Step 6/14 : RUN dotnet publish -c release -o /app --no-restore
---> Running in 5d5019d6380f
Microsoft (R) Build Engine version 16.7.2+b60ddb6f4 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
/usr/share/dotnet/sdk/3.1.410/Microsoft.Common.CurrentVersion.targets(1177,5): error MSB3971: The reference assemblies for ".NETFramework,Version=v5.0" were not found. You might be using an older .NET SDK to target .NET 5.0 or higher. Update Visual Studio and/or your .NET SDK. [/source/OpenttdDiscord/OpenttdDiscord.csproj]
ERROR: Service 'bot' failed to build: The command '/bin/sh -c dotnet publish -c release -o /app --no-restore' returned a non-zero code: 1
`

I updated documentation on how to run bot.
@Tintinfan Are u using master branch? There is also 1 feature branch which I am using to port OpenTTD discord to NET5 and new standalone admin port client and it looks like you are using this branch. Master does not use NET5.
I also checked on my raspberry pi and bot builds fine.

@shoter Aha! I was on the feature/portClientNew branch. Just moved to master now and re-checked. It has built and run. Thanks for updated docs. Docker-compose looking to be preforming better too.

@shoter Do you use JGRs Patchpack? I have an issue where chat messages from the server to discord are delayed by up to 5 minutes, or don't get sent to Discord at all. It works fine from Discord to the server and also works fine for the vanilla version of OpenTTD.

We use vanilla OpenTTD with some NewGRF - nothing special.
Usually when I see big delay I just restart the bot. I am working on new version and I planned new features for future so I hope that experience is going to get better and better.
Could you also try to send some rcon commands through this bot? Create channel just for you and bot and:
@BotMention register_admin_channel ServerName prefix

For example you could use ! as a prefix and then you could execute some simple commands to see how long it takes for bot to execute them. For example you could type:
!clients

and it should return list of clients.

Hey,
Thanks for the reply and all your help. I had setup the admin_channel and passing commands like !pause and !clients also take a long time to respond. Everything works perfect with vanilla OpenTTD however. To be honest, I feel it is an issue with JGR patchpack - given it was working fine with versions prior to v0.41.1 which broke his multiplayer.

It works like this:

Bot establishes TCP connection with the server.
Bot sends AdminJoinMessage
Bot waits for incoming packages to initialize himself for given server. ConnectingState
Bot can now normally communicate with the server based on what functionalities you unlocked. Communication is based on official documentation and some reverse engineering to know what the hell is happening.

(I took some source code from my upcoming new admin port client library, however currently OpenttdDiscord bot works in the same way as AdminPortClient was based on OpenttdDiscord).
It is weird that admin port behaves in such a way for JGRP. Do not know what to say though :\

I updated my bot and it seems very responsive.

I updated my own bot and it seems very responsive.

Very responsive with JGRP?

I updated my own bot and it seems very responsive.

Very responsive with JGRP?

I only tested with Vanilla.


Fix varlist include path for hyprutils

With 0.41.1, some utilities moved to hyprutils. Most includes are still fine, but VarList now also lives there instead of main source

Thank you!


Fix Honda not braking down to 0

Fixes openpilot not braking to zero if using Honda's stock ACC and the speed goes below the ACC minimum engage speed

Do you know if this or something similar can be done for Toyotas that disengage acc at speeds below 30kph?

This fix is in a file that isn’t Honda specific. It may work for Toyota too. If it doesn’t then I would contact spektor56 as I worked with him to develop this fix.
On Jul 15, 2022, at 1:20 AM, Luis Grases @.***> wrote:

Do you know if this or something similar can be done for Toyotas that disengage acc at speeds below 30kph?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsunnyhaibin%2Fsunnypilot%2Fpull%2F70%23issuecomment-1185254484&data=05|01||fa98d184c66a4c33c60808da663289e3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637934664496186139|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=51pDCuB%2F0fMXunNtQQ5HIZxKTD7F3XE4YXHhSghuNNA%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACQBQRCD74VVCMDVDTQDMWDVUEGM7ANCNFSM52M6WAOA&data=05|01||fa98d184c66a4c33c60808da663289e3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637934664496186139|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XSQC4LqmtIxrK%2FaFbriOzS8jmbCodPgCmeXKR4k6o2I%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for the PR. This behavior should be fixed in the latest sunnypilot.


Gitonga kevin patch 1

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

New logo

Codecov Report

Merging #11892 (a1ec63d) into master (a9f9c4b) will decrease coverage by 11.48%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #11892       +/-   ##
===========================================
- Coverage   65.76%   54.27%   -11.49%
===========================================
  Files         873      420      -453
  Lines       42316    14790    -27526
  Branches     3972     3809      -163
===========================================
- Hits        27827     8027    -19800
+ Misses      14374     6763     -7611
+ Partials      115        0      -115

Flag
Coverage Δ

cypress
54.27% <ø> (+3.82%)
:arrow_up:

javascript
?

python
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...uperset-frontend/src/dashboard/util/dnd-reorder.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...rset-frontend/src/dashboard/util/getEmptyLayout.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...dashboard/components/resizable/ResizableHandle.jsx
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/dashboard/util/getFilterScopeFromNodesTree.js
0.00% <0.00%> (-93.48%)
:arrow_down:

...src/dashboard/components/gridComponents/Header.jsx
10.52% <0.00%> (-86.85%)
:arrow_down:

...rc/dashboard/components/gridComponents/Divider.jsx
13.33% <0.00%> (-86.67%)
:arrow_down:

...ontend/src/dashboard/util/getDashboardFilterKey.ts
14.28% <0.00%> (-85.72%)
:arrow_down:

...src/components/FilterableTable/FilterableTable.tsx
2.64% <0.00%> (-83.43%)
:arrow_down:

...set-frontend/src/views/CRUD/welcome/EmptyState.tsx
5.71% <0.00%> (-82.10%)
:arrow_down:

...et-frontend/src/components/ListView/ActionsBar.tsx
11.11% <0.00%> (-81.20%)
:arrow_down:

... and 773 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a9f9c4b...a1ec63d. Read the comment docs.


Usecase and usage are unclear

Issue
Usecase is unclear, so is usage.
Potential resolution
Add documentation.

Advocating the tool for some usecases
Justifying docker_vcs' usefulness for some of the potentially common usecases. Although these usecases are relatively easily achieved by the combination of a few docker CLI on the host + bash CLI inside a Docker container, it can get tedious, and little things can be easilly missed in repeated processes.

UC-1. You already have source to work on on your host. You want to build and test-executing them inside Docker container. To start, you just want to pass the path of (catkin /) ament workspace into Docker container can be done as easy as docker run -v $PATH_HOST:/ament_ws/src. Then, the series of commands to be done in order to build the workspace may be fairly similar for many developes, doesn't it? E.g.source /opt/ros/$ROSDISTRO/setup.bash
cd /ament_ws/src
apt update && rosdep update && rosdep install --from-paths src --ignore-src -r -y
colcon build

Good on a development host.

UC-2. You don't have workspace on your host yet, all you have is x.repos file that can be used to clone multiple repositories by batch using vcstool. You just want to pass that to some tool and in return want a Docker image that contains the built packages from all repositories defined in the x.repos file.

Good on a CI host e.g. online dev repository.

UC-3. In addition to x.repos file, you have a Dockerfile as you had to define some custom steps in installation and/or building.

Good on a CI host e.g. online dev repository where you need custom steps in installation and/or building, e.g.

Dependency has to be "manually" installed.

rosdep cannot install those packages, because the packages your package depends on are not available in rosdep database.
Custom apt source (i.e. /etc/apt/sources.list.d/YOUR.list in Debian/Ubuntu), key server, are needed.

You need a special library where installation steps are already defined in a custom executable and you need to execute it.


Flow

Hi @SammyK,
Thank you for your amazing work!
If you don't mind I would ask you a couple of questions.
I read your articles on https://www.sammyk.me
I read your documentation.
I'm practicing on a personal project hosted on my localhost running with Laravel 4.2.
My Facebook app is well configured.
So I have a page "/login" which displays 3 social login buttons "1)Facebook" ; "2)Google" ; "3)Twitter"
When I click on "1)Facebook" it redirects to "/auth/facebook" and starts the login flow.
What is the purpose of the following line?
Facebook::setAccessToken($token);

Once this line is executed, I can perform FbGraph requests.
What happens if user go to another page? For example "/profile"
On this route, I need to perform a request on the FbGraph again.
For now, if I try it says:
Method Facebook\Entities\AccessToken::__toString() must return a string value"

What is the flow I'm missing from the first steps? I guess I need to store the token to the session then retrieve it from the route /profile to be able to perform requests? I tought it was the work done by setAccessToken method! Is it?
Can you please give me some directions about the flow to follow? The goal of the token is to not be asked at each request. What is the best way to store it and use it.
With best regards,
J.

Hey Sammy,  I really appreciate all the work you have done with LaravelFacebookSdk.   I was not sure how to message you on github.   I just had a general architecture question.  I have the sdk up and working, and I am able to get the oauth working.  My issue is that I designed my user table to require a username and password.  I really do not have good values for these two columns given what is returned from facebook.  What would you recommend for this case where one would want to support regular site login and login with facebook?

Hey @tvmaly! I just wrote a blog post on Facebook login flow. You can skip down to the header, "Managing The User's 'Logged In' State With The Web Framework" and start reading from there. That should hopefully address your question. :)

Thanks Sammy for the blog post.  -Ty

Glad to help! :)

I got it all working now,  I ended up making my password field nullable, and I insert the fb id into the username field.  It is a little bit of a hack, but it does what I want it to do.

Yay! Glad you got it rocking! :)


ProtectedBranches.UpdateProtectedBranch doesn't seem to work

Hey there. I'm using v0.80.1
I think UpdateProtectedBranch method is broken.
I call it and I get an error
devPermission := gitlab.DeveloperPermissions
maintainerPermission := gitlab.MaintainerPermissions
_, _, err = c.gl.ProtectedBranches.UpdateProtectedBranch(project.ID, project.DefaultBranch, &gitlab.UpdateProtectedBranchOptions{
	AllowedToPush:  &[]*gitlab.BranchPermissionOptions{{AccessLevel: &maintainerPermission}},
	AllowedToMerge: &[]*gitlab.BranchPermissionOptions{{AccessLevel: &devPermission}},
})

SetMergePermissions error PATCH: 400 {error: allowed_to_push is invalid, allowed_to_merge is invalid}
RawQuery for the request is allowed_to_merge={<nil> <nil> <nil> 0xc0003f24d0}&allowed_to_push={<nil> <nil> <nil> 0xc0003f24d8}
I've tried to override NewRequest and send the payload in the body, but marshaling result was <unsupported type: []uint8>
Also, as far as I understood from docs, you have to send permission ID in the request. But BranchPermissionOptions struct lacks the field.

Looking at the examples this should indeed be a call the uses the request body to send the data instead of query params. Wonder if we need to add PATH to this line https://github.com/xanzy/go-gitlab/blob/master/gitlab.go#L579
I don't see anything re a permission ID in the examples... Care to share what you mean?

I mean this: https://docs.gitlab.com/ee/api/protected_branches.html#example-update-a-push_access_level-record
'{"allowed_to_push": [{"id": 12, "access_level": 0}]'

What's our next steps?

Is there any news on this issue, I can confirm that even on v0.81.0 this issue occurs, the only viable bypass would be to recreate the protected branch object, which is very inconvenient as requires an update to the approval rules (if attached directly to such branch) every time.

Work is being done in PR #1680 to fix this one...

For folks that don't want to modify the library there is a workaround that I've tested for managing push and merge rules on protected branches.


hxScout crashes when client attaches (next)

Typically hxScout uses legacy mode and is fairly stable. When compiled in Next, as soon as a client connects, hxScout crashes with a seg fault.
Called from ApplicationMain::main ApplicationMain.hx line 138
Called from ApplicationMain::create ApplicationMain.hx line 51
Called from lime.app.Application::exec lime/app/Application.hx line 218
Called from lime._backend.native.NativeApplication::exec lime/_backend/native/NativeApplication.hx line 100
Called from extern::cffi /home/jward/dev/hxcpp/src/hx/Lib.cpp line 133
Called from lime._backend.native.NativeApplication::handleRenderEvent lime/_backend/native/NativeApplication.hx line 58
Called from *::_Function_2_1 lime/app/Application.hx line 107
Called from lime.app.Application::render lime/app/Application.hx line 675
Called from openfl.display.Stage::render openfl/display/Stage.hx line 1086
Called from openfl._internal.renderer.opengl.GLRenderer::render openfl/_internal/renderer/opengl/GLRenderer.hx line 302
Called from openfl._internal.renderer.opengl.GLRenderer::renderDisplayObject openfl/_internal/renderer/opengl/GLRenderer.hx line 339
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObjectContainer::__renderGL openfl/display/DisplayObjectContainer.hx line 1022
Called from openfl.display.DisplayObject::__renderGL openfl/display/DisplayObject.hx line 1214
Called from openfl._internal.renderer.opengl.utils.GraphicsRenderer::render openfl/_internal/renderer/opengl/utils/GraphicsRenderer.hx line 804
Called from openfl._internal.renderer.opengl.utils.GraphicsRenderer::renderGraphics openfl/_internal/renderer/opengl/utils/GraphicsRenderer.hx line 827
Error : Null Object Reference

This line (bce286b3c838) fixes the above:
https://github.com/openfl/openfl/blob/88819606a70a97f6dc996e622861450f12c65765/openfl/_internal/renderer/opengl/utils/GraphicsRenderer.hx#L813


Bluetooth: avs-device-sdk 1.12.1 not able to control the music when profile is set to A2DP

Hello AVS Team,
I have pulseaudio 12.2 installed on my ubuntu machine and using avs-device-sdk 1.12.1 and blueZ version 1.42
I am able to control the music through avs-device-sdk.
But at the same time I am not able to control volume of bluetooth music from my phone.
There are some uncertain behaviours
I have the bluetooth.service file as given below:-
**[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd
NotifyAccess=main
#WatchdogSec=10
Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service**
But when I upgrade this bluetooth.service file by adding
ExecStart=/usr/lib/bluetooth/bluetoothd  --plugin=a2dp
My normal bluetooth volume control works fine but avs-device-sdk is not able to control the music at that time.
So, can you please share the correct bluetooth configuration to handle bluetooth control by both avs-device-sdk and phone.
Also please let me know the correct pulseaudio version to handle this as it is mention in the link:-
**Module                   |                                                                        Minimum version
PulseAudio and PulseAudio Bluetooth (or equivalent) -
Used to handle audio routing                                                          12.2 or earlier**
which is quiet confusing.
Thanks

Hi @sumit3817,
Can you elaborate on what "uncertain behaviors" mean? What happens when you try and change the volume from your phone?

Hi,
When I try to change the volume from phone, the music get paused.
But when I upgrade this bluetooth.service file by adding
ExecStart=/usr/lib/bluetooth/bluetoothd --plugin=a2dp
The volume control from my phone works, but at this time Alexa will respond “Sorry I can’t connect or control bluetooth on device yet”.
So please let me know if there is a need to change the bluetooth configuration or file?
Thanks,
Sumit

Hi @sumit3817,
We are aware of this specific bug and have a fix for it that will be released in a future update. You should use the previous configuration that gives control to the SDK.
In the meantime, you can apply the temporary fix in BlueZDeviceManager.cpp. Inside, the onMediaStreamPropertyChanged(...) callback, there is logic which checks if MEDIATRANSPORT_PROPERTY_STATE is in the changesMap. The fix is to exit early if the changesMap does not contain MEDIATRANSPORT_PROPERTY_STATE.

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.


Last completed withdrawal still shows Finish transaction

Last completed withdrawal still shows Finish transaction. To reproduce this one needs to finish the withdrawal transaction and move away from the page and come back to it

Clicking on Finish Transaction throws Ethereum transaction failed message

Closing as the withdrawal flow is changed/changing


Got error while attach to USB

Hi,
i try to attach on my iOS device (iOS 12.0), i change the frida session on python script like:
session = frida.get_usb_device().attach("imagent")
#session = frida.attach("imagent")
Hooking -[MessageServiceSession handler:incomingMessage:...] @ 0x211ef60f9
{'type': 'error', 'description': 'Error: unable to intercept function at 0x211ef60f9; please file a bug', 'stack': 'Error: unable to intercept function at 0x211ef60f9; please file a bug\n    at frida/runtime/core.js:387\n    at /script1.js:70', 'fileName': 'frida/runtime/core.js', 'lineNumber': 387, 'columnNumber': 1}
Press Ctrl-C to quit

https://github.com/googleprojectzero/iOS-messaging-tools/pull/1/commits/710173bbf07e25bfdcbf58fa0e0bd00d66d2f570

The offset is macOS dependent and not in any relation to your iOS version. what macOS are you running @masbog?


POC: allow connect options to be passed to the proxy

I'm looking to use this package in a product, but will need support to pass rejectUnauthorized, cert info, etc, into the proxy itself.  Right now, looking for the best approach to do this, and this is what I have so far.  Totally open for other approaches.
I noticed it's going to be hard to test things like rejectUnauthorized due to the various hacks in the tests - overriding DNS, etc :-) - been there, done that :heart:
Probably we'd want a separate set of tests, that don't set global env vars, override DNS, etc.

Ya, I have to test it in our product as well, see if it will do what we want, but I'd be adding more tests.
As mentioned ^^^, if we want to actually test rejectUnauthorized and checkServerIdentity(), that's likely not possible with the current tests with the overriding of env vars / DNS.  Note that we don't HAVE to specifically test those properties (though they are the ones I'll be using), could test something else that wouldn't be impacted by the current overrides.  Not seeing anything obvious though.  I suspect rejectUnauthorized will be the most popular usage of this feature, so it does feel like we should test that.
If we wanted to create tests not using the current overrides, feels like we should create a new directory for the existing tests under /test, and then create another directory under /test for these new tests that don't use overrides, and then the npm tasks would run both set of tests independently.  I think the NODE_EXTRA_CA_CERTS is the biggest problem, since I think it can ONLY be set from the CLI and can't be modified within the node runtime.
Alternatively, we could create some new keys/certs to just test those with the new proxy settings, not add those to the PEM file we're using but use them in the new tests, and also provide a way to turn the DNS override off (currently hard-coded "on" for the tests).

I'm fine with two subfolders inside /test :)

Closed in https://github.com/delvedor/hpagent/pull/72.


Ship yoga with a DB out the box ?

Motivation
In order to offer the simplest/quickest "ready-to-use" experience to beginners, we could optionally ship yoga with some kind of in-memory database such as sqlite or dynamodb in-memory.
This would allow newcomers to very easily persist their data and get started without any trouble.
Pros

Quick "Get Started" experience
Switchable to a proper database once the project is more advanced/in production

Cons

Heavier package with more dependencies

We'd love to hear you thought about this.

If the db is in memory I think it would be nice to avoid foisting learning docker on the user (or assuming they have that knowledge).
If the db is not in memory (dgraph, postgres, ...) then compose is actually probably the easiest way to go frankly.
If yoga has a modular architecture it shouldn't be necessary to bless something, though. Imagine:
$ yoga init

Then:
$ yoga db init <user's preferred system>

Examples:
$ yoga db init sqlite

$ yoga db init dgraph

$ yoga db init postgres

$ yoga db init prisma

Starting with modularity from the start may be a mistake (premature abstraction).
Right now the mvp seems to me like it would be sqlite, no docker 🤔

I'm late to the chat if I had chance I would say, ship sqlite db for local development and postgresql for production easier to deploy with heroku.

As lots of you might have seen, yoga is now shipped with Prisma.
In the light of Prisma v2 that won't require docker and will be shipped with SQLite + the Prisma SDK that will allow us to programmatically migrate, deploy and more, we have found lots of exciting use-cases that will enable a smooth experience.
You can already try out the scaffolding workflow (while still being wip and with some friction points).
Thanks everyone for your input, this issue might be re-opened in the future 🙏


Bug TwoWayGridView and UIL

While using the Universal Image Loader with a TwoWayGridView  or a GridView, when I scroll a lot of times the grid, all items goes away or hidden or mix with others item.
Sameone know how to resolve it?

Hi! Today, I have the same issue too (Sorry for my not well Eng.) I think it isn't UIL bug, because i had the same problem when I used just ArrayAdapter and android.R.layout.simple_list_item_1.
I don't know yet any solutions.


[BUG] import crewai takes >25 seconds

Description
import crewai takes >25 seconds
Steps to Reproduce

import crewai
run the script
wait 25 seconds or longer

Expected behavior
The library should be imported in fraction of second.
Screenshots/Code snippets
import time
start = time.time()

import crewai

print(time.time() - start)

Operating System
Windows 10
Python Version
3.12
crewAI Version
0.32.2
crewAI Tools Version
0.3.0
Virtual Environment
Venv
Evidence

Possible Solution
None
Additional context
None

I've tested this on another (faster) computer and I can confirm the bug is real.
I did some testing and it's worse every new update:
| version | time `import crewai` takes |
| ------- | -------------------------- |
| master  | 18.4s                      |
| v0.63.6 | 16.4s                      |
| v0.63.0 | 16.3s                      |
| v0.61.0 | 15.9s                      |
| v0.60.0 | 15.8s                      |
| v0.55.2 | 14.3s                      |
| v0.51.0 | 13.9s                      |
| v0.41.1 | 13.6s                      |
| v0.41.0 | 13.8s                      |
| v0.36.0 | 13.7s                      |
| v0.35.8 | 12.0s                      |
| v0.35.0 | 11.8s                      |
| v0.32.2 | 11.0s                      |
| v0.32.1 | 11.7s                      |
| v0.32.0 | 11.6s                      |
| v0.30.8 | 6.7s                       |
| v0.28.5 | 6.2s                       |
| v0.27.0 | 6.2s                       |

Just for comparison, I've also tested AutoGen and LangGraph:
| library    | time `import` takes |
| ---------- | ------------------- |
| crewai     | 18.4s               |
| autogen    |  2.2s               |
| langggraph |  2.3s               |

For some reason on Google Colab it's super-fast (like <0.001s). So I tried more things:

Downgraded Python from 3.12 to 3.10, because on Google Colab they have also Python 3.10. Result: It's a little bit faster - instead of 16s I've got 10s.
Since Google Colab uses Linux, I've tried to install Python 3.10 to Ubuntu using WSL. Result:  The same, still ~10s as on Windows.

I don't know what's going on here, but importing a Python Library definitely shouldn't take several seconds without even using it yet.

Thanks for calling this out, I have raised internally, will keep you posted

I've come across this tool (Tuna) so I generated some import crewai statistics using that tool:


Fetch from private git repo requires write token permission

What steps did you take:
I have an app that fetches from a private GH repo. For this I have created a token with read-only permissions to content in GH Application Token generation.
What happened:
The app fails to fetch with:
Git [fetch origin]: exit status 128 (stderr: remote: Write access to repository not granted

What did you expect:
Successful fetch
Anything else you would like to add:
Haven't tested this in vendir, as I'm using kapp-controller and that's where I need this to work. Latest vendir is some versions ahead.
Environment:

kapp Controller version (execute kubectl get deployment -n kapp-controller kapp-controller -o yaml and the annotation is kbld.k14s.io/images): 0.45.0 from cluster essentials from TMC
Kubernetes version (use kubectl version): 1.25.9

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

I am going to try and reproduce this with vendor, we might want to move it to carvel-dev/vendr if this is a vendir issue.
Thanks for the callout @jorgemoralespou !

Created a Private GH repository contains a simple app

Created a personal access token(new fine grained personal access token) for the selected simple-app-repo, has the permission Content: Read-Only and Metadata: Read-Only (it is mandatory to give readonly permission for metadata)

Created a Package CR that fetches this GitHub app(fetch url is in the format<EMAIL_ADDRESS>

Created a package install for the same

Deployed the package installs in the below versions of kapp controller

v0.45.0
v0.45.4
latest

The issue is not seen in the above mentioned versions.
Also tried to reproduce with the latest vendor version, issue is not seen there as well.

Reproduced myself as well and worked with current versions, so closing it.


Nested class named 'Name' is wrong, is it OK?

Steps To Reproduce
https://deck.net/5c6c4092fe14c0963c712f300607bdb8
public class Program
{
    protected abstract class Validation
    {
        private static class Options
        {
            public static class Name
            {
                public const int Minimum = 2;
                public const int Maximum = 400;
            }
        }
    }

    public static void Main()
    {
        var msg = "Hello, World!";

        Console.WriteLine(msg);
    }
}

Expected Result
Built successfully...

Actual Result
Exception:
Bridge.Contract.EmitterException: Nested class cannot have such name: Name. Please rename it.
   at Bridge.Translator.Inspector.VisitTypeDeclaration(TypeDeclaration typeDeclaration)
   at Bridge.Translator.Inspector.VisitTypeDeclaration(TypeDeclaration typeDeclaration)
   at Bridge.Translator.Inspector.VisitTypeDeclaration(TypeDeclaration typeDeclaration)
   at Bridge.Translator.Inspector.VisitTypeDeclaration(TypeDeclaration typeDeclaration)
   at ICSharpCode.NRefactory.CSharp.TypeDeclaration.AcceptVisitor(IAstVisitor visitor)
   at Bridge.Contract.Helpers.AcceptChildren(AstNode node, IAstVisitor visitor)
   at Bridge.Translator.Inspector.VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration)
   at ICSharpCode.NRefactory.CSharp.NamespaceDeclaration.AcceptVisitor(IAstVisitor visitor)
   at Bridge.Contract.Helpers.AcceptChildren(AstNode node, IAstVisitor visitor)
   at Bridge.Translator.Inspector.VisitSyntaxTree(SyntaxTree node)
   at Bridge.Translator.Translator.InspectTypes(MemberResolver resolver, IAssemblyInfo config)
   at Bridge.Translator.Translator.Translate()
   at Deck.Translator.Translate(String& output)
   at Deck.TranslateHandler.Translate(String csCode, String filter, String pos)

@hardhub, this is a very interesting bug.

See https://github.com/bridgedotnet/Bridge/issues/2961#issuecomment-318646411

The single change which we should change that only lower case name should be prefixed.

I think it is OK.
Considering all it is best option... to prefix only lower case "name".
It is much better than exception :)

One note, we prefix members only. Class with 'name' naming (lower case) will throw an exception still


Update test and build process

Alaska Airlines Pull Request
This update will remove the dependency on Travis CI and move all test and build processes to Github Actions.
Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Orion Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improved readability of workflow files

Description
Just improved readability of your workflow files.
Other changes
Nope

I don't think switching quote styling improves readability in any sense.
Also any PR you make will require approval for running the workflows. Just if wonder that you may gain access to it with one approval.


Title: Adding a game using html, css, js - Smash Monty Mole

Is your feature request related to a problem? Please describe.
This game is for entertainment.
Describe the solution you'd like.
The game involves clicking on randomly appearing moles to score points while avoiding randomly appearing piranha plants, as clicking on a plant ends the game. Moles and plants appear at random intervals on a 3x3 grid, and the score updates dynamically based on player actions.
Describe alternatives you've considered.
NA
Add any other context or screenshots about the feature request here.

@Kushal997-das can you please assign me the issue ?

@rugved0102  Tell me where you can contribute?

@SakiraAli1115 I can add this project in the basic folder of your Web dev project. It is a simple game using html, css and javascript.

Like under GSSoC'24 Extended Edition and Hacktoberfest?

@SakiraAli1115  in both GSSoC'24 ext and hacktoberfest.


attribute viewBox: Expected number, "0 0 NaN NaN".

In the resulting symbol.html file, there is some viewport that have <symbol viewBox="0 0 NaN NaN" ...
Chrome error :
<symbol> attribute viewBox: Expected number, "0 0 NaN NaN".

TS code :
    $.get("/Content/Img/sprite/sprite.svg", data => {
        const div = document.createElement("div");
        div.innerHTML = new XMLSerializer().serializeToString(data.documentElement); // Error Here
        div.style.display = "none";
        document.body.insertBefore(div, document.body.childNodes[0]);
    });

Gulp task :
gulp.task("build-svg-sprite", function () {
    return gulp.src("./Content/Img/**/*.svg")
      .pipe(svgSprite({
          mode: {
              symbol: { // symbol mode to build the SVG
                  dest: "sprite", // destination foldeer
                  prefix: ".svg--%s", // BEM-style prefix if styles rendered
                  sprite: "sprite.svg", //sprite name
                  example: true // Build sample page
              }
          },
          shape: {
              dimension: {
                  maxWidth: 2000,
                  maxHeight: 2000,
                  precision: 5,
                  attributes: false
              }
          },
          svg: {
              xmlDeclaration: true,
              dimensionAttributes: false
          }
      }))
      .pipe(gulp.dest("./Content/Img"));
});

@FelixLeChat Please provide as well the source SVG files used for creating the sprite. This sounds very much like a problem with (at least) one of the shapes.
(Btw. I'm on vacation right now and will likely not be able to debug this before mid of August; please bear with me)

I will check all svg for format error.

The only NAN in the symbol.html file is on :+1:
<symbol viewBox="0 0 NaN NaN" id="sprite--sprite">

It could be nice to have a check to remove the destination file from the source files if he is present

@FelixLeChat Sorry for this EXTREMELY late reply, but: I understand your wish to remove the target file(s) from the source file(s), but unfortunately this is beyond the scope of svg-sprite (respectively gulp-svg-sprite). The spriter (.pipe(svgSprite())) has no awareness of where you will output the files after compiling the sprite (.pipe(gulp.dest())), so how should it purge the target file from there? I guess you'll have to implement that yourself somewhere outside the spriting process.


fix(python): SDK docs build failing

you should probably add a workflow to verify that the generated code matches the current code and fail otherwise

you should probably add a workflow to verify that the generated code matches the current code and fail otherwise

Done

Don't we need to update the SDK version number in py-sdk/docs/conf.py too?

Good idea, added code to read it from pyproject.toml


Changes for the Myria Tutorial - Link to Jupyter and Loading Examples

Two changes:

Added a link at the top menu bar that points to the Jupyter Notebook.

Added a new tab that displays examples for loading different datasets from S3. This "Load Data" tab is now loaded first (before it used to be an "Examples" tab -- but that has been renamed to "Queries").

@senderista I know you're busy atm, so if you can't review this, feel free to reassign. I'm just not sure who else can.

I suck at JS, so I'm not the best person to review most of this. I think my comments above cover all the issues I noticed. Some of the JS seems sloppily formatted, so might use a pass through a formatter.

LGTM


fix the bug not setting iavl-cache-size value of app.toml - Triage finschia-sdk#679

Desc

Set iavl cache parameter while newApp() and change DefaultIAVLCacheSize value

Suggestion(Abandon/Maintain/Submit)

Maintain: finschia-sdk

Links

https://github.com/Finschia/finschia-sdk/pull/679

TODO: Check for abandon if this is no longer necessary after v0.50.2

TODO: Check for abandon if this is no longer necessary after v0.50.2

Setting iavl-cache-size is unnecessary(https://github.com/cosmos/cosmos-sdk/pull/13107).
But we may need changed default size // default 64MB

We have a default configuration which is 64MB.


Sort does not affect workflows inside folders any more

I noticed this regression a few days ago, but basically, sort no longer sorts items within a folder for some reason.
I've fully updated the plugin as well as requirements.txt.

As you can see, the folders are sorted, but not the workflows.

thanks for reporting, i think this happens only in subfolder now. will find a fix soon!

Hello! I notice this has now been resolved since the most recent set of updates. I'll close this issue now. Thanks! 👋


Non-RTP credit for M.Tech (Res) and Ph.D. students

Add a non-RTP credit option for Ph.D. and M.Tech.(Res) students.
These should not contribute to CGPA.
If grade is below a threshold, they should automatically be modified to 'audit'.

The new schema has a should_count_towards_cgpa column in the Participant table. So, the admin can set any enrollment to not be counted in CGPA calculation.

One more item to take care of while doing the enhancement. The new students have a 10-pt CGPA scale while the old students have an 8-pt CGPA scale.

Make it student editable.

What's the difference between Non-RTP credit and Audit? If there is a difference, is it enough to mark non-RTP credits to not count towards CGPA (like project credits)?

Registration type is now admin controlled; the admin can add "Non-RTP Audit", "Undergrad Credit", etc.


Aborting navigation throws undefined

Version
3.1.3
Reproduction link
https://jsfiddle.net/0ukqxgho/1/
Steps to reproduce
Click the /foo button, check the browser console for errors
What is expected?
An Error be thrown.
What is actually happening?
undefined is thrown.

The docs specify that if a navigation is aborted, then the promise returned by $router.push is rejected. This was causing me grief because I was trying to track down where an Uncaught (in promise) undefined error was being thrown - would have been helpful to have been able to narrow down the error faster.

See https://github.com/vuejs/vue-router/pull/3047


ContextualLexer now uses self.basic_lexer for easy extensibility (iss…

…ue #1329)

Codecov Report
Patch coverage: 86.66% and project coverage change: -0.02% :warning:

Comparison is base (c2e44ea) 89.23% compared to head (0fe5595) 89.22%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1342      +/-   ##
==========================================
- Coverage   89.23%   89.22%   -0.02%
==========================================
  Files          51       51
  Lines        7591     7600       +9
==========================================
+ Hits         6774     6781       +7
- Misses        817      819       +2

Flag
Coverage Δ

unittests
89.22% <86.66%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

lark/lexer.py
90.78% <86.66%> (-0.28%)
:arrow_down:

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

@davidmcnabnz Can you confirm this PR solves your issue?

Thanks for that @erezsh . Commits look good, and plug up the configurability gap well. I look forward to migrating my lexer/parser over to the new version.


Shellcode stager

It would be great to have the option to output a raw stager. This may be especially useful to patch binaries and for exploit writer.

Shellcode generation is outside the realm of the framework at this point. You should be able to use msfvenom and its windows/exec payload to trigger what you would like. We may revisit at some point but the effort to integrate would likely be non-trivial.


Wrong filetype guessed

Issue Summary
User is getting the following error:

Hello everyone, I am struggling with this issue I have after upgrading to Wagtail 5.2. The site works fine, except when I try to upload an image and then click on the images in side bar I get the following error:

 Internal Server Error: /admin/images/
 Traceback (most recent call last):
   File "/usr/local/lib/python3.8/site-packages/wagtail/images/models.py", line 424, in get_rendition
     rendition = self.find_existing_rendition(filter)
   File "/usr/local/lib/python3.8/site-packages/wagtail/images/models.py", line 479, in find_existing_rendition
     raise Rendition.DoesNotExist
 blog.models.AssetRendition.DoesNotExist
 During handling of the above exception, another exception occurred:

 Traceback (most recent call last):
   File "/usr/local/lib/python3.8/xml/etree/ElementTree.py", line 1693, in feed
     self.parser.Parse(data, 0)
 xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 0

The complete trace is too long to post here. I have searched on Google and on Github Wagtail issues. But apparently no one has had this issue. And I am at a complete loss as to what is happening here. Any help and/or leads in the right direction would be much appreciated.
I have Django 3.2, and Python 3.8. I tried downgrading to Wagtail 5.0 but the issue persists.

This error likely originates from here:
https://github.com/wagtail/Willow/blob/830aa3d386fd2ef2aa48c8032ba7d62bf2e04fc1/willow/image.py#L86-L87

when i run the following :
with image.open_file() as image_file:
    ext = filetype.guess_extension(image_file)
    print(f"Image {image.pk} {image.file} has extension {ext}")

I get Image 149277 cms-dev/chair-unsplash_TAJSD0d.jpg has extension None although in the DB the extension column has the value jpeg
Can you explain to me why is it guessing the extension and not using the onein the file name?

(mimetypes did guess the right type, hurahh)

>>> import mimetypes
>>> print(mimetypes.guess_type('/Users/naveera.muhammad/Downloads/chair-unsplash.jpg'))
('image/jpeg', None)

Steps to Reproduce
As of right now for me; I cannot reproduce it. I'm only here to suggest an improvement to keep this from happening in the future.
You can see we are trying to infer the filetype from the contents first; and then just checking if it's none and maybe XML.
We should probably fallback on file extensions first. If someone tampers with that - errors are to be expected.
https://github.com/wagtail/Willow/blob/830aa3d386fd2ef2aa48c8032ba7d62bf2e04fc1/willow/image.py#L82-L99
Technical details
Mentioned in quote.
Don't know how long this will be available for; but 90 days should be enough to resolve this issue.
Though it might be the reason for this issue report - we should have generally provided a better fallback IMO.
Slack Thread

We have a custom model inheriting from AbstractImage:
class Asset(AbstractImage):
    file = models.ImageField(
        verbose_name=_('file'),
        upload_to=settings.ASSET_UPLOAD_PREFIX,
        width_field='width',
        height_field='height',
        storage=MediaStorage()
    )

MediaStorage here is using django-gcloud-storage
When I upload an image I get the following error:
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 0

Which is weird as I am uploading a png or jpeg image.
After further investigation and help from Wagtail Slack channel I think the problem is arising when willow is guessing the wrong file type /extension in https://github.com/wagtail/Willow/blob/830aa3d386fd2ef2aa48c8032ba7d62bf2e04fc1/willow/image.py#L86-L87
The code blame shows that this part of the code was added last year. I am upgrading from Wagtail 4.2 to Wagtail 5, which would explain why it never occurred before.
When I run the following:
import filetype
from wagtail.images import get_image_model

Image = get_image_model()

image = Image.objects.get(file="dev/chair-unsplash.jpg")
with image.open_file() as image_file:
    ext = filetype.guess_extension(image_file)
    print(f"Image {image.pk} {image.file} has extension {ext}")

I get Image 149277 dev/chair-unsplash.jpg has extension None
My guess is that it is unable to guess the correct file type for the BLOB when opening a file from gcloud storage.


Crowdfunding information still shown in UI after case resolved

Describe the Bug
The profiles of https://proof-of-humanity.netlify.app/profile/0x0b6b4566f9ac32e06c309bcbbd906a380237cb1e?network=kovan and https://proof-of-humanity.netlify.app/profile/0x0d256c49e5df2b9bae2a04b6c2622ac459396dc2?network=kovan which correspond to Kovan court cases 805 and 806 respectively still show information about crowdfunding under the appeal tab, particularly with the text "Previous round is still in progress." However, these cases are resolved on the Kovan court and the statuses of the profiles on PoH have been correctly modified according to the court rulings (to Registered (Expired) and Removed accordingly).
To Reproduce
Expected Behavior
Screenshots

Device and Browser Information

Fixed
Nice catch.
It was an issue with handling refuse to arbitrate in the first round.


Increase ontology column length

converting to draft to make other similar changes, e.g.
alter table sample modify species text;
alter table sample modify specimen text;
alter table sample modify analyte text;

@wow-such-code what was the plan here? The length in the jpa annotation helps hibernate determine the length in the column.

@wow-such-code what was the plan here? The length in the jpa annotation helps hibernate determine the length in the column.

been a whilte, but afaik these are json columns and when the two of us worked on fixing this on the server we changed them to text so we could guarantee long ontology entries to work.

solved by https://github.com/qbicsoftware/data-manager-app/pull/605


uv add foo followed by a uv remove foo can sometimes produce a different lock file than what one started with

This is, assuming, of course, that the world remains fixed (which one can simulate with --exclude-newer). Here's a basic test case that is derived from #6063:
$ rm -f *.lock

$ uv lock
warning: `uv lock` is experimental and may change without warning
Using Python 3.11.9
Resolved 8 packages in 51ms

$ cp uv.lock uv.first.lock

$ uv add --no-sync sniffio
warning: `uv add` is experimental and may change without warning
Using Python 3.11.9
Creating virtualenv at: .venv
Resolved 9 packages in 28ms

$ cp uv.lock uv.second.lock

$ uv remove --no-sync sniffio
warning: `uv remove` is experimental and may change without warning
Resolved 8 packages in 9ms

$ cp uv.lock uv.third.lock

Now, we expect uv.first.lock and uv.second.lock to be different, because we're adding a dependency:
$ diff uv.first.lock uv.second.lock
15c15
<     { name = "zipp" },
---
>     { name = "zipp", marker = "python_full_version < '3.10'" },
164a165,173
> name = "sniffio"
> version = "1.3.1"
> source = { registry = "https://pypi.org/simple" }
> sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
> wheels = [
>     { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
> ]
>
> [[package]]
169a179
>     { name = "sniffio" },
173c183,186
< requires-dist = [{ name = "jax", specifier = "==0.4.17" }]
---
> requires-dist = [
>     { name = "jax", specifier = "==0.4.17" },
>     { name = "sniffio" },
> ]

But note that there is a change in the above lock file that is unrelated to the addition of sniffio. And we can see this by diffing uv.first.lock with uv.third.lock, which should be identical in this case:
$ diff uv.first.lock uv.third.lock
15c15
<     { name = "zipp" },
---
>     { name = "zipp", marker = "python_full_version < '3.10'" },

I think this is basically the same problem as the Jax thing.

Yeah it is. And this particular case is fixed by more aggressive forking. (But I believe I can come up with other cases of instability that aren't fixed by aggressive forking.)


Update data-loss-prevention with API changes

Update data-loss-prevention with API changes based on the new API view

@angiurgiu

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@angiurgiu
Thanks for the review! When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

@angiurgiu - taking your approval as sign-off ... if this article requires further changes, please open a separate pull request. thanks.


[QST] Preferences on stand in Dask-SQL logo

Hey, I was working on a Dask-SQL portion of a webpage that also had a separate Dask portion and logo.  In lieu of an official logo, I created these 3 possible logo options for Dask-SQL based on the Exo font and your alterations to it.  The Q's style had some debate to it.
We wanted to know which do you prefer to be a temporary logo?

@randerzander @quasiben @exactlyallan @jacobtomlinson

Thanks for creating some example logos!
I'm not sure what rules or guidelines Dask has (if any) for dask-contrib projects. That said, I personally like either of the last two (can't actually tell how they are different?)

just the tail of the Q is different

I think having logos for subprojects is a great idea. We would be able to use them in documentation to make it clear which site you are on.
Of those examples I think my preference would be for the last one.
cc @jsignell and @jrbourbeau who I've discussed Dask branding with lately.

Yeah :+1: on sub-project logos. From an org perspective, it would be great to come up with guidelines on how to make these. So once you settle on one (2 and 3 both seem good) can you add a section to https://marketing.dask.org/en/latest/colors.html#logos explaining how you did it?


Add compiler benchmarks

Closes #8419
Pull Request Description
Add compiler benchmarks to engine/runtime-benchmarks. All the benchmarks generate source code on the fly into engine/runtime-benchmarks/target/bench-data directory. Random data generators are set with the same seed. For the convenience of reviewers, I am attaching the benchmark sources in bench-data.zip.
I have created benchmarks that measure the performance of a whole module compilation, and benchmarks that measure the performance of inline compilation. They directly call run and runInline methods on org.enso.compiler.Compiler.
Important Notes

The results will be available in https://enso-org.github.io/engine-benchmark-results/engine-benchs.html in a few days after the merge of this PR.
The benchmark parameters are tweaked so that an average iteration takes less than 400 ms and more than 30 ms.
Ensured that the benchmarks measure performance of the compiler, for example:

I am attaching the benchmark sources in bench-data.zip.

Very nice!


Reopen closed tab

It can be useful to open the latest closed file tab in the Explorer view.

Could you explain what you want in greater detail? We do provide the View: Reopen closed Editor command to reopen the latest closed editor.

Ah, I didn't know that this command exists. I was looking for it in the tabs context menu (as the browsers have). If it can be also there it will be awesome...


dump1090 coredumps in amd64 image

I am trying to run the latest image in relay mode, but I am running into the following issue:
piaware               | [piaware] 2021/04/12 07:59:13 piaware version 5.0 is running, process ID 333
piaware               | [piaware] 2021/04/12 07:59:13 your system info is: Linux 0628bd400100 5.9.0-0.bpo.2-amd64 #1 SMP Debian 5.9.6-1~bpo10+1 (2020-11-19) x86_64 GNU/Linux
piaware               | ./run: line 48:   354 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
piaware               |        355 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'

My relevant part of docker-compose.yml:
piaware:
    #image: mikenye/piaware:latest_i386
    image: mikenye/piaware:latest
    tty: true
    container_name: piaware
    restart: always
    networks:
      - adsbnet
    environment:
      - TZ="Europe/Berlin"
      - LAT=xxx
      - LONG=xxx
      - RECEIVER_TYPE=relay
      - BEASTHOST=readsb
      - BEASTPORT=30005
      - FEEDER_ID=xxx
    tmpfs:
      - /run:exec,size=64M
      - /var/log

It works flawlessly if I change to the i386 image.
My system is
Linux 5.9.0-0.bpo.2-amd64 #1 SMP Debian 5.9.6-1~bpo10+1 (2020-11-19) x86_64 GNU/Linux

Hi @wollew, sorry you’re having problems.
Can you please try mikenye/piaware:latest_amd64?
Can you please also post the output of lscpu on your host?
Thanks.

Ok, I tried, unfortunately it doesn't make a difference:
$ docker-compose up piaware
Creating piaware ... done
Attaching to piaware
piaware               | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
piaware               | [s6-init] ensuring user provided files have correct perms...exited 0.
piaware               | [fix-attrs.d] applying ownership & permissions fixes...
piaware               | [fix-attrs.d] done.
piaware               | [cont-init.d] executing container initialization scripts...
piaware               | [cont-init.d] 01-piaware: executing...
piaware               | Set feeder-id to XXX in /etc/piaware.conf:1
piaware               | Set allow-auto-updates to no in /etc/piaware.conf:2
piaware               | Set allow-manual-updates to no in /etc/piaware.conf:3
piaware               | Set allow-mlat to yes in /etc/piaware.conf:4
piaware               | Set mlat-results to yes in /etc/piaware.conf:5
piaware               | Set receiver-type to relay in /etc/piaware.conf:6
piaware               | Set receiver-host to readsb in /etc/piaware.conf:7
piaware               | Set receiver-port to 30005 in /etc/piaware.conf:8
piaware               | [cont-init.d] 01-piaware: exited 0.
piaware               | [cont-init.d] done.
piaware               | [services.d] starting services
piaware               | [services.d] done.
piaware               | ./run: line 48:   325 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
piaware               |        326 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
piaware               | [skyaware] 2021/04/12 11:36:55 2021-04-12 11:36:55: (plugin.c.190) Cannot load plugin mod_setenv more than once, please fix your config (lighttpd may not accept such configs in future releases)
piaware               | [skyaware] 2021/04/12 11:36:55 2021-04-12 11:36:55: (server.c.1464) server started (lighttpd/1.4.53)
piaware               | [beast-splitter] 2021/04/12 11:36:55 <IP_ADDRESS>:30004: connection to <IP_ADDRESS>:30004 failed: Connection refused
piaware               | [beast-splitter] 2021/04/12 11:36:55 <IP_ADDRESS>:30004: reconnecting in 60 seconds
piaware               | [beast-splitter] 2021/04/12 11:36:55 net(readsb:30005): connected to <IP_ADDRESS>:30005
piaware               | [beast-splitter] 2021/04/12 11:36:55 net(readsb:30005): configured with settings: BCDfgIjk
piaware               | [piaware] 2021/04/12 11:36:55 ****************************************************
piaware               | [piaware] 2021/04/12 11:36:55 piaware version 5.0 is running, process ID 334
piaware               | [piaware] 2021/04/12 11:36:55 your system info is: Linux ad7660cc31d0 5.9.0-0.bpo.2-amd64 #1 SMP Debian 5.9.6-1~bpo10+1 (2020-11-19) x86_64 GNU/Linux
piaware               | ./run: line 48:   354 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
piaware               |        355 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
piaware               | [piaware] 2021/04/12 11:36:56 Connecting to FlightAware adept server at piaware.flightaware.com/1200
piaware               | [piaware] 2021/04/12 11:36:56 Connection with adept server at piaware.flightaware.com/1200 established
piaware               | ./run: line 48:   360 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
piaware               |        361 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
...

$ docker-compose images  | grep piaware
piaware                               mikenye/piaware           latest_amd64   926b05a42d64   346 MB

Here's my CPU info:
$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       39 bits physical, 48 bits virtual
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
Stepping:            3
CPU MHz:             2993.359
CPU max MHz:         3000.0000
CPU min MHz:         800.0000
BogoMIPS:            5986.72
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt xsave rdrand lahf_lm abm cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust erms invpcid xsaveopt dtherm arat pln pts

Hi, same problem here: it started misbehaving a few days ago after restarting and re-pulling the docker image. What I have in my logs is:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-piaware: executing...
Set feeder-id to 81223db1-85af-4668-ab75-066825eb8094 in /etc/piaware.conf:1
Set allow-auto-updates to no in /etc/piaware.conf:2
Set allow-manual-updates to no in /etc/piaware.conf:3
Set allow-mlat to yes in /etc/piaware.conf:4
Set mlat-results to yes in /etc/piaware.conf:5
Set receiver-type to relay in /etc/piaware.conf:6
Set receiver-host to rpi-ads-b.lan.xyz in /etc/piaware.conf:7
Set receiver-port to 30005 in /etc/piaware.conf:8
[cont-init.d] 01-piaware: exited 0.
[cont-init.d] done.
[services.d] starting services
[beast-splitter] 2021/04/17 20:04:53 <IP_ADDRESS>:30004: connection to <IP_ADDRESS>:30004 failed: Connection refused
[beast-splitter] 2021/04/17 20:04:53 <IP_ADDRESS>:30004: reconnecting in 60 seconds
[skyaware] 2021/04/17 20:04:53 2021-04-17 20:04:53: (plugin.c.190) Cannot load plugin mod_setenv more than once, please fix your config (lighttpd may not accept such configs in future releases)
[skyaware] 2021/04/17 20:04:53 2021-04-17 20:04:53: (server.c.1464) server started (lighttpd/1.4.53)
[beast-splitter] 2021/04/17 20:04:53 net(rpi-ads-b.lan.xyz:30005): connected to <IP_ADDRESS>:30005
[beast-splitter] 2021/04/17 20:04:53 net(rpi-ads-b.lan.xyz:30005): configured with settings: BCDfgIjk
[services.d] done.
[piaware] 2021/04/17 20:04:53 ****************************************************
[piaware] 2021/04/17 20:04:53 piaware version 5.0 is running, process ID 334
[piaware] 2021/04/17 20:04:53 your system info is: Linux piaware-847cb5968b-zpp4b 4.15.0-141-generic #145-Ubuntu SMP Wed Mar 24 18:08:07 UTC 2021 x86_64 GNU/Linux
./run: line 48:   329 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
330 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   356 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
357 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[piaware] 2021/04/17 20:04:54 Connecting to FlightAware adept server at piaware.flightaware.com/1200
[piaware] 2021/04/17 20:04:55 Connection with adept server at piaware.flightaware.com/1200 established
./run: line 48:   362 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
363 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[piaware] 2021/04/17 20:04:55 TLS handshake with adept server at piaware.flightaware.com/1200 completed
[piaware] 2021/04/17 20:04:55 FlightAware server certificate validated
[piaware] 2021/04/17 20:04:55 encrypted session established with FlightAware
[piaware] 2021/04/17 20:04:55 adept reported location: 44.72971, 8.80010, 784ft AMSL
[piaware] 2021/04/17 20:04:55 Receiver location changed, restarting dump1090 and skyaware978
[piaware] 2021/04/17 20:04:55 attempting to restart dump1090..
[piaware] 2021/04/17 20:04:55 invoke-rc.d: could not determine current runlevel
[piaware] 2021/04/17 20:04:55 invoke-rc.d: policy-rc.d denied execution of restart.
[piaware] 2021/04/17 20:04:55 can't restart dump1090, no services that look like dump1090 found
[piaware] 2021/04/17 20:04:55 attempting to restart skyaware978..
[piaware] 2021/04/17 20:04:55 can't restart skyaware978, no services that look like skyaware978 found
[piaware] 2021/04/17 20:04:55 logged in to FlightAware as user XXXXXXXX
[piaware] 2021/04/17 20:04:55 my feeder ID is XXXXXXXXXXXXXXXXXXXXXXXXXXXX
[piaware] 2021/04/17 20:04:55 site statistics URL: https://flightaware.com/adsb/stats/user/XXXXXXXXXXXXXXXXXXXXXX
[piaware] 2021/04/17 20:04:55 multilateration data requested
[piaware] 2021/04/17 20:04:55 no ADS-B data program is serving on port 30005, not starting multilateration client yet
[piaware] 2021/04/17 20:04:56 no ADS-B data program seen listening on port 30005 for 3 seconds, next check in 60s
[piaware] 2021/04/17 20:04:56 UAT support disabled by local configuration setting: uat-receiver-type
./run: line 48:   382 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
383 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[beast-splitter] 2021/04/17 20:04:56 net(rpi-ads-b.lan.xyz:30005): connected to a Beast-style receiver
./run: line 48:   389 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
390 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   395 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
396 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   401 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
402 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   407 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
408 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   413 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
414 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   419 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
420 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[statsurlupdater] Updating SkyAware link to: https://flightaware.com/adsb/stats/user/XXXXXXXXXXXXXXXXXXXXXX
./run: line 48:   437 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
438 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48:   443 Illegal instruction     (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
444 Done                    | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
It's running on a Kubernetes cluster:
NAME         STATUS   ROLES                  AGE    VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
k8s-master   Ready    control-plane,master   295d   v1.20.4   <IP_ADDRESS>           Ubuntu 18.04.5 LTS   4.15.0-140-generic   docker://20.10.5
k8s-node1    Ready                     295d   v1.20.4   <IP_ADDRESS>           Ubuntu 18.04.5 LTS   4.15.0-141-generic   docker://20.10.5
k8s-node2    Ready                     295d   v1.20.4   <IP_ADDRESS>           Ubuntu 18.04.5 LTS   4.15.0-141-generic
docker://20.10.5
My k8s is running with plenty of CPUs and RAM, all other containers are working as usual.
Images that fail this way are:
    image: mikenye/piaware
    image: mikenye/piaware:latest_amd64
    image: mikenye/piaware:latest_nohealthcheck

Any clue? Thank you.

Hi, same problem here: it started misbehaving a few days ago after restarting and re-pulling the docker image. What I have in my logs is:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-piaware: executing...
Set feeder-id to XXXXXXXXXXXXXXXXXXXXXXXX in /etc/piaware.conf:1
Set allow-auto-updates to no in /etc/piaware.conf:2
Set allow-manual-updates to no in /etc/piaware.conf:3
Set allow-mlat to yes in /etc/piaware.conf:4
Set mlat-results to yes in /etc/piaware.conf:5
Set receiver-type to relay in /etc/piaware.conf:6
Set receiver-host to rpi-ads-b.lan.xyz in /etc/piaware.conf:7
Set receiver-port to 30005 in /etc/piaware.conf:8
[cont-init.d] 01-piaware: exited 0.
[cont-init.d] done.
[services.d] starting services
[beast-splitter] 2021/04/17 20:04:53 <IP_ADDRESS>:30004: connection to <IP_ADDRESS>:30004 failed: Connection refused
[beast-splitter] 2021/04/17 20:04:53 <IP_ADDRESS>:30004: reconnecting in 60 seconds
[skyaware] 2021/04/17 20:04:53 2021-04-17 20:04:53: (plugin.c.190) Cannot load plugin mod_setenv more than once, please fix your config (lighttpd may not accept such configs in future releases)
[skyaware] 2021/04/17 20:04:53 2021-04-17 20:04:53: (server.c.1464) server started (lighttpd/1.4.53)
[beast-splitter] 2021/04/17 20:04:53 net(rpi-ads-b.lan.xyz:30005): connected to <IP_ADDRESS>:30005
[beast-splitter] 2021/04/17 20:04:53 net(rpi-ads-b.lan.xyz:30005): configured with settings: BCDfgIjk
[services.d] done.
[piaware] 2021/04/17 20:04:53 ****************************************************
[piaware] 2021/04/17 20:04:53 piaware version 5.0 is running, process ID 334
[piaware] 2021/04/17 20:04:53 your system info is: Linux piaware-847cb5968b-zpp4b 4.15.0-141-generic #145-Ubuntu SMP Wed Mar 24 18:08:07 UTC 2021 x86_64 GNU/Linux
./run: line 48: 329 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
330 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 356 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
357 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[piaware] 2021/04/17 20:04:54 Connecting to FlightAware adept server at piaware.flightaware.com/1200
[piaware] 2021/04/17 20:04:55 Connection with adept server at piaware.flightaware.com/1200 established
./run: line 48: 362 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
363 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[piaware] 2021/04/17 20:04:55 TLS handshake with adept server at piaware.flightaware.com/1200 completed
[piaware] 2021/04/17 20:04:55 FlightAware server certificate validated
[piaware] 2021/04/17 20:04:55 encrypted session established with FlightAware
[piaware] 2021/04/17 20:04:55 adept reported location: XXXX, YYYY, ZZZft AMSL
[piaware] 2021/04/17 20:04:55 Receiver location changed, restarting dump1090 and skyaware978
[piaware] 2021/04/17 20:04:55 attempting to restart dump1090..
[piaware] 2021/04/17 20:04:55 invoke-rc.d: could not determine current runlevel
[piaware] 2021/04/17 20:04:55 invoke-rc.d: policy-rc.d denied execution of restart.
[piaware] 2021/04/17 20:04:55 can't restart dump1090, no services that look like dump1090 found
[piaware] 2021/04/17 20:04:55 attempting to restart skyaware978..
[piaware] 2021/04/17 20:04:55 can't restart skyaware978, no services that look like skyaware978 found
[piaware] 2021/04/17 20:04:55 logged in to FlightAware as user XXXXXXXX
[piaware] 2021/04/17 20:04:55 my feeder ID is XXXXXXXXXXXXXXXXXXXXXXXXXXXX
[piaware] 2021/04/17 20:04:55 site statistics URL: https://flightaware.com/adsb/stats/user/XXXXXXXXXXXXXXXXXXXXXX
[piaware] 2021/04/17 20:04:55 multilateration data requested
[piaware] 2021/04/17 20:04:55 no ADS-B data program is serving on port 30005, not starting multilateration client yet
[piaware] 2021/04/17 20:04:56 no ADS-B data program seen listening on port 30005 for 3 seconds, next check in 60s
[piaware] 2021/04/17 20:04:56 UAT support disabled by local configuration setting: uat-receiver-type
./run: line 48: 382 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
383 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[beast-splitter] 2021/04/17 20:04:56 net(rpi-ads-b.lan.xyz:30005): connected to a Beast-style receiver
./run: line 48: 389 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
390 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 395 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
396 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 401 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
402 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 407 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
408 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 413 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
414 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 419 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
420 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
[statsurlupdater] Updating SkyAware link to: https://flightaware.com/adsb/stats/user/XXXXXXXXXXXXXXXXXXXXXX
./run: line 48: 437 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
438 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
./run: line 48: 443 Illegal instruction (core dumped) "${DUMP1090_BIN}" "${DUMP1090_CMD[@]}" 2>&1
444 Done | stdbuf -o0 awk '{print "[dump1090] " strftime("%Y/%m/%d %H:%M:%S", systime()) " " $0}'
It's running on a Kubernetes cluster:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready control-plane,master 295d v1.20.4 <IP_ADDRESS> Ubuntu 18.04.5 LTS 4.15.0-140-generic docker://20.10.5
k8s-node1 Ready 295d v1.20.4 <IP_ADDRESS> Ubuntu 18.04.5 LTS 4.15.0-141-generic docker://20.10.5
k8s-node2 Ready 295d v1.20.4 <IP_ADDRESS> Ubuntu 18.04.5 LTS 4.15.0-141-generic
docker://20.10.5
My k8s is running with plenty of CPUs and RAM, all other containers are working as usual.
Images that fail this way are:
image: mikenye/piaware
image: mikenye/piaware:latest_amd64
image: mikenye/piaware:latest_nohealthcheck

Any clue? Thank you.

Could I please get you to try building the image on the destination system, to see if this still happens? This will tell me whether the problem is with compiler optimisation or not.
The steps to do this are as follows:
Clone the github repo
Inside your /opt/adsb directory, run the command git clone https://github.com/mikenye/docker-piaware.git.
Update your docker-compose.yml file
Change the image: mikenye/piaware line in your docker-compose.yml file to build: /opt/adsb/docker-piaware
Build the Image
Run the command docker-compose build in your /opt/adsb directory.
Start the Image
Run the command docker-compose up -d in your /opt/adsb directory.
This should start the container using the locally built image.
Can you let me know if this works as expected, or whether you still end up with the core dumps?
Thanks.

Building the image locally works for me.

Thanks for letting me know. I'll take a look into the build process of dump1090 and see if I can reduce the optimisation.

Let me know if I can help you with anything.

@wollew any chance you could get me the core dump file from the broken version of the container?

Yes, I just extracted a core file, I'd prefer to not upload it here, how can I contact you?

Hi @wollew, I just wanted to check in to see if you're still having issues with this container. It's been a month or so since we last spoke on Discord, and I haven't had much time to spend looking into this due to my day job. If still a problem, I'll spend some time on it. If not, cool. :)

Does the latest image work? No. Is it a problem for me? Also no, I'll just use the i386 image.

Does the latest image work for me? No. Is it a problem for me? Also no, I'll just use the i386 image :-)

Awesome, thanks <3

I'm having the exact same issue, also with a amd64 processor. The tags amd64, arm-v7, arm-v6 didn't help. Thanks for the tip of using i386. I was using the v4.0 tag to make it work.

I deployed a version of the container that built dump1090 on first run. Upon reflection (and some discourse in Discord), this was not the correct approach and I will roll back.
In the meantime, dump1090 has been updated to version 7.1.
The updated container should be available in the next few hours. I'll post back then, and ask that anyone that had this issue try testing with the new container with pre-built dump1090 v7.1.
Thanks and apologies to anyone that's had trouble due to the change.

@wollew, @fabriziofiorucci, @luciodaou, @tezhrec: Could I please trouble you to test with the pre-built image mikenye/piaware:local? Please be sure to pull the container to ensure you get the updated version. Please let me know if you're still getting segfaults. Thanks.

The local tag doesn't exist. If you meant latest, I pulled that and it works without core dumps.

Yep sorry, typo'd!
Thanks for letting me know. Hopefully it is also resolved for the others too.

Closing this, can re-open if anyone else has issues.

@wollew, @fabriziofiorucci, @luciodaou, @tezhrec: Could I please trouble you to test with the pre-built image mikenye/piaware:latest? Please be sure to pull the container to ensure you get the updated version. Please let me know if you're still getting segfaults. Thanks.

Great. Will check on the computer probably on early Monday and then give you feedback.

Thanks @luciodaou, let me know how you go.


Schema allOf generation does not follow Swagger spec

What are the steps to reproduce this issue?
I want to use Orval to generate an API that uses inheritance. But, my subclass' fields are being generated as optional even though I have marked them as required.

Use Orval to generate models using the following Yaml:

openapi: 3.0.1
info:
  contact:
    email: xxx
    name: xxx
    url: xxx
  description: xxx
  title: xxx
  version: '0.1'
servers:
  - url: http://localhost:8080
    description: Generated server url
paths:
  /api/notifications/mine:
    get:
      operationId: getMyNotifications
      responses:
        '200':
          content:
            '*/*':
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/components/schemas/NewTicketNotification'
          description: OK
      summary: Get my notifications
      tags:
        - Notifications
components:
  schemas:
    NewTicketNotification:
      required:
        - ctime
        - id
        - ticketId
        - type
        - userId
      type: object
      allOf:
        - $ref: '#/components/schemas/Notification'
        - type: object
          properties:
            ticketId:
              type: integer
              format: int32
            userId:
              type: integer
              format: int32
    Notification:
      required:
        - ctime
        - id
        - type
      type: object
      properties:
        ctime:
          type: string
          format: date-time
        id:
          type: integer
          format: int32
        type:
          type: string
      discriminator:
        propertyName: type

What happens?
Orval generates the following:
export interface Notification {
  ctime: string;
  id: number;
  type: string;
}

export type NewTicketNotificationAllOf = {
  ticketId?: number;
  userId?: number;
};

export type NewTicketNotification = Notification & NewTicketNotificationAllOf;

What were you expecting to happen?
The fields in the subclass NewTicketNotificationAllOf should be required. E.g.
export type NewTicketNotificationAllOf = {
  ticketId: number;
  userId: number;
};

They actually are generated as required if I manually add required in the properties of the allOf. E.g.
NewTicketNotification:
      required:
        - ctime
        - id
        - ticketId
        - type
        - userId
      type: object
      allOf:
        - $ref: '#/components/schemas/Notification'
        - type: object
          required:
          - ticketId
          - userId
          properties:
            ticketId:
              type: integer
              format: int32
            userId:
              type: integer
              format: int32

But I shouldn't have to do that! NewTicketNotification already has ticketId declared as required. This should supersede the non-required property included in the allOf.
Any other comments?
Swagger's editor and codegen tool interpret the YAML correctly so I think I have interpreted the spec correctly! (See pictures)
I presume the parser needs a change to use the oneOf/allOf/anyOf key to make properties required (if needed) or leave them alone if they are already required.

What versions are you using?
Latest code built from Github.
System:
OS: Linux 6.5 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
CPU: (12) x64 AMD Ryzen 5 3600X 6-Core Processor
Memory: 2.69 GB / 15.55 GB
Container: Yes
Shell: 5.1.16 - /bin/bash

I think this is similar to https://github.com/orval-labs/orval/pull/861

Sweet! Yes, that looks to be referring to the same issue.
Do you know if the maintainers are looking into that still? Pull request looks pretty dead...

That PR is way out of date. Probably need a new Pr if you are interested .

Ditto on this as-well^^

@MGabr has kindly submitted a PR

Is there a planned time for the next version? :) I would benefit a lot from the fix and it seems the two remaining PRs for the the milestone are stalled

I just pinged @anymaniax about a release


net: TCP: Apparently, FIN packets aren't queued for retransmission, loss leads to TCP timeout

This continues from were https://github.com/zephyrproject-rtos/zephyr/issues/8187 leaves off. Let's look again at the zephyr output:
[slip] [INF] slip_send: sent: pkt 0x20001ec4 llr: 14, len: 54
[slip] [INF] slip_send: sent: pkt 0x20001ec4 llr: 14, len: 1506
[slip] [INF] slip_send: sent: pkt 0x20001e78 llr: 14, len: 783
[slip] [INF] slip_send: sent: pkt 0x20001e2c llr: 14, len: 54
Connection from <IP_ADDRESS> closed
[slip] [INF] slip_send: sent: pkt 0x20001e78 llr: 14, len: 783

What we can see here is that Zephyr IP stack sends 2 data packets, 1506, 783 bytes, and then  sends FIN as a result of socket close(). As explained in #8187, what really happens in this case is that 783bts packet doesn't get thru and is retransmitted. Looking at Wireshark screenshot there, the peer acks it, but that's where it all ends: FIN doesn't get retransmitted, so, everything gets stuck, until peer closes it by timeout.

With #8769 applied and enabled, the issue can be easily spotted:
Connection #5 from <IP_ADDRESS>
Connection from <IP_ADDRESS> closed
rx buf: 36, tx buf: 15
[net/tcp] [ERR] handle_fin_timeout: Did not receive FIN in 1000ms

I'm working on this issue.


Explore: List view shows incorrect standard time, obs detail shows (correct) daylight time

eg https://www.inaturalist.org/observations?created_on=2021-04-04&place_id=any&subview=table&user_id=tiwane&verifiable=any

and on the obs: https://www.inaturalist.org/observations/72958668

I'm still seeing PST on List view -- not only that, but although List view shows a time zone, the time displayed changes based on the time zone of the viewer.  So I don't see 2:23 PM PST, I see 12:23 PM PST.


Add Material Symbol Icons

Overview
I'm taking a stab at adding Material Symbols - Closes #497
Overall the build script fell down in this process, so manual updates were needed. I decided to introduce three new directories under fonts/icons/:

material-symbols-outlined
material-symbols-rounded
material-symbols-sharp

Alternatively I could have enhanced the current material-icons offerings by adding a variable.css or symbols.css file, but since Google is changing the name it felt right to add these separately. I could revisit on this decision if the alternate seems preferable to anyone.
Future Updates
These will be difficult until Google starts publishing these fonts regularly. Currently I'm only able to grok the woff2 file through their Fallback CSS offering. With the woff2 file in hand, I converted this into the woff version via this site and then verified that the conversion succeeded (to the best of my ability) through this site.
Confidence
My confidence in this change is relatively low. It would be really helpful to get some eyes on this and possibly an Alpha version cut before a version is released. I'm also not sure what other parts of this repo should be updated to button this PR up fully, so please let me know! @ayuhito

Awesome work, thank you so much! I'll better review this when I get more time, but an initial remark is that none of the generated files should be manually edited afterwards.
Packages are automatically regenerated using its old metadata when we need to force rebuild the entire repo to apply mass changes, so any manual edits tend to get wiped in the process.
Another thing I noticed is that Material Symbols is a variable font file... which isn't something we fully support with the generic packager. Hmm.
Considering the issue on the Google repo where they mention that everything is updated frequently through their API's, maybe it might be appropriate for us to have a custom script to programmatically pull Material Symbols (and maybe Material Icons too) just like the other Google Fonts. This does mean we also get proper handling for variable fonts in the process, since the Google packager properly supports that.

none of the generated files should be manually edited afterwards... Packages are automatically regenerated using its old metadata when we need to force rebuild the entire repo to apply mass changes, so any manual edits tend to get wiped in the process.

Okay, that makes sense. I did feel like I was trying to jam a square peg into a round hole using the generic font packager. I also noticed, later, that the google packager would provide variable CSS as well, but since icons and google fonts were separate I couldn't see an easy way to utilize this functionality, so I ended up just manually adjusting and copying the work once per fontset.
Material Symbols is purely variable and ligature based, something fontsource doesn't seem to support at the moment.

a custom script to programmatically pull Material Symbols (and maybe Material Icons too) just like the other Google Fonts.

I think I follow what you're saying here; treat both material icons and symbols as a special case and feed them through the Google packager. From the sound of it you seem pretty busy at the moment. Is this something you have energy around? There's a chance I could try to hack something together but I fear it would likely take me considerably more time than you to implement.

I'm not going to be available until mid-September to work on this repo and that's no guarantee, but I can outline what I would do to implement this.
Update google-font-metadata and probably just add a new command with src/icon-parser.ts and data/icons.json. Since icon info isn't accessible through the Google Developer API, the base details are hardcoded for M Symbols and Icons (maybe in data/icon-response.json). Similar process as the other fonts, fetch with all variants of user-agents, parse CSS and save metadata.
Then it's just a matter of importing the dataset into the Google pipeline here. It'll probably need a few little adjustments, but I don't expect a lot of work in this repository.
A lot of the code is already there, it's mainly copying and adjusting. I'd be happy to add you to the Slack if you want to directly get in touch with me if you want to give this a shot.

I'm not finding much bandwidth here either. I'll close this PR for now.

Are the symbols (or lack thereof) the reason things like <i class="material-icons">wallet</i> are not resolving with the current material ui included with Material Icons delivered by Fontsource?