github.jorgecastillo.svg.SvgPathParser.ParsePath()

I am new in Android Studio Development
could you please guide me how to resolve this error to find the null point of string path error in SvgPathParser class parsePath() function pathstring not found.

I have same issues.I could not solve it.

Can you2 paste some code producing this or what did you follow when this appeared?

val loaderBuilder= FillableLoaderBuilder()
var fillable=activity?.findViewById(R.id.fillableLoader)
val path= SvgPath.Bag.path
fillable=loaderBuilder.parentView(rootView as ViewGroup?)
.svgPath(path)
.layoutParams(params)
.originalDimensions(970, 970)
.strokeColor(Color.parseColor("#1c9ade"))
.fillColor(Color.parseColor("#1c9ade"))
.strokeDrawingDuration(2000)
.clippingTransform( WavesClippingTransform())
.fillDuration(10000)
.build()
Kimden: Crt Mori
Gönderilme: 26 Şubat 2019 Salı 18:58
Kime: JorgeCastilloPrz/AndroidFillableLoaders
Bilgi: Ali Göktaş; Comment
Konu: Re: [JorgeCastilloPrz/AndroidFillableLoaders]github.jorgecastillo.svg.SvgPathParser.ParsePath() (#22)
Can you2 paste some code producing this or what did you follow when this appeared?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.github.jorgecastillo.svg.SvgPathParser.parsePath(SvgPathParser.java:52)
at com.github.jorgecastillo.FillableLoader.buildPathData(FillableLoader.java:374)
at com.github.jorgecastillo.FillableLoader.onSizeChanged(FillableLoader.java:224)
and this is the error log cat
Kimden: Crt Mori
Gönderilme: 26 Şubat 2019 Salı 18:58
Kime: JorgeCastilloPrz/AndroidFillableLoaders
Bilgi: Ali Göktaş; Comment
Konu: Re: [JorgeCastilloPrz/AndroidFillableLoaders]github.jorgecastillo.svg.SvgPathParser.ParsePath() (#22)
Can you2 paste some code producing this or what did you follow when this appeared?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

(I am not on computer but lets get more info).
Can you print/share the value of you path (SvgPath.Bag.path)? It seems like that is NULL...

No,in debug mod,I checked that it is not null.
Kimden: Crt Mori
Gönderilme: 26 Şubat 2019 Salı 19:05
Kime: JorgeCastilloPrz/AndroidFillableLoaders
Bilgi: Ali Göktaş; Comment
Konu: Re: [JorgeCastilloPrz/AndroidFillableLoaders]github.jorgecastillo.svg.SvgPathParser.ParsePath() (#22)
(I am not on computer but lets get more info).
Can you print/share the value of you path (SvgPath.Bag.path)? It seems like that is NULL...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Kimden: Crt Mori
Gönderilme: 26 Şubat 2019 Salı 19:05
Kime: JorgeCastilloPrz/AndroidFillableLoaders
Bilgi: Ali Göktaş; Comment
Konu: Re: [JorgeCastilloPrz/AndroidFillableLoaders]github.jorgecastillo.svg.SvgPathParser.ParsePath() (#22)
(I am not on computer but lets get more info).
Can you print/share the value of you path (SvgPath.Bag.path)? It seems like that is NULL...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

(your replies are a bit messed since you reply on mails)
Ok, so since public FillableLoaderBuilder svgPath(String svgPath) takes String and you feed it with val we can start with that alignment. Here I assume that path contains something like string with "\n" for end of line characters, some string numbers with dots and stuff (so not OS path)...

Yes my path is like that.I got it from repo sample
Kimden: Crt Mori
Gönderilme: 26 Şubat 2019 Salı 19:14
Kime: JorgeCastilloPrz/AndroidFillableLoaders
Bilgi: Ali Göktaş; Comment
Konu: Re: [JorgeCastilloPrz/AndroidFillableLoaders]github.jorgecastillo.svg.SvgPathParser.ParsePath() (#22)
(your replies are a bit messed since you reply on mails)
Ok, so since public FillableLoaderBuilder svgPath(String svgPath) takes String and you feed it with val we can start with that alignment. Here I assume that path contains something like string with "\n" for end of line characters, some string numbers with dots and stuff (so not OS path)...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes my path contains "\n" and "+".What do you think?

Did you try to change the path variable from val to String? It seems like the length is somehow null and that hits the null pointer exception.

It is already 'val path: String?'   when I change it to 'path: String?',this does not refers path 'val path= SvgPath.Bag.path'

I would indeed change val path= SvgPath.Bag.path to String path= SvgPath.Bag.path to make it more explicit. You confirmed with debugger that path then contains a proper string which is passed to svgPath()? Just go step by step with break points if logcat print messages are not revealing enough.

In Kotlin language, val path= SvgPath.Bag.path refers to Java's String path= SvgPath.Bag.path

Path does not comes null I checked that but I have no idea about what is the problem :(

Kotlin... huh I am indeed rusty. Can you again paste the LogCat error and a nicely formatted example? I was on Java, but this might be issue with Kotlin calling Java?

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference         at com.github.jorgecastillo.svg.SvgPathParser.parsePath(SvgPathParser.java:52)         at com.github.jorgecastillo.FillableLoader.buildPathData(FillableLoader.java:374)         at com.github.jorgecastillo.FillableLoader.onSizeChanged(FillableLoader.java:224)
this is LogCat error

So the error reads exactly what I said, but what you pasted before was .build() method - so I assume logcat marks that line as failure in your application? You will have to give a lot more information if you want me to help you debug this, because now I can only guess.

https://gist.github.com/aligkts/94722473e34f55b812c56ca1977f3b37
https://gist.github.com/aligkts/2f3c1f5ef55ba594fd84dad3d2adb99b
https://gist.github.com/aligkts/560b8c1da5b1a743fde3f8c8d3c93e50
You can check it from these links easily.

OK few ideas (remember don't know Kotlin syntax or background so might be totally off):

I assume you confirmed without this lines the fragment loads (put a textview in to start with), because I remember you have to inflate fragments and stuff like that
Maybe a simple var string instead of enum class would do the trick (although I read over Kotlin help on enum class and it should return String like you say it does)
For future you are missing fillableLoader.setOnStateChangeListener(this); later on, because I see your error originates from: com.github.jorgecastillo.FillableLoader.onSizeChanged(FillableLoader.java:224), which might also be something coming from onStateChange trigger in second loop (error is kinda short and does not map to your code so I am guessing again).


⚠ Bofrost.be has degraded performance

In 7144f38, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 5407 ms

Resolved: Bofrost.be performance has improved in cc299a7.


ASU-1146 | Sales API permission checks

Codecov Report

Merging #228 (f2d11ed) into develop (3211894) will decrease coverage by 0.14%.
The diff coverage is 71.42%.

@@             Coverage Diff             @@
##           develop     #228      +/-   ##
===========================================
- Coverage    93.31%   93.17%   -0.15%
===========================================
  Files          117      118       +1
  Lines         4025     4027       +2
  Branches       352      353       +1
===========================================
- Hits          3756     3752       -4
- Misses         191      203      +12
+ Partials        78       72       -6

Impacted Files
Coverage Δ

apartment/api/views.py
98.01% <ø> (-0.12%)
:arrow_down:

apartment_application_service/settings.py
86.23% <ø> (ø)

customer/api/sales/views.py
84.84% <ø> (-0.87%)
:arrow_down:

apartment_application_service/oidc.py
50.00% <50.00%> (ø)

application_form/api/sales/views.py
97.97% <100.00%> (-0.06%)
:arrow_down:

application_form/api/views.py
100.00% <100.00%> (ø)

users/api/views.py
100.00% <100.00%> (ø)

application_form/models/reservation.py
92.98% <0.00%> (-3.51%)
:arrow_down:

invoicing/sap/utils.py
40.35% <0.00%> (ø)

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 3211894...f2d11ed. Read the comment docs.


BJ266-05: add a unit-test for method getSELinuxSecurityOpts in cri_utils.go

Ⅰ. Describe what this PR did
add a unit-test for method getSELinuxSecurityOpts in cri_utils.go
Ⅱ. Does this pull request fix one issue?
fix issues #1912
Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews
group 5

Codecov Report

Merging #2003 into master will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #2003      +/-   ##
=========================================
+ Coverage   63.31%   63.4%   +0.08%
=========================================
  Files         200     200
  Lines       15522   15522
=========================================
+ Hits         9828    9841      +13
+ Misses       4455    4440      -15
- Partials     1239    1241       +2

Flag
Coverage Δ

#criv1alpha1test
33.76% <ø> (-0.1%)
:arrow_down:

#criv1alpha2test
34.29% <ø> (+0.01%)
:arrow_up:

#integrationtest
38.45% <ø> (+0.01%)
:arrow_up:

#unittest
21.18% <ø> (+0.32%)
:arrow_up:

Impacted Files
Coverage Δ

ctrd/watch.go
72.72% <0%> (-3.04%)
:arrow_down:

cri/v1alpha1/cri.go
65.4% <0%> (-0.19%)
:arrow_down:

daemon/mgr/container.go
53.85% <0%> (-0.16%)
:arrow_down:

daemon/containerio/container_io.go
75.69% <0%> (+1.1%)
:arrow_up:

cri/v1alpha1/cri_utils.go
77.14% <0%> (+2.85%)
:arrow_up:


UI Improvements for Edit View

Describe the bug

In the Environment list/ Databag list/ client list page height of the search icon is overlapping the search bar border.
In Environment/ Databag/ Client/ Role details page update the CSS of tabs.
CSS of create and edit pop-up of Databag as it overrides all other pop-ups CSS.
Search buttons are not keyboard accessible.
After opening create environment Deleted dropdown CSS gets override.
In Create Environment, disable create button if a name already exists.
In create Environment, change the border color of the text-field when focused.
In the edit environment, change the border size of the label.
In Environment details :

Add no preview image in attributes tab if no JSON available
Change border-size of details box  1px.
When we click the button of edit or expand we have to click twice then the pop-up visible. need to update this.
Edit, Expand, collapse buttons are not keyboard accessible.

While creating the first Databag item I do not see the data bag item immediately.
#4878
Edit databag item -> open item details -> cursor is always pointer
After delete pagination is not updating #4879
With large number of data, data is not fetching on last page.(Through error in API)

FIxed the following issues:

In the Environment list/ Databag list/ client list page height of the search icon is overlapping the search bar border.
CSS of create and edit pop-up of Databag as it overrides all other pop-ups CSS.
Search buttons are not keyboard accessible.
In Create Environment, disable create button if a name already exists.
In create Environment, change the border color of the text-field when focused.
Edit databag item -> open item details -> cursor is always pointer

in the PR #4888


ImageCodecException in Release Build Flutter Web + CanvasKit

Steps to Reproduce

Run code in https://gist.github.com/felangel/1596c10fc10ca36c00dcf0bff26abd61 in debug mode

flutter run -d chrome

Observe that when tapping "take photo",  the image is rendered properly in the preview page
Run code in https://gist.github.com/felangel/1596c10fc10ca36c00dcf0bff26abd61 in release mode

flutter build web --web-renderer canvaskit

Observe that when tapping "take photo", an ImageCodecException occurs.

Expected results:

Actual results:

Logs

[+3201 ms] [
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,3",
                        "identifier" : "868DC50A-054E-4CBA-AB3E-FA42E7B6B213",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-pro-1",
                        "modelName" : "iPhone 11 Pro",
                        "name" : "iPhone 11 Pro"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone10,4",
                        "identifier" : "F0554C85-991B-477F-B672-5FD666E90BDD",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-8-2",
                        "modelName" : "iPhone 8",
                        "name" : "iPhone 8"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone13,1",
                        "identifier" : "5DC773C4-7E37-42B0-8E93-A9827C7ED432",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-12-mini-1",
                        "modelName" : "iPhone 12 mini",
                        "name" : "iPhone 12 mini"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone13,4",
                        "identifier" : "52FBB3ED-29E2-4A38-AD2B-06F89C4371E7",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-12-pro-max-1",
                        "modelName" : "iPhone 12 Pro Max",
                        "name" : "iPhone 12 Pro Max"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,3",
                        "identifier" : "DEAA9CB8-F95F-4A04-B92B-F34DEB6B5CA2",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-pro-1",
                        "modelName" : "iPhone 11 Pro",
                        "name" : "iPhone 11 Pro"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.0 (18J383)",
                        "available" : true,
                        "platform" : "com.apple.platform.appletvsimulator",
                        "modelCode" : "AppleTV6,2",
                        "identifier" : "5E80E7D3-3FC9-41CE-BC21-96081481676F",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.apple-tv-4k",
                        "modelName" : "Apple TV 4K",
                        "name" : "Apple TV 4K"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad11,3",
                        "identifier" : "6A66D6B4-9A3B-40FA-B160-6E3B8835CE13",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-air3-wifi-1",
                        "modelName" : "iPad Air (3rd generation)",
                        "name" : "iPad Air (3rd generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,1",
                        "identifier" : "88DE54C7-C3D1-4C13-882D-677E6172587A",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-1",
                        "modelName" : "iPhone 11",
                        "name" : "iPhone 11"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone10,5",
                        "identifier" : "B936186E-740A-4C81-B680-DC82AB907CC8",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-8-plus-2",
                        "modelName" : "iPhone 8 Plus",
                        "name" : "iPhone 8 Plus"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad8,12",
                        "identifier" : "0603527B-3BB7-40DE-ACE3-DFBA878C67B3",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-12point9-4th-1",
                        "modelName" : "iPad Pro (12.9-inch) (4th generation)",
                        "name" : "iPad Pro (12.9-inch) (4th generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone10,5",
                        "identifier" : "6D3A8711-D586-4049-A426-8CD6135BD4E0",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-8-plus-2",
                        "modelName" : "iPhone 8 Plus",
                        "name" : "iPhone 8 Plus"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,5",
                        "identifier" : "59F149F0-2008-4721-9D7D-77FCDDE21234",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-pro-max-1",
                        "modelName" : "iPhone 11 Pro Max",
                        "name" : "iPhone 11 Pro Max"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "7.0 (18R382)",
                        "available" : true,
                        "platform" : "com.apple.platform.watchsimulator",
                        "modelCode" : "Watch5,4",
                        "identifier" : "4F5CAF69-3BE4-434A-9B7C-51417B981A10",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.watch-series5-1",
                        "modelName" : "Apple Watch Series 5 - 44mm",
                        "name" : "Apple Watch Series 5 - 44mm"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad11,7",
                        "identifier" : "B7876594-9FDD-4DB8-8D38-F3DEEFB3F434",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-8-wwan-1",
                        "modelName" : "iPad (8th generation)",
                        "name" : "iPad (8th generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,1",
                        "identifier" : "E90C1409-69DD-46E5-848B-9BAD317E477A",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-1",
                        "modelName" : "iPhone 11",
                        "name" : "iPhone 11"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad8,5",
                        "identifier" : "E0992F7E-7E77-4DDC-8145-AC8133F53889",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-12point9-1",
                        "modelName" : "iPad Pro (12.9-inch) (3rd generation)",
                        "name" : "iPad Pro (12.9-inch) (3rd generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "7.0 (18R382)",
                        "available" : true,
                        "platform" : "com.apple.platform.watchsimulator",
                        "modelCode" : "Watch5,3",
                        "identifier" : "2B79CA73-CE05-4709-983B-AA436F701845",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.watch-series5-1",
                        "modelName" : "Apple Watch Series 5 - 40mm",
                        "name" : "Apple Watch Series 5 - 40mm"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad8,9",
                        "identifier" : "CA10560A-71B7-4FE7-950E-05F5C1D74104",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-11-2nd-1",
                        "modelName" : "iPad Pro (11-inch) (2nd generation)",
                        "name" : "iPad Pro (11-inch) (2nd generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.0 (18J383)",
                        "available" : true,
                        "platform" : "com.apple.platform.appletvsimulator",
                        "modelCode" : "AppleTV6,2",
                        "identifier" : "16374370-4502-4790-BBFE-B19CB2BD7C7F",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.apple-tv-4k",
                        "modelName" : "Apple TV 4K (at 1080p)",
                        "name" : "Apple TV 4K (at 1080p)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,5",
                        "identifier" : "088C5C7A-0431-4D80-BDED-A4A901ECB53D",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-11-pro-max-1",
                        "modelName" : "iPhone 11 Pro Max",
                        "name" : "iPhone 11 Pro Max"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone12,8",
                        "identifier" : "7ADA640B-78DB-40D1-9D44-8019A843EC33",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-se-1",
                        "modelName" : "iPhone SE (2nd generation)",
                        "name" : "iPhone SE (2nd generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.0 (18J383)",
                        "available" : true,
                        "platform" : "com.apple.platform.appletvsimulator",
                        "modelCode" : "AppleTV5,3",
                        "identifier" : "6C781936-B73E-4565-9209-73AA4176A57B",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.apple-tv-4",
                        "modelName" : "Apple TV",
                        "name" : "Apple TV"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad8,1",
                        "identifier" : "DF261734-3D25-4A38-8F1A-45B647457C5B",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-11-1",
                        "modelName" : "iPad Pro (11-inch) (1st generation)",
                        "name" : "iPad Pro (11-inch)"
                      },
                      {
                        "modelCode" : "iPhone10,3",
                        "simulator" : false,
                        "modelName" : "iPhone X (Model A1865, A1901, A1902, A1903)",
                        "error" : {
                          "code" : -13,
                          "failureReason" : "",
                          "underlyingErrors" : [
                            {
                              "code" : 5,
                              "failureReason" : "allowsSecureServices: 1. isConnected: 0. Platform:
                              <DVTPlatform:0x7f9ae8208940:'com.apple.platform.iphoneos':<DVTFilePath:0x7f9ae82088c0:'\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform'>>.
                              DTDKDeviceIdentifierIsIDID: 0",
                              "description" : "Failed _shouldMakeReadyForDevelopment check even though device is not locked by passcode.",
                              "recoverySuggestion" : "",
                              "domain" : "com.apple.platform.iphoneos"
                            }
                          ],
                          "description" : "Felix’s iPhone is not connected",
                          "recoverySuggestion" : "Xcode will continue when Felix’s iPhone is connected.",
                          "domain" : "com.apple.platform.iphoneos"
                        },
                        "operatingSystemVersion" : "14.4 (18D52)",
                        "identifier" : "82b15a4a69ad47c74fe3e71b62a6a6e2842efe25",
                        "platform" : "com.apple.platform.iphoneos",
                        "architecture" : "arm64",
                        "interface" : "usb",
                        "available" : false,
                        "name" : "Felix’s iPhone",
                        "modelUTI" : "com.apple.iphone-x-1"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone10,4",
                        "identifier" : "5891C2BD-8FC9-41FD-9781-18FE88C3EDD1",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-8-2",
                        "modelName" : "iPhone 8",
                        "name" : "iPhone 8"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPod9,1",
                        "identifier" : "33D3D206-FF3B-4138-9829-5C966569D07A",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipod-touch-7-2",
                        "modelName" : "iPod touch (7th generation)",
                        "name" : "iPod touch (7th generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "7.0 (18R382)",
                        "available" : true,
                        "platform" : "com.apple.platform.watchsimulator",
                        "modelCode" : "Watch6,1",
                        "identifier" : "79065A5E-DC30-4EBB-8A01-E1D366398CE1",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.watch-series6-1",
                        "modelName" : "Apple Watch Series 6 - 40mm",
                        "name" : "Apple Watch Series 6 - 40mm"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "7.0 (18R382)",
                        "available" : true,
                        "platform" : "com.apple.platform.watchsimulator",
                        "modelCode" : "Watch6,2",
                        "identifier" : "BF049CAA-9380-47B0-8875-D830B1ED1FB1",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.watch-series6-1",
                        "modelName" : "Apple Watch Series 6 - 44mm",
                        "name" : "Apple Watch Series 6 - 44mm"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone13,3",
                        "identifier" : "B75CF24B-9D7D-4E62-BFFC-6990137D5131",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-12-pro-1",
                        "modelName" : "iPhone 12 Pro",
                        "name" : "iPhone 12 Pro"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPhone13,2",
                        "identifier" : "509DC9DE-34D4-49BC-8DBF-1B731A9B6FDE",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.iphone-12-1",
                        "modelName" : "iPhone 12",
                        "name" : "iPhone 12"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad6,4",
                        "identifier" : "E4525F15-6694-43D5-B66E-A49210CB112E",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-9point7-a1674-b9b7ba",
                        "modelName" : "iPad Pro (9.7-inch)",
                        "name" : "iPad Pro (9.7-inch)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "14.1 (18A8394)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad13,2",
                        "identifier" : "D630837F-DA86-40D6-8F63-1609A89F6B46",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-air4-1",
                        "modelName" : "iPad Air (4th generation)",
                        "name" : "iPad Air (4th generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad7,12",
                        "identifier" : "1D27A225-8B58-4380-9BAE-1C952052DA61",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-7-wwan-1",
                        "modelName" : "iPad (7th generation)",
                        "name" : "iPad (7th generation)"
                      },
                      {
                        "simulator" : true,
                        "operatingSystemVersion" : "13.2.2 (17B102)",
                        "available" : true,
                        "platform" : "com.apple.platform.iphonesimulator",
                        "modelCode" : "iPad6,4",
                        "identifier" : "AA99FD8D-0EBF-4E80-BC21-15B4BBE7A9F1",
                        "architecture" : "x86_64",
                        "modelUTI" : "com.apple.ipad-pro-9point7-a1674-b9b7ba",
                        "modelName" : "iPad Pro (9.7-inch)",
                        "name" : "iPad Pro (9.7-inch)"
                      }
                    ]
[  +11 ms] Error: Felix’s iPhone is not connected. Xcode will continue when Felix’s iPhone is connected. (code -13)
[   +4 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +17 ms] Changing current working directory to: /Users/felix/Development/playgrounds/nnbd_flutter
[  +58 ms] Skipping pub get: version match.
[ +151 ms] Generating /Users/felix/Development/playgrounds/nnbd_flutter/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +145 ms] Launching lib/main.dart on Chrome in debug mode...
[ +111 ms] Updating assets
[  +83 ms] Waiting for connection from debug service on Chrome...
[  +69 ms] <- reset
[   +6 ms] /Users/felix/Development/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Users/felix/Development/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root
/Users/felix/Development/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/var/folders/xn/py5pmlm51q39j8pgx_m9f8zc0000gn/T/flutter_tools.5G4d6M/flutter_tool.jYixdD/app.dill --libraries-spec file:///Users/felix/Development/flutter/bin/cache/flutter_web_sdk/libraries.json --packages
/Users/felix/Development/playgrounds/nnbd_flutter/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root
/var/folders/xn/py5pmlm51q39j8pgx_m9f8zc0000gn/T/flutter_tools.5G4d6M/flutter_tools.ROh2Wu --filesystem-scheme org-dartlang-app --initialize-from-dill build/b1b715402d823b7fd5c2b68d2edcb2ce.cache.dill.track.dill --platform
file:///Users/felix/Development/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill --sound-null-safety
[  +11 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+15202 ms] Waiting for connection from debug service on Chrome... (completed in 15.3s)
[        ] Synced 29.1MB.
[        ] <- accept
[        ] Caching compiled dill
[  +69 ms] Using Google Chrome 89.0.4389.90

[ +711 ms] [CHROME]:
[   +1 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:58011/devtools/browser/0b61b777-995a-4d71-9b8b-b380283e940f
[ +671 ms] DwdsInjector: Received request for entrypoint at http://localhost:52112/main_module.bootstrap.js
[   +4 ms] MetadataProvider: Loading debug metadata...
[  +10 ms] MetadataProvider: Loaded debug metadata
[   +7 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:52112/main_module.bootstrap.js
[+1646 ms] DevHandler: Debug service listening on ws://<IP_ADDRESS>:61157/7fU_BvzvkGc=/ws

[  +10 ms] Debug service listening on ws://<IP_ADDRESS>:61157/7fU_BvzvkGc=/ws
[        ] 💪 Running with sound null safety 💪
[   +3 ms] 🔥  To hot restart changes while running, press "r" or "R".
[        ] For a more detailed help message, press "h". To quit, press "q".
[+6754 ms] "flutter run" took 30,085ms.

No issues found! (ran in 2.0s)

[✓] Flutter (Channel stable, 2.0.3, on macOS 11.2.2 20D80 darwin-x64, locale en-US)
    • Flutter version 2.0.3 at /Users/felix/Development/flutter
    • Framework revision 4d7946a68d (4 days ago), 2021-03-18 17:24:33 -0700
    • Engine revision 3459eb2436
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/felix/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1, Build version 12A7403
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 11.2.2 20D80 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 89.0.4389.90
    ! Error: Felix’s iPhone is not connected. Xcode will continue when Felix’s iPhone is connected. (code -13)

! Doctor found issues in 1 category.

Running this as flutter run -d chrome --profile lets us get an un-minified exception:
ImageCodecException: Failed to decode image data.
Image source: encoded image bytes, ImageCodecException: Failed to decode image data.
Image source: encoded image bytes
    at Object.wrapException (http://localhost:41643/main.dart.js:7169:17)
    at CkAnimatedImage.createDefault$0 (http://localhost:41643/main.dart.js:33881:17)
    at CkAnimatedImage.ManagedSkiaObject$1 (http://localhost:41643/main.dart.js:34852:50)
    at http://localhost:41643/main.dart.js:14941:20
    at _wrapJsFunctionForAsync_closure.$protected (http://localhost:41643/main.dart.js:10894:15)
    at _wrapJsFunctionForAsync_closure.call$2 (http://localhost:41643/main.dart.js:52908:12)
    at Object._asyncStartSync (http://localhost:41643/main.dart.js:10858:20)
    at Object.instantiateImageCodec (http://localhost:41643/main.dart.js:14957:16)
    at WidgetsFlutterBinding.instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth (http://localhost:41643/main.dart.js:74385:16)
    at WidgetsFlutterBinding.instantiateImageCodec$1 (http://localhost:41643/main.dart.js:74388:19)

This seems to be related to the ._bytes getter of the cross_file package, which returns this:
    if (_data != null) {
      return Future<Uint8List>.value(UnmodifiableUint8ListView(_data!));
    }

There's something about the UnmodifiableUint8ListView that the image codec doesn't understand.
A quick workaround for this is to pass the following to the PreviewPage, in the _onSnapPressed method:
    final previewPageRoute = PreviewPage.route(image: Uint8List.fromList(image.toList()));

I think this can be closed now since https://github.com/flutter/flutter/issues/89014 is merged .

Verified fixed


Why [<AbstractClass; Sealed>]  for constants ?

https://github.com/veepee-oss/Vp.FSharp.Sql.Sqlite/blob/a35d89f3c588ee1f87b4d758a9bdf693f4ea5992/Vp.FSharp.Sql.Sqlite/Types.fs#L45-L46
Why not a module ?

Cause under some specific circumstances (lib as dep + release conf), the initialization of a let binding (variable) in a module can be omitted by the compiler: see https://stackoverflow.com/questions/61937274/do-aggressive-f-compiler-optimizations-only-occur-on-referenced-dependencies
This doesn't occur with static classes.


Error while running ceph-ansible

Hello everyone
I am trying to
have cloned github repository of ceph-ansible and now trying to deploy my ceph in my browser.
But I am facing an error while running ceph-ansible playbook ( I have attached the ss)

Environment:
OS ( Ubuntu20.04 (focal)):
*Ceph repository = 5.0 (stable)

host file =
[mons]
ceph3 ansible_host=192.xxx.xxx.xxx ansible_user=ceph3 ansible_ssh_private_key_f>
aryanceph ansible_host=192.xxxxxx.xxx ansible_user=aryanceph ansible_ssh_priva>
mamaniaceph ansible_host=192.xxx.xxx.xxx ansible_user=mamaniaceph ansible_ssh_p>
[osds]
ceph3 ansible_host=192.xxx.xxx.xxx.ansible_user=ceph3 ansible_ssh_private_key_f>
aryanceph ansible_host=192.xxx.xxx.xxx ansible_user=aryanceph ansible_ssh_priva>
mamaniaceph ansible_host=192.xxx.xxx.xxx ansible_user=mamaniaceph ansible_ssh_p>
[mgrs]
aryan2 ansible_connection=local

I was using old version of ceph . When I tried to install new version (which is reef as for now) it worked


Allow for grouping (folders?) of gear output

This could / should probably be tracked with the gear spec, but I'm going to leave it here since the concept has to map well to the scitran hierarchy and flywheel user interface.
@cgc has a gear that produces output like so:
output/
├── mean_image
│   └── meanusub001-t1_reoriented.nii
├── realigned_unwarped_files
│   └── usub001-t1_reoriented.nii
├── realignment_parameters
│   └── rp_sub001-t1_reoriented.txt
├── stderr.log
└── stdout.log

His request, from #591:

how feasible is adding support for nested files? I don't need support in the interface for them yet, I only need their names to be preserved, so something like "files": [{"name": "mean_image/meanusub001-t1_reoriented.nii", ...}, ...] for the above would be ideal, so my scripts can filter by things that have mean_image/ as a prefix.

My thoughts on the idea:

I think the main challenge with folders in containers would be that it breaks some assumptions:

Do we let folders map to hierarchy?
If so, what implications does that have on gears running at level X? Is it "okay" for a gear running at the session level to create or write to existing acquisitions? What's the plan if folders are created in a place that can't be mapped to hierarchy (acquisitions)?
If not, what do we do when we export to BIDS format? Is that folder prefix lost?

It does seem reasonable that a gear should be able to semantically group output into categories. Right now it's only one clump instead of several. I'm going to break out that idea into a separate ticket and ping some people :slightly_smiling_face:

There's probably more to it than that, but let's see what ya'll think. Assigning to the main crew.

Oh, and to clarify, the current behavior is that folders in the output are totally fine, but should be ignored. The files will be saved to the hierarchy flat, as if there were no folders.
There might be a bug with that current behavior, which is tracked by #591.

FWIW, @rentzso and I recently added support for nested files to the openneuro fork. We basically allowed filenames contain / characters and adapted the download functions to respect those. No complaints so far.

That sounds like my number-three bullet, right?
Saving folder path in the file name, but in most other respects ignoring them?

re: 1 and 2 I didn't know gears could modify acquisitions or sessions, and I don't intend to use them that way; I only intend to produce new analysis. I can see a number of possible schemes that can work for this. The examples below are attempting to describe a file file.nii.gz that is in a directory directory.
This scheme is what I assumed flywheel would do and seems like a pretty plain scheme (and seems like the scheme @gsfr and @rentzso have adopted):
"analyses": [{"files": [{"name": "directory/file.nii.gz", ...}, ...], ...}, ...]
This scheme may result in name not being unique if files can have same names (for the reason I describe below, i'm concerned about this for my data processing), but is otherwise not too bad.
"analyses": [{"files": [{"name": "file.nii.gz", fullPath: "directory/file.nii.gz", ...}, ...], ...}, ...]
I can imagine file alternatively having a dirname, or files containing files arrays, but those schemes seem clumsier in practice.
re: 3 BIDS format does not seem to recommend a particular structure for "data derivatives".

BIDS in its current form is designed to harmonize and describe raw (unprocessed or minimally process due to file format conversion) data. During analysis such data will be transformed and partial as well as final results will be saved. Derivatives of the raw data (other than products of DICOM to NIftI conversion) should be kept separate from the raw data.

section 3.4 does have this recommendation

We do recommend keeping them in separate “sourcedata” and “derivatives” folders each with a
similar folder structure as presented below for the BIDS-managed data.

but isn't otherwise prescriptive.
In general, flattening any hierarchical structure can result in pieces of data with the same name (at the very least, running basename(filename) can almost certainly result in files with the same name if different folders contain the results of processing that are very similar (with small changes to parameters), which my pipeline does). The potential for data loss and lack of a simple general solution makes me want to strongly urge avoiding flattening the hierarchy in the post-engine phase and instead force the decision about hierarchy flattening to occur inside of any BIDS conversion tools.

Here's the implementation that @gsfr and Renzo contributed to OpenNeuro.
https://github.com/poldracklab/bids-core/pull/12/files
Can we get some consensus on this implementation and start forging a path forward? Right now we're having to flatten (or zip) output folder structures and it would be great to not require that of gear authors.

@kofalt wanted to check in and see if there's any ETA for a fix to this issue

Thanks for the ping - I'm afraid a few other things held my attention for awhile.
Also thank you for your callout of relevant snippets of the BIDS spec. I've not yet had much contact with it, but I'll definitely be giving the spec a read tomorrow. My earlier statement about exporting to "BIDS format" wasn't very clear or accurate: when we offer bulk downloads (in the UI, select a few sessions on the left and hit Download under Actions), we send over a tarball with this layout:
/<group>/<project>/<patient_code>/<session>/<acquisition>/

With relevant files attached in the project, session, and acquisition folders. Your comment about "the decision about hierarchy flattening to occur inside of any BIDS conversion tools" sounds like a good idea, and so we'd have to accomplish that here, and maybe some other places.
The PR linked by Michael looks reasonable, but at first glance I'm not confident it handles filename collision during export, which we should probably solve. OS-style "(1)" renaming? Rejection?
Fundamentally, I would prefer if gear outputs were always their own set of files, rather than intermixed into others - it would make this sort of thing a lot more obvious. For analysis-style gears this is easier to handle, and display in the user interface.
For this to get rolling, I think we need Ryan / Michael / Gunnar to put their heads together and figure out how this feature should work - including user interface concerns - and Megan or I could implement it, probably using poldracklab/bids-core#12 as a starting point.

@cgc
Regarding your statement "so my scripts can filter by things that have mean_image/ as a prefix"

How does your script interact with the core API, or does it interact with the local filesystem after download of an analysis?
Are there algorithms you expect to use, or are commonly used by others that produce nested output?

If so, what are they?

What assumptions should gear authors have around consuming these nested outputs as inputs into a different gear?
Add anything else that could help us understand the value of this request as scoped, and a more  complete story that could include UI and search extensions.

Thanks!

That's an interesting point - if a file that happens to have a folder should be placed in that folder when provided to a gear as an input. My intuition would be a strong no, since gears only acknowledge single files as inputs right now & there's no reason to make them chase a folder structure looking for it.
But we've had container inputs on our mind for a long time (probably "base": "folder" rather than "base": "file") and in that scenario it might make sense to provide any saved folder structure.

background: I have a set of scripts that run pipelines in flywheel: by specifying a sequence of operations using gears, and specifying which files in acquisitions and analyses are the inputs to the gears, my scripts can manage running these sequential pipelines for N sessions at a time. Here's an example script: it runs the dti init gear and connects that output to the afq gear. This code doesn't download any files: it loads the lists of acquisitions and analyses from the server and does filtering in python to find the appropriate files to specify as inputs to gear execution. Implementation details for underlying library are here.
I also have a script that downloads relevant files from flywheel: nifti images, analyses outputs, uploaded behavioral/stimulus files.
with that out of the way, I'll answer your questions

my analysis script filters server listings of analyses output using fnmatch(), so I can specify things like find(acquisition, label='functional').find_file('*.nii.gz') or find(analyses, label='preprocessing').find_file('mean_image/*') and get a valid input to kick off a gear. my download script downloads files to the server where we do group analysis; I'll likely toss an os.makedirs(os.dirname(file['name'])) into that script.
I use nipype, which outputs files in folders by default (the format I've shown examples from in other issues). Michael tells me that freesurfer has a very deeply nested directory structure. Additionally, some of the vista soft tools (DTI init in particular) seem to output nested directory structures (today we just zip the DTI init output).
I assume that all inputs to a gear are in standard nipype format (directory named after input key in manifest, file with its name). However, some of the cases above (the DTI init output, which must just directly be passed to AFQ, in it's current structure) are a bit harder to figure out the product implications for (do you mark the DTI init folder (with all of its nested folders and files) with some kind of metadata that makes it in effect a typed object and pass in that typed object to AFQ? or do you enumerate every file from the DTI init in the AFQ manifest and pass each file in individually, although perhaps with some way of specifying nesting, like an input key with forward slashes?)
i'm treating this last bullet as a bit of a soap box

Search isn't useful for me: my project has 100s of sessions and in total, 1000s of files, but I rely on simply downloading the list of sessions, and for each session, filtering through files. when filtering on 1000s of objects, I find simple logical operators to be clearer and simpler (and more likely to be correct) than dealing with a search engine.
When I'm first testing out my gears in the UI, it's incredibly complicated to correctly find the output of one gear that should be the input to the next: particularly with nifti files across all the tasks one subject does, I have to carefully read through a list of 100s of nifti files. I'm not sure how this can be solved: metadata on inputs to gears that specify some subtype of nifti file (aligned to MNI152, or slice-time corrected), or that specify some source (smoothed output from the reactivity-preprocessing gear. I could also see an extension to session templates that says outputs from one gear execution should be input to another.).

@cgc
Thanks for the quick response.
We will track this request at https://flywheelio.ideas.aha.io/ideas/FW-I-75. Feel free to add any more context there. We will update the status there as soon as it is available.


mention detection (how to?)

Hi SapBERT authors, this code is so valuable!
With this code, I can link biomedical entities to the UMLS entities. In my case, I want to give a sentence-query, like needed for the evaluations of the unsupervised trained model. I wonder how the mention detection was performed (not described in paper)?

Thanks for the fast and concise answer! I already thought it could be like that.

Just a follow up question: What mention-detection tool would you recommend?
I found that sciSpacy reports F1 as follows:

Model
Mentions (F1)

en_core_sci_sm
68.00

en_core_sci_md
68.95

en_core_sci_lg
68.67

en_core_sci_scibert
67.90

from this reference.

I was surprised these scores are so low, so I tested two sentences:

"The Calvin–Benson–Bassham (CBB) cycle is presumably evolved for optimal synthesis of C3 sugars, but not for the production of C2 metabolite acetyl-CoA. The carbon loss in producing acetyl-CoA from decarboxylation of C3 sugar limits the maximum carbon yield of photosynthesis."

good output, only missed 1: "maximum carbon yield"

"Here we design a synthetic malyl-CoA-glycerate (MCG) pathway to augment the CBB cycle for efficient acetyl-CoA synthesis."

Missed "pathway", here is the output: "(synthetic malyl-CoA-glycerate, MCG, CBB cycle, acetyl-CoA synthesis)"

Next, I considered "meta-llama/Llama-2-7b-hf", put it always produced text unrelated to the instructions.
Next I considered "meta-llama/Llama-2-7b-chat-hf"  , which gave me:

Calvin
Benson
Bassham (CBB)
carbon
CoA
decarboxylation
C3
sugar
photosynthesis

Conclusion
So I'm still interested in the question of the first sentence: Do you have a recommenation for mention-detection ?


MG MG5 EV - no strategy works

Hi,
thanks for this project and all the effort involved!
I've now tried all three connect strategies and none of them work.
It seems to me that the USB thing need to be turned off completely until phone is ready.
Tested with a brand new Raspi Zero 2 W and an OnePlus 8T
I can debug this further with a laptop connected to the TTL Serial port but I'll need some help on what to look into.
Let me know, happy to help make this a better project

Update:
while connecting this to a Linux machine I see that the USB thing isn't created with anything it can understand
Aug 26 12:43:35 lc kernel: usb 5-1.4: new full-speed USB device number 23 using xhci_hcd
Aug 26 12:43:51 lc kernel: usb 5-1.4: device descriptor read/64, error -110
Aug 26 12:44:07 lc kernel: usb 5-1.4: device descriptor read/64, error -110
Aug 26 12:44:07 lc kernel: usb 5-1.4: new full-speed USB device number 24 using xhci_hcd
Aug 26 12:44:23 lc kernel: usb 5-1.4: device descriptor read/64, error -110
Aug 26 12:44:38 lc kernel: usb 5-1.4: device descriptor read/64, error -110
Aug 26 12:44:38 lc kernel: usb 5-1-port4: attempt power cycle
Aug 26 12:44:39 lc kernel: usb 5-1.4: new full-speed USB device number 25 using xhci_hcd
Aug 26 12:44:44 lc kernel: xhci_hcd 0000:0c:00.4: Timeout while waiting for setup device command
Aug 26 12:44:50 lc kernel: xhci_hcd 0000:0c:00.4: Timeout while waiting for setup device command
Aug 26 12:44:50 lc kernel: usb 5-1.4: device not accepting address 25, error -62
Aug 26 12:44:50 lc kernel: usb 5-1.4: WARN: invalid context state for evaluate context command.
Aug 26 12:44:50 lc kernel: usb 5-1.4: new full-speed USB device number 26 using xhci_hcd
Aug 26 12:44:56 lc kernel: xhci_hcd 0000:0c:00.4: Timeout while waiting for setup device command
Aug 26 12:45:01 lc kernel: xhci_hcd 0000:0c:00.4: Timeout while waiting for setup device command
Aug 26 12:45:02 lc kernel: usb 5-1.4: device not accepting address 26, error -62
Aug 26 12:45:02 lc kernel: usb 5-1.4: WARN: invalid context state for evaluate context command.
Aug 26 12:45:02 lc kernel: usb 5-1-port4: unable to enumerate USB device

We don't start USB until phone is connected via TCP in phone-first and dongle mode. Is that not the case?
To try out on laptop, you can use the Desktop Head Unit. It is a little tricky to test dongle mode with this, but the other two modes should be fairly simple to test out with this.

no, as of today, this isn't working at all on my car
I will have to revisit this later and post back tesults

So, here's an interesting turn of events.
I've setup Android Head Unit (AHU) with Android's SDK Manager in my desktop.
Activated the unit with "-u" for usb support and plugged the raspberry pi zero 2 w
After some back and forth with setting up phone, restarting AHU multiple times, it suddenly started working
I then went to my car and as a "miracle" it started to work!!!
I now want to know what changed to make it work in the car

@luisfcorreia Any insights on what changed that made it work? If not, can we close this issue if it now works for you?

It is now less reliable then using the cable, I've stopped using it.
I'll close the issue for now, will revise it later


Standardizing Naming Conventions in Multitenant Scenario for Terraform and Bicep Deployments

[ ]  [Multitenant-all] (Importance: Low) There are different approaches in the naming convention of resources between Bicep and Terraform. One implementation uses a suffix-based approach, while the other a prefix-based approach. So, for instance, if we have a Resource group named Example001, in Terraform, the resource will be created with the name rg-Example001, while in bicep it will be created with the name Example001-rg.

Closing this item: Although, TF module is different to bicep, so there are differences, but the naming is standardize.


Docs: .amplicationrc systemSettings requireAuthenticationEntity property

(docs): Renaming the property in the docs from requireAuth to requireAuthenticationEntity for the systemSettings configuration object. Also adding the page to the sidebar.

@mulygottlieb, this should fix the bugs on this page. @PazYanoverr, how can we be more clear about the differences between "internal developers" and "community developers"?

@dericksozo - NSIU, what is a community developer vs. an internal developer? Is it about developers using the Enterprise plan vs. the Free plan?


Auto update extension state not preserved across Auto Update extensions settings change

Auto Update Extensions menu > None
Notice how the Auto update checkboxes are all unchecked. This is good
Auto update extensions menu > Selected
Select some checkboxes
Set Auto update checkboxes to None. And back to Selected
None of the checkboxes I selected in step 4 are preserved. They are all unchecked 🐛

Can not repro nicely because i seem to be hitting a bigger issue that clicking on the checkbox simply has no effect.

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Added Blacklist for Vehicles

Just Blacklist for Vehicles

A better approach is to make it permission based for each vehicle.

@Trojaner25 For each player?

You could make permissions and negative permissions. Using permissions would allow you to restrict it completely or on a per role base.


Add README

Prepare a README file with instructions to build the code.

not done yet

Can you add a worked example of how to run the code


feat: migrate ophan from types

What does this change?

Migrates ophan from @guardian/types to @guardian/libs

Why?
See https://github.com/guardian/types/issues/136

This only provides types so should this be in the src/types directory instead?

Coverage remained the same at 99.441% when pulling a1407aaf2daf4dbe95f9245925c1711aeec483ac on migrate-ophan into 6311b24f8c83a4357df39a3d802b78f5eecaa2e4 on main.


Compile example module

gcc gould be used for compilation

Till now, only GNU/Linux is supported, and it contains a standard linker ("ld") so i dont have to implement another as of now


HLS stream: video freezes but audio plays

I'm using react-native-video to play an m3u8 file hosted on AWS, and literally stuck...
When I play the file on react-native-video in my IOS simulator and my iPhone 8, I see the following odd behavior

In normal play mode, the first video interval plays and then freezes on the last frame of the interval, while the audio continues to play as expected to the end.
If I drag the player's time bar to a specific point, that specific video interval plays and again freezes - while the audio picks up and continues to play from that point to the end.

I debugged and found the following

After onLoadStart, onBuffer is called 4 times before onLoad is called.
After onLoad, onBuffer is called a 5th time.
After the 5th onBuffer, onProgress is called for every 250ms interval.
I've changed my "progressUpdateInterval" from the default 250ms to 10000ms, but onProgress continues to fire every 250ms.

Note: The file plays fine in multiple HLS testers.

I'm getting this behavior as well when playing a regular video (in full screen mode)
The video starts playing and after a few seconds the image freezes but the audio keeps playing.
@shouvik44 Do you have any insights on this?

@uriklar I was able to get the video to play by moving it from a full-page
modal to a new page. I'm not sure why that works, but the video streams
very nicely. Hope that works for you.
On Thu, Jun 14, 2018 at 1:40 AM, Uri Klar<EMAIL_ADDRESS>wrote:

I'm getting this behavior as well when playing a regular video (in full
screen mode)
The video starts playing and after a few seconds the image freezes but the
audio keeps playing.
@shouvik44 https://github.com/shouvik44 Do you have any insights on
this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/react-native-community/react-native-video/issues/1003#issuecomment-397188030,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOdjhbKUaSLifI104CdQw7WBYi9p498uks5t8gVsgaJpZM4TvsKL
.

What is full-page modal ?

Hi did you got any solution?

Also experiencing this issue, not clear on a workaround. This shouldn't be marked as closed.

@dustinblackman as there is no url provided nobody can reproduce this 2018 issue... But if you open a PR fixing this issue I would be happy to reopen it before merging the fix !


#click: event not working

Something in the core Morphic event state tracking makes the initial #mouseDown: event disappear when this event raises a window to the foreground: as a consequence, neither #click:, #doubleClick: or #startDrag: are generated in that case (which means one has to click again on the window to initiate a drag or a double click: first click to raise to the foreground, second click to start the action).
Just gaining the focus (window is already in the foreground) is Ok.
A workaround implemented is to handle some actions on #mouseDown: (menu opening). It is done that way in all Morphs, in fact.

Corrected by https://pharo.fogbugz.com/f/cases/18114


pentose-phosphate shunt, non-oxidative branch

I would expect to see this as "carbohydrate metabolism" but now it is
"carbohydrate derivative metabolism" (because glyceraldehyde 3-phosphate is classified as a phospho-sugar?) NOTE: glucose-3 phosphate also has this classification!
This isn't really where I would expect to find it ?
and it no longer slims for us.
Were  would expect to find it with
GO:0006091    JSON
generation of precursor metabolites and energy
Could this be added?

We will look at this at the end of the week, but my first reaction is that if it keeps its current definition, it is a carbohydrate derivative metabolism. All the textbooks that I look at say the pathway starts with G6P, not glucose. Unless we add in the glucokinase step, it should remain this way.

Ah OK so is the parentage always based on  the first compound in the pathway?

No. As far as I can tell, there's a historical inconsistency. Logically, glycolysis and the pentose phosphate pathway start by converting the common molecule glucose-6-phosphate into something that is pathway specific, but in biochemist culture, glycolysis is said to start with glucose and its first step is said to be phosphorylation to form glucose-6-phosphate. But the pentose phosphate pathway is said to start with glucose-6-phosphate.

I think it just never occurred to me to refer to "glucose-6-phosphate." as a "carbohydrate derivative"  It's a phosphorylated glucose sugar but isn't it still a carbohydrate. I thought a carbohydrate derivative as things like UDP-glucose....
It seems that this will cause lots of logic issues?

The logic will follow the ChEBI classifiaction. The parentage is not based on the first compound in the pathway, it's based on primary participants. For catabolism that is usually one of the first compounds input into a pathway, for biosynthesis it is usually one of the last outputs of a pathway (emphasis on usually). If I had said glucose-6-phosphate was a carbohydrate on one of my old biochemistry exams, I think my professor would have marked it wrong.

the reason I asked is because it won't slim...

although glycolysis also used to have
generation of precursor metabolites and energy
and now it doesn't...

Both  GO:0009051 pentose-phosphate shunt, oxidative branch and  GO:0009052 pentose-phosphate shunt, non-oxidative branch are is-a children of GO:1901135 carbohydrate derivative metabolic process, it seems like their shared parent, GO:0006098 pentose-phosphate shunt could also have the p-p shunt is_a parent, which doesn't fix the slim but it gets as close as a half-century of biochemist usage will probably allow (it's the metabolism of pentose and other phosphates (carbohydrate derivatives), not of pentose (carbohydrate) itself. I'm reporting our biochemist colleagues' word choice, not justifying it.

Some of the work that we did with refactoring the way inputs and outputs of metabolic processes are handled now allows us to say things like ADP being input to a catabolic process doesn't necessarily mean that the ADP is being catabolized. With that in place, we are now able to define things like ADP->ATP and 'NADPH regeneration' as 'generation of precursor metabolites and energy'. This is one of the things we did at our NYC meeting with @deustp01 last week. With the new assertions in place, the reasoner is inferring that 'glycolytic process' and the oxidative branch of the pentose phosphate shunt are 'generation of precurson metabolites and energy'. But we couldn't see an obvious reason why the non-oxidative branch would be.
As for the carbohydrate-derivative classification, we also checked several more textbooks in NYC and they all had the shunt beginning with the G6P, as is stated in the previous comment.

But, the whole shunt is still not classified as a generation of precursor metabolites and energy. I suspect this is because just because something that is the output of a part of a process doesn't mean that it is an output of the whole process. It could be an input of another part of the process and therefore not output. Next week @deustp01 @vanaukenk and I will look at this more closely. I think that we might have to add the additional overall inputs and outputs to the 'pentose phosphate shunt'. Then the whole pathway will classify.

OK. I added the key reactants back the the parent pathway. All looks good to me now. Interesting that we have to do this. There has got to be a better way using property chains.

Some of the work that we did with refactoring the way inputs and outputs of metabolic processes are handled now allows us to say things like ADP being input to a catabolic process doesn't necessarily mean that the ADP is being catabolized. With that in place, we are now able to define things like ADP->ATP and 'NADPH regeneration' as 'generation of precursor metabolites and energy'. This is one of the things we did at our NYC meeting with @deustp01 last week. With the new assertions in place, the reasoner is inferring that 'glycolytic process' and the oxidative branch of the pentose phosphate shunt are 'generation of precursor metabolites and energy'. But we couldn't see an obvious reason why the non-oxidative branch would be.

First, an obsessive / paranoid bit of clarification: "generation of precursor metabolites and energy" means generation of precursors OR energy OR both, right?
As long as that is true, then the non-oxidative branch fits as well: it yields erythrose 4-phosphate that can be used for phenylalanine biosynthesis in plants and microorganisms, and fructose 6-phosphate and glyceraldehyde 3-phosphate both of which can be metabolized to pyruvate and NADH and ATP. So some precursor metabolites and some energy.

Or is correct. I will also assert the non-oxidative branch. Thanks @deustp01 .

OK, the PR is in now. It would be really nice if we could write axioms for the generation of precursor metabolites and energy. If we could list all of the precursor metabolites as children and then define them as any process in which they were output, we would get automatic classification. I am always uncomfortable asserting is_a relations when a term has a logical def. It is an indication of incomplete definitions. Maybe we could look into this in the summer when you are here.

Sorry. More fussing.
First, should the definition of GO:0006098 pentose-phosphate shunt be changed?
Now:

The glucose-6-phosphate catabolic process in which, coupled to NADPH synthesis, glucose-6-P is oxidized with the formation of carbon dioxide (CO2) and ribulose 5-phosphate; ribulose 5-P then enters a series of reactions interconverting sugar phosphates. The pentose phosphate pathway is a major source of reducing equivalents for biosynthesis reactions and is also important for the conversion of hexoses to pentoses.

Proposed:

The metabolic process in which glucose-6-phosphate is oxidized to form carbon dioxide (CO2) and ribulose 5-phosphate, coupled to reduction of NADP+ to NADPH; ribulose 5-P then enters a series of reactions that can yield biosynthetic precursors (ribose-5-phosphate and erythrose-4-phosphate) and glycolytic intermediates (fructose-6-phosphate and glyceraldehyde-3-phosphate).

And, working from the QuickGO ancestry chart above, it qualifies as an is-a child of GO:0044238 primary metabolic process (The chemical reactions and pathways involving those compounds which are formed as a part of the normal anabolic and catabolic processes. These processes take place in most, if not all, cells of the organism) or as an is-a child of GO:0051156 glucose-6-phosphate metabolic process (The chemical reactions and pathways involving glucose 6-phosphate, a monophosphorylated derivative of glucose with the phosphate group attached to C-6). Would one or both of those parentages help with the slimming issue that started this issue?

No worries @deustp01. I always value your input. Let's have another look at this together. To fit your definition, we would want to change the logical definition too.

1

Some of the work that we did with refactoring the way inputs and outputs of metabolic processes are handled now allows us to say things like ADP being input to a catabolic process doesn't necessarily mean that the ADP is being catabolized. With that in place, we..

Will you talk about this at the GO meeting? It would be really useful...

It would be really nice if we could write axioms for the generation of precursor metabolites and energy.

Agreed....we use this in pombe and generic slims, as do lots of other groups/slims. We are aware that it is rather a vague term....

Pentose phosphate definition and logical definition. The chemicals I added to the definition look like bad  choices for primary inputs or outputs just because they bridge this process to diverse other ones. They could be ordinary inputs and outputs. Is it better to aim for logical definitions that contain the minimum set of elements needed to specify an instance uniquely or is it OK to add more? My guess is "minimum" but let's discuss, maybe tomorrow afternoon briefly? @vanaukenk ?

We will certainly talk about it at the GOC meeting. It's something we have been wanting to do for a long time. Maybe we can take a little time after the pathways2GO meeting tomorrow.

It would be best to use the minimum criteria that would make the definition necessary and sufficient as we tried to do with glycolysis. But if we want to define this as a G6P metabolic process, we will need to change the logical definition to be a metabolic process. The only reason why we would specify chemicals as primary inputs and outputs would be if we wanted to classify this process as a metabolism of those chemicals. If we could create a list of all of the chemicals that we think are 'precursor metabolites', it would be relatively straightforward to make a class 'generation of precursor metabolite X' and logically define it as any metabolic process that has output some X. Then all processes in which that chemical was an output would classify automatically. This is similar to how we have handled the generation of ATP from ADP and NADPH regeneration. I think we can tweak the NAD(P) terms a bit more. But at the end of the day, any process that converts ADP to ATP and Generated NADPH from NADP gets automatically classified as a 'generation of precursor metabolites and energy'.

Hi @deustp01 just a quick note that I looked at this in more detail this morning. I think you are correct that the textual definition needs tweaking. This process is in fact being inferred to be a metabolic process, not a catabolic one. I still think it would be worthwhile to have a quick look together to make sure that things are up to snuff.

Tweaking the textual def. Leaving as a carbohydrate derivative metabolic process as is specified by the textbooks.


Improve type inference for nested expression inside if

If you do something like this:
if true && a = 1
  p! typeof(a)
end

The compiler will know that a is an Int32 inside the if.
However if you do this:
if true && (a = 1; true)
  p! typeof(a)
end

then the type of a is Int32 | NIl inside the if, which isn't quite right.
This isn't a big deal: it's pretty rare to want to write conditions like that.
My main use case was another feature I had in mind. In Ruby you can do this:
point = rand < 0.5 ? [1, 2] : nil
if (x, y = point)
  puts x, y
end

Note that you can use a multi-assign inside an if condition. The meaning of that is: if point is truthy, unpack the values. Otherwise that condition is falsey. And I think that's pretty convenient. Sometimes you have code like this:
points = [{1, 2}, {3, 4}]

while point = points.shift?
  x, y = point
  puts x, y
end

It would be nice to be able to write it like this:
points = [{1, 2}, {3, 4}]

while (x, y = points.shift?)
  puts x, y
end

To implement that, I was thinking that we could transform the above to this:
while (temp = points.shift?) && (x, y = temp; true)
  puts x, y
end

But this doesn't work because x and y will be nilable inside the while body.

can't we transform it to
while temp = points.shift?
  x, y = temp
  puts x, y
end

instead?

@konovod How would you transform this:
if (x, y = something) && something_else
  puts "Hello!"
end

It works in Ruby because nil is a valid value for multiple assignment:
a, *b, c = nil
a # => nil
b # => []
c # => nil

And because the multi-assign returns the value being set (see #7707):
if (a, b = [nil, nil]) # okay, condition is array which is truthy
  p a # => nil
end

Makes total sense!
I guess to implement what I want we'll have to hardcode the rule of a multi-assign inside an if, which maybe isn't ideal.
For now I'm going to close this.


add title as a customizable prop

allow users to optionally add title in customize.
storybook demo:

redundant feature – title already exists in props


[8.83] TypeError on HttpClient with custom middleware and ConnectException

Laravel Version: 8.83.23
PHP Version: 7.4
Database Driver & Version:

Description:
I'm facing a similar issue as described in #37594 , but in a different place. I think the cause is the same as explained in that issue by @lukeraymonddowning.
The error:
Argument 1 passed to Illuminate\Http\Client\Events\ConnectionFailed::__construct() must be an instance of
Illuminate\Http\Client\Request, null given, called in
/var/www/vendor/laravel/framework/src/Illuminate/Http/Client/PendingRequest.php on line 1093

Steps To Reproduce:
In my project, I've created a macro to wrap the calls to an API, to handle the authentication. The macro sets a custom middleware in the HandlerStack. The error happens when doing a request to the api and having a Request Timeout for example.
Bellow is part of the code used:
Http::macro('someApi', function (bool $authenticated = true) : PendingRequest {
    $stack = HandlerStack::create();

    $addRequestSignatureHeaders = static function (bool $authenticated = true) {
        return  static function (callable $handler) use ($authenticated) {
            return static function (
                RequestInterface $request,
                array $options
            ) use ($handler, $authenticated) {
                if ($authenticated) {
                    $token = Cache::get('someApi.auth_token', function () {
                        $tokenResponse = Http::someApi(false)
                        ->retry(3, 1000, function ($exception) {
                            return $exception instanceof ConnectionException;
                        })->post('/auth', [
                            'username' => config('services.someApi.username'),
                            'password' => config('services.someApi.password'),
                        ])->object();

                        Cache::put('someApi.auth_token', $tokenResponse->access_token, now()->diffInSeconds($tokenResponse->expires_in));

                        return $tokenResponse->access_token;
                    });

                    $request = $request->withHeader('Authorization', 'Bearer ' . $token);
                }

                return $handler($request, $options);
            };
        };
    };

    $stack->push($addRequestSignatureHeaders($authenticated), 'add_request_signature_headers');

    return Http::withOptions([
            'handler' => $stack,
        ])
        ->timeout(3)
        ->withHeaders([
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ])->baseUrl(config('services.someApi.base_url'));
});

Possible solution:
In the Illuminate\Http\Client\PendingRequest class, I changed the dispatchConnectionFailedEvent method with the following code and the error stopped:
protected function dispatchConnectionFailedEvent()
{
    if (!($dispatcher = optional($this->factory)->getDispatcher()) ||
        ! $this->request) {
            return;
    }

    $dispatcher->dispatch(new ConnectionFailed($this->request));
}

Is there any other solutions for this? Should I open a PR with the suggested fix?

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? If so, please open up a new issue and we'll help you out.
Thanks!


Add support for Throws doc comments

Adding a - Throws: declaration to a doc comment on a method with multiple parameters is causing a linting error.
This PR adds support to parse throws documentation and will ensure that it is present on throwing functions/initializers and absent on non-throwing or rethrowing ones.
I'm a little unsure of the comment declaration parsing code so some extra scrutiny is especially welcome there.

I'm open to reverting the last commit, but it seemed like a single enum handles things better than three separate Bools. At the same time, this introduces even more changes to part of the code you mentioned that you're working on rewriting.


Add Carthage/Build to .gitignore

When using the option --use-submodules with Carthage, the Carthage/Build directory shows in the submodule after carthage build making the submodule dirty.

Thanks 👍🖖


Use a semaphore instead of NSCondition for -waitUntilFinished.

NSCondition suffers from the possibility of spurious wakeups and requires a predicate to guard against this; -waitUntilFinished did not do this. Changed implementation to used a semaphore (from libdispatch).
This fixes #134.

Hmmm, there's probably an issue with this. Whether or not dispatch_release is needed depends on the deployment target. From the documentation of dispatch_release:

If your app is built with a deployment target of OS X v10.8 and later or iOS v6.0 and later, dispatch queues are typically managed by ARC, so you do not need to retain or release the dispatch queues.

Maybe this is needed to conditionally include dealloc:
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0 || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_8
- (void)dealloc {
    dispatch_release(_completedSemaphore);
}
#endif

Single piece to fix, but otherwise - looks great.
It might be a good idea also to add a test for the flow I am describing.

Not entirely sure if the unit test is admissible: couldn't figure out a way to have the unit test fail without hanging without using a timeout. So it's possible that the unit test could fail occasionally in the event the timeout is legitimately exceeded for some reason. Would love to see a better of doing this.

You can use say - diatch_async onto a background thread. Wait for the task there twice and then fulfill a test expectation. In this case - you won't timeout the whole test run, but rather it would fail the single test with timeout.

Last piece about the strong vs assign on iOS 5 vs 6, and ready to merge in.
Thanks for adding test!

Perfect! Last piece - squash all the commits into a single one and I'll merge it in!

@toddreed, would love to merge this one in before we do a release, any chance you can squash commits into a single one?

I just realized - this approach isn't going to work if you have multiple threads accessing the same waitUntilFinished before the task is completed, since dispatch_semaphore describes a finite amount of resources.
So something like this would fail:
    BFTaskCompletionSource *taskCompletionSource = [BFTaskCompletionSource taskCompletionSource];
    dispatch_apply(100500, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t i) {
        [taskCompletionSource.task waitUntilFinished];
        NSLog(@"%d", i);
    });
    [taskCompletionSource trySetResult:nil];

While we could get the dispatch_semaphore_signal to signal all the threads - it still doesn't solve the problem of potential race conditions in the amount of time between if (self.completed) and dispatch_semaphore_wait...
I am currently thinking about potential ways of solving this, but as far as I can understand - it's definetly not dispatch_semaphores.
Another thing to note - I already looked into implementation of this using dispatch_groups, but that solution still doesn't work because of a single comment on the method:
...
 * The result of calling this function from multiple threads simultaneously
 * with the same dispatch group is undefined.
...
long dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout);

Crazy late nite ideas:

Add a dispatch_semaphore_signal() straight after wait call.  Since we don't really care about thread sleeps after the task is completed - this will make every single thread that is waiting on this wakeup, signal another thread and continue. Sounds like a crazy idea, but I guess it works. The downside is that threads won't going to wakeup all at once, but rather one by one in a series.
Instead of doing dispatch_semaphore_signal once - do it inside the loop until the value of the dispatch_semaphore_signal call becomes 0, which means that we didn't wake up any thread.

Open to other ideas, something @richardjrossiii mentioned offline with using NSConditionLock (which hopefully doesn't have thread wakeup problem, but can't confirm that).

The original issue was that -[NSCondition wait] was used without testing that the task was completed, which is necessary as a defence for spurious wakeups. Perhaps using NSCondition is the best solution after all—it just needs the added check. When I reported bug (#134) I had proposed a fix that did this.
Compared to the original NSCondition implementation (before going downing the semaphore path), I'd move the -broadcast call to -setCompleted::
- (BOOL)isCompleted {
    [self.condition lock];
    BOOL completed = _completed;
    [self.condition unlock];
    return completed;
}

- (void)setCompleted:(BOOL)completed {
    [self.condition lock];
    _completed = completed;
    if (_completed) {
        [self.condition broadcast];
    }
    [self.condition unlock];
}

And then:
- (void)waitUntilFinished {
    [self.condition lock];
    while (!_completed) {
        [self.condition wait];
    }
    [self.condition unlock];
}

I don't think the while loop there works, as there's still a race condition upon spurious wakeup between the condition being checked and waiting again.
I'm going to look into the implementation of NSConditionLock and see if it prevents this problem at all.

@richardjrossiii I don't think there's a race a condition here. The condition is always checked when the lock is acquired and the _completed instance variable is only set when the lock is acquired. When -wait returns—whether by -signal, -broadcast, or spurious wakeup, the lock is acquired when -wait returns. The implementation follows almost exactly the pattern documented here.

@toddreed You're right. I had forgotten that NSCondition has both a condition and a mutex internally. The while loop solution should work, for all situations I can think of.

Continuing conversation and implementation in #247


Upgrade Osmosis to v19.0.0

This upgrade is governed by Proposal 606, which aims to upgrade the Osmosis codebase to the v19.0.0 software tag at block height 11317300. This is estimated to occur on Tuesday, September 5th, at UTC 16:00.

@tombeynon can we have a pre-release image for this please? Thx

ghcr.io/akash-network/cosmos-omnibus:v0.3.47-rc1-osmosis-v19.0.0


https://taskbarx.net/

You aware of this site? Seems like someone is trying present your software as theirs.

@gDansel I see... Nothing happens if i hit the download button though... The footer says TaskbarX FanSite and the about page says Hi! My name is Anna and I want to tell you about this awesome app I found. I was having trouble balancing my work and also studying for my exams, which was taking away a lot of time I could spend on my other hobbies. My friend recommended TaskbarX app to me and I downloaded it right away. I was surprised by how many useful tools it had. I can use it to organize my to-do lists, collaborate with my fellow students, keep track of my exams, and even make diagrams. It's really easy to use and I can't believe I've been missing out on it for so long. I recommend this app to anyone who wants to get more done, at school or at work. I hope you're also having fun using it!
If it really is just a fan page I am fine with it.

Some of the writing seems kinda odd though, doesn't really fit what the software actually does. I mean: "collaborate with my fellow students"? I noticed the links were dead too, but yeah, I'd keep an eye on it.

definitely a scam site:

clicking the download redirects to https://games2k20.com/games/misc/taskbarx-app?utm_source=bing&utm_medium=afs&utm_campaign=AFTaskX2
a large majority of the site is written to make it sound like they are the authors
the site seems half-assed with broken links and sloppy markup, yet they went to the effort of setting up a GTM container on the page

seems like either an attempt to get users onto a scam site to get them to download malicious software, to earn ad profit/referral bonuses off of the hard work of another -- you -- or simply an attempt to harvest information about users. i have a hard time believing this is just a "fansite"

I see now.. They have changed the content now.

I'd recommend reaching out to namecheap (the domain regsitrar of this domain) as well as cloudflare and reporting the site. both companies have a place you can report abuse and they're generally quite good about taking sites down

Given the recent mention on that LTT video getting the site down quick might be more important too. It's been SEO'd to hell and back so it's the top hit.

@rayzr522 Thanks for the heads up. I just submitted a abuse report.

@gDansel That's true but Google should see the large amount of organic traffic which should defeat their SEO on Google at least.

Worth mentioning just as info that the website now makes you land on some sort of chrome extension website called UpMyChrome where apparently an extension/plugin called "TaskbarX" is listed


Fix LockableDict methods to correctly return values

Codecov Report

Merging #593 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #593      +/-   ##
==========================================
+ Coverage   93.48%   93.51%   +0.02%
==========================================
  Files          52       52
  Lines        3731     3731
==========================================
+ Hits         3488     3489       +1
+ Misses        243      242       -1

Impacted Files
Coverage Δ

dimod/utilities.py
96.58% <100%> (+0.85%)
:arrow_up:

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 b5b88cf...76dbce6. Read the comment docs.


Unit test additions

New tests for util: credit, is_divisible, value_in; unit: value_out, xcp_created, xcp_destroyed, xcp_supply, creations, destructions, asset_supply, supplies, get_balance.
Added more detailed exceptions
Removed a duplicate function

Coverage increased (+0.86%) when pulling e6950488d4ff9eda25dd26613e63784b2ec8fe63 on Millz0r:develop into dbb55c8394741d1ac43651abb5f7e3a4e9be46ac on CounterpartyXCP:develop.


update include path

Type: Bug
i am unable to run any code
VS Code version: Code 1.86.1 (31c37ee8f63491495ac49e43b8544550fbae4533, 2024-02-07T09:08:20.941Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i5-13420H (12 x 2611)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: unavailable_software

Load (avg)
undefined

Memory (System)
15.70GB (8.23GB free)

Process Argv
C:\Users\omen\c programming\my.c --crash-reporter-id e63c196a-6f6d-4225-ac75-509f9d09fe3e

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

vscode-dotnet-runtime
ms-
2.0.1

cmake-tools
ms-
1.17.15

cpptools
ms-
1.19.3

cpptools-extension-pack
ms-
1.3.0

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
vscaat:30438848
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:30962250
pythontbext0:30879054
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
pydisww2:30959801
b5d27386:30958190
a89i1917:30961429
7j2b6412:30962116
e3gdj431:30958358
ccp2r6:30958158

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Update course-image and image-selector

Removes last usages of d2l-siren-parser.
Requires https://github.com/Brightspace/course-image/pull/4

@ryantmer should this have been merged or out of date now?

Oh! Completely forgot about this. Can't even recall what the change was...
Looks like it's still correct though, no activity on either of those repos since this.


Add TCP article to Low-Level Systems section

Dear @vitillo ,
Thank you! I really appreciate your contribution. However, if you spend more time browsing through this repository, you will see that most of the companies usually mention some backgrounds (i.e, TCP) before writing about their special cases.
I read every single post in this repository carefully before putting it into the list to make sure that there is no duplicate content, and more important, the post brings unique value for my project.
I hope you will keep watching awesome-scalability and comeback with a more specific pull request anytime soon :) At that moment, I will definitely merged it.
Cheers,
Binh.

That's fair enough Binh - I will close the PR - I didn't realize that the bandwidth-delay concept was already mentioned elsewhere. Your hard work is what makes this list great :)
Cheers,
Roberto