use namespaces

We introduce the following namespaces:

nttec: the root namespace of the NTTEC library
nttec::arith: for the base/core arithmetical functions of NTTEC.
nttec::fec: for the code related to Forward Error Correction.
nttec::gf: for the code related to Galois Fields.
nttec::fft: for the code related to the Fast Fourier Transform.
nttec::vec: for the low-level wrappers around memory buffer.

Note that we add to move the overloading of << for the 128-bit integers
into the namespace "std", otherwise we have some problem to find it when
needed (ADL cannot find it in some cases).
Also move pack/unpack helper of Vec from fec.h to vec.h: it's more
logical that way.
Closes: #155

I put things in namespace as I understood it, but since I don't have a complete grasp of each class yet it wouldn't hurt if someone else could do a quick check.
Like I put NGFF4 in the gf namespace, but NGFF4 is not a Galois Field so maybe:

it's fine, but rename the namespace
if's fine, but update the Doxygen of the namespace
it's not fine: create a new namespace/move it into another one

I think it is fine if we have n*GF(F_4) in gf namespace

I do agree to put ngff4 in GF namespace since we are using ngff4 as other GFs :)


Pan-STARRS filters aren't compatible with indices parameter

For a "custom" index like PAN-STARRS_PS1.g-CTIO_DECam.r, TCT crashes citing an invalid color error or something. I presume it is because TCT assumes that the - in PAN-STARRS is an index linker, however it doesn't have data associated with the supposed PAN filter.
A fix could be that TCT checks whether the first dash in an index is preceeding a dot, and treat said dash as part of the filter name in the index calculation if so.

Thanks! I'll fix it soon

Fixed in 827e96f33554dc3395cc8d4e39b1b6cf3981a6c2


Google OAuth

It would be nice to have a sign-on process using google credentials. As a user I wouldn't want to have to manage so many different accounts.

[x] Design flow with Google OAuth
[x] Assess what needs to be changed
[x] Implement changes
[ ] Implement tests

Need to look in to how to validate google tokens from other apps


[feature] Support Clear history in ipc mode

Description
Thanks to @adrianEffe , history clear feature is released. (https://github.com/24seconds/rust-cli-pomodoro/pull/175, https://github.com/24seconds/rust-cli-pomodoro/releases/tag/v1.4.0).
There are two modes in rust-cli-pomodoro. Standalone mode and IPC mode.
History clear is supported in Standalone mode while is not supported IPC mode yet.
It would be nice to support it in IPC mode.
Similar PR is #178

For the context, related issue is #52


Getting an error on my Angular app

GET http://localhost:4200/service-worker.js?pusherBeamsWebSDKVersion=1.1.0 404 (Not Found)
I am getting this error when I try to use pusher notification. What is the solution please?

me too? any advance?

Where did you save the service-worker.js to? @VeeRHunter @AAmeriyan


operator: remove deprecated Azure cloud name flag

Commit b29389d50f97 ("Auto-detect Azure cloud name via IMDS") marked the
flag as deprecated in 1.10 and to be removed in 1.11.

ci-aks

ci-aks

All reviews are in and the AKS test passed, no need to run full CI. Marking as ready to merge.


chore: improve docs, replace asserts with pattern matching, reduce duplication of code examples

Addresses https://github.com/momentohq/dev-eco-issue-tracker/issues/724 and general docs improvements.
Code examples in the cache_client.rs file now show examples of cache_client.* calls but link to the specific request objects that show examples of send_request calls.
With the exception of the cache_client::get example, I removed the assert statements in favor of pattern matching examples. A couple of the pattern matching statements (deleteCache and set) show how to handle specific errors like NotFoundError.
Not specifically attached to the style of the code examples, so if it's more idiomatic to show a simple API call with an await? at the end rather than using a match statements, I can change that.

I agree the docs should show how to use the pattern matching as a developer using the library would. This is a good change. With removing the assertions though, we lose the automated tests, which is less desirable.
If we plan for comprehensive integration tests, I am less concerned about the latter, as we can port the tests there.

@cprice404 @malandis
Docs example for Set would look like this on the CacheClient, with the Optional Arguments heading above the shorthand example and the SetRequest and optional arguments links below the example:

The SetRequest and optional arguments links will direct them to the SetRequest docs page with the example of using send_request:

I applied this pattern to all the APIs with optional arguments so far. Thoughts?

Looks really nice!


Issuer Wizard Can be used as proxy for phishing attacks

Solved
Tasks done:
ChamberGod address is now part of IssuerWizard constructor.
The target Chamber for issue/redeem external functions at IssuerWizard must have been created but the corresponding ChamberGod.
Updated Integration and Unit involved tests.
Created a folder for Audit pocs to check if the findings are solved.
Added audit-pocs testing to GH workflows.


Progress is flashing when setprogress:animated:YES

Hey sir!
Thanks for great class!
The problem is when I`m setting progress animated it goes great but when animation is finished the progressview is flashing (from last progress to current)
I think its in updating BezierPath
Can u help me pls?
TY
Grigory

I have the same issue.
It can be reproduced also for sample project, but only on device (not simulator).
Great control anyway.


Adds an operation recorder for inspecting templates

Context: Currently, the only way to inspect a template/quantum function is by executing it within a QNode. This makes testing difficult, for example, by requiring mocked out devices and QNodes.
Description of the Change: Adds an OperationRecorder() context manager, that allows templates and quantum functions to be executed, while recording events. The syntax looks like:
>>> weights = qml.init.strong_ent_layers_normal(n_layers=1, n_wires=2)
>>>
>>> with qml.utils.OperationRecorder() as rec:
>>>    qml.templates.layers.StronglyEntanglingLayers(*weights, wires=[0, 1])
>>>
>>> print(rec)
Operations
==========
Rot(-0.10832656163640327, 0.14429091013664083, -0.010835826725765343, wires=[0])
Rot(-0.11254523669444501, 0.0947222564914006, -0.09139600968423377, wires=[1])
CNOT(wires=[0, 1])
CNOT(wires=[1, 0])

You can also use rec.queue to get the list of Operation objects directly.
Benefits: This will be significantly useful for debugging and tests.
Possible Drawbacks: ?
Related GitHub Issues: n/a

Did you return an Observable that is also an Operator?

Yes, I tested expval(PauliZ) and it worked 🤔

Okay, that actually makes sense, but then the QNode was likely corrupted. Can you add your review to the PR if you're the creator?

Okay, that actually makes sense, but then the QNode was likely corrupted.

Ah, I tested the recorder just with a template, not within a QNode.

Can you add your review to the PR if you're the creator?

Unfortunately not, but I can leave comments!

Codecov Report

Merging #388 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #388      +/-   ##
==========================================
+ Coverage   99.54%   99.55%   +<.01%
==========================================
  Files          32       32
  Lines        2416     2454      +38
==========================================
+ Hits         2405     2443      +38
  Misses         11       11

Impacted Files
Coverage Δ

pennylane/utils.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Sounds like this is ready to merge? @josh146 you want to have a final look-over?


Update main.css

Coverage decreased (-0.03%) to 38.853% when pulling f4c24b059adadb1fdb708c4a5a4598cbc7ac806b on small-css into ca271e2ac6c3fa836e74a202653a458522d723c1 on dev.

Coverage decreased (-0.03%) to 38.853% when pulling f584be0dd06de5561d837cf482ee660e043f6641 on small-css into ca271e2ac6c3fa836e74a202653a458522d723c1 on dev.

Coverage decreased (-0.03%) to 38.853% when pulling f584be0dd06de5561d837cf482ee660e043f6641 on small-css into ca271e2ac6c3fa836e74a202653a458522d723c1 on dev.

Coverage decreased (-0.03%) to 38.853% when pulling 70a05bd7c9d53f49577e6b2ac6a91394c72edf1d on small-css into ca271e2ac6c3fa836e74a202653a458522d723c1 on dev.

Coverage decreased (-0.03%) to 38.853% when pulling fb5c5887cdd7641f479b8602a9d7dc152be5ed30 on small-css into ca271e2ac6c3fa836e74a202653a458522d723c1 on dev.

why do you need help?

The command "go get github.com/anacrolix/torrent" failed and exited with 1 during .

Coverage remained the same at 38.881% when pulling d2546355073f2264b35964571e46588c6193e043 on small-css into 285bca23cb9bfe644cd8fe20ac7801fba1a40f55 on dev.


Generically dependent continuants can depend on nothing

From<EMAIL_ADDRESS>on July 08, 2012 06:11:37
... according to the current OWL axiomatization, which only requires dependence at some time
Probably only to be solved with introducing temporally qualified continuants at a later stage.
Original issue: http://code.google.com/p/bfo/issues/detail?id=88

From<EMAIL_ADDRESS>on July 10, 2012 10:19:12
Status: WontFix


We should make reusable blueprints for testing

Currently, the blueprints that are made for testing the provider are not reusable.
One attempt was made with MakeOrFindBlueprint . We might want to make a generic solution for this because adding and deleting a few blueprints puts the Apstra in a low memory mode.

@chrismarget-j Comments here..


RTIO Support: SPI

Is your feature request related to a problem? Please describe.
RTIO is a feature that enables lock-free queue like requests to hardware peripherals, allowing for things like SPI transactions to be started in an ISR context. This is very useful for sensors and is part of the newer sensor API. Peripheral drivers should support this API in a broad way in Zephyr
Describe the solution you'd like
SPI bus drivers supporting RTIO broadly.
Additional context
Status of SPI bus driver RTIO support

[x] sam
[x] nxp lpspi
[ ] nxp flexcomm
[ ] nrf spi
[ ] nrf spim
[ ] stm32 spi
[ ] dw
[ ] sedi

@henrikbrixandersen @yperess


Custom compilation v1.0.17 - Provider crashes

I compiled the provider in version 1.0.17,
with go v1.12.7   and    v1.12.6
with terraform v0.11.14
The compilation is successful, however, when using the provider in another environment, terraform crashes the same way as in this issue : https://github.com/aiven/terraform-provider-aiven/issues/92
Error: Error asking for user input: 1 error occurred:
	* module.aiven_services.provider.aiven: plugin exited before we could connect

panic: Failed to read service_user_config_schema.json: stat /home/vagrant/test_aiven/templates/service_user_config_schema.json: no such file or directory
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17:
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: goroutine 1 [running]:
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: github.com/aiven/terraform-provider-aiven/aiven.readUserConfigJSONSchema(0x11472d3, 0x1f, 0x112cb2f)
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: 	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/user_config.go:17 +0x317
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: github.com/aiven/terraform-provider-aiven/aiven.GetUserConfigSchema(0x112cb2f, 0x7, 0x1134e0c)
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: 	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/user_config.go:41 +0x1a0
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: github.com/aiven/terraform-provider-aiven/aiven.init.ializers()
2019-11-27T15:13:54.216Z [DEBUG] plugin.terraform-provider-aiven_v1.0.17: 	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/resource_service.go:139 +0x1f14

While trying to execute the provider in another environment that the one where it was compiled, it fails with following message:
./terraform-provider-aiven_v1.0.17
panic: Failed to read service_user_config_schema.json: stat /home/vagrant/.terraform.d/plugins/temp/templates/service_user_config_schema.json: no such file or directory

goroutine 1 [running]:
github.com/aiven/terraform-provider-aiven/aiven.readUserConfigJSONSchema(0xf771d6, 0x1f, 0xf5f2af)
	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/user_config.go:17 +0x317
github.com/aiven/terraform-provider-aiven/aiven.GetUserConfigSchema(0xf5f2af, 0x7, 0xf67124)
	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/user_config.go:41 +0x1a0
github.com/aiven/terraform-provider-aiven/aiven.init.ializers()
	/home/jenkins/agent/workspace/terraform_CICD_master/src/github.com/aiven/terraform-provider-aiven/aiven/resource_service.go:139 +0x1f14

Aiven terraform provider uses packr2 to include the schema json files into the binary. If you want to build your own version of the binaries the recommended way to do it is to

clone the repository (outside the normal ~/go/src/github.com)
run make bootstrap followed by make bins

alternatively (assuming linux as the target) the following sequence of commands will provide a binary that can be copied to an other environment
go get github.com/gobuffalo/packr/...
go mod vendor
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 packr2 build -mod=vendor -o terraform-provider-aiven .


Adds more content about ORCIDs

Closes #5 and also closes #9.

Getting this ready for teaching tomorrow. Any comments from anyone (esp. @dsoto, @elliewix, @raynamharris, @ErinBecker) before I merge this?

Looks good to me!

Looks good! Just suggested a minor change to give all the exercises a level three header

The new motivation for using ORCID ids is very helpful.


Possible memory leaks

okhttp3.Response marked as Closeable.
Shouldn't we close / wrap with try-with-resources this object to prevent memory leaks like this?
try (Response response = client.newCall(request).execute()) {
  ...
}

Also, I noticed that when running an application on a Kubernetes cluster using this library, an application pod hangs for 5 minutes after the application completed (it's in the Running status within 5 minutes and then marked as Completed). We have a chain / a pipeline of applications running sequentially and this behavior increases the overall time of a job. For example, if the pipeline has 10 applications, then 10 applications * 5 minutes = 50 extra minutes to the end-to-end job. It turned out that IBM SDK Core uses the okhttp3 library under the hood which allocates resources to be released when they are not needed anymore but it's mentioned that cleaning occurs automatically for those resources that have not been used for X period of time. In this repository, the HttpClientSingleton class is used to control a singleton object to share the same client. When I manually added the following piece of code at the end of the program, Kubernetes pods started completing immediately without waiting for extra 5 minutes:
client.dispatcher().executorService().shutdown();
client.connectionPool().evictAll();

It was so unobvious and took enought time to investigate what the root cause is. Maybe there is a need to improve / to mention this somewhere in the repo / in the singleton class, or something else to raise awareness of this situation. What do you think of this?

Hi @19Serhii99,
thank you for raising awareness of this situation.
It sounds like you have done some research on this within the okhttp code and/or documentation.
Could you share any links to specific documentation that might help me understand the situation a bit better?
Also, I'm just a bit curious... which SDK(s) are you using?
Thanks again!

@19Serhii99,
Regarding your first issue above about needing to close the Response object.  I did some digging to refresh my understanding of the interaction between generated SDK code and the Java core.
It turns out that there is a standard way in which we read the body of an operation response and that mechanism will close the response body after reading it, which would preclude the need for the application to explicitly close the Response object.
Here's an example from the end of an operation within some generated service code:
    ...

    ResponseConverter<Case> responseConverter =
      ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<Case>() { }.getType());
    return createServiceCall(builder.build(), responseConverter);
  }

In this example we're creating a response converter to unmarshal an instance of the "Case" class (the return type of the operation) which should be returned in the response body.
The response converter returned by the "getValue()" method is implemented like this:
  public static <T> ResponseConverter<T> getValue(final Type type) {
    return new ResponseConverter<T>() {
      @Override
      public T convert(Response response) {
        return ResponseUtils.getValue(response, type);
      }
    };
  }

And the ResponseUtils.getValue() method is implemented like this:
  public static <T> T getValue(Response response, Type valueType) {
    JsonReader reader;
    try {
      reader = new JsonReader(response.body().charStream());
      return GsonSingleton.getGsonWithoutPrettyPrinting().fromJson(reader, valueType);
    } finally {
      response.body().close();
    }
  }

So when the converter is actually called, it just unmarshals the response body into an instance of the class described by "valueType" and then closes the response body.
If you observe a specific situation where you can demonstrate that the response body is not getting closed properly, please let us know.

cc'ing @dpopp07 for awareness


Can we imagine having an export for the global modules instead of one for each exam?

I am running a module where I make small exams at the end of each session. I can only export results from within each exam. It would be great to have a way to export the module with all exams...

+1

@jbourcie If you could test the two feature ABJ and export grade for a complete module during your next exam and let me know if it fits your requirements

The csv export works. The excel one does not work !


AbortUpgrade returns an error despite being an non-failure action

Summary
AbortUpgrade should not return an error unless there is an internal error in the code written (an error returned is not expected behaviour in the system)
Problem Definition
When an upgrade handshake fails, we call AbortUpgrade which returns an error. In instances where we have successfully timed out an upgrade, that abort must not fail. I believe in all instances, AbortUpgrade should be treated as a non-failure event, that is it must occur.
The importance of this scenario is the fact that if an AbortUpgrade fails, a channel will be unable to revert to normal processing, thus manual intervention will be required.
Proposal
Panic or return a base error which indicates there is a internal code failure

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

Closed by #4011.


refactor: Polish multipart writer to allow oneshot optimization

LGTM. This also requires test to cover

How about starting an issue for this?

LGTM. This also requires test to cover

How about starting an issue for this?

#3033


W5500 ETH - Can't recover from errno 113 (IDFGH-10854)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.1
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-S3-DevKitC-1
Power Supply used.
USB
What is the expected behavior?
Reconnect after a brief outage
What is the actual behavior?

Permanently becomes stuck in an errored state, repeatedly joining and leaving the network (as seen with the Ethernet link down and Ethernet link up msgs)
Unplugging & replugging the ethernet cable doesn't fix.
Rebooting the ESP temporarily fixes it, erroring again after a similar time frame.

Steps to reproduce.

Connect a W5500 up to an ESP32-S3-DevKitC-1 using the pinout as defined in w5500_eth_wrapper.cpp (We are using this w5500-EVB-Pico with no code running on the pico, however the w5500 chip should yield the same results) - W5500 is connected to an external 5V power supply
Run the given code
Wait ~10-30mins

This error occurs at around the same time regardless of if a client is connected or not.
For completeness, I've attached a zip of the MVP which still encounters the problem.
EthIssueMVP.zip
Debug Logs.
-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x16e0
load:0x403c9700,len:0x4
load:0x403c9704,len:0xc00
load:0x403cc700,len:0x2eb0
entry 0x403c9908
I (27) boot: ESP-IDF v5.1 2nd stage bootloader
I (27) boot: compile time Aug 11 2023 14:43:14
I (27) boot: Multicore bootloader
I (30) boot: chip revision: v0.1
I (34) boot.esp32s3: Boot SPI Speed : 80MHz
I (38) boot.esp32s3: SPI Mode       : DIO
I (43) boot.esp32s3: SPI Flash Size : 2MB
I (48) boot: Enabling RNG early entropy source...
I (53) boot: Partition Table:
I (57) boot: ## Label            Usage          Type ST Offset   Length
I (64) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (72) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (79) boot:  2 factory          factory app      00 00 00010000 00100000
I (87) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c040020 size=17e20h ( 97824) map
I (117) esp_image: segment 1: paddr=00027e48 vaddr=3fc93700 size=02a88h ( 10888) load
I (119) esp_image: segment 2: paddr=0002a8d8 vaddr=40374000 size=05740h ( 22336) load
I (128) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=3f7c8h (260040) map
I (178) esp_image: segment 4: paddr=0006f7f0 vaddr=40379740 size=09f88h ( 40840) load
I (198) boot: Loaded app from partition at offset 0x10000
I (199) boot: Disabling RNG early entropy source...
I (210) cpu_start: Multicore app
D (210) flash HPM: HPM with dummy, status is 3
I (210) cpu_start: Pro cpu up.
I (211) cpu_start: Starting app cpu, entry point is 0x40375478
I (0) cpu_start: App cpu up.
D (226) clk: RTC_SLOW_CLK calibration value: 3233587
I (238) cpu_start: Pro cpu start user code
I (238) cpu_start: cpu freq: 160000000 Hz
I (238) cpu_start: Application information:
I (241) cpu_start: Project name:     r846-CashDrawerTrigger
I (247) cpu_start: App version:      eb4ffd6-dirty
I (253) cpu_start: Compile time:     Aug 11 2023 14:40:17
I (259) cpu_start: ELF file SHA256:  5262043d18aca5af...
I (265) cpu_start: ESP-IDF:          v5.1
I (270) cpu_start: Min chip rev:     v0.0
I (274) cpu_start: Max chip rev:     v0.99
I (279) cpu_start: Chip rev:         v0.1
D (284) memory_layout: Checking 5 reserved memory ranges:
D (289) memory_layout: Reserved memory range 0x3fc84000 - 0x3fc93700
D (296) memory_layout: Reserved memory range 0x3fc93700 - 0x3fc97450
D (302) memory_layout: Reserved memory range 0x3fceee34 - 0x3fcf0000
D (309) memory_layout: Reserved memory range 0x40374000 - 0x40383700
D (315) memory_layout: Reserved memory range 0x600fe000 - 0x600fe010
D (321) memory_layout: Building list of available memory regions:
D (328) memory_layout: Available memory region 0x3fc97450 - 0x3fca0000
D (334) memory_layout: Available memory region 0x3fca0000 - 0x3fcb0000
D (341) memory_layout: Available memory region 0x3fcb0000 - 0x3fcc0000
D (347) memory_layout: Available memory region 0x3fcc0000 - 0x3fcd0000
D (354) memory_layout: Available memory region 0x3fcd0000 - 0x3fce0000
D (361) memory_layout: Available memory region 0x3fce0000 - 0x3fce9710
D (367) memory_layout: Available memory region 0x3fce9710 - 0x3fceee34
D (374) memory_layout: Available memory region 0x3fcf0000 - 0x3fcf8000
D (380) memory_layout: Available memory region 0x600fe010 - 0x60100000
I (387) heap_init: Initializing. RAM available for dynamic allocation:
D (394) heap_init: New heap initialised at 0x3fc97450
I (399) heap_init: At 3FC97450 len 000522C0 (328 KiB): DRAM
I (406) heap_init: At 3FCE9710 len 00005724 (21 KiB): STACK/DRAM
D (412) heap_init: New heap initialised at 0x3fcf0000
I (417) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
D (423) heap_init: New heap initialised at 0x600fe010
I (429) heap_init: At 600FE010 len 00001FF0 (7 KiB): RTCRAM
D (435) intr_alloc: Connected src 39 to int 2 (cpu 0)
D (441) spi_flash: trying chip: issi
D (444) spi_flash: trying chip: gd
D (447) spi_flash: trying chip: mxic
D (451) spi_flash: trying chip: winbond
D (455) spi_flash: trying chip: boya
D (458) spi_flash: trying chip: th
D (462) spi_flash: trying chip: mxic (opi)
D (466) spi_flash: trying chip: generic
I (470) spi_flash: detected chip: generic
I (475) spi_flash: flash io: dio
W (478) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
D (492) cpu_start: calling init function: 0x4202c6e8
D (497) cpu_start: calling init function: 0x4202c584
D (502) cpu_start: calling init function: 0x4200ef20
D (507) cpu_start: calling init function: 0x42002c34
D (512) cpu_start: calling init function: 0x42007db0 on core: 0
D (518) intr_alloc: Connected src 59 to int 3 (cpu 0)
D (523) cpu_start: calling init function: 0x420057ec on core: 0
I (529) sleep: Configure to isolate all GPIO pins in sleep state
I (536) sleep: Enable automatic switching of GPIO sleep configuration
D (543) cpu_start: calling init function: 0x42003d9c on core: 0
D (549) cpu_start: Setting C++ exception workarounds.
D (554) intr_alloc: Connected src 79 to int 9 (cpu 0)
I (559) app_start: Starting scheduler on CPU0
D (564) intr_alloc: Connected src 57 to int 12 (cpu 0)
D (564) intr_alloc: Connected src 80 to int 2 (cpu 1)
I (574) app_start: Starting scheduler on CPU1
D (574) intr_alloc: Connected src 58 to int 3 (cpu 1)
I (564) main_task: Started on CPU0
D (584) heap_init: New heap initialised at 0x3fce9710
D (584) intr_alloc: Connected src 52 to int 13 (cpu 0)
I (594) main_task: Calling app_main()
I (594) Main app: app_main() started
I (604) Main app: Initializing app
D (604) event: running task for loop 0x3fca35d8
D (614) event: created task for loop 0x3fca35d8
D (614) event: created event loop 0x3fca35d8
D (624) esp_netif_lwip: LwIP stack has been initialized
D (624) esp_netif_lwip: esp-netif has been successfully initialized
I (634) tcp server: TCP initialized!
D (634) esp_netif_objects: esp_netif_add_to_list 0x3fca6bb4
D (644) esp_netif_objects: esp_netif_add_to_list netif added successfully (total netifs: 1)
D (654) esp_netif_lwip: check: remote, if=0x0 fn=0x420252f8

D (654) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (664) intr_alloc: Connected src 16 to int 17 (cpu 0)
D (664) gdma: new group (0) at 0x3fca7010
D (674) gdma: new pair (0,0) at 0x3fca7054
D (674) gdma: new tx channel (0,0) at 0x3fca6fdc
D (684) gdma: new rx channel (0,0) at 0x3fca7074
D (684) spi: SPI2 use gpio matrix.
D (684) intr_alloc: Connected src 21 to int 18 (cpu 0)
D (694) spi_hal: eff: 16000, limit: 80000k(/0), 0 dummy, -1 delay
D (704) spi_master: SPI2: New device added to CS0, effective clock: 16000kHz
D (714) esp_eth: new ethernet driver @0x3fcabdac
D (714) efuse: In EFUSE_BLK1__DATA1_REG is used 8 bits starting with 8 bit
D (714) efuse: In EFUSE_BLK1__DATA1_REG is used 8 bits starting with 0 bit
D (724) efuse: In EFUSE_BLK1__DATA0_REG is used 8 bits starting with 24 bit
D (734) efuse: In EFUSE_BLK1__DATA0_REG is used 8 bits starting with 16 bit
D (734) efuse: In EFUSE_BLK1__DATA0_REG is used 8 bits starting with 8 bit
D (744) efuse: In EFUSE_BLK1__DATA0_REG is used 8 bits starting with 0 bit
I (754) esp_eth.netif.netif_glue: 34:85:18:4b:1a:83
D (754) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025308

D (764) esp_netif_lwip: call api in lwip: ret=0x0, give sem
I (774) esp_eth.netif.netif_glue: ethernet attached to netif
D (784) event: running post ETH_EVENT:0 with handler 0x42027900 and context 0x3fcabe7c on loop 0x3fca35d8
D (784) esp_eth.netif.netif_glue: eth_action_start: 0x3fcabe24, 0x3c050230, 0, 0x3fcabfc4, 0x3fcabdac
D (794) esp_netif_handlers: esp_netif action has started with netif0x3fca6bb4 from event_id=0
D (804) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025980

D (814) esp_netif_lwip: esp_netif_start_api 0x3fca6bb4
I (814) tcp server: Starting TCP server
D (814) esp_netif_lwip: esp_netif_get_hostname esp_netif:0x3fca6bb4
D (824) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (834) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (844) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (844) event: running post ETH_EVENT:0 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
I (854) tcp server: Socket created
I (854) W5500 eth: Ethernet Started
I (864) tcp server: Socket bound, port 3333
I (814) Main app: Finished initializing app
I (864) tcp server: Socket listening
I (874) main_task: Returned from app_main()
D (2814) w5500.mac: working in 100Mbps
D (2814) w5500.mac: working in full duplex
D (2814) w5500.mac: link is up
D (2814) event: running post ETH_EVENT:2 with handler 0x42027888 and context 0x3fcabedc on loop 0x3fca35d8
D (2824) esp_eth.netif.netif_glue: eth_action_connected: 0x3fcabe24, 0x3c050230, 2, 0x3fcad1d8, 0x3fcabdac
D (2834) esp_netif_handlers: esp_netif action connected with netif0x3fca6bb4 from event_id=2
D (2844) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d4c

D (2844) esp_netif_lwip: esp_netif_up_api esp_netif:0x3fca6bb4
D (2854) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (2854) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (2864) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (2874) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025c0c

D (2874) esp_netif_lwip: esp_netif_dhcpc_start_api esp_netif:0x3fca6bb4
D (2884) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (2894) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: no need start because netif=0x3fca6c38 interval=120 ip=0
D (2904) esp_netif_lwip: starting dhcp client
D (2904) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (2914) w5500.mac: receive len=361
D (2914) event: running post ETH_EVENT:2 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
D (2924) w5500.mac: receive len=361
I (2924) W5500 eth: Ethernet Link Up
D (2934) W5500 eth: Ethernet HW Addr 34:85:18:4b:1a:83
D (3274) w5500.mac: receive len=482
D (3274) w5500.mac: receive len=511
D (3274) w5500.mac: receive len=491
D (3274) w5500.mac: receive len=520
D (3314) w5500.mac: receive len=217
D (3364) w5500.mac: receive len=60
D (3504) w5500.mac: receive len=534
D (3504) w5500.mac: receive len=563
D (3514) w5500.mac: receive len=60
D (3524) w5500.mac: receive len=60
D (3564) w5500.mac: receive len=548
D (3564) w5500.mac: receive len=577
D (3594) w5500.mac: receive len=546
D (3604) w5500.mac: receive len=575
D (3604) w5500.mac: receive len=562
D (3604) w5500.mac: receive len=591
D (3904) esp_netif_lwip: esp_netif_internal_dhcpc_cb lwip-netif:0x3fca6c38
D (3904) esp_netif_lwip: if0x3fca6bb4 ip changed=1
D (3904) event: running post IP_EVENT:4 with handler 0x42027810 and context 0x3fcabf50 on loop 0x3fca35d8
D (3914) esp_eth.netif.netif_glue: eth_action_got_ip: 0x3fcabe24, 0x3c04f380, 4, 0x3fcad344, 0x3fca6bb4
D (3924) esp_netif_handlers: esp_netif action got_ip with netif0x3fca6bb4 from event_id=4
I (3924) esp_netif_handlers: eth0 ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
D (3934) event: running post IP_EVENT:4 with handler 0x42009d9c and context 0x3fcabfa4 on loop 0x3fca35d8
I (3944) W5500 eth: Ethernet Got IP Address
I (3954) W5500 eth: ~~~~~~~~~~~
I (3954) W5500 eth: ETHIP:<IP_ADDRESS>
I (3964) W5500 eth: ETHMASK:<IP_ADDRESS>
I (3964) W5500 eth: ETHGW:<IP_ADDRESS>
I (3964) W5500 eth: ~~~~~~~~~~~
D (4204) w5500.mac: receive len=60
D (4224) w5500.mac: receive len=217
D (4314) w5500.mac: receive len=86

...

```D (407354) w5500.mac: receive len=86
D (407374) w5500.mac: receive len=218
D (407524) w5500.mac: receive len=60
D (408814) w5500.mac: link is down
D (408814) event: running post ETH_EVENT:3 with handler 0x4202784c and context 0x3fcabf0c on loop 0x3fca35d8
D (408814) esp_eth.netif.netif_glue: eth_action_disconnected: 0x3fcabe24, 0x3c050230, 3, 0x3fcad358, 0x3fcabdac
D (408824) esp_netif_handlers: esp_netif action disconnected with netif0x3fca6bb4 from event_id=3
D (408834) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d9c

D (408844) esp_netif_lwip: esp_netif_down_api esp_netif:0x3fca6bb4
D (408844) esp_eth: Ethernet link is not up, can't transmit
D (408854) esp_eth: Ethernet link is not up, can't transmit
D (408854) esp_netif_lwip: esp_netif_internal_dhcpc_cb lwip-netif:0x3fca6c38
E (408854) tcp server: Error occurred during receiving: errno 113
D (408864) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (408874) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: interval=120
D (408884) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (408894) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: already started
D (408894) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (408904) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (408914) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (408914) event: running post ETH_EVENT:3 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
I (408924) tcp server: Socket listening
I (408924) W5500 eth: Ethernet Link Down
D (410814) w5500.mac: working in 100Mbps
D (410814) w5500.mac: working in full duplex
D (410814) w5500.mac: link is up
D (410814) event: running post ETH_EVENT:2 with handler 0x42027888 and context 0x3fcabedc on loop 0x3fca35d8
D (410824) esp_eth.netif.netif_glue: eth_action_connected: 0x3fcabe24, 0x3c050230, 2, 0x3fcad1d8, 0x3fcabdac
D (410834) esp_netif_handlers: esp_netif action connected with netif0x3fca6bb4 from event_id=2
D (410844) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d4c

D (410844) esp_netif_lwip: esp_netif_up_api esp_netif:0x3fca6bb4
D (410854) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (410864) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (410864) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (410874) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025c0c

D (410874) esp_netif_lwip: esp_netif_dhcpc_start_api esp_netif:0x3fca6bb4
D (410884) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (410894) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: already started
D (410904) esp_netif_lwip: starting dhcp client
D (410904) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (410914) event: running post ETH_EVENT:2 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
I (410924) W5500 eth: Ethernet Link Up
D (410924) W5500 eth: Ethernet HW Addr 34:85:18:4b:1a:83
D (424814) w5500.mac: link is down
D (424814) event: running post ETH_EVENT:3 with handler 0x4202784c and context 0x3fcabf0c on loop 0x3fca35d8
D (424814) esp_eth.netif.netif_glue: eth_action_disconnected: 0x3fcabe24, 0x3c050230, 3, 0x3fcad1d8, 0x3fcabdac
D (424824) esp_netif_handlers: esp_netif action disconnected with netif0x3fca6bb4 from event_id=3
D (424834) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d9c

D (424844) esp_netif_lwip: esp_netif_down_api esp_netif:0x3fca6bb4
D (424844) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (424854) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: already started
D (424864) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (424864) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (424874) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (424874) event: running post ETH_EVENT:3 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
I (424884) W5500 eth: Ethernet Link Down
D (426814) w5500.mac: working in 100Mbps
D (426814) w5500.mac: working in full duplex
D (426814) w5500.mac: link is up
D (426814) event: running post ETH_EVENT:2 with handler 0x42027888 and context 0x3fcabedc on loop 0x3fca35d8
D (426824) esp_eth.netif.netif_glue: eth_action_connected: 0x3fcabe24, 0x3c050230, 2, 0x3fcad1d8, 0x3fcabdac
D (426834) esp_netif_handlers: esp_netif action connected with netif0x3fca6bb4 from event_id=2
D (426844) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d4c

D (426844) esp_netif_lwip: esp_netif_up_api esp_netif:0x3fca6bb4
D (426854) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

D (426864) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca6bb4
D (426864) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (426874) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025c0c

D (426874) esp_netif_lwip: esp_netif_dhcpc_start_api esp_netif:0x3fca6bb4
D (426884) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (426894) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: already started
D (426904) esp_netif_lwip: starting dhcp client
D (426904) esp_netif_lwip: call api in lwip: ret=0x0, give sem
D (426914) event: running post ETH_EVENT:2 with handler 0x42009ca8 and context 0x3fcabf84 on loop 0x3fca35d8
I (426924) W5500 eth: Ethernet Link Up
D (426924) W5500 eth: Ethernet HW Addr 34:85:18:4b:1a:83
D (448814) w5500.mac: link is down
D (448814) event: running post ETH_EVENT:3 with handler 0x4202784c and context 0x3fcabf0c on loop 0x3fca35d8
D (448814) esp_eth.netif.netif_glue: eth_action_disconnected: 0x3fcabe24, 0x3c050230, 3, 0x3fcad1d8, 0x3fcabdac
D (448824) esp_netif_handlers: esp_netif action disconnected with netif0x3fca6bb4 from event_id=3
D (448834) esp_netif_lwip: check: remote, if=0x3fca6bb4 fn=0x42025d9c

D (448844) esp_netif_lwip: esp_netif_down_api esp_netif:0x3fca6bb4
D (448844) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca6bb4
D (448854) esp_netif_lwip: if0x3fca6bb4 start ip lost tmr: already started
D (448864) esp_netif_lwip: check: local, if=0x3fca6bb4 fn=0x42026320

More Information.
I've also tried this code using TCP over WiFi rather than Ethernet. The same errno 113 occurs, however it quickly recovers and resumes normal function. This makes me believe this is a problem specifically either with the eth modules, or with the w5500 module specifically.
This code was originally in a much larger code base, however even the trimmed down version is still encountering this issue at approximately the same rate.
We're still developing this device using a breadboard, so there may be some issues there with the SPI clock and signal delays etc., but I don't know enough about it to know if it's an issue.
Please let me know if you have any other questions!
Regards,
Xavier

Hi Xavier,

We are using this w5500-EVB-Pico with no code running on the pico

How have you ensured there is no code running on the pico?

I uploaded the following blank to make sure the Pico wasn't interfering (before this, I couldn't connect to the W5500 at all)

void loop() {
  delay(1000);
}```

I'm not able to reproduce. I ran your code for more than 6 hours without any issue. I used ESP32-S3-WROOM-1 with W5500 module like this. I used Netcat as a TCP client.
Are there any other specific steps to reproduce the issue? If not, I would recommend to use the W5500 module I mentioned above. It's cheap so it should not be a problem to give it a try.

We're still developing this device using a breadboard, so there may be some issues there with the SPI clock and signal delays etc., but I don't know enough about it to know if it's an issue.
After some more tinkering, I think this (or another breadboard related problem) might be the issue.
We're getting some PCB's made in a couple of weeks, if this is still an issue with those, I'll reopen the issue, otherwise I think this might just be a problem with our setup.

@Flamabalistic thank you. If you observe the issue even with the new PCB don't hesitate to reopen.


Gradle 5.1+ compatibility

Hi @KengoTODA
This is a fix for https://github.com/spotbugs/spotbugs-gradle-plugin/issues/74.
Because Gradle 5.1 is milestone and RC1 is coming out next week, is it possible for you to release a RC version with this change. Also this is a breaking change so a major version which would be only for 5.1+ is the ideal.
This is due to changes in internal APIs used by the plugin.

done, please let me know if the changelog makes sense

Oh, yes, we need to separate minor release and major one...
Then to make release process simple, I will release minor update in master branch first.

@rpalcolea I've released 1.6.6, so please rebase your topic branch to the latest origin/master.

Done @KengoTODA ! :)

build is failed due to:
Verification of Gradle distribution failed!
Your Gradle distribution may have been tampered with.
Confirm that the 'distributionSha256Sum' property in your gradle-wrapper.properties file is correct and you are downloading the wrapper from a trusted source.
 Distribution Url: https://services.gradle.org/distributions-snapshots/gradle-5.1-20181207163352+0000-bin.zip
Download Location: /home/travis/.gradle/wrapper/dists/gradle-5.1-20181207163352+0000-bin/3kizo7w5pv931zsz1cmnp4qmx/gradle-5.1-20181207163352+0000-bin.zip
Expected checksum: 'e66e69dce8173dd2004b39ba93586a184628bc6c28461bc771d6835f7f9b0d28'
  Actual checksum: 'e67b3076c968f28954bf6da8d422ecd518bcf644e8cc8b5d2d4c8c9c9bfd3be6'

Updated to latest nightly -> distributions-snapshots/gradle-5.1-20181211114623+0000-bin.zip
I can use this locally

wmm... it doesn't work in my environment. I tried with both of JDK8 and JDK11.
I'm sure that you need to update distributionSha256Sum in gradle-wrapper.properties

interesting..
jjust upgraded to the latest wrapper using the wrapper task
spotbugs-gradle-plugin git/gradle-5-1-support
❯ ./gradlew wrapper --gradle-version 5.1-20181211165224+0000

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

spotbugs-gradle-plugin git/gradle-5-1-support*
❯ git status
On branch gradle-5-1-support
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   gradle/wrapper/gradle-wrapper.jar
	modified:   gradle/wrapper/gradle-wrapper.properties

no changes added to commit (use "git add" and/or "git commit -a")

spotbugs-gradle-plugin git/gradle-5-1-support*
❯ git diff
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
modified: gradle/wrapper/gradle-wrapper.jar (binary)
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
modified: gradle/wrapper/gradle-wrapper.properties
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
@ gradle-wrapper.properties:2 @
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-5.1-20181211165224+0000-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

It should work for you

Upgraded to 5.1-rc-1 that was released Today.
Also, removed append from the jacoco config because it is a deprecated property and it should always be true
This is the warning:
The append property has been deprecated. This is scheduled to be removed in Gradle 6.0. Append should always be true.
        at jacoco_ankv8eq3sgq8zksl1tsu5sklw$_run_closure3$_closure5.doCall(/spotbugs-gradle-plugin/gradle/jacoco.gradle:15)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)

Closing this for now then. The change required is to stop TaskReportContainer. Is it possible for you to prioritize this? gradle 5.1 should be out pretty soon

I tried it, and found that it's quite hard. I'll reopen this PR to merge suggested changes from you.

Before merge these changes, I need to add several commits into the branch, so I will create another PR that uses the branch in this repo (not in @rpalcolea 's forked repo).

Hi @KengoTODA , I asked gradle team about this and they probably will rollback or add the old constructor for 5.1 to avoid this breaking change -> https://github.com/gradle/gradle/pull/8076
It would be nice if they provide a public API to prevent this in the future.

No problem, looks like this breaking change will be part of 5.2 though -> https://github.com/gradle/gradle/pull/8076#issuecomment-449072593


How to increase maximum shelves on a page

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[x] I have searched GitHub for the issue.

Describe the Scenario
Hello GitHub Community,
I created my website with bookstack and created some shelves and got now about 20 shelves.
After 18 shelves the rest will be placed on page 2.
Is there any way to increase the amount of shelves per page?
I tried to look inside the javascript files but I wasnt able to find the right settings for this.
Can you please help me out to find that settings?
I wish you a great day :)
Exact BookStack Version
v22.10
Log Content
No response
PHP Version
8.2
Hosting Environment
Ubuntu 22.04

:wave:

Is there any way to increase the amount of shelves per page?
I tried to look inside the javascript files but I wasnt able to find the right settings for this.

Yeah, this is drive by PHP-side logic, won't be in the JS.
You can find the listed number on this line:
https://github.com/BookStackApp/BookStack/blob/69d702c7830936e5ec8c5484446c04fddcc5f0fd/app/Http/Controllers/BookshelfController.php#L43

@ssddanbrown thank you very much :D
That fixed my problem :)
Have a nice day :)


remove page=1

Pages /path/ and /path/?page=1 equivalents.
This commit remove page=1 from url

Please don't mess with the indentation.

You also broke the tests.

But is the first page pagination not duplicate content? For example: https://laracasts.com/discuss/ and https://laracasts.com/discuss/?page=1

Look into canonical meta tag not the paginators responsibility.

So, maybe someone come in handy https://github.com/AgelxNash/SEOPagination

@Sladewill , canonical meta tag is not supported by half of search bots and only Google bot properly supports it.


How to memorise an $input and not get asked again?

I'm looking for a way to 'remember' the $input value and only get asked if it's not set yet. Example:
I've following config
module.exports = {
  defaultHeaders: {
    "Authorization": "Bearer {{token}}",
  },
  environments: {
    "$shared": {
      host: "http://<IP_ADDRESS>:8000",
      token: "{{$input Auth Token?}}"
    },
  }
};

Now I'd like to be asked for the auth token only initially if token is empty. After that the value should be used until I reset env. Is there sth. I can solve this?
 Probably token is lazy so evaluated everytime the default header is set?

It is solvable by means of @ref. It is not necessary to send a request. It is only expected that a variable is created according to the name of the region.
# @name token

@token={{$input Auth Token?}}

###
# @ref token
GET https://httpbin.org/anything

However, the setup is unnecessarily difficult because a # @ref token must be inserted in all call requests. I extend the logic of $input with a modifier $input-askonce. This stores the input in the SessionStore and does not ask for it again.

wow thanks again, I owe you one more!


Fix search service dark mode

The background of list elements did not change in dark mode and were not readable.

Change request will be implemented in #2616


Fails to install when any QP solver is not available

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
The package fails to install when any of the QP solvers cannot be installed on the target architecture. For instance, on a Raspberry Pi:
conda-forge/linux-aarch64                                   Using cache
conda-forge/noarch                                          Using cache
nodefaults/linux-aarch64                                      No change
nodefaults/noarch                                             No change
error    libmamba Could not solve for environment specs
    The following package could not be installed
    └─ qpsolvers >=4.2.0  is not installable because it requires
       └─ daqp, which does not exist (perhaps a missing channel).

The same issue motivated not listing QP solvers as dependencies in the upstream package. Opening the discussion here and proposing a corresponding PR.
Installed packages
(empty)

Environment info
(I haven't saved it from the Raspberry Pi)

Personally, I think the better way would be to make sure that the dependencies are available on all platforms. I think it might be confusing for users needing to install all the solvers individually. Getting daqp built for aarch64 should be straightforward.

For DAQP on aarch64, maybe @darnstrom you would be willing to look into it?
For users, the ideal would be be indeed that all open-source solvers are installed straight away with qpsolvers :+1: Making sure the dependencies are available on all platforms puts more responsibility on recipe maintainers, but if they can carry it out I agree it is better towards achieving this goal.
My concern is that it also makes the package more fragile. In this instance we hadn't noticed that aarch64 users were pinned to qpsolvers 2.6.0 (a version dating back to November 2022). There is a similar issue with another solver https://github.com/conda-forge/qpoases-feedstock/issues/3 that was opened in November 2022, and is still open today.

qpoases and daqp should both be fixed once the maintainers merge the pull requests; once that is the  case, can we close here?

Sure thing, thanks for your work @Tobias-Fischer!

All done - feel free to reopen if there are more missing packages on some platforms

All done - feel free to reopen if there are more missing packages on some platforms

I just confirmed that qpoases installs fine (with the latest v3.2.1) on a Raspberry Pi :+1: I opened a separate issue and posted a comment upstream for daqp.


wrong output for sdxl

I play with the provided streamlit demo, and set fp16 to the diffusion model (for saving vram), however, the output is not correct. for example,

while I can get the right output for sd v2.1 768 version.
Can someone help me for this problem?

maybe caused by vae


License title not displayed by GitHub

This issue affects all the other projects using this pom as a parent (e.g., assertj-core).
GitHub is not applying the nicer Apache-2.0 title to the repository license.
This is due to licensee detecting licence-header.txt as a NOASSERTION license.
Licensee output for this repo:
$ licensee detect https://github.com/joel-costigliola/assertj-maven-parent-pom.git
License:        NOASSERTION
Matched files:  LICENSE.txt, licence-header.txt
LICENSE.txt:
  Content hash:  ab3901051663cb8ee5dea9ebdff406ad136910e3
  Confidence:    100.00%
  Matcher:       Licensee::Matchers::Exact
  License:       Apache-2.0
licence-header.txt:
  Content hash:  3e8118b64de81dd0cdadee5cb923a2294c26fcde
  License:       NOASSERTION

I replaced the content of licence-header.txt with the one proposed by the Apache 2.0 license web page but the result does not change. I think this could be a bug of https://github.com/licensee/licensee.
On the other side, licence-header.txt could be dropped and only LICENSE.txt could be used by the license-maven-plugin. Also this line:
https://github.com/joel-costigliola/assertj-maven-parent-pom/blob/10cf649f264c4af5bffd697c267cf0d01f1bb8af/LICENSE.txt#L190
should be replaced with:
Copyright ${inceptionYear}-${currentYear} the original author or authors.

It seems licensee is not going to support the shorter Apache-2.0 license boilerplate, see licensee/licensee#103.
To have a proper detection, we should use the full license text.


Update readme just to force a build to refresh the image

Rebuild the image for CVE resolved by rpm updates
Refs:

https://github.com/stolostron/backlog/issues/22442

Signed-off-by: Gus Parvin<EMAIL_ADDRESS>

/hold

/unhold

/cherry-pick release-2.5


Ideally show() should return an Iterator

Returning some iterator type instead of the whole Vec directly would allow consumers to have more control over how memory is allocated.

Hi @brainplot! Thanks for your interest in this crate!
I think returning an iterator is more flexible yet performant.
Perhaps we could have a major release using that approach instead of allocating the whole vector of network interfaces.
Are you interested in working on this?

Are you interested in working on this?

Yes, I can try to have a crack at this. I'm considering this crate for a project I'm working on.


[WIP] Must gather e2e test

As must-gather PAO now collects information about NRO ( openshift-kni/performance-addon-operators#919 )
we need to add new test suite to check it.
issue: #330

/retest

overall seems good, comments are either minor or hardly fixable in the current framework, so we can move forward.

Rebasing. I have squashed changes into just two commits. some comments have not been addressed yet.

comments addressed.

/cherry-pick release-4.11


Update GitHub actions to their latest version

This should fix deprecation warnings about Node.js 16 actions.

I don't understand why the coverage has changed?!

I don't understand why the coverage has changed?!

I think codecov is confused, as when you click through to see what has change it tells you there is 100% coverage!


Check input stream is not null

Fixes: #3
Let me know if this isn't the correct thing to do here.

In terms of implementation, that seems fine. And this is a de minimis change (i.e., there's only one way to do it), which is why I can accept the pull request.
Thanks!


Create 0000-01-02-suneecat.md

created a branch, created and edited a file, made a commit, now issue a pull request

The branch has been deleted


Issue 88543: TextField labelText doesn't get hintTextStyle when labelTextStyle is non-null Fixed

This PR fixes issue #88543. According to labelText docs, it uses the hintStyle when the label is on top of the text field.
Added new condition to check if label widget is null then the label should use the hintStyle when the label is on top of the text field. Fixed a test that expects to use labelStyle for the given scenario.
The following test cases are already checking the above cases (packages/flutter/test/material/input_decorator_test.dart):

InputDecorationTheme style overrides
InputDecorationTheme labelStyle overrides label widget styles when the widget is a text widget

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

Hi @HansMuller Can you please review the PR. Thanks

Thanks @justinmc and @HansMuller
What is the next step?

Running the Google tests, then the flutter-gold tests should run.  If they both go green then we can merge.

This did cause a few Google tests to fail, but the changes were almost unnoticeable.  I think it was a slight change in color of the hint maybe.  I'll update the test images after this is merged.

The gold tests are stuck at pending, but I'll go ahead and merge this.


Uri with empty queryParameter has an extra ? at the end

A Uri with empty queryParameters (= {}) will have a ? at the end even it doens't have any query parameters
Steps to Reproduce

Execute flutter run on the code sample (see "Code sample" section below)
Notice that the uri finishes with a ? but has no query parameters.

Expected results:
I would expect the uri to be /path
Actual results:
The uri is /path?

Code sample
void main() {
  final uri = Uri(path: '/path', queryParameters: {});
  print(uri);
}

Logs
/path?

As I can see, this issue should be filed in dart-lang/sdk for better support. However, you may also try the below workaround (just a logic check) as well.

Sample code (workaround)
void main() {
  final uri = Uri(path: '/path', queryParameters: {});
  if(uri.query.isEmpty) {
    print(uri.path);
  } else {
    print(uri);
  }
}

Closing, as this isn't an issue with Flutter itself.

Thank you for the workaround, there is also the case where
const Map<String, dynamic> queryParameters = {
  'my-parameter': [],
}

so it would actually require a bit more complexity than only checking whether or not the map is empty


Feature/indicator price used

Added buttons to change the price used to calculate the moving average and the bollinger bands - only able to do open/high/low/close right now.
resolves #149

This looks like something which could be modularised into its own component (or at least its own file), rather than residing in main - if that seems reasonable?

Utilised in #250


Clean up main routes file

Create a function to see if the current user is logged in and owns the list.
Create a function to take a list of bottles and return a random bottle.
Any other code duplication that we can clean up.

This is done with #145


Chaining different block-expecting matchers

Hi everyone! :heart:
My "quick" question is, Is it possible to chain multiple block-expecting matchers like change with other third-party matchers?
In rspec-trailblazer we are playing around with a new pass_with matcher and it would be cool to be able to use it as follows.
expect { run({duration: "2.24"}) } # `run` invokes an operation and returns a {Result} object
  .to pass_with({duration: 144})
  .and change { "yo" }.by(1)

I understand that Change runs the to-be-tested code using #perform_change in order to catch before and after snapshots. As this makes sense in a change-only chain, how would that work in combination with our pass_with matcher? Currently, we receive a proc from rspec/matchers/built_in/compound.rb:173 as actual but if we were to invoke this block, change cannot capture snapshots anymore.
After looking through the Change matcher code and attempting to understand how supports_block_expectations works I'm skeptical if this could work at all. Any clues here? Is maybe our matcher design wrong?

as actual but if we were to invoke this block, change cannot capture snapshots anymore

To my best memory, the way there are combined allows them all to capture before and after snapshots. The block passed to each matcher is not the original block you pass to expect, but rather a wrapped other matcher's matches?. Only the deepest matcher will receive the block, and only it will ever call this block.
You can check for an example in a spec. It's not so easy to read as is, but it's basically:
expect {
  w += 1; x += 2; y += 3; z += 4
}
  .to change { w }.to(1)
  .and change { x }.to(2)
  .and change { y }.to(3)
  .and change { z }.to(4)

Here is where the wrapping happens.
If you have further questions, you are welcome to our mailing list. We strive to keep the issue tracker for bugs and features. Thanks for understanding.


How to create application model for testing

I Have this helper method for testing projects that works well without expand
public static IModelApplication LoadApplicationModel(this ModuleBase module)         {             var manager = new ApplicationModulesManager();             manager.AddModule(module);             manager.Load(XafTypesInfo.Instance, true);             return new DesignerModelFactory().CreateApplicationModel(module,                                                                 manager,                                                                 ModelStoreBase.Empty);         }
However it fails when i add expand modules to the application.
is there a way to create IModelApplication when using rx.xaf modules
exception
System.NullReferenceException: 'Object reference not set to an instance of an object.'
callstack
at Xpand.Persistent.Base.General.ModuleBaseExtensions.GetConnectionString(ModuleBase moduleBase) in E:\proj\eXpandFramework\eXpand\Xpand\Xpand.Persistent\Xpand.Persistent.Base\General\XpandModuleBase.cs:line 802

Object reference not set to an instance of an object

the line that fails actually says that the module.Application is null, so it looks like your test setup is not appropriate.
eXpand constructs a XafApplication and then adds the module u can find examples in all the tests e.g.
https://github.com/eXpandFramework/Reactive.XAF/blob/42582751eb4e447a59bac05324bb741ae9f9c255/src/Tests/AutoCommit/AutoCommitTests.cs#L42
you can use the same packages Xpand.TestsLib* and desing similar tests


502 Gateway timeout

          Was there ever a fix for this? Im still getting this issue on the latest version PlotSquared v6 6.10.6. Running Spigot version 1.19.2 with bungeecord 1.19.2. Getting the following error:

Failed to upload schematic
java.util.concurrent.CompletionException: com.plotsquared.core.arkitektonika.exceptions.ResourceUploadException: Failed to upload '/upload'. Code: 502 (Bad Gateway). Reason: Other
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: com.plotsquared.core.arkitektonika.exceptions.ResourceUploadException: Failed to upload '/upload'. Code: 502 (Bad Gateway). Reason: Other
        at com.plotsquared.core.arkitektonika.v1.ApiClient.lambda$upload$6(ApiClient.java:89) ~[?:?]
        at com.plotsquared.core.http.HttpClient$WrappedRequestBuilder.execute(HttpClient.java:333) ~[?:?]
        at com.plotsquared.core.arkitektonika.v1.ApiClient.lambda$upload$7(ApiClient.java:90) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        ... 3 more

Originally posted by @TeamNoxious in https://github.com/IntellectualSites/Arkitektonika/issues/12#issuecomment-1399875912

@dordsor21 Can you check whether it's running or not?

It was not

Oh, thanks for investigating!


XPath Support

is xpath support planned / already usable? couldn't find it in the docs
best regards

Hi @Daxten. I currently don't have XPath planned, as CSS queries provide the same functionality with better support in HTML parsers and engines such as jsoup. Do you have any use case that requires XPath specifically?

No, it's just my go-to selector when using chrome.. but I guess it wouldn't be a problem to use the html-selector function :)

Hi @Daxten. I currently don't have XPath planned, as CSS queries provide the same functionality with better support in HTML parsers and engines such as jsoup. Do you have any use case that requires XPath specifically?

@ruippeixotog I have often hear xPath is more powerful than CSS, this article show a example:
https://medium.com/dataflow-kit/css-selectors-vs-xpath-f368b431c9dc

Hi @zhenleibb, jsoup's selector syntax goes further than CSS3 - in particular, it has the :contains() selector mentioned in the article. You can check what's supported in https://jsoup.org/cookbook/extracting-data/selector-syntax.


Add Minecraft Discord Group to servers

This should auto create the chat channels. If they are  specified in config.yml that should be used instead.

Closed with #23


Use iframe height and width attributes instead offset height and width

This pull request solves an issue with Firefox that I've been having, but I'm guessing it could affect other browsers.
The issue is caused by the iframe having a height of "0" at the time when reframe.js is run. I initially solved this by running reframe on the onload event for the iframe, but this causes the iframe to essentially load twice when reframe does it's DOM manipulation.
This code change will make reframe use the height and with attributes on the iframe instead of getting the offsetHeight and offsetWidth.

@deansimcox thanks for the explanation. I will look into this more ASAP!

@deansimcox what an awesome and thoughtful CR. Please make the minor tweaks and then lets ship this! 🚢

No worries @yowainwright  and thanks for the feedback!
I just pushed another commit - I decided to use an if block to check that both height and width are not null.

@deansimcox thank you!
Why did you choose statements over expressions?

@yowainwright It just felt better to store frame.getAttribute('height') in a var then to repeat it twice, happy to change it though?

@deansimcox thank you for your thoughtful insight.
I'm going to merge your PR. This will be a slight tweak very soon after! 🙌 🙏


Default umask (permissions) is not applied

Reference: http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
My current install has this in /etc/profile:
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.

And, indeed /etc/profile has UMASK>  >       022, but:
simon@QOF:~$ umask
0000

The effect of this is that new files are created with 666 and dirs with 777 permissions:
simon@QOF:~$ touch file
simon@QOF:~$ mkdir dir
simon@QOF:~$ ll -d file dir
drwxrwxrwx 2 simon simon 0 May 12 22:54 dir/
-rw-rw-rw- 1 simon simon 0 May 12 22:54 file

This mostly isn't a real problem since UoW doesn't have to care about multiple users, it largely shows up as ls showing dirs with an ugly green background, but it could freak out some tools, similar to ssh wanting 600 on your private keys.
Simplest fix would probably be to dump a umask 022 in /etc/profile, but it seems there's a bunch of stuff in that /etc/login.defs
Easy workaound is to add a umask to your ~/.bashrc

May be somewhat related to #167 , /etc/profile is supposed to be read if bash is a login shell - but even bash.exe --login doesn't seem to use pam_umask

@simonbuchan Thanks for reporting this.  I think there are a couple things going on here.  I verified that when bash.exe --login is launched /bin/bash does read from /etc/profile.  I dumped my default /etc/profile and noticed a comment that:
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.

When you run "bash.exe --login" that translates into "/bin/bash --login". We don't run the /bin/login binary and I'm assuming that's what normally sets up pam_umask.  Did you try adding a new umask to value to your /etc/profile?  It should work (when using bash.exe --login).

Yep, umask in both /etc/profile and ~/.profile run with both bash.exe --login and bash -c "bash --login".
Interestingly, if I revert the umask command and do bash.exe -c "sudo login" then umask is 0002 - no idea where that is coming from!

Please ensure umask is never 0000 no matter how bash is started.
I understand users can set umask to saner defaults in their own bashrc files but it means whatever directories and files auto-installed by scripts after WSL setup and user first bash run till the bad umask was discovered now have to be changed to sane defaults. This is exacerbated in git-based repos because git will track the change of perms to saner defaults as a (needless) change thereby status of git repo becomes dirty which simply put is both: confusing and annoying.

@0xMF don't worry, git only tracks +x, and the .bashrc changes are mentioned as a workaround

This also causes problems for things like dropbox, zsh (compinit/compaudit), or any tool that does basic checking for other write/read permissions.
I think supporting login will fix a lot of user issues, but likely requires implementing more subsystems which aren't available yet.
Looks like lack of vmsatat is also causing problems for tools like dropbox for linux. I only mention it here because of related file permission issues when trying to symlink across the linux/windows boundary (bad idea in general).

Hello, It's very strange. If I run ./configure, I found that the Makefile in the dir and sub dir only has permission rw no x. So some middle product didn't output, ./configure is right, but can't do make.
It's a big problem.

/usr/bin/m4: m4_esyscmd subprocess failed: Operation not permitted
/usr/bin/m4:configure.ac:489: cannot run command `./scripts/version.sh': Operation not permitted

I have put this in my ~/.profile in the meantime:
# Note: Bash on Windows does not currently apply umask properly.
if [ "$(umask)" = "0000" ]; then
>   umask 022
fi

@benhillis: if you have time to entertain my curiosity - is there a particular reason you don't run /bin/login?

@lilred - good question. Historically there have been a couple of reasons. When we first released /bin/bash worked but other shells (zsh for example) didn't work very well and we didn't want users to set their default shell to something that didn't work and get into a bad state.  There's also potential strangeness around running bash.exe and zsh being launched.
That being said, running login would actually make a lot of things simpler for us.  Currently our init daemon has to do many of the things that /bin/login normally does.  We're doing some design for the next release of Windows and I'll take a look at this and see if it would make sense to potentially switch things over now.
If you'd like to play around with using login there's a way you can use it now.
lxrun.exe /setdefaultuser root
bash.exe -c "/bin/login -f username"

This is fantastic, thanks for the insight. I will change my Bash shortcut to this and report back if I hit any issues.

With /bin/login I do get umask returning 002, which is probably "good enough" to close this, but it's still not getting the "correct" default value 022 from /etc/login.defs line 151, which may be a thing.
Also it seems to start faster?!

One thing to be aware of is it doesn't extend PATH with the windows path.

@jackchammons Does closing this mean the default setup will now set a umask? /bin/login is not a default setup.

The current behavior is expected. We will be reevaluating where umask gets set in an future release.

This is breaking unit tests for swift-llbuild, part of the Swift.org project:

$ umask 22
$ umask
0022
$ mkdir foo
$ ls -l
drwxrwxrwx 2 root root 0 Mar 23 16:47 foo

Why was this closed? Until the umask is probably working out of the box, this issue is still ongoing.

Cleaning up issues, and this one is in a weird undead state. Jack marked it as by-design and Sunil re-opened it. It can't be both. There are three paths forward I can see here:
(1) Deem the default umask of 0000 intended behaviour by fiat and this issue can be closed.
(2) Make WSL's reimagination of sshd (interop) go through login like Ben mused. There is a work-around for this right now: wsl.exe sudo /bin/login -f me. You'll get a umask of 0002 by default, which is linux-behavior (if you ssh localhost on Real Linux you get the same umask by default).
(3) Lite version of (2), set the umask to 0002 or 0022 unilaterally in WSL init, and deem that intended behaviour by fiat.
This isn't really a discussion thread. It's either a feature request for (2) or (3), or should be closed as (1).

There's also the umask DriveFS interop that got added recently - does that have implications here?

There's also the umask DriveFS interop that got added recently - does that have implications here?

Not really. That improvement is about respecting umask on DrvFS. Which it now will, if you set your umask to something other than 0000 and mount your DrvFS with -o metadata. By way of analogy, the default umask is "correct" on Real Linux, but won't be respected on ntfs-3g or FAT32 or SMB because they don't "do" POSIX perms (notwithstanding various extensions).

I saw that it let you set a default umask too? Maybe default that to whatever this does?

I really can't see this being a "feature" 😟

I'm happy with anything from https://github.com/Microsoft/WSL/issues/352#issuecomment-376021319 (well, not happy with by design, but I get it)
The feature would be either implementing this one thing that real init does in some way, or switch to using real init somehow.

This issue is causing trouble when running the Linuxbrew/Homebrew package manager in WSL. I'd love to see the default umask set to 002.

This is still a thing? Is 3 years not long enough to arrive at a conclusion to this issue?

Thanks for your patience.  I'm adding a default umask of 022, with an /etc/wsl.conf setting to override it:
[filesystem]
umask = 02

Woo! My ls will finally be cured of it's horrifying green miasma!

Had a nice surprise today when I built a static site using Hugo in WSL from /mnt/d/ and saw that my published site had 777 permissions..
None of the workarounds mentioned here seem to have any effect. While it's possible to set umask to 022, everything is still created as 777 and worse, is immune to chmod!

@radusuciu You probably won't ever be able to chmod stuff in /mnt/ drives. The permission models are completely different between Linux and Windows filesystems, so everything just appears as 777.

And the permissions stick? I'll have to play with that.

Confirming that with 1909 and a fresh install of Ubuntu. 000 is still the default umask.

This is how I workaround it in my dotfiles, if it helps anyone ;)

I just updated to 1909 and this problem is still there.

Right; it looks like Ben's fix shipped in 18945. 18945 > 18363 (aka 1909 aha 19H2). Which is to say, it appears a number of issues that were addressed in spring/summer 2019 never made it into the November 2019 Windows 10 release. [Or, at least on best evidence.] I'll bounce the tag on this one, but to be honest I'm hoping the fine-grained fixed-in tags die this spring in favour of whatever version is cited in the issue (presupposing they're cited). Here, 18945.

Thanks to WSL. All my directories are 777.

It seems that pam modules are (partly) still not functioning. MOTD is not correctly shown. #1966


Bot randomly eixting stage channel and making it stop

Link
https://github.com/Rapptz/discord.py/issues/7034

i can no longer reproduce this issue, been connected for over 2 hours now, DEBUG logs are full with the following keepalives to show it is not a lib issue and may have just been a network issue
DEBUG   17:00:21 16/06/2022   gateway.py:run                         : Keeping shard ID None voice websocket alive with timestamp<PHONE_NUMBER>339.
DEBUG   17:00:21 16/06/2022   gateway.py:send_as_json                : Sending voice websocket frame: {'op': 3, 'd':<PHONE_NUMBER>339}.
DEBUG   17:00:21 16/06/2022   gateway.py:received_message            : Voice websocket frame received: {'op': 6, 'd':<PHONE_NUMBER>339}


--deploy-url not working as expected

Versions
Angular CLI: 1.5.0
Node: 8.8.1
OS: darwin x64
Angular: 4.4.3
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, tsc-wrapped

@angular/cli: 1.5.0
@angular/material: 2.0.0-beta.7
@angular-devkit/build-optimizer: 0.0.32
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.0
typescript-collections: 1.2.5
typescript: 2.4.2
webpack-bundle-analyzer: 2.9.0
webpack: 3.8.1

Repro steps

ng build --deploy-url=http://ermygod.cdn/folder
Inline assets work as expected from index.html, however lazy loaded assets do not load.
Vendor bundle
http://ermygod.cdn/folder/vendor.bundle.js
Lazy Loaded chunks do not load, they are missing trailing slash.
http://ermygod.cdn/folder0.chunk.js
ng build --deploy-url=http://ermygod.cdn/folder/
Both work as expected

Desired behavior
The trailing slash and non trailing slash should behave the same.

Hi guys, I have just upgraded to cli v1.6.0-rc.0 and this command stops working:
    "start": "ng serve --deploy-url=/dist/ --output-hashing=media --extract-css",
Getting this error:
An asset cannot be written to a location outside the project.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `ng serve --deploy-url=/dist --output-hashing=media --extract-css`
npm ERR! Exit status 1
npm ERR!


Test infrastructure to support testing of different API versions

While our client SDKs support different service API versions to be passed by the user, we do not have a good way to have our tests run for the different versions other than duplicating them or using a foreach loop to go over the versions. This issue is to investigate and come up with a solution for this problem.
We will be using one of the Key Vault SDKs as the package to experiment this solution on.

Goals/non-goals

Live tests should be able to run on all supported service versions

each test should have access to the version used, and the latest   version so it could perform different operations or verification accordingly.
each test case could optionally have a range of supported versions (min and max) and skip execution if version used is outside of this range.

Record/playback only run for the latest service version and skip for other versions (if supported by mocha, with a meaningful message for skip reason)

.NET

Service versions are enums backed by integer values so they can be compared
Utilize NUnit text fixture support.  Test suites are annotated with a list of service versions. Optionally each test case can also be annotated with min/max version.  When service version to test fall out of supported range the test is skipped.

#12719 Added the test infrastructure support.

opened #13662 to track enabling multi-version testing for keyvault.  Closing this.


[Fleet] API 2023-06-15-preview

ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[x] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I have reviewed the general guidance on the spec PR review process: https://aka.ms/specprreview.
[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data-plane related specifications.
[x] I commit to follow the Breaking Change Policy.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can request review from an ARM API Review board.

ARM API changes review

If you want for the ARM team to review this PR, you must add the ARMReview label.
The automation may automatically add the ARMReview label, if appropriate.
If this happens, proceed according to guidance given in GitHub comments also added by the automation.

Breaking change review
If you have any breaking changes as defined in the Breaking Change Policy,
follow the process outlined in the High-level Breaking Change Process doc.
Getting help

For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For additional help, see https://aka.ms/azsdk/support/spectools.

Breaking Changes

Rule
Message

❌ 1011 - AddingResponseCode
The new version adds a response code '202'.New: fleet/preview/2022-09-02-preview/fleets.json#L358:11

❌ 1011 - AddingResponseCode
The new version adds a response code '202'.New: fleet/preview/2023-03-15-preview/fleets.json#L361:11

❌ 1011 - AddingResponseCode
The new version adds a response code '202'.New: fleet/preview/2023-03-15-preview/fleets.json#L785:11

❌ 1044 - XmsLongRunningOperationChanged
The new version has a different 'x-ms-longrunning-operation' value than the previous one.New: fleet/preview/2022-09-02-preview/fleets.json#L307:7Old: fleet/preview/2022-09-02-preview/fleets.json#L307:7

❌ 1044 - XmsLongRunningOperationChanged
The new version has a different 'x-ms-longrunning-operation' value than the previous one.New: fleet/preview/2023-03-15-preview/fleets.json#L310:7Old: fleet/preview/2023-03-15-preview/fleets.json#L310:7

❌ 1044 - XmsLongRunningOperationChanged
The new version has a different 'x-ms-longrunning-operation' value than the previous one.New: fleet/preview/2023-03-15-preview/fleets.json#L724:7Old: fleet/preview/2023-03-15-preview/fleets.json#L706:7

These breaking changes are known. We are changing our PATCH implementation to support async.
ManagedIdentity portal integration is built for patch async. We want to take this breaking change now in preview.
This will cause an SDK breaking change for the 06-15-preview sdks, but does not break any existing code or SDKs, since sync PATCH is still covered for tags only patches.
The existing SDKs will not be re-generated.
Typespec does not provide a good way to version this change, so we'd like to apply it to all for the sake of future maintenance of the service.
Linter warnings:
⚠ EnumInsteadOfBoolean | Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.Location: fleet/preview/2023-06-15-preview/fleets.json#L1369 |
-- | -- | --
⚠ EnumInsteadOfBoolean | Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.Location: fleet/preview/2023-06-15-preview/fleets.json#L1377
The private configuration section is almost 1-1 with AKS private cluster configuration. we want to keep the alignment with AKS for both user familiarity.

@serbrech: Please ignore check openapi-pipeline-app / TypeSpec Validation, but do ensure check Azure Pipelines / TypeSpec Validation is passing.  The former check is deprecated and being removed.
You will need to address these errors:
/mnt/vss/_work/1/s/specification/containerservice/Fleet.Management/fleet.tsp:162:3
- error @azure-tools/typespec-azure-core/no-operation-id:
  Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.

/mnt/vss/_work/1/s/specification/containerservice/Fleet.Management/fleet.tsp:185:3
- error @azure-tools/typespec-azure-core/no-operation-id:
  Operation ID is automatically generated by the OpenAPI emitters and should not normally be specified.

I think that addressing these would now cause an sdk breaking change?
Do you mean by adding a suppress statement in typespec?

I think that addressing these would now cause an sdk breaking change? Do you mean by adding a suppress statement in typespec?

I'm not qualified to answer this.  You can try asking in the "TypeSpec Discussion" teams channel.  But the violation must be either suppressed or fixed before the PR can be merged.

Blocking until check "Azure Pipelines / TypeSpec Validation" is passing.

should be fixed in last push. sorry


update to 1.66 doesn't allow user to type input on devcontainer initializeCommand

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.66
OS Version: WSL2, also see this issue on Mac

Steps to Reproduce:
i have a devcontainer that runs a shell script on initializeCommand parameter.  the script would prompt the user to enter some credentials, and in 1.65, this worked fine, but in 1.66 it seems the user is not able to type in any input into the terminal during this phase.

studying the issue some more, it looks like initializeCommand isn't getting "pushed" into a new interactive terminal window like it used to. it stays just in the devcontainer logging terminal window and hangs.
if i move the commands to postAttachCommand, it gets "pushed" into the interactive terminal window.

The execution path seems to be different as well.
	"postCreateCommand": "bash .devcontainer/post-create-command.sh"
now yields this error:
postCreateCommand failed with exit code 127. Skipping any further user-provided commands.

Fixed in v0.231.3 and v0.232.3-pre-release.
@akutruff Do you still see this in the latest version? If so: Could you open a new issue with your devcontainer.json included?


elle: add graphviz

Signed-off-by: mahjonp<EMAIL_ADDRESS>What problem does this PR solve?
What is changed and how does it work?
Check List
Tests

Unit test
E2E test
Manual test (add detailed scripts or steps below)
No code

Code changes

Has Go code change
Has CI related scripts change
Has Terraform scripts change

Side effects

Breaking backward compatibility

Related changes

Need to update the documentation

Does this PR introduce a user-facing change?:

NONE

can you show an example about how graphviz represents the result here?

For example, we have a test TestPlotAnalysis.
https://github.com/pingcap/tipocket/blob/1cb42372c3572b9afd2b9b898113e3ef662ab023/pkg/elle/list_append/viz_test.go#L10-L26
We can see that the three topmost nodes build a cycle(wr -> realtime -> realtime path), rw means Ti installs xi , Tj reads x i, realtime means Ti has committed before Tj starts, that's a G1c-realtime anomaly.


Implement check for account name existence in login dialog

This fixes #130.
I left the displayAccountnameExistsErrorMessage method unclassified, because other similar methods also are not classified yet.
I found some debt in this code region, see #204, so I would suggest addressing this within a small refactoring rather than at this point.

This change is

Pull Request Test Coverage Report for Build 711

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

Totals

Change from base Build 697:
0.0%

Covered Lines:
1232

Relevant Lines:
1650

💛  - Coveralls


[VERY IMPORTANT] Handle case where a file with the same name already exists in organized dir

Closed with 5dcee19


Compute length only once

Simple optimization: compute the number of entries in omt only once. This list has potentially millions of entries.

Thanks!


New rpc endpoint for listing all branches from a given repository

fix issue #1184

See the note here.
What if we instead added support to the existing LIST_BRANCHES call for a single repo?

What if we instead added support to the existing LIST_BRANCHES call for a single repo?

Ok, I'll rewrite my code.

No, leave it.  You've moved the constant, that solves the immediate
problem.

I merged and then reverted.  We'll need a new PR to get this in.  We forgot to enforce access controls on the repo.

Ok. So modifying LIST_BRANCHES with existing access control seems like the best solution

New PR is #1192


#361 update readme.md,  'module' property can be 'amd' or 'system' instead of 'commonjs'

Hi,
This PR is to updating readme.md, since 'module' property can be 'amd' or 'system' instead of 'commonjs'.
Thank you for accepting it.
Cheers,
Yan

Thanks for contributing.  I should have been clearer.
Valid values of the module property include amd, system, and commonjs.  The issue is that commonjs may not be used in combination with out or outFile.  The other two are OK to combine with out or outFile.

Thank you.


Canvas requires a remount when using React.Suspense

In the below sample project, the child of the <React.Suspense> element is never updated unless the canvas is explicitly remounted: https://utopia.pizza/p/37fba76f-todo-app/

Putting this to one side for now ahead of React 18 being released.


torch.hub.list('pytorch/fairseq', force_reload=True) error

im trying to run:
import torch
torch.hub.list('pytorch/fairseq', force_reload=True)

and getting:

Downloading: "https://github.com/pytorch/fairseq/archive/master.zip" to /root/.cache/torch/hub/master.zip
Traceback (most recent call last):

  File "/usr/local/lib/python3.5/dist-packages/IPython/core/interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-1-b0ca02ad86ac>", line 2, in <module>
    torch.hub.list('pytorch/fairseq', force_reload=True)

  File "/usr/local/lib/python3.5/dist-packages/torch/hub.py", line 285, in list
    hub_module = import_module(MODULE_HUBCONF, repo_dir + '/' + MODULE_HUBCONF)

  File "/usr/local/lib/python3.5/dist-packages/torch/hub.py", line 72, in import_module
    spec.loader.exec_module(module)

  File "<frozen importlib._bootstrap_external>", line 665, in exec_module

  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed

  File "/root/.cache/torch/hub/pytorch_fairseq_master/hubconf.py", line 8, in <module>
    from fairseq.hub_utils import BPEHubInterface as bpe  # noqa

  File "/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/__init__.py", line 10, in <module>
    import fairseq.models  # noqa

  File "/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/models/__init__.py", line 128, in <module>
    module = importlib.import_module('fairseq.models.' + model_name)

  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/models/iterative_nonautoregressive_transformer.py", line 8, in <module>
    from fairseq.models.nonautoregressive_transformer import NATransformerModel

  File "/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/models/nonautoregressive_transformer.py", line 10, in <module>
    from fairseq.models.transformer import (

  File "/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/models/transformer.py", line 242
    **extra_args,
                ^
SyntaxError: invalid syntax

im running python 3.5.2 and pytorch 1.2.0

Were you able to fix this issue?

For me I did the following:
export MACOSX_DEPLOYMENT_TARGET=10.10
xcode-select --install
and re-run the fairseq install command and it worked.

Unfortunately it doesn't work with Python 3.5. We've tried to maintain compatibility with Python 3.5 but it's been too difficult since all our systems are on 3.6, so inevitably compatibility breaks. We will be updating the documentation to reflect this: https://github.com/pytorch/fairseq/issues/1317


Allow user to turn off the special handling for JSON strings in query editor

This request is from a user who contacted @erinstellato-ms.
When ADS detect a JSON string in the query results, a hyperlink will be added to the cell and upon click, the content will be opened in a separate document.
The hyperlinks could sometimes be annoying and make is hard to do click and selection because clicking on a JSON cell will open a new document.

The underline decoration should only be shown on hover.
A setting should be introduced to decide whether we treat JSON differently

Original item: https://learn.microsoft.com/en-us/answers/questions/1165294/underlined-data-in-azure-data-studio

@alanrenmsft can you share the name of this setting please?  I want to confirm I have it correct in the release notes.  Thanks!

@erinstellato-ms resultsGrid.showJsonAsLink is the setting that user can add to the configuration file, it is a boolean value. unfortunately, I just noticed it is not available in the settings editor UI(I will take a look), but adding it to the configuration file directly does work.
also as you can see in the screenshots I attached here: https://github.com/microsoft/azuredatastudio/pull/21915#issue-1580507467, by default the underline won't show for links, it is visible only when user move the mouse over it.
How to update the setting:

Open user settings and click the Open Settings (JSON) button circled in red.

add "resultsGrid.showJsonAsLink":true or "resultsGrid.showJsonAsLink":false to it and save the file.


[BUG] DataParallel training with Trainer is not using multiple GPUs

Bug description
Before, when multiple GPUs were available (e.g. CUDA_VISIBLE_DEVICES=0,1) the model was automatically wrapped by DataParallel() by HuggingFace Trainer class, which we inherit in our PyT API.
But it seems that only a single GPU is being used in such cases
Steps/Code to reproduce bug

Open the (02-End-to-end-session-based-with-Yoochoose-PyT.ipynb)[https://github.com/NVIDIA-Merlin/Transformers4Rec/blob/main/examples/end-to-end-session-based/02-End-to-end-session-based-with-Yoochoose-PyT.ipynb] notebook
Set CUDA_VISIBLE_DEVICES=0,1 env variable
Train the model with trainer.train()
You will observe that only a single GPU is being used during training

Expected behavior
Multiple GPUs should be used
Environment details

Transformers4Rec version: 4.12
Merlin image: Merlin PyTorch 22.07

@rnyak discovered that if we wrap manually the model like this the multi-GPU works. We need to check why was automatically wrapped by DataParallel() by HuggingFace Trainer class.
import torch
model = torch.nn.DataParallel(model)
```


Correct way of sharing apple id for my company

The docs say The basic requirement is to have one code signing identity shared across your team. The easiest way to do that is to create a new Apple ID for the team (e.g<EMAIL_ADDRESS>and use that from now on. However, how do you intend to share it? Everybody in team knows the password? What if a member leaves? It's not clear to me. Thanks a lot

Ah ok. Apple development account I get it. Thanks


Datatoken language

Closes #651. Pending artifacts update, the CI will fail so I'm marking this as draft in the meantime.

Merged with #663


Update java-jwt to 3.17.0

Updates com.auth0:java-jwt from 3.10.3 to 3.17.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.auth0", artifactId = "java-jwt" } ]

labels: library-update, semver-minor

Superseded by #88.


(objectivec) Handle multibyte character literals

See https://bugs.chromium.org/p/gerrit/issues/detail?id=9444

Added.

Rebased and added.

For future, technically no need to rebase since we squash anyways...


About idat64 commad

Hello. I noticed that when you processed with idapro, you used the idat64 command for both 32 or 64 bit binary to process it, generating files with .i64 extension, is this ok? don't you have to process it with the idat command for 32 bit?

Hi @yanyou426,
From my understanding (and experience), idat64 can process both 32 and 64 bit binaries, while idat can only process 32 bit binaries. In our experiments we only used idat64 and .i64 files to simplify the workflow. However, there is an exception: codeCMR [1] uses the hex-rays decompiler and in that case "only 32-bit code can be analyzed with ida32" and "only 64-bit code can be analyzed with ida64" [2].
You can find some information on the IDB format at this link: https://github.com/nlitsme/idbutil/blob/master/IDB-FORMAT.md
[1] https://github.com/Cisco-Talos/binary_function_similarity/blob/main/Models/CodeCMR/IDA_CodeCMR/cli_codeCMR.py#L91C2-L91C2
[2] https://www.hex-rays.com/products/decompiler/manual/limit.shtml

@yanyou426, @jimmy-sonny
If you are on the latest IDA release, ida32 is now considered deprecated.  From the release notes
https://www.hex-rays.com/products/ida/news/8_3/

We have further improved IDA64 so that it can be a complete replacement for the legacy 32-bit IDA in all situations. To ease the migration, we implemented a feature to convert the legacy .idb databases to .i64 ones (codenamed CVT64).

And

The 32-bit IDA is now considered deprecated and will likely go away at some point.

I think the decompiler limitations page is not updated?