Profiling, memory usage and performance review

So far there has not been an study on the performance of this library in terms of speed and memory consumption. I'm prioritising now those features that impact the users directly, since the API design is still on flux, but this should be addressed on the near future.

I ran some benchmarks using some of the base methods that can be used for operating on DataFrames. The dataset used was nycflights13 that consists on 336776 rows and 20 columns. The benchmark code was the following:
	f, _ := os.Open("data/nycflights13.csv")
	flights := dataframe.ReadCSV(f)
	b.Run("Filter_1", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Filter(dataframe.F{"month", "==", 1})
		}
	})
	b.Run("Filter_2", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Filter(dataframe.F{"month", "==", 1}).
				Filter(dataframe.F{"day", "==", 1})
		}
	})
	b.Run("Filter_3", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Filter(dataframe.F{"month", "==", 1}).
				Filter(dataframe.F{"day", "==", 1}).
				Filter(dataframe.F{"hour", "<=", 12})
		}
	})
	b.Run("Arrange_1", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Arrange(
				dataframe.Order{"arr_delay", true},
			)
		}
	})
	b.Run("Arrange_2", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Arrange(
				dataframe.Order{"year", false},
				dataframe.Order{"month", false},
			)
		}
	})
	b.Run("Arrange_3", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Arrange(
				dataframe.Order{"year", false},
				dataframe.Order{"month", false},
				dataframe.Order{"day", false},
			)
		}
	})
	b.Run("Select_1", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Select([]string{"year"})
		}
	})
	b.Run("Select_2", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Select([]string{"year", "month"})
		}
	})
	b.Run("Select_3", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Select([]string{"year", "month", "day"})
		}
	})
	var index10 []int
	for i := 0; i < 10; i++ {
		index10 = append(index10, i)
	}
	var index100 []int
	for i := 0; i < 100; i++ {
		index100 = append(index100, i)
	}
	var index1000 []int
	for i := 0; i < 1000; i++ {
		index1000 = append(index1000, i)
	}
	sub10 := flights.Subset(index10)
	sub100 := flights.Subset(index100)
	sub1000 := flights.Subset(index1000)
	b.Run("Subset_10", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Subset(index10)
		}
	})
	b.Run("Subset_100", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Subset(index100)
		}
	})
	b.Run("Subset_1000", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Subset(index1000)
		}
	})
	b.Run("Set_10", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Set(index10, sub10)
		}
	})
	b.Run("Set_100", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Set(index100, sub100)
		}
	})
	b.Run("Set_1000", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			flights.Set(index1000, sub1000)
		}
	})

The two most obvious improvements that could be extracted from the cpu profile were that it seemed that a lot of small memory allocations were taking place and thus the GC was being impacted very heavily and also a lot of reflection was being made when new Series where copied or created. In order to address the first issue, slices pre-allocation has taken over growing slices, and for the second one, type assertion to check the given values is added prior to reflection and if the given types are not recognised then it defaults to use reflection.
With these two changes, already present on  ffcfe13, we could observe a significant speedup with the same dataset:
benchmark                      old ns/op      new ns/op      delta
BenchmarkAll/Filter_1-4        278527790      119058640      -57.25%
BenchmarkAll/Filter_2-4        272421441      125048692      -54.10%
BenchmarkAll/Filter_3-4        280313297      126590535      -54.84%
BenchmarkAll/Arrange_1-4<PHONE_NUMBER><PHONE_NUMBER>     -55.91%
BenchmarkAll/Arrange_2-4<PHONE_NUMBER><PHONE_NUMBER>     -63.10%
BenchmarkAll/Arrange_3-4<PHONE_NUMBER><PHONE_NUMBER>     -63.11%
BenchmarkAll/Select_1-4        48459199       14510337       -70.06%
BenchmarkAll/Select_2-4        92780819       28908778       -68.84%
BenchmarkAll/Select_3-4        132650059      44706709       -66.30%
BenchmarkAll/Subset_10-4       75320          30194          -59.91%
BenchmarkAll/Subset_100-4      419068         220374         -47.41%
BenchmarkAll/Subset_1000-4     3323734        2029517        -38.94%
BenchmarkAll/Set_10-4<PHONE_NUMBER>     656503486      -66.43%
BenchmarkAll/Set_100-4<PHONE_NUMBER>     638403492      -66.21%
BenchmarkAll/Set_1000-4<PHONE_NUMBER>     678069517      -65.74%

Further optimization is still on the cards by improving the algorithms, reducing memory allocations or using concurrency for some processes. For the latter, I've done some experiments on the dataframe.New function by using goroutines to perform the copy of the given Series. This results in a performance increase all over the board, but I haven't included it on the current dev branch just yet, since I wan't to make sure that using this kind of pattern won't affect users trying to made their code concurrent on their side.

As of c9b8f464475e206370fdf8e7ce2b0f77ec0542f1 I've optimized the DataFrame.Arrange algorithm for a good increase in speed when sorting by more than one column:
benchmark                    old ns/op      new ns/op      delta
BenchmarkAll/Arrange_1-4<PHONE_NUMBER><PHONE_NUMBER>     +6.00%
BenchmarkAll/Arrange_2-4<PHONE_NUMBER>     888996432      -41.81%
BenchmarkAll/Arrange_3-4<PHONE_NUMBER><PHONE_NUMBER>     -54.95%

Additionally, DataFrame.Set and Series.Set now perform the setting in place to avoid copying the entire structure. If one needs to make sure the original DataFrame is not modified, one can resort to DataFrame.Copy().Set(...).

I've been exploring the performance of Gota on the same dataset when comparing it with Pandas and R/Dplyr. The results are quite promising! For the majority of the cases Gota is slower than both other systems.
The bottleneck seems to be that due to the data structures used, the big number of small memory allocations seem to hit the garbage collector pretty heavily specially when copying the data (Which due to the nature of the library, happens quite often). When modifying the series package to use different structures where the data is stored continuously we can observe a significant speedup on the majority of the benchmarks. Unfortunately, on the current experimental optimisation the readability and maintainability of the code is poor so I will refrain of merging the modifications until I study if there is a better way of handle this problem.

AVG (10 times)
GOTA 255f427 (GOLANG v1.7.3) [ns]
GOTA experimental(1a6c1aa641d0) (GOLANG v1.7.3) [ns]
(DPLYR) (R v3.3.0) [ns]
Pandas (python v3.4.2) [ns]
Time Ratio (Gota 255f427/R)
Time Ratio (Gota 255f427/Pandas)
Time Ratio (Gota experimental/R)
Time Ratio (Gota experimental/Pandas)

Load Data
3796092757.0000003
2792890627.0000002
5177613973.61755
867149114.6087646
0.733174156347486
4.37767010661448
0.5394165422975
3.22077319799846

Filtering (1)
87780355
120904356
5290218.83010864
4029681.68258667
16.5929534900161
21.7834464144705
22.8543203755367
30.0034507744024

Filtering (2)
94769640
124575783
8933675.28915405
3119330.406188965
10.6081357260718
30.3814048720105
13.9445165587383
39.936706529335

Filtering (3)
100542430
134784916
13318014.1448975
6498119.831085205
7.5493560005356
15.4725416910647
10.1204965345107
20.7421407274188

Arrange (1 col)
1128079537
591918392
119221401.2146
123551797.86682129
9.46205568385698
9.13041782051587
4.96486692799844
4.79085211401002

Arrange (2 col)
587693288
305231446
75816893.5775757
67885780.33447266
7.75148202819301
8.65708967481025
4.02590282451612
4.49625009090456

Arrange (3 col)
794083891
350509373
91589760.7803345
79083681.10656738
8.67000726101361
10.0410587859454
3.82694932286862
4.4321327497095

Select (1)
15037054
2306528
218020.89214325
1894199.8481750488
68.9707020835414
7.93847281451708
10.5793897884085
1.21767932893787

Select (2)
30581870
4202700
233775.973320007
2974939.3463134766
130.816993575887
10.2798297511164
17.9774676598056
1.41270107076568

Select (3)
45824883
4734341
249350.023269653
3899350.166320801
183.777335967777
11.7519281535153
18.9867277248263
1.21413589394744

Subset (First 10 rows)
16326
12913
1104371.54769897
143039.22653198242
0.0147830682835105
0.114136523216935
0.0116926228558723
0.0902759355812984

Subset (First 100 rows)
121928
76094
1128201.48468018
161719.32220458984
0.108072894474664
0.753948250201976
0.0674471723652898
0.470531281993218

Subset (First 1000 rows)
1118375
677757
1259872.9133606
144600.86822509766
0.887688740776904
7.73422050453421
0.537956640556818
4.68708803978236

Set (First 10 rows)
333080426
64648001
28951330.1849365
81281099.31945801
11.5048401531928
4.09788288776581
2.23298897104343
0.795363270689965

Set (First 100 rows)
362018982
65256465
31732535.3622437
81956005.09643555
11.4084480760003
4.41723558357952
2.05645291985222
0.796237748816751

Set (First 100 rows)
332827597
68338569
29457306.8618774
81333649.15847778
11.2986431027316
4.09212669594461
2.31991910599408
0.840225044702507

After studying the problem I've settled for a solution that is almost as performant as the experimental solution but don't change the overall structure of the code significantly, so it should be as easy to maintain as it was previously. Essentially the main sticking point of the performance was that storing the elements of a Series as []Element requires a significant amount of interface building, many small allocations and it seems that the memory was not consecutive, which made the garbage collector busy.
Changing the main data structure of Series to Elements allows to have consecutive memory with the concrete implementation of the different types. Furthermore, to avoid memory fragmentation and the creation of many small pointers, the concrete implementation of the Element interface for the four types has been changed to not store a pointer to the value:
type intElement struct {
    e *int
}

And now instead stores the data inside the structure and an additional flag for describing if the element is NaN or not:
type intElement struct {
    e     int
    nan bool
}

With these changes we observe a significant speedup with respect to the unoptimised version and we start to get closer to the performance achieved by Pandas/R:
benchmark                                          old ns/op     new ns/op     delta
BenchmarkSeries_New/[]bool(100000)_Int-4           8313278       4980892       -40.09%
BenchmarkSeries_New/[]bool(100000)_String-4        9298998       5540847       -40.41%
BenchmarkSeries_New/[]bool(100000)_Bool-4          6366129       3843971       -39.62%
BenchmarkSeries_New/[]bool(100000)_Float-4         8377768       5009936       -40.20%
BenchmarkSeries_New/[]string(100000)_Int-4         18303166      13586413      -25.77%
BenchmarkSeries_New/[]string(100000)_String-4      11978478      8307875       -30.64%
BenchmarkSeries_New/[]string(100000)_Bool-4        28817480      26654172      -7.51%
BenchmarkSeries_New/[]string(100000)_Float-4       30509838      27914009      -8.51%
BenchmarkSeries_New/[]float64(100000)_Int-4        7813046       5002564       -35.97%
BenchmarkSeries_New/[]float64(100000)_String-4     52620115      47544694      -9.65%
BenchmarkSeries_New/[]float64(100000)_Bool-4       8122474       4490235       -44.72%
BenchmarkSeries_New/[]float64(100000)_Float-4      7538372       5033752       -33.22%
BenchmarkSeries_New/[]int(100000)_Int-4            7531595       5063625       -32.77%
BenchmarkSeries_New/[]int(100000)_String-4         19670643      16772118      -14.74%
BenchmarkSeries_New/[]int(100000)_Bool-4           7826898       4548778       -41.88%
BenchmarkSeries_New/[]int(100000)_Float-4          7589070       4962150       -34.61%
BenchmarkSeries_Copy/[]int(100000)_Int-4           3830732       780120        -79.64%
BenchmarkSeries_Copy/[]int(100000)_String-4        5847982       3473473       -40.60%
BenchmarkSeries_Copy/[]int(100000)_Bool-4          1780169       101940        -94.27%
BenchmarkSeries_Copy/[]int(100000)_Float-4         3756647       775425        -79.36%
BenchmarkSeries_Subset/[]int(100000)_Int-4         402341        205062        -49.03%
BenchmarkSeries_Subset/[]int(100000)_String-4      576282        281180        -51.21%
BenchmarkSeries_Subset/[]int(100000)_Bool-4        215667        152118        -29.47%
BenchmarkSeries_Subset/[]int(100000)_Float-4       405079        210860        -47.95%
BenchmarkSeries_Set/[]int(100000)_Int-4            623275        535365        -14.10%
BenchmarkSeries_Set/[]int(100000)_String-4         814689        519182        -36.27%
BenchmarkSeries_Set/[]int(100000)_Bool-4           546948        537051        -1.81%
BenchmarkSeries_Set/[]int(100000)_Float-4          630201        511646        -18.81%

AVG (10 times)
GOTA experimental(6cb756f) (GOLANG v1.7.3) [ns]
(DPLYR) (R v3.3.0) [ns]
Pandas (python v3.4.2) [ns]
Time Ratio (Gota 6cb756f/R)
Time Ratio (Gota 6cb756f/Pandas)

Load Data
3550186270
5177613973.61755
867149114.6087646
0.685679984658941
4.09408971328046

Filtering (1)
60191373
5290218.83010864
4029681.68258667
11.37786071484
14.937004394194

Filtering (2)
76414594
8933675.28915405
3119330.406188965
8.55354504464376
24.4971144603304

Filtering (3)
75358728
13318014.1448975
6498119.831085205
5.65840576381067
11.5970049735779

Arrange (1 col)
686606598
119221401.2146
123551797.86682129
5.75908847744626
5.55723680152437

Arrange (2 col)
358894188
75816893.5775757
67885780.33447266
4.73369681959839
5.28673584116926

Arrange (3 col)
431656827
91589760.7803345
79083681.10656738
4.71293759610607
5.45822881484653

Select (1)
3657266
218020.89214325
1894199.8481750488
16.774841915595
1.93077092869771

Select (2)
7200508
233775.973320007
2974939.3463134766
30.8008898337191
2.42038816990431

Select (3)
9918440
249350.023269653
3899350.166320801
39.7771769576856
2.543613570709

Subset (First 10 rows)
11094
1104371.54769897
143039.22653198242
0.0100455322514557
0.0775591442220185

Subset (First 100 rows)
56498
1128201.48468018
161719.32220458984
0.0500779344533622
0.349358377402329

Subset (First 1000 rows)
498362
1259872.9133606
144600.86822509766
0.395565294495191
3.44646616660841

Set (First 10 rows)
73870225
28951330.1849365
81281099.31945801
2.5515312950434
0.908824137696131

Set (First 100 rows)
69103630
31732535.3622437
81956005.09643555
2.17769015967824
0.843179580540651

Set (First 100 rows)
82565295
29457306.8618774
81333649.15847778
2.80287995732743
1.01514312777387


Menu bar color

Type: Bug
After update to v1.82.0 menu bar changed color to gray when the whole theme is dark. This contrast is a bit annoying :) How can it be changed back to dark?
In settings.json -> "workbench.colorCustomizations" I can see only "menubar.selection*" options.
 It looks like you may be using an old version of VS Code, the latest stable release is 1.82.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Issue remains after update to 1.82.1.

Are you referring to titleBar.activeBackground perhaps?

I'm referring to this gray bar. I'd call it menu bar, but maybe it's called title bar. Is it?

This looks like the native window title bar and the color is configured in the OS. Depends on your OS. e.g.https://unix.stackexchange.com/questions/595957/how-to-change-the-color-of-an-active-window-title-bar-in-gnome
Why the color changed I can not explain.
VS Code uses the native window title bar in Linux by default, but you can also switch to the custom one: window.titleBarStylewindow.titleBarStyle is the setting. Then the VS Code color titleBar.activeBackground is used.

I encountered this recently. I had window.titleBarStyle set to native, and I saw the light-coloured title bar after an update.
I fixed it by switching it to custom, which prompts a restart, then going back and returning the value back to native. Restarting again returns me back to the expected view.
Hope that helps anyone else that encounters this.

System Info

Version: 1.83.1
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-12T12:50:57.295Z
Electron: 25.9.1
ElectronBuildId: undefined
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 6.5.5-arch1-1


Bug Fix: use the expires field to determine token validity

The existing implementation updates the expires field but do not uses it to check the token validity. Commit fixes this problem in is_token_expired method.
There is a problem in the tests. The setUp method is called before execution of any tests. Setup method creates an instance of ExpiringTokenAuthentication class. This instance has the default EXPIRING_TOKEN_DURATION value which is 1 day. The test methods  calls self.settings to override the value but it goes in vain because instance has already been created by then. I have also fixed this problem in the tests.

Hi @harishasan ! Sorry for the long wait time. I ahve a bit forgotten about this project :)
About your PR. I like it. Don't know why I haven't used the expires column before.
Will check it out and play with it before merge.


Remove use of NODE_TLS_REJECT_UNAUTHORIZED env var.

This PR addresses issue: https://github.com/dotansimha/graphql-code-generator/issues/1806.
Following the recommendations from, this PR removes the use of the NODE_TLS_REJECT_UNAUTHORIZED environment variable: https://nodejs.org/api/cli.html#cli_node_tls_reject_unauthorized_value

If value equals '0', certificate validation is disabled for TLS connections. This makes TLS, and HTTPS by extension, insecure. The use of this environment variable is strongly discouraged.

That's awesome! Thanks @michaelnyu !

Can we get a release containing this fix?

@silentsakky a new version will be available later today :)


Data Errors

Aboleth is missing Charisma Score ("charisma":18)
"strength":21,"dexterity":9,"constitution":15,"intelligence":18,"wisdom":15,"constitution_save":6,"intelligence_save":8,"wisdom_save":6

http://www.dnd5eapi.co/api/monsters/1

Camel travels on "ground" speed
"speed":{"quantity":50,"unit":"ft/round"}

http://www.dnd5eapi.co/api/equipment/192

Mounts and Vehicles duplicated
Equpiment 201- 225 == 226 - 250

http://www.dnd5eapi.co/api/equipment/201  ==  http://www.dnd5eapi.co/api/equipment/226

The data on that website does not reflect the data in this repo. I believe all of those have already been fixed here. You should open that issue here instead: https://github.com/adrpadua/5e-srd-api


Handle secondary cmd buffer clear attachment requests

Extent checks for vkCmdClearAttachments() need to handle secondary command buffer cases.
There's a TODO in the code for this: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/layers/buffer_validation.cpp#L2201
Filing issue to track and bump priority as ANGLE team just got bit by this.

@tobine, hopefully this'll cover #1501 as well.


Add GitHub Action for e2e test for cosign attach

Description

https://github.com/sigstore/cosign/blob/main/test/e2e_test_attach.sh was added, but never called in a workflow.

hey @haydentherapper.
I'd like to work on this isuuse. My current understanding is that I would need to add another step in the workflow run similar to what is happening here but for the e2e test?

Correct!


ModuleNotFoundError: No module named 'fiftyone.public'

(51) yq7@DESKTOP-95SB342:~/fiftyone-docs-search$ fiftyone-docs-search query "how to load a dataset"
Traceback (most recent call last):
File "/home/yq7/enter/envs/51/bin/fiftyone-docs-search", line 5, in
from fiftyone.docs_search.cli import main
File "/home/yq7/fiftyone-docs-search/fiftyone/init.py", line 10, in
from fiftyone.public import *
ModuleNotFoundError: No module named 'fiftyone.public'

Hi YQisme,
Do you have the FiftyOne library installed locally? I.e. with git clone https://github.com/voxel51/fiftyone.git?
Would you mind providing more details about your environment and the lead-up to this trace?


Added readme, added fan speeds

Closing since I've added another feature; will do a new pull request


Test cmdstan 2.22.1 on Travis

The current version of cmdstan is 2.22.1. This PR updates .travis.yml to test against this latest version.

Thanks Seth, merged!


Enable py to draw in the setup

Currently code works for drawing in the draw function however, this updates per render and it'd be much more efficient to allow draw functions to work in the initial setup when there's no need to update them.
Closes this issue raised in this slack thread

Potentially a p5.js issue on modern browsers with a same origin policy (see here). Work around that should work in editor and locally is to load images in a preload function e.g.
def preload():
  global map
  map = load_image('mercator.jpeg')

def setup():

  size(991, 768)
  load_data('volcano-data.csv')
  image(
    map, # The image to draw
    0, # The x of the top-left corner
    0, # The y of the top-left corner
    width, # The width of the image
    height # The height of the image
    )
  draw_data()


Winit Refactor, Window Management, Modifier

I merged in master and made significant changes to the winit windowing, adding window management and rearranging how events are handled for cleanliness and granularity. Window management may not be leveraged in upstream in the future but from this I'll probably be forking way off the path. The modifier usability is fixed, so you get capital letters and other stuff. The rendering still feels a bit off.
This is still a draft, because it contains some SDL window changes that may or may not be pleasing with the current state of Neovide. These changes were made in order to potentially support multi-window and for more granularity, but it turned out to be more difficult to leverage the events for multi-window with SDL. Thoughts would be appreciated.

Closing in favor of newer draft. #417


Cannot find firefox browser with cypress/included:10:4:0 inside github workflows

Currently, when importing the cypress/included:10:4:0 docker image into github workflows, firefox cannot be found. I have tried a few different things, including moving firefox to a directory in the $PATH, but haven't had luck. Running the docker image with the daemon locally works fine. It's just when used inside github workflows.
I have a reproduction that includes the actions as well as commits for attempted work arounds

I can confirm this is also happening to me when using the --browser firefox flag.  I thought it was specific to this error: https://github.com/cypress-io/cypress/issues/23326 but after changing to chrome, it appears the same error is present, but the tests actually start running.

We're seeing the same issue with cypress 9.6.1 on all of the cypress/browser images I've tried, which includes:

cypress/browsers:node16.14.2-slim-chrome100-ff99-edge
cypress/browsers:node16.14.2-slim-chrome103-ff102
cypress/browsers:node16.13.2-chrome100-ff98

All of them are getting this error (minus "edge" for the non-edge images), same as in @AtofStryker's reproduction repo:
Can't run because you've entered an invalid browser name.

Browser: firefox was not found on your system or is not supported by Cypress.

Cypress supports the following browsers:
 - electron
 - chrome
 - chromium
 - chrome:canary
 - edge
 - firefox

You can also use a custom browser: https://on.cypress.io/customize-browsers

Available browsers found on your system are:
 - chrome
 - edge
 - electron

Duplicate of https://github.com/cypress-io/cypress-docker-images/issues/363


Confusing warning about signing [messages] shown in other contexts

The receiving address book tab recently (0.21) added a warning "Signing is only possible with addresses of the type 'legacy'." which is shown even outside the context of signing messages, and even when all addresses are type 'legacy'.
It should only be shown when applicable (some addresses are actually being hidden), and really could benefit from being rephrased.

Unfortunately, I don't really see any good way to do this... The hiding logic is terrible as-is, and refactoring it (#157) actually makes it harder to answer the "has anything been hidden" question (because the filtering is done by a const method).

Unfortunately, I don't really see any good way to do this... The hiding logic is terrible as-is, and refactoring it (#157) actually makes it harder to answer the "has anything been hidden" question (because the filtering is done by a const method).


Use "pass" in more docs

Some time ago one of our community zync users presented a query challenge for which we had to show them how to use the pass operator within from. Once educated, they remarked that this had not been clear from the docs, so here I've tried to improve by making sure pass is explicitly mentioned in the from doc with its own example. I've also enhanced the pass doc itself with another example.

Thanks @nwt. In addition to incorporating your feedback I saw one more indent that could use improvement in the from doc, so fixed that too.


[bug?]:InvokeAI not generating image. Stuck at "Invoke" button constantly loading.

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
No response
What version did you experience this issue on?
3.0.1.
What happened?
I can open InvokeAI on a browser but once I try to generate anything, the "Invoke" button shows its loading animation but nothing happen. The cancel button doesn't work either and the command files doesn't display anything past the launch of the browser, from what I've understood.
Screenshots
No response
Additional context
No response
Contact Details
<EMAIL_ADDRESS>

Can you please open the Javascript console in your web browser (usually opened with F12 on Windows) and see if there are any errors displayed? If so, please right click on the error(s), copy the object, and paste here.

@psychedelicious Here is it:

Ahh ok. There is a bug where a model isn't selected by default - double check that you have one selected

I have a similar issue on macOS and I found an error in Javascript console: "Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received", how do I fix it?


(python311) version 3.11.2 is missing

Checklist

[X] I have checked the moderation queue that no new version has been submitted (only visible when logged in), or the submitted package version has failed the automated checks.

Please navigate to the following link to view the moderation queue.

[X] I have verified that the new version is a stable release.
[X] I have looked to see if there are any Bug reports that prevents a new version being submitted and that no existing Outdated Reports have been created.
[X] I have verified the new version has a Windows binary (EXE or MSI installer, Zip or other archive, etc).

New Software Version
3.11.2
Download location
https://www.python.org/downloads/release/python-3112/
Package Page
https://community.chocolatey.org/packages/python311

Curiously, the community repository has been updated to version 3.11.2 in commit, tags and AppVeyor build, but that version does not exist on the package page.

Other Python versions are missing as well.

3.11.2
3.11.1
3.10.10
3.10.9

@DougTrajano I'm afraid you are seeing the python3 package. python3 package was separated into each minor version package in #1993.
You can find version 3.10.9 and 3.10.10 in python310 package. You can also find version 3.11.1 in python311 package but not version 3.11.2.

gotcha, but why not add all of them in the same package?

If they are all in the same package then it causes issues if people want to just have Python 3.10.x versions (as an example). They woudl then have to pin to version 3.10.9 (as an example) and then when 3.10.10 comes out they would have to unpin, upgrade to that specific version, then pin agian. If they didn't pin they'd end up with the latest Python 3 version, for example 3.11.2. That's not what they want.
So if there are separate packages they can install python310 and then get all the version of 3.10.x andf not worry about pinning or upgrading to specific versions. With python310 you'll never get 3.11.x. If you want 3.11.x, you'd install the python311 package.
This isn't done for every package but is ideal for things like Python.
Does that make sense?

If they are all in the same package then it causes issues if people want to just have Python 3.10.x versions (as an example). They woudl then have to pin to version 3.10.9 (as an example) and then when 3.10.10 comes out they would have to unpin, upgrade to that specific version, then pin agian. If they didn't pin they'd end up with the latest Python 3 version, for example 3.11.2. That's not what they want.
So if there are separate packages they can install python310 and then get all the version of 3.10.x andf not worry about pinning or upgrading to specific versions. With python310 you'll never get 3.11.x. If you want 3.11.x, you'd install the python311 package.
This isn't done for every package but is ideal for things like Python.
Does that make sense?

Hum, I understood, make sense!
I appreciate your answer.

Looks like https://github.com/chocolatey-community/chocolatey-packages/blob/master/automatic/python3-streams/python3-streams.nuspec is for python312 package only, there is no python311 package in that repo, so it is not updated

Maybe I don't know how to cook it properly, but I was not able to create working python311 package from master, but after removing all non 3.11 stuff - https://github.com/chocolatey-community/chocolatey-packages/compare/master...isanych:chocolatey-coreteampackages:python311 - I've created working 3.11.2 packages

The python3 packages supports  3.x versions.

@Jackenmen @AdmiringWorm Both of you have updated the automatic update script in the past. Any suggestions, what is breaking here?

In the related CI run, all packages were built and it seems they were all pushed as GitHub releases but not to Chocolatey:
https://ci.appveyor.com/project/chocolateycommunity/chocolatey-packages/builds/46178606
@pauby Does AU not push all nupkg files generated by a package with multiple streams if multiple streams have updates at the same time?

In the related CI run, all packages were built and it seems they were all pushed as GitHub releases but not to Chocolatey:
https://ci.appveyor.com/project/chocolateycommunity/chocolatey-packages/builds/46178606

It only [pushed python312 in that run[(https://ci.appveyor.com/project/chocolateycommunity/chocolatey-packages/builds/46178606#L582).

@pauby Does AU not push all nupkg files generated by a package with multiple streams if multiple streams have updates at the same time? Could it have anything to with different streams using different package names?

@AdmiringWorm would be best to answer that - I'm unsure.  But you got me thinking. Python 3.10.10 and Python 3.11.2 were both released on the same day.

And there was an error on the run of that day.

It only pushed python312 in that run.

To chocolatey yes but it did push all nupkg files as GitHub releases. So they were built and they are detected by the CI in a later step but it seems that for some reason AU did not detect or push them to Chocolatey


feat: create workspace + assistants (naas assistant)

:tada: This PR is included in version 1.37.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Schema based multi-tenancy

Your Question
Schema based multi-tenancy
Does GORM support schema based multi-tenancy?
https://sultanov.dev/blog/schema-based-multi-tenancy-with-spring-data/
Thanks for your help.

Multi-tenancy mostly relies on application business logic and switching the schema for each tenant on the application level, GORM gives handy options like creating a new session to be able to implement multi-tenancy; For more details, you can have a look at this issue and see how others implemented multi-tenancy https://github.com/go-gorm/gorm/issues/3975.


Release v0.1.0 and Publish to TF Registry

Release link: https://github.com/ridwanbejo/terraform-kubernetes-storage/releases/tag/0.1.0
Terraform Registry: https://registry.terraform.io/modules/ridwanbejo/storage/kubernetes/latest


Do We Want Logging or Not?

Having just worked on removing Log4J from the libraries, the question of whether removing logging is actually the right choice has entered my mind. We have talked about this in the past, but not in any written form that one could refer to in the future.
This class (method checkShareConsistency) uses logging to inform about the type of failure that occurred.
One could argue that this could be replaced by throwing an exception containing the same log string which would still provide the same amount of information, but have the advantage of allowing the program flow to act depending on the type of error. This would, however, complicate the API since you need to either catch or rethrow those exceptions.
A couple of constructions used (before I removed it) logging to inform about exactly which group elements etc. were being chosen as well as print out intermediary results. I can see this potentially being useful to reproduce non-deterministic bugs (ones that depend on a specific choice of randomness of the algorithm) in that we can exactly reproduce the state of the algorithm (if the logging is complete). On the other hand, this kind of logging does probably significantly decrease performance if done in often-executed areas (imagine logging during odd power precomputations for multi-exponentiation algorithms). But, logging after random choices should be okay since secure randomness is not generated that quickly I would think.

The original plan was that we use the debugging levels  to control for the performance issues. So in a release build one would basically deactivate the logging. I suppose this can be done via a gradle config variable.

I think I fundamentally disagree with using logging as a debugging tool. We have debuggers for that, where we can step into any computation and look at the state. Or you could System.out debug messages while developing.
Especially logging group computations seems like it will mostly contribute noise (for most bugs I can currently imagine). - I mean... "thanks for the intermediate result random elliptic curve points, but I will certainly not check them by hand".
ad checkShareConsistency: Generally, one can think of returning an enum to specify what the problem was for invalid shares. However, usually cryptographically, it is dangerous territory to even react to different errors differently (see padding oracles, etc.). So I'd generally stand by the "boolean return, independent of what error" design, unless we're sure that the return result is independent of any possible secrets.
Overall: the checkShareConsistency example may be one of the more compelling uses of logging, but I think it can go. I can live with the small price of having people set breakpoints manually to find out what happened, I think.

However, usually cryptographically, it is dangerous territory to even react to different errors differently (see padding oracles, etc.). So I'd generally stand by the "boolean return, independent of what error" design, unless we're sure that the return result is independent of any possible secrets.

I don't really see why we need to be concerned with any such attack vectors since we are not developing for real world use.

Fair enough. But I guess I don't want to unnecessarily make the whole thing insecure-by-design on the API level.
I still maintain that - probably - there are some use cases where one may be able to use our library securely. So I wouldn't go into the direction of "okay, doesn't matter, just make it insecure". It's more like "nobody has explicitly checked whether we have serious bugs, so don't trust it without doing such checks/audits".


Hit api

Leaderboard: Send and receive data from API.
In this branch, I worked on the ranking list app, sending and receiving data from/to the ranking API.
Project requirements

Make sure that the ID of the game will be returned by API.
Implement the "Refresh" button that will get all scores for a game that I created from the API (receiving data from the API and parsing the JSON).
Implement the form "Submit" button that will save a score for a game I created (sending data to the API).
Use arrow functions instead of the function keyword.
Use async and await JavaScript features to consume the API.

How should this app be tested?
Clone this repository:
git clone https://github.com/lily4178993/Leaderboard.git

Checkout the branch
git checkout hit-api

Install all dependencies:
npm install

Fix Javascript linter errors:
npx eslint . --fix

Build the project:
npm run build

Open the project:
npm start

Please kindly review my implementation and suggest any changes and improvements.
Best regards.
Thanks for reviewing my PR 😊

Thank you @Shisui6 for taking the time to review my pull request.


emit CMake message about MoltenVK Vulkan compat

https://github.com/KomputeProject/kompute/issues/378

Thank you - DCO check requires signed commit, see: https://github.com/KomputeProject/kompute/pull/382/checks?check_run_id=28023370279

done

Thanks - but DCO still not passing

oh so you don't actually want the commit GPG signed, just a literall sign off message?

Yes correct, this is the github requirement with -s flag - I do use gpg signed commits but DCO requires the former

done


Method equals() in Varnode.java is implemented incorrectly.

Describe the bug
The method equals(...) in Varnode.java is implemented incorrectly. As a result, standard collections such as (Hash)Map will allow duplicate keys or fail completely.
To Reproduce
Steps to reproduce the behavior:

Store several instances of Varnode in a HashMap, notice that duplicate keys appear.
Open ghidra_9.0_PUBLIC_20190228/ghidra_src/SoftwareModeling-src/ghidra/program/model/pcode/Varnode.java in an editor, notice that the equals' implementation is wrong (== instead of equals on spaceID comparison).

Expected behavior
Equals MUST be implemented correctly to respect the preconditions of most Java standard collections.
Solution
Replace the "==" with equals, as follows:
	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object o) {
		if (o == this)
			return true;
		if (!(o instanceof Varnode))
			return false;

		Varnode vn = (Varnode) o;
		if (!vn.isFree())
			return false;

		return (this.offset == vn.getOffset() && this.size == vn.getSize() && this.spaceID.equals(vn.getSpace()));
	}

I believe there is some confusion here.   The 'spaceID' field is a Java int.   Thus, the '==' is correct here.

Oops forgive me, indeed I mixed up things a little with the version if fixed on my end. Still, your "equals"  is incorrect (have you even tested it?). For two separate instances, describing the same information, you will have an equals that returns false where it should return true.
I believe you should compare the field "address" as well. The same stands for the hashCode method. In your current situation, two separate instances of Varnode (but with the same field values) will have a different hashcode, thus HashMap will not be able to check keys for equality (both equals and hashCode are required to be correct).
Here is a more correct implementation:
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Varnode tVarnode = (Varnode) o;
        return size == tVarnode.size &&
                spaceID == tVarnode.spaceID &&
                offset == tVarnode.offset &&
                Objects.equals(address, tVarnode.address);
    }

    @Override
    public int hashCode() {
        return Objects.hash(address, size, spaceID, offset);
    }

I fear that you won't bother to check, so here it is (with your bug):
     if(!varnode.equals(node))   {
            println(":o ");
            println(node.toString());
            println(varnode.toString());
            println("offset = " + node.getOffset() + " size = " + node.getSize() + " size = " + node.getSpace());
            println("offset = " + varnode.getOffset() + " size = " + varnode.getSize() + " size = " + varnode.getSpace());
            println(node.hashCode() + " " + varnode.hashCode());
            println(String.valueOf(node.equals(varnode)));
        }

And then this dummy test outputs:
Test.java> :o
Test.java> (register, 0x8, 8)
Test.java> (register, 0x8, 8)
Test.java> offset = 8 size = 8 size = 420
Test.java> offset = 8 size = 8 size = 420
Test.java> 1721 417
Test.java> false

As you can see, the hash codes are different. This can be the wanted behavior on your side, for instance it is the case for the mutable StringBuilder in the standard library. But I would consider it bad design in the case of Varnode.

You are correct.   This method violates the spirit of the Object.equals() method, specifically, 'generally...equal objects must have equal hash codes.'
Thank you for the extra effort above.


  You should be ashamed of yourselves.  I'm deeply offended that you are trying to trick potential customers into believing you are truly an Open Source project.  In case you need some education on the matter, Open Source is a movement.  It does not mean simply making your source code available on Github.  Here is the definition: https://opensource.org/osd
Key points:

The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
The license must explicitly permit distribution of software built from modified source code.
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

Please remove any and all "open source" verbiage from your website, documentation, and any other materials.  You are selling PROPRIETARY software, period.  Even users who are licensed to use the product for free do not have the Freedom to use the software as they wish.  This is unacceptable.
Remember, Open Source is not about money, it's about Freedom.  Please try to show some small bit of respect for your potential customers.

I'd invite you to discuss which parts of the license, documentation or code indicates that any parts of Backpack are "open source" in accordance with the definition you have posted.

I think it's abundantly clear that this is a paid-for package, @hackel. The only issue I have with this, obviously paid-for package, is that the pricing isn't very consistent depending on where you're looking.
https://laravel-news.com/laravel-backpack = 19 USD
https://backpackforlaravel.com/pricing = 39 EUR
https://laravel-backpack.readme.io/docs = 39 USD

You can be picky with definitions but......
Yes its open source, because the source is open, everybody can see, anybody can modify/redistribute there is no enforcing. You can completely ignore the pricing if you really wanted.
It's not released under an open source license, thus your point does not really stand. Its like me slagging off Barack Obama for his presidency, yet he's not even the current president sooo is irrelevant.

If however, you find somewhere on the documentation etc that the pricing/license has been missed or forgotten or incorrect then please feel free to point it out, and it will be corrected.
As this is clearly a toxic post and not a bug with the package - I will close the issue, this does not mean you cannot keep discussing it - however we just find its easier for users looking for answers to their problems when its not clogged up with misc content.

Hi guys,
@ConnorVG yup, you're right, thank you. Just went through all README files and documentation and changed them to the current price of 39 EUR/project. Can't do anything about the laravel-news article and other external mentions, though, but I'm sure people will check the pricing page before purchasing - they have to. Plus, prices change all the time, we can't keep changing prices on external websites. Thanks for the heads-up - changed everywhere I could!
@lloy0076 , @OwenMelbz , thank you :-)
@hackel this is a controversial topic - whether open-source requires being free - and obviously it's still a hot one, where one side won't admit the other makes any sense. Like tabs vs spaces, I think the only good thing the debate does is that it lets people vent out some anger, like you did.  But I'd really hate for Backpack's license to cause anybody any bad feelings. I see it's made you angry and I apologise for it. It was definitely not our intention. This is exactly the reason why we removed all "open-source" mentions from the docs, github and website when Backpack became paid - as a necessary step to keep this project alive. I thought we had removed all of them, but I just checked and there was one leftover on the pricing page. That's it. Nothing in github, nothing in the license, nothing in the docs. I fail to see how that one mention angered you so much and made you think we're trying to "trick" people. But I get angry easily too, sometimes, so I'm really not the one to judge. I've just removed that one isolated mention too - I hope this shows you that we're good people and our intention isn't to trick anybody. Keep in mind we're doing this even if we don't agree with you. We just want everybody to make good use of the software we spent thousands of hours creating. Let's stay away from unproductive disputes like this one.
I hope this reply, correction and sign of good faith brings peace to this topic. If you find any other official mentions of it being "open-source" please let us know and we'll eliminate them. But if you want to continue being part of this community (or any community), please stop sending toxic messages like this. You could have said the same thing without offending people. There's no reason we should put up with negative people like you. Please show respect to your fellow human beings.
Keep in mind open-source is just a word. If all your anger was directed at the fact that we've used one word incorrectly from your point of view, I should point out that you seem to be doing the same thing, from my point of view:

Your License is literally garbage.

Is it really?... :-)


Update Docs

Description of change
This PR extends the welcome docs to Stronghold, give a more clear overview on the intended functionality of Stronghold
Links to any relevant issues
None.
Type of change

[x] Documentation Fix

How the change has been tested
No additional tests have been provided
Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have made corresponding changes to the documentation

Thanks @lucas-tortora !


Links not working in the readme.md

Some of the links in the Table of Content is not working in the Readme.md

@Harshdev098 Assign me this issue i will work on it.

@Harshdev098
If no one opts this assign me this issue


Is there a way to programmatically get a list of intersections not shown.

When the layout decides to not make an overlap because the circle does not fit, I would like to tell the user with a little alert.  Is this data queryable?

Or would it be possible to generate a table of the displayed intersections? From that it might be easier to highlight a table of intersections not displayed.

I do see in the DOM that it logs with warnings about the intersections not displayed on screen, this might be a way to identify what's not shown. "[Log] WARNING: area AFI1,AFI2,NBR,EBERT,LAFCA,NSFC,NYFCC,NYT not represented on screen (venn.js, line 1737)"

Here is an example of using the warning logs to create a list of the intersections not shown: https://jacobmgreer.github.io/Film-Tracker/VennDiagram/

i would not have thought to overwrite console.log, for the specific need, this is cleaver!
it still seems reasonable for the developers to make this data available.


Remove last comment URL from the required subject model

Fixes #121 maybe

I'll push this w/ 1.12.1 too!

This will not cause issues w/ encoding/decoding right?
Sent with GitHawk

I saw a notification appear with the change, so it should just ignore it! (There are many other values we don’t read in)
Sent with GitHawk


Clearer instructions to update website for release

Description
Fixes a wrong branch name for druid-website in updating druid.staged.apache.org. Also add an explicit branch name for druid-website-src.

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Test failure is not relevant to this PR.


setDecorator doesn't update the UI

I am setting the decorator with dates that i get from http request.
Calling setDecorator doesnt update the UI at all, however, when I move few months away, and
go back, the decorators are set correctly.
My code looks as the one in the sample with one exception: setDecorators is called outside the onCreate method (at the http resposne method).
Any input regarding this issue will be helpful.

Hi @kolbasan , I've been working on improving the decorators. Would you be willing to test 0.4.0-SNAPSHOT and let me know if its better? Directly manipulating text will no longer be supported, instead you are allowed to set spans and I added an new DotSpan to the library. The samples were updated to use the new APIs too.

Closing now that 0.4.0 is released.


nginx-jwt how used without proxy pass after lua script

Hello..
i want to used below block in nginx conf and after authentication i don't want to proxy pass
instead of i want to add extention and then access that file. but using that change i can able to access without authentication
    location /users/name {
        access_by_lua '
        local jwt = require("nginx-jwt")
        jwt.auth()
        ';
    rewrite ^(.*)$ $1.php last;
    try_files $uri $uri/ /index.php;
    }

So please help me to fix that issue...
Thanks

Hrm, it looks like nginx-jwt sets the ngx.HTTP_UNAUTHORIZED flag, so I'm not actually sure why that rewrite happens regardless.  I'm not a master of the inner workings of nginx.  You might want to hit up nginx support and see if they can tell you what is happening.  My suspicion is that since you're rewriting the url, it's somehow rewriting the url around your location definition that is behind your authentication, but that is just a guess.

Can you try doing your rewrite something like this?
location /users/name {
  access_by_lua '
    local jwt = require("nginx-jwt")
    jwt.auth()
  ';
  rewrite ^/users/name/(.*)$  /users/name/$1.php  last;
  try_files $uri $uri/ /index.php;
}

I think what it is doing is rewriting your url to something you don't have behind authentication.  I still don't totally understand why the ngx.HTTP_UNAUTHORIZED flag gets ignored, but I suspect it's processed at a different time than the redirect is.  Again, my nginx foo isn't strong, so take what I say with a grain of salt.

Can you try doing your rewrite something like this?

yes i have try that and same thing...it is ignoring to check jwt authentication.

FYI:
https://www.myhost.com/users/name
On that URL i am post json data and jwt authentication header.
location /users/name {
access_by_lua '
local jwt = require("nginx-jwt")
jwt.auth()
';
rewrite ^/users/name/(.*)$  /users/name/$1.php  last;
try_files $uri $uri/ /index.php;
}

Okay, there are different phases to nginx routing/response generation, and I suspect that the rewrite is before or in the same phase as the lua code instead of after it.  You'll probably have to check out the nginx docs/support to see if you can sort it out.  I basically only use nginx as a proxy pass, so I've never had to try to do the rewrite like that.

Someone else on here might know better.  I'm sorry I don't know this.  I'll keep messing with it and see if I can sort it out.

ok..thanks finally i have did using below trick
location /users/name {
access_by_lua '
local jwt = require("nginx-jwt")
jwt.auth()
';
proxy_pass <IP_ADDRESS>:8888;
}
then in 8888 port server i have rewrite as per below block and it is worked.
location /phone_api/bulk_sms_send/sms {
rewrite ^(.*)$ $1.php last;
try_files $uri $uri/ /index.php;
}
Thanks


Configuring WLED multisegments

Is there a way to connect to multiple segments with WLED?

I was wondering the same thing. Did you happen to figure it out?
I have multiple segments and I'm not sure if LedFX can support segments rather than doing it via multiple ESPs. The newer WLED has DMX support, but I can't figure out how it works.

I never did figure this out. It just crashes when using the same ip for what is effectively a different segment defined by <same ip + different starting offset). It seemed to get really confused but the issue was raised in case I was doing it incorrectly. From what I can tell it appears that only a separate physical WLED with a different IP address could be used.

Where are you configuring a starting offset?
I've just been clicking around and it definitely seems possible using the DMX universes but I still don't understand how they work. Without touching WLED, I configured 2 universes in LedFX - Universe 1 and Universe 2. It results in some strange behavior, but I've been able to break my 300 LED strip into 170 and 130 and control them separately.

Thanks Jason. Yes, i had configured an offset to try and do this. I have a 300 led strip also. I configured ledfx with one device as ip+universe1+offset 0  and one as same ip+ same universe+ offset 450. This might be my mistake of not using 2 universes (giving the first universe a length of 45p and thus forcing universe 2). Ill have a look again and see what i can find out....

Hello, I am interested in the control of several segments with the same LED strip, I cannot control it or adjust more than 85 LEDs per segment and without exceeding the 2 segments, you have any idea, I join this initiative, and when I get 85 LEDs of the first segment they light up they blink and they do strange things in the LEDs likewise does the 85 of the second segment

Hi, somewhere in the wiki it says you have to set Universe Size to 510. This is how it worked for me with 300 Leds


Handle errors when remote host has closed UDP socket

An error is caused(not raised) whenever we try to send data to a remote host that has closed the socket through UDP. This error is raised later only when we try to receive data through this s. Tockethis PR handles such errors by ignoring(silencing) them

No idea why autofix decided to mess with the .swift files


Build failure: python312Packages.insightface

nixpkg 27e30d177e57d912d614c88c622dcfdb2e6e6515
As per InsightFace Python library documentation:
For insightface<=0.1.5, we use MXNet as inference backend.
Starting from insightface>=0.2, we use onnxruntime as inference backend.
onnxruntime is already included and since mxnet is a broken package, once this input is removed, the build is successful.
@oddlama

python3.pkgs.insightface does build perfectly fine on master

It might've been because I have CUDA support enabled in my system config and that's what's broken in the MXNet package.

Maybe you should write better issues. There's an issue template for a reason.

Then I don't see a reason for this issue to remain open.


feat(FMP-317): add new headings with copywriting

Current dependencies on/for this PR:

main

PR #32   👈

This comment was auto-generated by Graphite.


Copy & paste remove NULL

When copying from table or resultset with some null values, if you paste rows, NULL values are replaced with non NULL empty values.
For me , NULL is different than empty and I think this is a dangerous behaviour that can lead to unexpected results
Windows 10, dbeaver 4 0.4 with mysql

Could you explain your use case a bit more?
When you copy NULL value it is not copied in clipboard (by default). You can use use advanced copy to specify format (in native format NULL is copied as NULL value).

didn't know that advanced copy is the option to use in this case.
thanks


Fix new_cop task to avoid generating invalid YAML for the config file

It generates invalid YAML if the new cop is named the last in alphabetical order.
$ bundle exec rake 'new_cop[Zzz/Zzz]'
(snip)

$ tail config/default.yml
  Description: 'Use #empty? when testing for objects of length 0.'
  Enabled: true
  Safe: false
  VersionAdded: '0.37'
Zzz/Zzz:
  Description: 'TODO: Write a description of the cop.'
  Enabled: true
  VersionAdded: '0.75'

  VersionChanged: '0.39'

VersionChanged on the last line is not for Zzz/Zzz cop, but it is put under Zzz/Zzz cop accidentally.
This pull request will fix the problem.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Good catch! Thanks!


Remove dependency to git

To facilitate packaging of mates.rs, it would be better if mates dependencies would be in crates.io. The problem is discussed at https://github.com/NixOS/nixpkgs/pull/10661

Binary support for crates.io is still in beta, and the Cargo.lock pins all dependencies. If you pin to the correct tag, hash mismatches shouldn't occur accidentally.
If rust 1.5 lands I'll release the next version of mates through crates.io, but OTOH I don't see a need to.

Is now on crates.io, also tagged in git. See README for usage. cargo install also has flags that allow installation with a custom prefix (for packaging purposes).


fix(ci): Make CD docker tests accept more progress logs

Motivation
The testnet tests look for Genesis progress, because sometimes that's the only block that can be downloaded on testnet.
But when testnet is running well, the node can get to BeforeOverwinter by the first progress log:
https://github.com/ZcashFoundation/zebra/actions/runs/5385468952/jobs/9774720826?pr=7035#step:5:80
https://github.com/ZcashFoundation/zebra/actions/runs/5385468952/jobs/9774720826?pr=7035#step:5:175
https://github.com/ZcashFoundation/zebra/actions/runs/5385468952/jobs/9774720826?pr=7035#step:5:187
Solution
This PR accepts either log.
Review
This is failing some PRs, so it is important to fix.
Reviewer Checklist

[ ] Are the PR labels correct?
[ ] Does the code do what the ticket and PR says?

[ ] Does it change concurrent code, unsafe code, or consensus rules?

[ ] How do you know it works? Does it have tests?

@mergifyio refresh


fix(requirements): Fix for issue #3

The following patch in requirements.txt file allows to fix the encountered bug but extra checks needs to be performed (because it is a major Flask upgrade!).

See my comment on https://github.com/CERN/captcha-api/pull/5


fix(projects): Add user stories to projects' description

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Addressed currently open issue (replace XXXXX with an issue no in next line)

BREAKING CHANGE: none
Closes #16810
Description

Added user stories to Applied Responsive Web Design Projects, Front End Libraries Projects, and Data Visualization Projects.
The user stories were copied from the unit test, with some minor modifications such as adding punctuation, correcting small typos, and replacing quotation marks with the <code> tag to highlight keywords (element name, id name, class name, etc.).
I also numbered the user stories to make it easier to keep track.
The number of user stories is less than the number of test cases by 1 because I did not include the 'Technology Stack' test. I, instead, just placed it on top of the user story list as it looks more like a note than a user story to me.

I am currently reviewing this PR

@huyenltnguyen It looks good to me. Thank you for your contribution. Happy Coding !


[FIX] Correct paths for Cordova Android 7.0.0+

This commit fixes the issues described in issues #119 and #120 and should remain backwards compatible, please verify and apply since current cordova android (7.0.0+) builds will fail otherwise.

Can confirm this PR fixes the linked issues for me.


Remove fuel-ui dependencies from templates

Running pnpm create fuels, pnpm fuels:dev and then pnpm dev results in the following error:
TypeError: Cannot convert undefined or null to object
    at Function.entries (<anonymous>)
    at generateClasses (file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:195:19)
    at file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:206:24
    at Object.useMemo (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5124:19)
    at useMemo (/node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.development.js:1650:21)
    at useStyles (file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:206:10)
    at useFlexProps (file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:477:10)
    at file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:1221:21
    at file:///node_modules/.pnpm/@fuel-ui+react@0.21.1_@types+react-dom@18.2.19_@types+react@18.2.55_csstype@3.1.3/node_modules/@fuel-ui/react/dist/index.mjs:290:16
    at renderWithHooks (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5658:16)
    at renderForwardRef (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5842:18)
    at renderElement (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6005:11)
    at renderNodeDestructiveImpl (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6104:11)
    at renderNodeDestructive (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:6076:14)
    at renderIndeterminateComponent (/node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom-server.browser.development.js:5785:7)

@luizstacio suggested that we remove the fuel-ui dependencies from our templates because the fuel-ui repo is not being actively maintained anymore.

@fuel-ui has already been removed with this PR: https://github.com/FuelLabs/fuels-ts/pull/1691, just not released yet


Put ordinals.com instances behind cloudflare

Make sure everything is working
Turn on proxying
Configure options to improve performance

This is done. Still a few issues left, but things are working.

Did you document somewhere what you did?


[9.x] Add Arr::cycle() method for cycling classes in a loop

This adds an Arr::cycle() method that makes it easy to cycle through classes in a loop. It behaves identically to Twig's cycle method.
It can be used like this in a Blade template:
@foreach ($objects as $object)

index) }}">

@endforeach

Which would output this:

...

Isn't Arr::get() the same? You can even use optional() for when you go out of bounds.
@foreach ($objects as $object)

index, optional()) }}">

@endforeach

In other words, this method allows to loop through an array/Arrayable using an index number and rewinding if it goes out of bounds.
$array = ['foo', 'bar', 'baz', 'quz'];

Arr::cycle($array, 0); // 'foo'
Arr::cycle($array, 4); // 'foo', goes back to the beginning

I don't think it should work with non-numeric arrays, as if that's the case you're better using Arr::get() with optional():

It won't work with string indexed arrays or numeric indexed arrays with gaps in. You'll get an undefined key error when you try to cycle them. That seemed like the right behaviour to me.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Create a CI file to automate the build of texlivejs

Right now, we have the whole texlivejs compiled inside the source code of this repository which is not a good practice in any situation.
The idea is to move the compile process from manually to automated with the help of travis CI and we can decide after this to where to move the build results. For this task:

Install emscripten in your system ( refer to install section on their website, it is very straightforward)
run make command to test the build
Add an arbitrary variable in Makefile which corresponds to release number of our texlivejs (you can put 0.1 value for now)
Irrespective of the results of step 2, create a travis file on linux configuration to run this build process.

You have to make sure this is only triggered if (Makefile is changed for the master and develop branch) OR (commit is tagged with "build-tex")
Feel free to throw any questions or a discussion on Github Action vs Travis CI.

Hi! I am interested in working on this issue. Can I please take it up?

I am interested in taking up this issue if it is not already assigned!

@ruhmamehek @tanvi2612 To make the project work by cloning, I moved the compilation stuff away from this. Now, we will have to still use the Travis but the source files for the compiler will be loaded from S3 or some other file system. I will suggest you to hold on this for couple of days.


Page name from previous URL

I am using react-helmet and setting a title for each page within render
Here's a snippet from Segments' debugger
analytics.page('Sign Up | Instant Outreach', {
  name: 'Sign Up | Instant Outreach',
  path: '/login',
  referrer: 'http://localhost:3000/signup',
  search: '',
  title: 'Sign Up | Instant Outreach',
  url: 'http://localhost:3000/login'
});

This was me going from /signup to /login - as you can see the path is correct, the referrer is correct, the url is correct however name and title are from previous path.
Thoughts? 👍

@416serg Analytics.js is reporting the page event before react-helmet is able to update the document.title. Having Helmet deeply nested in your DOM will cause a delay in execution. I would try to move Helmet as high up in your DOM tree as possible so it can execute sooner.

What version of react-helmet are you using? I recall other users reporting v4.0.0 is faster then v5.0.0 (unsure if they resolved that issue).
Are you able to show how you are currently using Helmet in your render()?

I will try to set some time aside tomorrow to investigate a solution and see if we should make any changes to the package to better handle react-helmet usage.

@cfnelson "react-helmet": "^5.2.0", - I can try 4.0.0 but I think it's more about it being deep in my DOM.
import React from 'react';
import { Alert } from 'react-bootstrap';
import { Helmet } from "react-helmet";

const NotFound = () => (

	  <Helmet>
      <title>Not Found (404) | Instant Outreach</title>
      <meta name="description" content="Megan helps businesses grow their Instagram engagement by mimicing real user interactions, but optimized and scaled so it can run 24/7" />
    </Helmet>
    <Alert bsStyle="danger">

Error [404]: {window.location.pathname} does not exist.

    </Alert>

);

export default NotFound;

^ Example of a page using it and here's my App.js
const App = props => (
  <Router>
    {!props.loading ?

      <Navigation {...props} />
      <Grid fluid>
        <Row>
          <Switch>
            <Route exact name="index" path="/" component={Index} {...props} />
            <Route component={NotFound} />
          </Switch>
        </Row>
      </Grid>

 : ''}
  </Router>
);

Thanks!

Also tried changing App.js to
const App = props => (
  <Router>
    {!props.loading ?

      <Navigation {...props} />
      <Grid fluid>
        <Row>
          <Helmet
            titleTemplate="%s | Instant Outreach"
          />
          <Switch>
            <Route exact name="index" path="/" component={Index} {...props} />
            <Route component={NotFound} />
          </Switch>
        </Row>
      </Grid>

 : ''}
  </Router>
);

But still the same behaviour within Segment 😞

Also, not getting automatic identify calls :/

@416serg I identify  calls are not automatic in this repo as it's meteor agnostic. You will have to manually set them up yourself. In regards to react-helmet I looked at an implementation I had previously working and I can see the same behaviour occurring as you reported.
I will need to investigate when this changed, but the issue is down to react-helmet updating the document.title after the analytics has already captured the page event. Related discussion here.

@cfnelson thanks for pointing that out! How would you suggest setting up analytics.identify in this case?

@416serg If v4.0.0 isn't working then will see if we can place an optional delay on logging the page view. As a temp solution you could also try setting the document.title directly after route change in your page components instead of react-helmet.
For analytics.identify you can look at the Meteor package which we have that does this automatically. See here for the client side, and server side. If you are not using Meteor or using some other accounts system, you need to call identify when your login event occurs.

Closing this for now then, thanks for your help!

@416serg Thanks for raising this issue! Inspired me to investigate and solve the issue with react-helmet. I have just published v1.0.3 which contains to back-ported fixes from the v2.0.0 branch. This version should work with react-helmet correctly (tested against the example).
The document.title will now be the current page and not the previous. Also wrote a fix for a bug I noticed with the referrer when using the browsers back/fwd buttons. Let me know if it works for you and solves your issues!

@cfnelson any chance this will also get implemented into okgrow:analytics Meteor package? Going to be using that for now since the identify calls happens automatically.

@416serg new meteor version should be up now. We just published to atmosphere today.  Hopefully have the v2 major released soon as well so you can include only the specific integrations that you want to use.

this will be<EMAIL_ADDRESS>right? thanks!


Auto Increment of ID doesn't work with batch insert

I have an auto increment ID field defined in a struct like this:
type MasterJob struct {
	MasterJobID int       `gorm:"column:master_job_id;not null;AUTO_INCREMENT"`
	StartedAt   time.Time `gorm:"column:started_at;not null"`
	CompletedAt time.Time `gorm:"column:completed_at;"`
	Status      Status    `gorm:"column:status;"`
}

When I try to do a batch insert, I get an error

pq: duplicate key value violates unique constraint "master_jobs_pkey"

Following is my code that uses gorm-bulk-insert and throws an error:
masterJob := &models.MasterJob{
		Status:    models.StatusInprogress,
		StartedAt: time.Now(),
	}

	masterJobs := make([]*models.MasterJob, 0)
	masterJobs = append(masterJobs, masterJob)
	masterJob = &models.MasterJob{
		Status:    models.StatusInprogress,
		StartedAt: time.Now(),
	}
	masterJobs = append(masterJobs, masterJob)

	y := make([]interface{}, len(masterJobs))
	for i, v := range masterJobs {
		y[i] = *v
	}
	err := gormbulk.BulkInsert(r.DB, y, 3000)
	if err != nil {
		fmt.Println(err)
	}

Did you create the table with gorm migrations? What does the master_jobs_pkey look like? I cannot seem to reproduce this. 🤔
This is how I create my table:
CREATE TABLE my_types ( id SERIAL NOT NULL UNIQUE, value VARCHAR (20) );

Resulting in
\d+ my_types
                                                       Table "public.my_types"
 Column |         Type          | Collation | Nullable |               Default                | Storage  | Stats target | Description
--------+-----------------------+-----------+----------+--------------------------------------+----------+--------------+-------------
 id     | integer               |           | not null | nextval('my_types_id_seq'::regclass) | plain    |              |
 value  | character varying(20) |           |          |                                      | extended |              |
Indexes:
    "my_types_id_key" UNIQUE CONSTRAINT, btree (id)
Access method: heap

Then I run this code. Sorry to re-create your example but this code is complete and copy-pasteable.
package main

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/postgres"
	gormbulk "github.com/t-tiger/gorm-bulk-insert"
)

type MyType struct {
	ID    int `gorm:"AUTO_INCREMENT"`
	Value string
}

func main() {
	db, err := gorm.Open(
		"postgres",
		"host=localhost port=5432 user=postgres dbname=test password=pass sslmode=disable",
	)

	if err != nil {
		panic(err)
	}

	defer db.Close()

	toInsert := []interface{}{
		MyType{Value: "first"},
		MyType{Value: "second"},
		MyType{Value: "third"},
	}

	if err := gormbulk.BulkInsert(db, toInsert, 3000); err != nil {
		panic(err)
	}
}

After I run the code the first time:
SELECT * FROM my_types;
 id | value
----+--------
  1 | first
  2 | second
  3 | third
(3 rows)

And the second time
SELECT * FROM my_types;
 id | value
----+--------
  1 | first
  2 | second
  3 | third
  4 | first
  5 | second
  6 | third
(6 rows)

For details, this is how I run my postgres instance.
docker run -it --rm -p 5432:5432  -e POSTGRES_PASSWORD=pass postgres

@mannu2612
Sorry for late response🙏. Certainly there was a mistake in the program. It is fixed by below commit. Thanks to this issue, I can notice.
1b85a9b6c557381ac99e836ab872801c2bd61e2a
In the previous program, if the name of auto_increment field is not ID, this field will be targeted for insertion. Since it was solved by the above commit, I'll close this issue.


Microsoft ClearType family

I’m trying to create Cask for Microsoft ClearType family of fonts. My current cask is this:
class FontMicrosoftCFamily < Cask
  url 'http://download.microsoft.com/download/9/A/6/9A6FE8C2-84DF-4582-A6C2-32483F7DC988/OpenXMLConverter121.dmg'
  homepage 'http://www.microsoft.com/typography/cleartypefonts.mspx'
  version 'latest'
  sha1 '78202d8d20aa6b38b6857695ff278a7d7fa685a9'
  install 'Open XML File Format Converter for Mac 1.2.1.mpkg/Contents/Packages/OpenXML_all_fonts.pkg'
end

As you can see, this uses standard installer found inside mount image, but what I want to create is linking fonts in proper way, like this:
class FontMicrosoftCFamily < Cask
  url 'http://download.microsoft.com/download/9/A/6/9A6FE8C2-84DF-4582-A6C2-32483F7DC988/OpenXMLConverter121.dmg'
  homepage ''
  version 'latest'
  sha1 '78202d8d20aa6b38b6857695ff278a7d7fa685a9'
  font 'Open XML File Format Converter for Mac 1.2.1.mpkg/Contents/Packages/OpenXML_all_fonts.pkg/Contents/Archive.pax.gz/Calibri.ttf',
       'Open XML File Format Converter for Mac 1.2.1.mpkg/Contents/Packages/OpenXML_all_fonts.pkg/Contents/Archive.pax.gz/Cambria.ttf'
end

Am I doing something wrong?
Also, is this considered as breaking license agreement? I don’t know if it’s a gray area since Microsoft allows people to download this package for free.

Did you pick up on this again? I was surprised that cleartype wasn't in homebrew-fonts and this seems to be the only effort to include them

@andreineculau Yes, but I’m keeping it in my own tap because:

There isn’t any "easy" way to download the fonts by themselves. As described in caveats, fonts are coming from Microsoft free XML converter and they are extracted to be used as separate package.
Consolas is modified to have proper line height on OS X.

You are free to use it, but beware of these two points :)

@niksy Thanks!

Downloaden Downloaden Downloaden Downloaden Downloaden Downloaden Downloaden
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi
Downloaden =========>>>>>>>>>> http://bit.ly/2oiWvqi


Docs never show how "how to use the nvchad repo as a plugin."

Followed the docs and I am missing how to actually use the remaining parts of this. It is appreciated, but this starter is confusing and miss directs. The docs say start and add NvChad, but never actually show how or mention how, so I am lost.
I watched a great video for this and it had you clone the main NvChad repo, but I guess those instructions are now out of date.
Thanks

https://github.com/NvChad/starter check the main init.lua file, its very self explanatory

For anyone else like me who was hopping something in the doc would confirm it, in fact the init.lua will load the other repo as a plugin. I think that is correct in terms of language. It would be a little better if there was some confirmation and mention before getting so far into the docs. Since this step is performed early, installation. Thanks for the excellent work and fast response.

https://nvchad.com/docs/config/walkthrough#main_config_structure


Response status is always 404 when ExceptionHandler is executed

I'm facing the following issue. Whenever I set up an exception handler for a particular exception the response has a 404 status code.
What I'm trying to do is to set a status code in the response object received in the handle method of the ExceptionHandler.
Thanks in advanced

Hm, that's not the case for me (catching java.lang.Exception)
You can set the status manually:
res.status(500);

Hi all,
I was facing the exact same issue. And I just find the solution :
To overwrite the response status, you need to set the new response status AND a body:
public void handle(Exception e, Request req, Response res) throws Exception {
    // your code
    res.status(500);
    res.body(e.getMessage());
}

without the body, you get a 404 (not defined path).


Some issues getting started

First off, thanks for continuing this plugin!
I'm having some issues getting started with it. I've tried both in a Nuxt (Vue 3) app with build tooling and modules as well as fairly standalone web pages.
I've put together a JSFiddle which appears to be a fairly minimal reproducible example: https://jsfiddle.net/L0uznyja/
Summary of issues:

Wonky text formatting in popup (see screenshot; I expected it to be a bit more... columnar?)
Setting showInspectMap: true doesn't actually change the style, at least in the case of a non-trivial style. However, the popups show up over the main style (also shown in screenshot)
The icon for the button doesn't load
Toggling to the inspect view just shows a white map. No issues are indicated in the browser or JSFiddle console.

It's quite probable that I'm just "holding it wrong" as I'm not much of a frontend dev to be honest :) Thanks in advance!

@ianthetechie is this still relevant?

Good question @HarelM; I see this is now under MapLibre! That's great!
A quick investigation shows that the release no longer has the JS file directly accessible under the tag. I poked around the package on unpkg and it's not clear if the dist build is actually there or not. I was expecting to see UMD and CJS variants (I think... I'm not a JS dev so ignore stupid stuff I say :D) and a CSS file, but I'm not seeing those so it's a bit tricky to test 1.4.11: https://unpkg.com/browse/<EMAIL_ADDRESS>Let me know if I'm missing anything obvious. I'd be happy to submit a PR with improved docs if I can get things working.

Yes, dist folder is missing for some reason, I'll look into that, thanks!
I've published a version to github pages which is available here for the meantime:
https://maplibre.org/maplibre-gl-inspect/

I've updated the publish CI to add dist folder and also the missing css file that I have removed in previous changes.
It should be OK now, I hope.
Let me know if I missed anything.
Version 1.14.13.

Ok, that's significantly better! See https://jsfiddle.net/36f21kzd/3/.
However, the inspect style is still broken for me though, which is a bit curious. I wonder if it depends on some implementation detail that isn't documented 🤔 At one point I suspected that it's looking for the layers from TileJSON or something, but a quick look seems like it's looking to MapLibre GL JS for the source layers (as I'd expect).
Any ideas?

This is acting strange, not sure what's causing this issue.
There isn't a lot of code in this library, so this should work, but it doesn't.
I would recommend to see if you can simplify the style itself and see when this breaks, otherwise this might prove hard to pin point what's causing this issue.

Just an fyi, the inspect plugin does need vector_layers described in the tilejeom to work properly.  otherwise it does something similar to what you are seeing.
I thought I saw thise vector_layers when i looked at your tilejeon, but maybe I saw wrong.

Just an fyi, the inspect plugin does need vector_layers described in the tilejeom to work properly. otherwise it does something similar to what you are seeing.

That'd be the issue then. Our TileJSON is (we learned somewhat recently) not compliant with this part of the spec ;) We've seen a number of other places omit it in the past and never got around to adding it since it works fine with all renderers we know of. Guess we need it in order to use plugins like this.
I think I can consider this issue closed then, since the other issues appear to be resolved. Thanks!


Better diagnostic for missing semicolon

Right now slang has the problem that something like:
struct Foo { int a; } // <- missing semicolon
#include "bar.h"

Will tend to report the "expected a ;" error deep inside bar.h instead of on the line where the error "obviously" occurred.
A better approach would be to have the parser track the previous token's end location, and when there is an unexpected-token error for something that is logically a "terminator" token (at least ; but maybe , and others), we can report the error there.
This relies on adding a way to get the end location of a token (possibly just by storing its length).

IIRC we do a lot better at diagnosing this stuff these days, and in any case we no longer require a trailing ; on struct declarations.
Closing with the possibility to re-open.


Increase performance

Create_diagram runs quite slowly. There is a little overhead by using xml2 but I think the script can be optimized.

Script has been optimized and for it is enough


Fix ttbar example README.md rendering issues

Fix the ttbar README.md rendering issue.

Looks good, ok to merge.


The latest version(2.2.7) can't flash successfully on mega2560

The latest version(2.2.7) can't flash on mega2560，but 2.2.4 can flash successfully on mega2560,Do anyone else have such a problem？
var Avrgirl = require('avrgirl-arduino');

var avrgirl = new Avrgirl({
  board: 'mega',
  debug: true,
});

avrgirl.flash('./hex/focalhot.hex', function (error) {
  if (error) {
    console.error(error);
  } else {
    console.info('done.');
  }
});

what sort of error are you getting?

The serialport module does not fire a close event (anymore) without reading from or writing to the connection.
In a small test project of mine, where I lent the resetting portion from avrgirl-arduino, I was able to work around this issue by also registering for data events prior to setting up a listener for the close event.
Maybe this can be of use some time later.


Example is no longer working when trying to chat immediately.

Parts of the example are no longer working as expected because the chat method requires the chat rooms tags to be present now. The affected line is commented out, but uncommenting it leads to an error.

Fixed with 7b42990b39b3c063d155e922baf6e534d678b773


Allocation % should be an integer value

We don't need the precision and smaller tables has less chance of wrap around

Fixed in the latest commit


Ensure built report attached to release (if action set to run on releases)

As per title - expected is use case is with a release, so ideally action would attach the built artifact (e.g. pdf) to release.

Should we make this something the user does? e.g. right now for testing I'm using below:
      - name: Upload visR validation report
        uses: actions/upload-artifact@v2
        if: success()
        with:
          name: visR-report.pdf
          path: ./validation-report.pdf
          if-no-files-found: error

As it's on a branch - but most users would want to attach it to a release, but that would require quite different code... (from what I saw on the docs we should use the action to create the release?)

@dinakar29 and @dgkf - what are your thoughts? Should the action default what to do with the artifact, or is that something users do after calling the gh-action.


state_vars password in clear text in automation.log

Hi,
We found some lines like this in the automation.log
[----] I, [2021-08-23T08:18:41.985661 #2347:2ada74e89968]  INFO -- : Q-task_id([r120_miq_provision_111]) Reloading state var data: ---
ems_hostname: xxxx
ems_username: xxxx
ems_pass: passisincleartext
those variables comes from ansible vault file, so there is a security problem here from manageiq as manageiq logs bypass ansible vault encryption security...
What can we do with this problem ?
We are on Kasparov-1

https://talk.manageiq.org/t/filtering-sensitive-information-from-automation-log/5500

@NickLaMuro Is this basically done now, or does the new secret_filter method need to beused here: https://github.com/ManageIQ/manageiq-automation_engine/pull/481/files#diff-de97e94b20964f6279c84e58459559cb8e2a8f16d77613899593500e4727c9a1R26

@Fryguy Ah yes, I was waiting to do that until after the other two were merged.  Will throw together a quick PR.  Thanks!

@Fryguy https://github.com/ManageIQ/manageiq-automation_engine/pull/482

Merged...and done!  I feel like this should come back to morphy, so I'll mark them.


Deployment

#Deployment
##User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
##Acceptance Criteria
GIVEN a Prework Study Guide website,
WHEN I visit the website using the URL,
THEN I can access my website from any browser

I can do it for you , give me more details about it


sample compiling cannot find framework on MacOS

Hi,
I'm an Associate Professor at West Virginia University and I'm trying to use MuJoCo for computational neuroscience. I have little experience in compiling. I am trying to figure out how to link MuJoCo to Matlab via Mex functions. I've started with compiling sample code that came with the MuJoCo download.
I'm looking for some help with compiling the code from Sample folder. I have copied the MuJoCo app into the Applications folder and it runs fine. Then in terminal I ran the Makefile and it causes an error that the framework mujoco is not found.
The code I run in terminal:
cd /Users/vgritsenko/MuJoCo_sample
make
The output I get:
clang++ -O2 -F/Applications/MuJoCo.app/Contents/Frameworks -I/usr/local/include -pthread -std=c++17 -stdlib=libc++ -L/usr/local/lib -Wl,-rpath,/Applications/MuJoCo.app/Contents/Frameworks    testspeed.cc  -framework mujoco        -o testspeed
ld: framework 'mujoco' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [all] Error 1
When I go to the MuJoCo framework path, the framework is there:

Any advice is appreciated.

Did you this?
I recommend talking to @vmanoj1996.

Thanks, I've reached out to Manoj directly.
I have downloaded the simulink blockset and, unfortunately, I get the same error when trying to compile Mex functions from Matlab. This makes me think that there is something I'm missing in my MacOS Sonoma 14.2.1.

Hi was there ever a resolution for this, running into the same issue on MacOS


Structured Logging / Tracing

using https://getpino.io/ and https://opentelemetry.io/

Can we make sure that this logger facility is used (e.g. in jobs and other places) instead of console.log / console.info

@dominiek we don't care about logging in the scripts folder right ? I assume they would be executed outside of the api runtime?

I might wait a few days more in the hope that a package to export the traces to google lands with a more recent version, that formats the trace correctly. Besides the outstanding working re koa

I might wait a few days more in the hope that a package to export the traces to google lands with a more recent version, that formats the trace correctly. Besides the outstanding working re koa


Thank you for your PR! The new version 1.4.1 is now using go modules.

so basically my PR got dropped? I am curious why you are doing that.

It's not as much dropping your PR as reworking it a bit.
I merged another PR first, which was much smaller, which resulted in merge conflicts when trying to rebase your changes.
Also, I wanted to do some changes e.g. changing how golangci-lint was used, more linting rules, vendoring dependencies, replace a copied file with a dependency and some other small things. You can see the commit here https://github.com/walle/wiki/commit/33eb2f713879e72c11c1aecd82b3b47c1058ff65. So it was easier for me to do a new commit that did all of those changes.
Thanks again for your work! I would probably not have worked on this without it.


BUG - duplicated category on Rules index

Hi team,
Rules to Better Web API is duplicated in the main index:

Please investigate and fix

AB#60135

Hi @tiagov8,

Please investigate and fix

Done

Figure: Duplicate category removed
-Brady


Documentation

Pull Request Test Coverage Report for Build 411

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.693%

Totals

Change from base Build 410:
0.0%

Covered Lines:
2627

Relevant Lines:
2865

💛  - Coveralls


ViewBinding: fix gradle dependencies from api to implementation

Api dependencies here are unnecessary, but it adds addition dependencies with specific versions to our modules, I think we need to replace it with implementation function

Can you describe the problem you trying to solve?
If the library requires higher version of Kotlin than you use in your project, you should align Kotlin version across the project using kotlin-bom artifact:
dependencies {
    implementation(platform(kotlin("bom", version = "1.4.21")))
}

If you want to use the library with older version of binding or fragments libraries, you can:

use dependencies constraints to enforce dependency version for the whole project
disable transitive dependencies for particulary this library
use older version of the library where needed versions were used

Can you describe the problem you trying to solve? If the library requires higher version of Kotlin than you use in your project

No-one android/google ktx library doesn't provide Kotlin std for ex. it's only provides direct dependency of ktx (fragment-ktx: fragment, liveData-ktx: liveData), but Kotlin.std is unnecessary in this case, and by this logic it needs to provide only VB api (and maybe fragment), it is the only one library in project, that provides transitive Kotlin dependency, problem is not in project building, but in structure and logic

No-one android/google ktx library doesn't provide Kotlin std for ex.

All of KTX libraries provide kotlin-stdlib as a dependency. For example see fragment-ktx-1.4.1.pom, core-ktx-1.7.0.pom.
Anyway, I don't see any problem here. KTX extensions are not usable without kotlin-stdlib and it is a part of the API, so it should be compile-scope dependency.

@13h4i15, can this issue to be closed?


[Feature Request] Support vsc's display language (locale)

VSCode provides a feature of display language. For example, we can use VSCode in mostly Chinese.
Maybe there is a method to get the using display language and pass it to excalidraw's langCode. Then we can use it in other languages automatically.

Thanks for mentioning it, I was not aware of it. I will take a look at it

Released in v3.3.0 :)


Arabic corpus (numbers and ordinals forms)

Adding feminine masculine arabic numbers and ordinals in corpus and rules

Hi, I tested the project locally and I get no error
It is not cler why it failed on ci/circleci
Can I know why it failed?
here is my test result file
duckling_test.txt

Hey @aggounix,
I think it's related to #114 and I hope it gets resolved soon, so people get the satisfaction of green in their CI tests.

thx, I hope it will be fixed soon :)

Yes sorry the CircleCI integration is broken, not your fault. Will fix or remove soon.

6 corpus examples are failing, could you please see what's happening?
duckling.core=> (load!)
"not found" "ثلاثة و ثلاثون"
"not found" "أربعة عشر"
"not found" "ستة عشر"
"not found" "سبعة عشر"
"not found" "ثمانية عشر"
"not found" "خمسمائة و خمسة و عشرون"
{:pt$core (:phone-number :number :distance :volume :temperature :time :url :email :timezone :unit :amount-of-money :leven-unit :quantity :ordinal :unit-of-duration :cycle :duration), :ko$core (:number), :id$core (:unit :number :amount-of-money :ordinal), :ru$core (:number :ordinal), :ja$core (:number :temperature :ordinal), :fr$core (:phone-number :number :time :distance :volume :temperature :url :email :timezone :unit :amount-of-money :leven-unit :leven-product :quantity :ordinal :cycle :unit-of-duration :duration), :es$core (:phone-number :number :distance :volume :temperature :time :url :email :timezone :unit :amount-of-money :cycle :unit-of-duration :duration :ordinal), :da$core (:number :time :timezone :ordinal :cycle :unit-of-duration :duration), :zh$core (:number :temperature :time :ordinal :cycle :unit-of-duration :duration), :ar$core (:number :ordinal), :ga$core (:unit :number :amount-of-money :distance :volume :temperature :time), :it$core (:number :time :ordinal :cycle :unit-of-duration :duration), :de$core (:number :time :ordinal :cycle :unit-of-duration :duration :timezone), :vi$core (:unit :number :amount-of-money), :uk$core (:number :ordinal), :et$core (:number :ordinal), :en$core (:phone-number :number :distance :volume :temperature :time :url :email :timezone :unit :amount-of-money :leven-unit :quantity :leven-product :ordinal :cycle :unit-of-duration :duration)}
duckling.core=> (run)
:pt$core: 382 examples, 0 failed.
:ko$core: 85 examples, 0 failed.
:id$core: 79 examples, 0 failed.
:ru$core: 84 examples, 0 failed.
:ja$core: 55 examples, 0 failed.
:fr$core: 502 examples, 0 failed.
:es$core: 295 examples, 0 failed.
:da$core: 354 examples, 0 failed.
:zh$core: 329 examples, 0 failed.
0 FAIL "ثلاثة و ثلاثون"
    Expected 33
    Got      3
    Got      30
1 FAIL "أربعة عشر"
    Expected 14
    Got      4
    Got      10
2 FAIL "ستة عشر"
    Expected 16
    Got      6
    Got      10
3 FAIL "سبعة عشر"
    Expected 17
    Got      7
    Got      10
4 FAIL "ثمانية عشر"
    Expected 18
    Got      8
    Got      10
5 FAIL "خمسمائة و خمسة و عشرون"
    Expected 525
    Got      20
    Got      505
    Got      505
:ar$core: 33 examples, 6 failed.

Hi, thank you
For the fails, I think because rules put at original file are confusing for numbers  from 11 to 20 because the code is trying to convert every word in the numbers first and not as a whole
I can try to modify the rules until it passes if you want

@aggounix tested and still 2 failed examples
"not found" "إحدى عشرة"
"not found" "إثنتى عشر"


when stop service,the service set Instance number can not effective when start up service

In GitLab by @cuiaq123 on Jul 30, 2018, 15:55
when stop service,the service set Instance number can not effective when start up service

In GitLab by @luotian-github on Nov 8, 2019, 07:57
the instance number is for runtime now, will consider it later

In GitLab by @sokril on Nov 8, 2019, 08:26
assigned to @luotian-github

In GitLab by @luotian-github on Dec 20, 2019, 06:46
assigned to @Robin-Mao and unassigned @luotian-github

In GitLab by @luotian-github on Dec 20, 2019, 06:46
assigned to @tongjianli and unassigned @Robin-Mao

In GitLab by @sokril on Dec 26, 2019, 06:50
changed the description

In GitLab by @luotian-github on Mar 4, 2020, 12:03
assigned to @luotian-github and unassigned @tongjianli