Allow both ZIP/JAR and directory output for GwtIncompatibleStripperCommandLineRunner (like J2clCommandLineRunner)

Is your feature request related to a problem? Please describe.
Currently, GwtIncompatibleStripperCommandLineRunner unconditionally outputs into a ZIP file. This makes it impractical to javac those sources afterwards in non-Bazel environments as they have to be unzipped first.
Describe the solution you'd like
Discriminate on the option value to allow either a ZIP or a directory, like J2clCommandLineRunner does.
Describe alternatives you've considered
Alternatively, provide a public API that takes the source as a String or Reader and returns the output as a String or write to a Writer, processing one file at a time (e.g. make GwtIncompatibleStripper and its static String processFile(String fileContent) public)
Additional context
For incremental processing (only processing those files that have changed), this would allow just giving the same output directory every time, and the tool would then overwrite those files that it was asked to process (e.g. call it with -d out src/p/A.java src/p/B.java, it will output out/p/A.java and out/p/B/java; then as src/p/A.java is changed by the developer, the tooling could call it again with -d out src/p/A.java this time –without src/p/B.java– and it would overwrite out/p/A.java and leave out/p/B.java untouched; it would of course be the tooling –Gradle, Maven, whatever– responsibility to delete out/p/X.java in case src/p/X.java is deleted by the developer)
This works great for GwtIncompatibleStripper because it processes files in isolation by design, at the AST level without the need to resolve type dependencies.

It's actually more complicated than that: because GwtIncompatibleStripper (currently) doesn't really look at the content of the file, it outputs it with the exact same path as received in argument, which means if you call it with src/p/A.java it'll output a src/p/A.java in the ZIP file, and if you call it with the absolute path to the same file, say /projects/my-project/src/p/A.java, it'll output a projects/my-project/src/p/A.java in the ZIP file.
So the alternative of exposing an API processing one file at a time would be more workable. Currently, not only the ZIP has to be unpacked, but the entry paths also need to be translated (e.g. from src/p/A.java to out/p/A.java)
The j2cl-maven-plugin currently uses GwtIncompatibleStripper.preprocessFiles(), passing a list of FileInfo, which encodes both the path to access the file and the relative output path; using the vertispan/j2cl fork of J2CL that exposes that method.

Sorry I was out for vacation.
It is ok to support directory output similar to J2clCommandLineRunner. We would like to remove the zip completely anyway (including zipping and unzipping).
I understood the original request but didn't understand follow up comment.
If you pass src/p/A.java  -d foo, it should output to foo/src/p/A.java.
If you pass /projects/java/p/A.java  -d foo, it should output to foo/java/p/A.java. (since 'java' would be considered a root)
If you pass /projects/src/p/A.java  -d foo, it should output to foo/projects/src/p/A.java.
That doesn't work for you?

If you pass /projects/java/p/A.java -d foo, it should output to foo/java/p/A.java. (since 'java' would be considered a root)

Are you sure about that rule?
That might be the intended behavior, but not the actual one.
$ jar tf ../../google/j2cl/bazel-bin/jre/java/jre_j2cl_stripped-src.jar |head
bazel-out/
bazel-out/k8-fastbuild/
bazel-out/k8-fastbuild/bin/
bazel-out/k8-fastbuild/bin/jre/
bazel-out/k8-fastbuild/bin/jre/java/
bazel-out/k8-fastbuild/bin/jre/java/external/
bazel-out/k8-fastbuild/bin/jre/java/external/org_gwtproject_gwt/
bazel-out/k8-fastbuild/bin/jre/java/external/org_gwtproject_gwt/user/
bazel-out/k8-fastbuild/bin/jre/java/external/org_gwtproject_gwt/user/super/
bazel-out/k8-fastbuild/bin/jre/java/external/org_gwtproject_gwt/user/super/com/
$ jar tf ../../google/j2cl/bazel-bin/junit/emul/java/junit_emul_j2cl_stripped-src.jar |head
junit/
junit/emul/
junit/emul/java/
junit/emul/java/junit/
junit/emul/java/junit/framework/
junit/emul/java/junit/framework/Assert.java
junit/emul/java/junit/framework/AssertionFailedError.java
junit/emul/java/junit/framework/ComparisonCompactor.java
junit/emul/java/junit/framework/ComparisonFailure.java
junit/emul/java/junit/framework/Protectable.java

That logic is in FrontendUtils.getJavaPath, which is used in FrontendUtils.getAllSources to populate a FileInfo's targetPath:
https://github.com/google/j2cl/blob/69a295d3afa5011fcb6c595f807f72700a8c7df8/transpiler/java/com/google/j2cl/common/FrontendUtils.java#L102
but GwtIncompatibleStripper uses the originalPath:
https://github.com/google/j2cl/blob/69a295d3afa5011fcb6c595f807f72700a8c7df8/tools/java/com/google/j2cl/tools/gwtincompatible/GwtIncompatibleStripper.java#L83-L85

If you pass /projects/src/p/A.java -d foo, it should output to foo/projects/src/p/A.java.
That doesn't work for you?

Gradle doesn't guarantee the working directory (see note in https://docs.gradle.org/6.5/userguide/working_with_files.html#sec:single_file_paths), which forces us to pass absolute file paths. That puts us in that last case (or the previous one if GwtIncompatibleStripper switches from originalPath to targetPath), which then is (possibly) non-relocatable, so post-processing would still be required to copy files to paths that are independent from where the project is checked out on disk.
I'm currently doing just that when unzipping (my current code probably doesn't work on Windows, but that should be easily fixable)

That might be the intended behavior, but not the actual one.

Yes that's the intended behavior; I don't remember any reason not to follow that convention so we can probably change that behavior.
We can also make the tool run via stdin/stdout which is probably the simplest contract for such a tool. WDYT?

We can also make the tool run via stdin/stdout which is probably the simplest contract for such a tool. WDYT?

If you mean System.in/System.out, that's unfortunately not threadsafe and I'm not sure how well/easy it would be to integrate (without always forking a new process).
But that's close to my proposal of having an API processing one file at a time by taking streams as arguments (or simply exposing the existing GwtIncompatbleStripper.processFile(String))
public static void processFile(Reader in, Writer out) throws IOException { // <- could be Readable and Appendable too, or InputStream/OutputStream
   String fileContent = CharStreams.toString(in);
   String processedFileContent = processFile(fileContent); // <- that's the existing processFile
   out.write(processedFileContent);
}

Does fixing If you pass /projects/java/p/A.java -d foo, it should output to foo/java/p/A.java  work for your case?

Following sounds good to me:
public static String strip(String content) throws IOException {}


Is there a specific reason why glfwGet/SetJoystickUserPointer requires the joystick to be allocated?

I was trying to set a user pointer to the joystic; so, I can access it during callback:
for (int jid = 0; jid <= GLFW_JOYSTIC_LAST; ++jid) {
  glfwSetJoystickUserPointer(jid, this);
}

glfwSetJoystickCallback([](int jid, int event) {
  auto *window = static_cast<Window *>(glfwGetJoystickUserPointer(jid));
});

This does not work if a joystic is not already present in the system. So, I was trying to understand why this limitation is in-place by going throught the source code and came across this line: https://github.com/glfw/glfw/blob/master/src/input.c#L1216. From my understanding, the allocated flag is set when creating reference to a real joystic device. However, even in this allocation code, we are not overriding the joystic object but modifying fields of the joystick one-by-one.
So, it got me thinking. Is there a specific reason why we need to check whether a joystic is allocated when setting or getting a joystick? Because if we can get rid of this check and not clear the user pointer when freeing the joystick, we can store any user pointer to any joystick way before they are initialized and access the user pointers from callback instead of storing variables globally/statically to be able to access these values.

Joystick user pointers, the way they are currently implemented, are global variables. They don't become less global because they're stored by GLFW. If you want to store pointers globally independent of joystick connection lifetimes then make your own global variables.
GLFW 3 joysticks should have been fully independent objects, like windows and cursors instead of just IDs. However, it's still helpful to think of them as independent objects to make sense of things like the behavior of user pointers.
Joystick user pointers are intended to store application state specific to that connection of that joystick/controller/device, which is why they're tied to the lifetime of that connection, why you cannot set them before a joystick is connected to an ID and why the pointer is cleared again once the device is disconnected.

Thank you for the reply! The reason why I was trying to utilize it was because I wanted to pass my class instance to glfwSetJoystickCallback and use that to enable/disable device usage in my game engine without needing to store the class instance as global. But I understand that it makes sense from API perspective since the joystics are global and not attached to a window. I ended up just storing the pointer to class instance as global and it solved the issue:
static auto *DeviceManager= &mDeviceManager;
glfwSetJoystickCallback([](int jid, int event) {
  if (event == GLFW_CONNECTED) {
    DeviceManager->addDevice(InputDeviceType::Gamepad, jid);
  } else if (event == GLFW_DISCONNECTED) {
    DeviceManager->removeDevice(InputDeviceType::Gamepad,
                                        static_cast<u32>(jid));
  }
});

Looks good! Closing this as resolved.


README needs a screenshot

As requested :)
The readme should have your 30 second elevator pitch at the beginning that describes the repo and the code in it. If it's graphical, have a screenshot or animated gif/png/svg to demo how it looks. That little bit of effort goes a long way in helping people understand what your repo is for and whether it's for them.

Completed


ESP32S2 Internal Temperature sensor and WiFi in simultaneous we get one crash (IDFGH-6429)

When we use the internal temperature sensor and WiFi the system call watchdog and reboots, this is normal behavior?

@brunohorta82 Thanks for reporting. Would you please help provide more details as suggested in the issue template? Information like elf, sdk configuration, backtrace, log outputs, commit ID, hardware and etc. would help us debug further. Thanks.

@Alvin1Zhang I'm hooking up into this issue as I observed the same behaviour at that moment when WiFi is enabled. I already filed an issue on esp32.com (https://www.esp32.com/viewtopic.php?p=90332) but there I was advised to try it on esp-idf github repo. So let me follow your request for the template:
Environment

Development Kit:      ESP32-S2-Wrover-Kit
Kit version: v1
Module or chip used:  ESP32-S2-WROVER
IDF version: v4.4-beta1-48-gddc44956bf
Build System:         idf.py
Compiler version: xtensa-esp32s2-elf-gcc (crosstool-NG esp-2021r2) 8.4.0
Operating System:     Linux
Using an IDE?: Yes (Eclipse 21-06)
Power Supply:         USB

Problem Description
I'm using the internal temperature sensor on ESP32-S2 as part of the overall system health monitoring. After initialization (temp_sensor_set_config() and temp_sensor_start()) there is a cyclic call to temp_sensor_read_celsius(). This is not a big deal and works as expected.
Additionally I needed to put the WiFi part into operation with station mode. Having this done and calling esp_wifi_start() I observed a weird behavior of the whole system suddenly printing task watchdog timeouts within different tasks, not reacting fluently any more, etc. pp.
Analyzing the root cause brought me to insight that the call to temp_sensor_read_celsius() never returns anymore after starting WiFi. Instead it enters an endless busy-wait loop within temp_sensor_read_raw() polling for HW register bit SENS_SAR_TSENS_CTRL_REG.SENS_TSENS_READY to become 1, which never happens anymore. Comparing the whole register value against the one when it was working showed that, as soon as WiFi gets enable, the temperature sensor HW is obviously powered off as the bits SENS_TSENS_POWER_UP and SENS_TSENS_POWER_UP_FORCE drop to 0 (although they were 1 prior to starting WiFi).
I could reproduce this behaviour using the simple wifi station example from IDF (using release/v4.4 branch as well as master), only adding the cyclic temperature sensor readout.
Expected Behavior
Temperature can be read out easily while WiFi station is active and connected
Actual Behavior
Temperature readout call temp_sensor_read_celsius() never returns and enters an unpaced busy-wait loop influencing the whole system.
Steps to reproduce

optionally create a copy of the "simple_station" WiFi example of IDF
replace the file station_example_main.c by the one attached
configure WiFi SSID and WiFi Password within Example Configuration in menuconfig
run the application
the example will initially print a few temperature values prior to connecting to the AP
before connecting, the readout is paused
when connection has finished the readout is resumed after some seconds: Device is now reachable via network (ping)
if resumed one can see Task watchdog prints and the device will probably not reachable anymore via WiFi (ping to IP address times out)

Code to reproduce this issue
See modified station_example_main.c
Debug Logs
(see attached file for full log)
[...]

I (370) wifi station: Wait 5s before connecting WiFi
I (1370) wifi station: Temp: 31.2°C
I (2370) wifi station: Temp: 31.2°C
I (3370) wifi station: Temp: 31.2°C
I (4370) wifi station: Temp: 31.2°C
I (5370) wifi station: Temp: 31.2°C
I (5380) wifi station: Pause temperature polling
I (5380) wifi station: ESP_WIFI_MODE_STA

[...]

I (9080) wifi station: connected to ap SSID:******* password:********
I (9090) wifi station: Resume temperature polling

E (14360) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (14360) task_wdt:  - IDLE (CPU 0)
E (14360) task_wdt: Tasks currently running:
E (14360) task_wdt: CPU 0: temp_read
E (14360) task_wdt: Print CPU 0 (current core) backtrace

Backtrace:0x4008C7CB:0x3FFC62700x40024796:0x3FFC6290 0x400884FA:0x3FFD0890 0x40088579:0x3FFD08C0 0x4008692D:0x3FFD0900 0x4002C8A9:0x3FFD0940
0x4008c7cb: task_wdt_isr at /[...]/esp-idf-4.4/components/esp_system/task_wdt.c:183 (discriminator 3)

0x40024796: _xt_lowint1 at /[...]/esp-idf-4.4/components/freertos/port/xtensa/xtensa_vectors.S:1111

0x400884fa: temp_sensor_read_raw at /[...]/esp-idf-4.4/components/driver/esp32s2/rtc_tempsensor.c:140 (discriminator 2)

0x40088579: temp_sensor_read_celsius at /[...]/esp-idf-4.4/components/driver/esp32s2/rtc_tempsensor.c:177

0x4008692d: temp_sensor_test_task at /[...]/esp-idf-4.4/examples/wifi/getting_started/station/build/../main/station_example_main.c:177 (discriminator 1)

0x4002c8a9: vPortTaskWrapper at /[...]/esp-idf-4.4/components/freertos/port/xtensa/port.c:130

Other items if possible
station_example_main.log

I'm suffering from the exact same issue

Not just me then. I've been seeing this problem since last year but didn't have the time to trace it. Hopfully someone will have it fixed shortly.

I had the same issue and just found this bug report.
The issue is that WiFi resets these three registers
SENS.sar_tctrl.tsens_power_up
SENS.sar_tctrl.tsens_power_up_force
SENS.sar_tctrl.tsens_xpd_force
to zero after starting, instead of returning them to their initial value. I assume that the WiFi code reads the temperature to calibrate, but since the WiFi stack is closed, only someone with access can solve it.
The bug is triggered by temperature_sensor_ll_get_raw_value, which writes 1 to SENS.sar_tctrl.tsens_dump_out and then loops until SENS.sar_tctrl.tsens_ready, which is an endless loop in the case when WiFi turned off tsense in the meantime, which then triggers the WDT.
As a temporary workaround, I replaced temperature_sensor_ll_get_raw_value by a function that checks if tsens is still turned on while waiting for the temperature to be ready.

Just following up that this problem persists in ESP-IDF v5.1-dev-2186-g454aeb3a48. I'm using an ESP-S2-SOLO-2 development board (chip revision v1.0).
If you combine the station and temp_sensor examples, there is one temperature measurement, and then the watchdog is triggered.
I (8511) wifi station: Enable temperature sensor
I (8521) wifi station: Read temperature
I (8521) wifi station: Temperature value 25.41 ℃
E (14511) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (14511) task_wdt:  - IDLE (CPU 0)
E (14511) task_wdt: Tasks currently running:
E (14511) task_wdt: CPU 0: main
E (14511) task_wdt: Print CPU 0 (current core) backtrace

Backtrace: 0x40088EB7:0x3FFC7260 0x4008900E:0x3FFC7280 0x40024815:0x3FFC72A0 0x40088824:0x3FFCED30 0x400877D6:0x3FFCED60 0x400F1F81:0x3FFCEDB0 0x4002C905:0x3FFCEDE0
0x40088eb7: task_wdt_timeout_handling at /home/kris/local/esp-idf/components/esp_system/task_wdt/task_wdt.c:461 (discriminator 3)
...

Any news on this topic?
It seems like the temp sensor is useless once that wifi is started. Are there any workarounds, like starting/stopping the sensors directly before and after a single read? I want to read the sensor every 30 seconds.
would the following work if I repeat this for each measurement?
temp_sensor_start();
temp_sensor_read_celsius(&chip_temp);
temp_sensor_stop();

Any update on this?
I have tried reinitialising the temperature sensor each time but no luck when WiFi is running. Will likely take the route others have suggested and just not use temperature entirely whilst WiFi is running...

Hoping for a fix on this too.  Using ESP-IDF 4.4.

@NoNullptr, if your workaround is giving you success, could you possibly share it?

I observe the same issue. Log is below.
I think that the issue can be coming from the implementation of temperature_sensor_ll_get_raw_value()

This blocking while loop can be interrupted by OS and this register ready may be missed.
Therefore a possible solution is to enter critical section before getting the register value and then exit: For example:

Log:
E (208759) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (208759) task_wdt:  - IDLE (CPU 0)
E (208759) task_wdt: Tasks currently running:
E (208759) task_wdt: CPU 0: APPTask
E (208759) task_wdt: CPU 1: IDLE
E (208759) task_wdt: Aborting.
E (208759) task_wdt: Print CPU 0 (current core) backtrace
Backtrace: 0x4206ccbb:0x3fcb4bb0 0x420221d9:0x3fcb4be0 0x42022258:0x3fcb4c20 0x4202234c:0x3fcb4c50 0x42021947:0x3fcb4c80 0x42129e47:0x3fcb4cb0 0x420106a9:0x3fcb4cd0 0x403867ba:0x3fcb4cf0
0x4206ccbb: temperature_sensor_ll_get_raw_value at C:/Espressif/frameworks/esp-idf-v5.0/components/hal/esp32s3/include/hal/temperature_sensor_ll.h:80
(inlined by) temperature_sensor_get_celsius at C:/Espressif/frameworks/esp-idf-v5.0/components/driver/temperature_sensor.c:187

@NathanJPhillips, sorry for taking long to respond. The observations of @RilabsAutomotive are correct and align with what I saw. Since the temperature sensor is accessed in multiple locations (temp_sensor and the WiFi stack, at least), it needs to be protected by a critical section.
However, in order for this to work, the code needs to guarantee in all locations that it also restores the register state after reading the sensor.
I just finished making a presentation/video about ESP’s clock and its drift. For this, I needed to sample the temperature sensor every 2 seconds, while the WiFi turns on and off every 10 minutes. In case you’re interested, I uploaded it to YouTube: https://youtu.be/fZAR8WTKiSg. Long story short, it turns out that WiFi does not restore the tsens registers to their previous state after using it – I tested it with IDF 4.4 before IDF 4.5 came out.
Therefore: temperature_sensor_ll_get_raw_value needs to also ensure that the temperature sensor is powered up, that is, that all the registers are set correctly. If the sensors do need to be powered up, the task then needs be delayed for the output of temperature sensor to stabilize. Critical sections should not delay or wait, so you need to repeatedly exit and enter the section until the state is how you need it to be. Since the core issue is the WiFi code (closed-source) and it needs to properly restore the state of the temperature sensor, I didn’t bother making it work with critical sections, but used this dirty looping fix instead:
static inline uint32_t temperature_sensor_ll_get_raw_value(void)
{
        if (!SENS.sar_peri_clk_gate_conf.tsens_clk_en ||
            !SENS.sar_tctrl2.tsens_xpd_force ||
            !SENS.sar_tctrl.tsens_power_up_force ||
            !SENS.sar_tctrl.tsens_power_up ||
            !SENS.sar_tctrl.tsens_dump_out
        ) {
s:              SENS.sar_peri_clk_gate_conf.tsens_clk_en = true;
                SENS.sar_tctrl2.tsens_xpd_force = true;
                SENS.sar_tctrl.tsens_power_up_force = true;
                SENS.sar_tctrl.tsens_power_up = true;
                vTaskDelay(pdMS_TO_TICKS(10));
        }

        SENS.sar_tctrl.tsens_dump_out = 1;
        while (!SENS.sar_tctrl.tsens_ready) {
                if (!SENS.sar_peri_clk_gate_conf.tsens_clk_en ||
                    !SENS.sar_tctrl2.tsens_xpd_force ||
                    !SENS.sar_tctrl.tsens_power_up_force ||
                    !SENS.sar_tctrl.tsens_power_up ||
                    !SENS.sar_tctrl.tsens_dump_out
                ) {
                        goto s;
                }
        }
        SENS.sar_tctrl.tsens_dump_out = 0;
        return SENS.sar_tctrl.tsens_out;
}

It worked without any issues for six weeks of continuous sampling while the WiFi regularly turned on and off. If you need to make the temperature sensor work right now, you can replace the function in “esp-idf/components/hal/esp32XX/include/hal/temperature_sensor_ll.h”.
While this works, the quality of the code is low, but you cannot fundamentally improve it without access to the closed part of the firmware. Maybe IDF 4.5 fixed the issue in WiFi already, but someone would need to test it. Most people from espressif seem to have either terrible understanding of English or dubious coding skills (or both), so this might be the only solution for a while – this bug has been open for more than a year already.

@igrr can you have a look into this ? seems to be a orphaned issue. Thanks !

It seems this problem also exist in the ESP32S3, at least in v5.0.2. The task watchdog triggers an abort because the temperature sensor code does not return.
For us, this only happens when the device tries to connect to wifi but it cannot connect (ssid does not exists). It seems that all other tasks are waiting to be dequeued. We pin all tasks to core 0.
https://github.com/espressif/esp-idf/blob/5181de8ac5ec5e18f04f634da8ce173b7ef5ab73/components/hal/esp32s3/include/hal/temperature_sensor_ll.h#L77-L84
==================== THREAD 1 (TCB: 0x3fcaa404, name: 'Tmr Svc') =====================
#0  0x420649fb in temperature_sensor_ll_get_raw_value () at ~/esp/esp-idf-v5.0.2/components/hal/esp32s3/include/hal/temperature_sensor_ll.h:80
#1  temperature_sensor_get_celsius (tsens=0x3c1a7700, out_celsius=0x3fcaa1f4) at ~/esp/esp-idf-v5.0.2/components/driver/temperature_sensor.c:187
#2  0x42016fc0 in operator() (timer=..., __closure=0x3fcdfd40) at ~/project/components/app/app_temperature.cpp:40
#3  std::__invoke_impl<void, AppTemperature::init(std::shared_ptr<I2CBus>)::<lambda(Timer&)>&, Timer&> (__f=...) at ~/.espressif/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/xtensa-esp32s3-elf/include/c++/11.2.0/bits/invoke.h:61
#4  std::__invoke_r<void, AppTemperature::init(std::shared_ptr<I2CBus>)::<lambda(Timer&)>&, Timer&> (__fn=...) at ~/.espressif/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/xtensa-esp32s3-elf/include/c++/11.2.0/bits/invoke.h:111
#5  std::_Function_handler<void(Timer&), AppTemperature::init(std::shared_ptr<I2CBus>)::<lambda(Timer&)> >::_M_invoke(const std::_Any_data &, Timer &) (__functor=..., __args#0=...) at ~/.espressif/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/xtensa-esp32s3-elf/include/c++/11.2.0/bits/std_function.h:291
#6  0x4205c8c4 in std::function<void (Timer&)>::operator()(Timer&) const (__args#0=..., this=0x3fcdfd40) at ~/.espressif/tools/xtensa-esp32s3-elf/esp-2022r1-11.2.0/xtensa-esp32s3-elf/xtensa-esp32s3-elf/include/c++/11.2.0/bits/std_function.h:560
#7  Timer::_timer_callback (timerHandle=0x3fcdfd6c) at ~/project/components/system/shared/src_cpp/timer.cpp:17
#8  0x40383300 in prvProcessExpiredTimer (xTimeNow=<optimized out>, xNextExpireTime=23798) at ~/esp/esp-idf-v5.0.2/components/freertos/FreeRTOS-Kernel/timers.c:572
#9  prvProcessTimerOrBlockTask (xListWasEmpty=0, xNextExpireTime=23798) at ~/esp/esp-idf-v5.0.2/components/freertos/FreeRTOS-Kernel/timers.c:641
#10 prvTimerTask (pvParameters=<optimized out>) at ~/esp/esp-idf-v5.0.2/components/freertos/FreeRTOS-Kernel/timers.c:604
#11 0x40383668 in vPortTaskWrapper (pxCode=0x4038322c <prvTimerTask>, pvParameters=0x0) at ~/esp/esp-idf-v5.0.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:154

What's the state of this issue? I see a pull request has opened months ago.

I'm using ESP32S3 with ESP-IDF v5.1.1 and problem continues to exist (only with WIFI running).

Up.
I'm using ESP32S3 with ESP-IDF v5.1, and issue is there.

now the PR is in conflict.
how to go on ?

@JPSaturninoOliveira @mcoracin @diplfranzhoepfinger There is already a fix since 5.1.2. And I cannot produce this issue with https://gist.github.com/arex-ebee/c7b4cd53f1f4fd26e70965d8f794d06d anymore. So, if you guys are still confused by this issue. It's very welcome that you can show your simplest reproduce code, which will help us a lot to go ahead.
If there is no issue on 5,1,2, a reply is also welcome so that we can give a note and get this issue finished,

Seems to be working for me on v5.1.2+, with v4.4 I it would lock up right away and had to use the workaround for it to work at all.
FYI, the exact fixes in tag/v5.1.2 are
wifi binary blob update
Fixed Wi-Fi not working with temperature sensor on ESP32-S2
temperature_sensor_* fixes
Temperature Sensor: Fixed issue that if temperature sensor driver is disabled then phy can't work properly.

No more issue on v5.2.1 too, thanks !


ReferenceError: profileUrl is not defined

Describe the bug
I get the following error when starting meteor on a fresh MongoDB database: ReferenceError: profileUrl is not defined
To Reproduce
Steps to reproduce the behavior:

Check out the kwun/sdk-v0.38.x branch
Create the settings.json

`settings.json` contents
```json
{
    "public":{
        "chainName": "Agoric Testnet",
        "chainId": "testnet-1.17.0",
        "gtm": "{Add your Google Tag Manager ID here}",
        "slashingWindow": 10000,
        "uptimeWindow": 250,
        "initialPageSize": 30,
        "bech32PrefixAccAddr": "cosmos",
        "bech32PrefixAccPub": "cosmospub",
        "bech32PrefixValAddr": "cosmosvaloper",
        "bech32PrefixValPub": "cosmosvaloperpub",
        "bech32PrefixConsAddr": "cosmosvalcons",
        "bech32PrefixConsPub": "cosmosvalconspub",
        "bondDenom": "uagstake",
        "powerReduction": 1000000,
        "coins": [
            {
                "denom": "uagstake",
                "displayName": "AGSTAKE",
                "displayNamePlural": "AGSTAKES",
                "fraction": 1000000
            }
        ],
        "gasPrice": 0.00,
        "coingeckoId": null
    },
    "genesisFile": "https://testnet.agoric.com/genesis.json",
    "remote":{
        "rpc":"http://<IP_ADDRESS>:26657",
        "lcd":"http://<IP_ADDRESS>:1317"
    },
    "debug": {
        "startTimer": true,
        "readGenesis": true
    },
    "params":{
        "startHeight": 0,
        "defaultBlockTime": 5000,
        "blockInterval": 15000,
        "consensusInterval": 1000,
        "statusInterval":7500,
        "signingInfoInterval": 1800000,
        "proposalInterval": -1,
        "missedBlocksInterval": 60000,
        "delegationInterval": 900000
    }
}
```

3. Destroy the MongoDB database: `meteor reset`
4. Run `meteor npm install --save`
5. Run `meteor --settings settings.json`
Expected behavior
No errors.
Screenshots
log messages from starting meteor with the above settings.json
I20200309-15:57:47.417(0)? Block insert time: 0.01seconds.
I20200309-15:57:47.423(0)? Get height validators time: 0.181seconds.
I20200309-15:57:47.425(0)? validatorSet size: 1
I20200309-15:57:47.462(0)? Fetching keybase...
I20200309-15:57:47.464(0)? http://<IP_ADDRESS>:26657/validators?height=1&page=1&per_page=100
I20200309-15:57:47.673(0)? ReferenceError: profileUrl is not defined
I20200309-15:57:47.674(0)?     at imports/api/blocks/server/methods.js:561:49
I20200309-15:57:47.674(0)?     at SynchronousCursor.forEach (packages/mongo/mongo_driver.js:1102:16)
I20200309-15:57:47.674(0)?     at Cursor.<computed> [as forEach] (packages/mongo/mongo_driver.js:882:44)
I20200309-15:57:47.674(0)?     at MethodInvocation.blocks.blocksUpdate (imports/api/blocks/server/methods.js:553:49)
I20200309-15:57:47.675(0)?     at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1771:12)
I20200309-15:57:47.675(0)?     at packages/ddp-server/livedata_server.js:1689:15
I20200309-15:57:47.675(0)?     at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
I20200309-15:57:47.675(0)?     at packages/ddp-server/livedata_server.js:1687:36
I20200309-15:57:47.675(0)?     at new Promise (<anonymous>)
I20200309-15:57:47.676(0)?     at Server.applyAsync (packages/ddp-server/livedata_server.js:1686:12)
I20200309-15:57:47.676(0)?     at Server.apply (packages/ddp-server/livedata_server.js:1625:26)
I20200309-15:57:47.676(0)?     at Server.call (packages/ddp-server/livedata_server.js:1607:17)
I20200309-15:57:47.676(0)?     at updateBlock (server/main.js:36:12)
I20200309-15:57:47.677(0)?     at server/main.js:193:21
I20200309-15:57:47.677(0)?     at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1234:12)
I20200309-15:57:47.677(0)?     at packages/meteor.js:550:25
I20200309-15:57:47.677(0)?     at runWithEnvironment (packages/meteor.js:1286:24)
I20200309-15:57:47.677(0)? updateBlocks: Stopped

Desktop (please complete the following information):
n/a
Smartphone (please complete the following information):
n/a
Additional context
Add any other context about the problem here.
Running on linux_x64 (recent Ubuntu).  Agoric testnet-1.17.0.

Looks like I didn't push the commits after I have updated the avatar. Can you try pulling the branch again and see if it works? Otherwise, I will upgrade our test node tomorrow and see what is incompatible.

I pulled again.  After starting from scratch, the node0 validator appeared in the active validators list, but as soon as it reached a block where other validators were added with create-validator, the active validators (and random validators) were cleared.

Here are the contents of the validators collection:
[
  {
    "_id": "HTzJxwWsL3W37fidT",
    "consensus_pubkey": "cosmosvalconspub1zcjduepqqevhm6sh0n9x3jcyz7xevhlsn36ef62z9cye4pxzayrl42ycrq4s7dgt3s",
    "description": {
      "moniker": "node0"
    },
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T18:41:36.681842479Z"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper1jkmhgct3ztatf90v566dgd0pmucnhr8atfjdq0",
    "delegator_address": "cosmos1jkmhgct3ztatf90v566dgd0pmucnhr8awaxcvu",
    "voting_power": 2,
    "jailed": false,
    "status": 3,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "Bll96hd8ymjLBBeNll/wnHWU6UIuCZqEwukH+qiYGCs="
    },
    "address": "B6E6C700D11BBE7C985947C8032D5BC727B159B4",
    "accpub": "cosmospub1zcjduepqqevhm6sh0n9x3jcyz7xevhlsn36ef62z9cye4pxzayrl42ycrq4srmdqtz",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqqevhm6sh0n9x3jcyz7xevhlsn36ef62z9cye4pxzayrl42ycrq4sn80d7c",
    "delegator_shares": "2000000.000000000000000000",
    "proposer_priority": 4,
    "tokens": "2000000",
    "unbonding_time": "1970-01-01T00:00:00Z",
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100,
    "self_delegation": 1
  },
  {
    "_id": {
      "$oid": "5e67b1f6e7382f0d52c2b3fd"
    },
    "address": "63215FDEC04D3E9967757C09F55CD3356E8B4640",
    "accpub": "cosmospub1zcjduepqa7wqpha8lx5dyfju7dfhd06u2qhrzwcuj5p4tk8svw9z0wlyqrhqa6kr83",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:03:13.14905799Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqa7wqpha8lx5dyfju7dfhd06u2qhrzwcuj5p4tk8svw9z0wlyqrhqqvngar",
    "delegator_address": "cosmos17pj4xhd7r4kjg9zhuf5k6agnw35a5dqjxa6eva",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node1"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper17pj4xhd7r4kjg9zhuf5k6agnw35a5dqjrfwvqw",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqa7wqpha8lx5dyfju7dfhd06u2qhrzwcuj5p4tk8svw9z0wlyqrhqdx5wjt",
    "proposer_priority": -8,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "75wA36f5qNImXPNTdr9cUC4xOxyVA1XY8GOKJ7vkAO4="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "1980000",
    "unbonding_height": "44583",
    "unbonding_time": "2020-03-26T16:37:31.208116788Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  },
  {
    "_id": {
      "$oid": "5e67b202e7382f0d52c2b472"
    },
    "address": "CDFD41D6AFA86E9AF351BAD89A90FA5C7804B713",
    "accpub": "cosmospub1zcjduepqlwx4dgk0cvtgk0zz70jg44vwj3j5mqrukk454nh6rpl6yp8nyzfsvsu5kr",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:03:28.465225638Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqlwx4dgk0cvtgk0zz70jg44vwj3j5mqrukk454nh6rpl6yp8nyzfs3xelv3",
    "delegator_address": "cosmos18y22f3nqy30ydsxmzqj03960uekeql88mnh6xd",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node3"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper18y22f3nqy30ydsxmzqj03960uekeql8878r027",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqlwx4dgk0cvtgk0zz70jg44vwj3j5mqrukk454nh6rpl6yp8nyzfsuv7ere",
    "proposer_priority": 0,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "+41Wos/DFos8QvPkitWOlGVNgHy1q0rO+hh/ogTzIJM="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "1980000",
    "unbonding_height": "46975",
    "unbonding_time": "2020-03-26T20:20:14.125444887Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  },
  {
    "_id": {
      "$oid": "5e67b203e7382f0d52c2b487"
    },
    "address": "C1B2888C3F8839ED268972F3AE69DAC3E152F9F9",
    "accpub": "cosmospub1zcjduepqyqwdhxzddvns0dz68wr68scv2zgsawzvcclqgcaqh0jrv2mulrws36d80d",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:03:39.667275746Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqyqwdhxzddvns0dz68wr68scv2zgsawzvcclqgcaqh0jrv2mulrwsvvgv4l",
    "delegator_address": "cosmos10lvqta75ahkcs643e8h4kzjg7uvtmyuw3ed83w",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node2"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper10lvqta75ahkcs643e8h4kzjg7uvtmyuw5dejaa",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqyqwdhxzddvns0dz68wr68scv2zgsawzvcclqgcaqh0jrv2mulrwspx026h",
    "proposer_priority": 3,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "IBzbmE1rJwe0WjuHo8MMUJEOuEzGPgRjoLvkNit8+N0="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "1980000",
    "unbonding_height": "47891",
    "unbonding_time": "2020-03-26T21:46:44.71786639Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  },
  {
    "_id": {
      "$oid": "5e67b204e7382f0d52c2b4be"
    },
    "address": "6ECD788D49000CDD22E21755B7AEEE2736E2E916",
    "accpub": "cosmospub1zcjduepqz2mj4t4t922rynzn35ej0ef3l2au2yefm353c9lcaz87ftn5jhjsa43a2y",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:03:50.906302218Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqz2mj4t4t922rynzn35ej0ef3l2au2yefm353c9lcaz87ftn5jhjsqr5ksk",
    "delegator_address": "cosmos1svvvavk6zstl9natslnvxszzyetju36tsrqswh",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node5"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper1svvvavk6zstl9natslnvxszzyetju36t4h59zy",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqz2mj4t4t922rynzn35ej0ef3l2au2yefm353c9lcaz87ftn5jhjsdfnsl7",
    "proposer_priority": 1,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "ErcqrqsqlDJMU40zJ+Ux+rvFEyncaRwX+OiP5K50leU="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "1970000",
    "unbonding_height": "1494",
    "unbonding_time": "2020-03-23T21:22:51.54595415Z",
    "voting_power": 1,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 58.4
  },
  {
    "_id": {
      "$oid": "5e67b205e7382f0d52c2b4f6"
    },
    "address": "445EFB387AD6A05CAA5C38B5A15F6CEC2D61078A",
    "accpub": "cosmospub1zcjduepqy4vedu7qmsgt77lqzgel7ruvzlmmxk388s63le794gz2ca6qdepsw8p039",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:04:01.827146299Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqy4vedu7qmsgt77lqzgel7ruvzlmmxk388s63le794gz2ca6qdepsn3yyth",
    "delegator_address": "cosmos1t6xlln02ac7ruh8cphu4q0m9kcklapua2mcq4v",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node4"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper1t6xlln02ac7ruh8cphu4q0m9kcklapua00v4el",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqy4vedu7qmsgt77lqzgel7ruvzlmmxk388s63le794gz2ca6qdeps7mrzyl",
    "proposer_priority": -2,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "JVmW88DcEL974BIz/w+MF/ezWic8NR/nxaoErHdAbkM="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "2000000",
    "unbonding_time": "1970-01-01T00:00:00Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  },
  {
    "_id": {
      "$oid": "5e67b205e7382f0d52c2b52f"
    },
    "address": "CDF1368C6D285E612091F36ADB91A60478FA0480",
    "accpub": "cosmospub1zcjduepqellnaar2cs2edaqp45qjc2rma5rs292jqr0sqsgjwd68j9ckat6sdk9ut6",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T19:04:12.890837781Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqellnaar2cs2edaqp45qjc2rma5rs292jqr0sqsgjwd68j9ckat6ssqqh3g",
    "delegator_address": "cosmos1vhd2tvwxvuxx3j6d8j3w2vdk20mx2cvlvfqf72",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "node6"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper1vhd2tvwxvuxx3j6d8j3w2vdk20mx2cvlfa5uje",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqellnaar2cs2edaqp45qjc2rma5rs292jqr0sqsgjwd68j9ckat6sa2837q",
    "proposer_priority": 4,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "z/8+9GrEFZb0Aa0BLCh77QcFFVIA3wBBEnN0eRcW6vU="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "1980000",
    "unbonding_height": "31587",
    "unbonding_time": "2020-03-25T20:19:47.854974395Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  },
  {
    "_id": {
      "$oid": "5e67b3c9e7382f0d52c341a4"
    },
    "address": "A2A302172492FB85AE13EA6A6FF5E966FAA0798E",
    "accpub": "cosmospub1zcjduepqw8h4l0serpwt5evc2zwtg4phnepd8yzz87e8mewg4yhsl40rvtmqt4fxl6",
    "commission": {
      "commission_rates": {
        "rate": "0.100000000000000000",
        "max_rate": "0.200000000000000000",
        "max_change_rate": "0.010000000000000000"
      },
      "update_time": "2020-03-02T20:57:12.674894658Z"
    },
    "consensus_pubkey": "cosmosvalconspub1zcjduepqw8h4l0serpwt5evc2zwtg4phnepd8yzz87e8mewg4yhsl40rvtmqkrvd9g",
    "delegator_address": "cosmos1pu5mgemh58aymecc9nvdemtnv0cyw8l88mt3je",
    "delegator_shares": "2000000.000000000000000000",
    "description": {
      "moniker": "DokiaCapital"
    },
    "min_self_delegation": "1",
    "operator_address": "cosmosvaloper1pu5mgemh58aymecc9nvdemtnv0cyw8l8z0ly72",
    "operator_pubkey": "cosmosvaloperpub1zcjduepqw8h4l0serpwt5evc2zwtg4phnepd8yzz87e8mewg4yhsl40rvtmqmftt2q",
    "proposer_priority": -1,
    "pub_key": {
      "type": "tendermint/PubKeyEd25519",
      "value": "ce9fvhkYXLplmFCctFQ3nkLTkEI/sn3lyKkvD9XjYvY="
    },
    "self_delegation": 1,
    "status": 3,
    "tokens": "2000000",
    "unbonding_time": "1970-01-01T00:00:00Z",
    "voting_power": 2,
    "lastSeen": {
      "$date": "2020-03-02T22:37:14.33Z"
    },
    "uptime": 100
  }
]

@michaelfig there are a lot of changes in the ibc-alpha branch. I have made a little changes for you so that you can show the active validators correctly. I have also commented the minting requests for now. Please pull from https://github.com/forbole/big-dipper/tree/kwun/ibc-alpha branch and try again.
FYR, the value of BondStatus for a validator has been shifted from 0, 1 and 2 to 1, 2 and 3. Originally 2 was bonded validator but now it's 3. That's the reason for not showing the validators in the active list.


Crash When Using Cache Generated by Newer Sourcery

When running an older version of Sourcery against a cache generated by a newer version of Sourcery, it is possible for that older version to crash. See the attached stack trace.
A little bit of context. Our team has standardized which version we use (by including it in our Podfile) to avoid generating diff noise by the generated files being updated where the only change is the version number of Sourcery. Because the version of Sourcery is baked into the repository, it is possible to have two separate versions running on our CI box (for example, when putting together a PR to upgrade which version of Sourcery is bundled in our repo). When this occurs, branches that don't reference the latest version may start failing builds as Sourcery crashes because the cache is for a newer version of Sourcery.
Stack Trace
This specific crash appears to be because argumentLabel was required in older versions of Sourcery, but is now optional in newer versions. Thus, if no argumentLabel is persisted by a newer version of Sourcery, older versions will crash when trying to read the cache.
2017-06-02 11:50:14.253 Sourcery[75721:27498822] *** Terminating app due to uncaught exception 'NSParseErrorException', reason: 'Key 'argumentLabel' not found.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff8c4aa452 __exceptionPreprocess + 178
	1   libobjc.A.dylib                     0x00007fff90b9df7e objc_exception_throw + 48
	2   Foundation                          0x00007fff87d04721 -[NSCoder(Exceptions) __failWithExceptionName:errorCode:format:] + 0
	3   Foundation                          0x00007fff87d04948 -[NSCoder(Exceptions) __failWithExceptionName:errorCode:format:] + 551
	4   Foundation                          0x00007fff87bdd7b5 _decodeObjectBinary + 3593
	5   Foundation                          0x00007fff87bdc8a5 _decodeObject + 281
	6   Foundation                          0x00007fff87c982eb +[NSKeyedUnarchiver unarchiveObjectWithFile:] + 156
	7   Sourcery                            0x0000000107aca258 _TTSf4gs_n_n___TFC8Sourcery8SourceryP33_DB5C4364BFA94633EE953DD412A08C3011loadOrParsefT6parserVS_10FileParser13cacheDisabledSb_CS_16FileParserResult + 1512
	8   Sourcery                            0x0000000107ac2923 _TFFC8Sourcery8SourceryP33_DB5C4364BFA94633EE953DD412A08C3010parseTypesFzT4fromV7PathKit4Path13cacheDisabledSb_GSaCS_4Type_U1_FVS_10FileParserCS_16FileParserResult + 227
	9   Sourcery                            0x0000000107acac8a _TPA__TTRXFo_oV8Sourcery10FileParser_oCS_16FileParserResult_XFo_iS0__iS1__ + 122
	10  Sourcery                            0x0000000107b2f050 _TTSf4g_n___TTSg5GVs10ArraySliceV8Sourcery10FileParser_GS_S1__s10Collections_CS0_16FileParserResult___TFEsPs10Collection3mapurfzFzWx8Iterator7Element_qd__GSaqd___ + 592
	11  Sourcery                            0x0000000107b2f13c _TTSf4g_n_n_n_g_g_g___TTSg5V8Sourcery10FileParser_CS_16FileParserResult___TFFE8SourcerySa11parallelMapurFTFxqd__8progressGSqFSiT___GSaqd___U_FT_T_ + 140
	12  Sourcery                            0x0000000107b2ed90 _TPA__TTSg5V8Sourcery10FileParser_CS_16FileParserResult___TFFE8SourcerySa11parallelMapurFTFxqd__8progressGSqFSiT___GSaqd___U_FT_T_ + 144
	13  libdispatch.dylib                   0x00007fff965f193d _dispatch_call_block_and_release + 12
	14  libdispatch.dylib                   0x00007fff965e640b _dispatch_client_callout + 8
	15  libdispatch.dylib                   0x00007fff965eb03b _dispatch_queue_drain + 754
	16  libdispatch.dylib                   0x00007fff965f1707 _dispatch_queue_invoke + 549
	17  libdispatch.dylib                   0x00007fff965e9d53 _dispatch_root_queue_drain + 538
	18  libdispatch.dylib                   0x00007fff965e9b00 _dispatch_worker_thread3 + 91
	19  libsystem_pthread.dylib             0x00007fff95d194de _pthread_wqthread + 1129
	20  libsystem_pthread.dylib             0x00007fff95d17341 start_wqthread + 13
)

NSCoding, used to serialise parsing results does not have versioning support, so we basically need to use Sourcery version as a part of a cache hash key to avoid this.

It's strange though that it crashes as the exception should be caught and sources should be reparsed, will try to see why it's not the case

It is an Objective-C exception which is being thrown. As far as I know, there's no way in Swift to catch an Objective-C exception. I believe that NSKeyedUnarchived.unarchiveTopLevelObjectWithData(_:) was introduced to address this (so that you get back an error in Swift instead of an Objective-C exception being thrown). That said, if Sourcery has a little bit of Objective-C to catch that exception, then, yeah, I can see why you're confused as to the exception not being caught.

SwiftTryCatch that we use is supposed to catch Objective-C exceptions, but maybe we should adjust how we unarchive, thanks for suggestion

This might be obsolote, there was a bug when I introduced cashing initially that didn't track sourcery version properly and it would crash rather than recover, @grantjbutler does it happen with latest releases? e.g. have cache using newest version and try using a previous release

After upgrading from 1.0.2 to 1.4.0 it happened. Using --disableCache as reported in https://github.com/krzysztofzablocki/Sourcery/issues/774 solves the problem


Bijtelling addition

It would be great to add the bijtelling rules to the calculator.

@rlilje is something about business car lease, but not income, right?

HI @stevermeister, This is related to both business car lease and personal income. When I get a company lease car and drive 500km+ per year for personal use, I need to pay an extra tax called bijtelling on the value of the car.
This amount is either 22% for a normal car or 12% for an electric car up to a threshold amount and after that 22%. The percentage is calculated on the value of the car. This means that if I earn for example €60 000 per year and have a car worth €30 000, 22% of the value of the car (€6600) will be added to my salary and I will be taxed as if I earn €66 600 per year. This will then impact the monthly income that I would receive.

if it's still actual you can reopen your issue here (new version of the application) - https://github.com/stevermeister/dutch-tax-income-calculator


Ability to (fuzzy) Search Window Titles

Is it possible to provide a search functionality so that the user can (fuzzy) search the window by its title? When the list grows it's not easy to find the right window considering the size of icons and fonts. Thanks.

Like the previous issue, this one is not built on that philosophy.
Its experience is slower, because the fastest experience is obtained by registering the key yourself in advance.


Add Galaxe as a partner

Galaxe is officially becoming a SWC partner and we need to put their logo on our site.
Here are their brand assets: https://drive.google.com/drive/folders/1K048GkJPT4_j8DaAK8tldne3Fo51Pxe0
Thank you!

https://www.galxe.com/


refactor: [INFRA] set the About Page's site link to https://ozhera.apache.org/en/

as described above, set official site link to https://ozhera.apache.org/en/

It's great to see the project website is live! I believe we should include ASF-related branding and project descriptions on the homepage to better comply with ASF's branding guidelines for incubator projects. @goodjava @sadadw1 @shanwb
很高兴看到项目网站上线！我觉得我们应该在网站首页加上有关于ASF的相关品牌和项目说明，符合ASF对于孵化项目在品牌展示上的规定。


ztest: Update verification to account for missing suite

Fix an issue where a test's suite name was misspelled and thus the
test never ran because it wasn't associated with a suite. Example:
ZTEST_SUITE(my_suite, NULL, NULL, NULL, NULL, NULL);
ZTEST(myy_suite, test)
{
}
The above will no longer pass since myy_suite with a double y will
fail the verification.
Signed-off-by: Yuval Peress<EMAIL_ADDRESS>

Ping


Add TWA video to TWA post

Adds TWA video to TWA post

:+1:

:tada: This has been pushed live to https://developers.google.com/web/


npm run build:browser 报错

weex git:(dev) ✗ npm run build:browser

<EMAIL_ADDRESS>build:browser /Users/wenshuo/projects/weex
wwp && node build/build.js browser

pack components:
name		path
image   (./html5/render/browser/extend/components/image)
text   (./html5/render/browser/extend/components/text)
scrollable   (./html5/render/browser/extend/components/scrollable)
slider   (./html5/render/browser/extend/components/slider)
indicator   (./html5/render/browser/extend/components/indicator)
tabheader   (./html5/render/browser/extend/components/tabheader)
input   (./html5/render/browser/extend/components/input)
textarea   (./html5/render/browser/extend/components/textarea)
video   (./html5/render/browser/extend/components/video)
switch   (./html5/render/browser/extend/components/switch)
a   (./html5/render/browser/extend/components/a)
embed   (./html5/render/browser/extend/components/embed)
spinner   (./html5/render/browser/extend/components/spinner)
web   (./html5/render/browser/extend/components/web)
neighbor   (./html5/render/browser/extend/components/neighbor)
pack apis:
name		path
animation   (./html5/render/browser/extend/api/animation)
clipboard   (./html5/render/browser/extend/api/clipboard)
dom   (./html5/render/browser/extend/api/dom)
event   (./html5/render/browser/extend/api/event)
geolocation   (./html5/render/browser/extend/api/geolocation)
globalEvent   (./html5/render/browser/extend/api/globalEvent)
meta   (./html5/render/browser/extend/api/meta)
modal   (./html5/render/browser/extend/api/modal)
navigator   (./html5/render/browser/extend/api/navigator)
pageInfo   (./html5/render/browser/extend/api/pageInfo)
storage   (./html5/render/browser/extend/api/storage)
stream   (./html5/render/browser/extend/api/stream)
webview   (./html5/render/browser/extend/api/webview)
webSocket   (./html5/render/browser/extend/api/webSocket)
pack npm:
name		path
WeexPicker   ()
=> start to build browser (weex-web-render)
(node:9229) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Error transforming /Users/wenshuo/projects/weex/html5/render/browser/index.js with 'eslint' plugin: Failed to load plugin react: Cannot find module 'eslint-plugin-react'

重新安装 npm 依赖。 rm -rf node_modules && npm install

请问这个是什么原因呢？

This PR/issue doesn't receive response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.


Increase heartbeat_ts threshold limit

increases heartbeat threshold to three times the heartbeat interval.

Can we increase it to 6x to begin with?

Can we increase it to 6x to begin with?


fix URL for cancel merge when pipeline succeeds

there is a / too much at the beginning of the URL... thought I'd fixed that before last PR... sorry for the trouble.

No problem, thanks!


Wrong repo link for scorecard tests examples

What is the URL of the document?
https://sdk.operatorframework.io/docs/advanced-topics/scorecard/custom-tests/#building-test-image
Which section(s) is the issue in?
Building test image:
What needs fixing?
The link  in the "here" from

The sample test image repository present here has the following project structure:

links to the operator-sdk repo which does not reflect the given structure of a memcached operator.
Additional context

@jmccormick2001 which repo was that link supposed to link to?

/ping @theishshah


Is there a way to animate only part of the label?

I'd like to only animate the last word in a label.  Any ideas on how that could work?

I have been added the animateRange and method prepareTextAttributes.
You can use these animate part of the label

Ah, gotcha.  I'll play around with that.  Thank you!


Add Cloudonaut IAM reference

👍 LGTM. @ThanosBaskous or @QuinnyPig anything to add before merge?

+10, lgtm - I can't believe we didn't already have this in the guide. Thanks @ryansb!


No files are processed when importing existing/"duplicate" albums

I noticed during a large import that I was losing a lot of my cue and log files. It seems that when albums that beets sees as existing/duplicate are imported, extrafiles is attempting to move files from the folder you explicitly call the import on, rather than the current album. Could maybe also have something to do with %aunique{} being expanded?
I maintain two copies of Of Monsters and Men's "My Head Is An Animal" album because the Iceland and US releases have different recordings and a slightly different track list.
Here's what happens when I try to import them both at the same time (click for full output, but the relevant snippets are below)
beet -vv import omam

...

extrafiles: S:\Music\old\omam -> S:\Music\Sorted\Of Monsters and Men (My Head Is an Animal by Of Monsters and Men, 23 tracks)

...

$ ls -lhR ../Sorted/Of\ Monsters\ and\ Men/
'../Sorted/Of Monsters and Men/':
total 8.0K
drwxr-xr-x 1 duck 197121 0 Apr 26 16:36 '2011 - My Head Is an Animal'/
drwxr-xr-x 1 duck 197121 0 Apr 26 16:37 '2011 - My Head Is an Animal [US]'/

'../Sorted/Of Monsters and Men/2011 - My Head Is an Animal':
total 328M
-rw-r--r-- 1 duck 197121 27M Apr 26 16:36 '01 - Dirty Paws.flac'
-rw-r--r-- 1 duck 197121 29M Apr 26 16:36 '02 - King and Lionheart.flac'
-rw-r--r-- 1 duck 197121 19M Apr 26 16:36 '03 - Numb Bears.flac'
-rw-r--r-- 1 duck 197121 27M Apr 26 16:36 '04 - Sloom.flac'
-rw-r--r-- 1 duck 197121 30M Apr 26 16:36 '05 - Little Talks.flac'
-rw-r--r-- 1 duck 197121 25M Apr 26 16:36 '06 - From Finner.flac'
-rw-r--r-- 1 duck 197121 37M Apr 26 16:36 '07 - Six Weeks.flac'
-rw-r--r-- 1 duck 197121 22M Apr 26 16:36 '08 - Love Love Love.flac'
-rw-r--r-- 1 duck 197121 27M Apr 26 16:36 '09 - Your Bones.flac'
-rw-r--r-- 1 duck 197121 36M Apr 26 16:36 '10 - Lakehouse.flac'
-rw-r--r-- 1 duck 197121 55M Apr 26 16:36 '11 - Yellow Light.flac'
-rw-r--r-- 1 duck 197121 83K Apr 26 16:36  cover.jpg

'../Sorted/Of Monsters and Men/2011 - My Head Is an Animal [US]':
total 349M
-rw-r--r-- 1 duck 197121  30M Apr 26 16:37 '01 - Dirty Paws.flac'
-rw-r--r-- 1 duck 197121  29M Apr 26 16:37 '02 - King and Lionheart.flac'
-rw-r--r-- 1 duck 197121  26M Apr 26 16:37 '03 - Mountain Sound.flac'
-rw-r--r-- 1 duck 197121  32M Apr 26 16:37 '04 - Slow and Steady.flac'
-rw-r--r-- 1 duck 197121  25M Apr 26 16:37 '05 - From Finner.flac'
-rw-r--r-- 1 duck 197121  31M Apr 26 16:37 '06 - Little Talks.flac'
-rw-r--r-- 1 duck 197121  39M Apr 26 16:37 '07 - Six Weeks.flac'
-rw-r--r-- 1 duck 197121  24M Apr 26 16:37 '08 - Love Love Love.flac'
-rw-r--r-- 1 duck 197121  28M Apr 26 16:37 '09 - Your Bones.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:37 '10 - Sloom.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:37 '11 - Lakehouse.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:37 '12 - Yellow Light.flac'
-rw-r--r-- 1 duck 197121 182K Apr 26 16:37  cover.jpg

Here's how it looks when I import them individually (desired results)
beet -vv import omam/iceland/

...

extrafiles: S:\Music\old\omam\iceland -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal (My Head Is an Animal by Of Monsters and Men, 11 tracks)
extrafiles: Copying extra file: S:\Music\old\omam\iceland\My Head is an Animal.cue -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal\My Head is an Animal.cue
extrafiles: Copying extra file: S:\Music\old\omam\iceland\My Head is an Animal.log -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal\My Head is an Animal.log

...

beet -vv import omam/us/

...

extrafiles: S:\Music\old\omam\us -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal [US] (My Head Is an Animal by Of Monsters and Men, 12 tracks)
extrafiles: Copying extra file: S:\Music\old\omam\us\My Head Is An Animal.cue -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal [US]\My Head Is An Animal.cue
extrafiles: Copying extra file: S:\Music\old\omam\us\Of Monsters And Men - My Head Is An Animal.log -> S:\Music\Sorted\Of Monsters and Men\2011 - My Head Is an Animal [US]\Of Monsters And Men - My Head Is An Animal.log

...

$ ls -lhR ../Sorted/Of\ Monsters\ and\ Men/
'../Sorted/Of Monsters and Men/':
total 8.0K
drwxr-xr-x 1 duck 197121 0 Apr 26 16:42 '2011 - My Head Is an Animal'/
drwxr-xr-x 1 duck 197121 0 Apr 26 16:43 '2011 - My Head Is an Animal [US]'/

'../Sorted/Of Monsters and Men/2011 - My Head Is an Animal':
total 328M
-rw-r--r-- 1 duck 197121  27M Apr 26 16:42 '01 - Dirty Paws.flac'
-rw-r--r-- 1 duck 197121  29M Apr 26 16:42 '02 - King and Lionheart.flac'
-rw-r--r-- 1 duck 197121  19M Apr 26 16:42 '03 - Numb Bears.flac'
-rw-r--r-- 1 duck 197121  27M Apr 26 16:42 '04 - Sloom.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:42 '05 - Little Talks.flac'
-rw-r--r-- 1 duck 197121  25M Apr 26 16:42 '06 - From Finner.flac'
-rw-r--r-- 1 duck 197121  37M Apr 26 16:42 '07 - Six Weeks.flac'
-rw-r--r-- 1 duck 197121  22M Apr 26 16:42 '08 - Love Love Love.flac'
-rw-r--r-- 1 duck 197121  27M Apr 26 16:42 '09 - Your Bones.flac'
-rw-r--r-- 1 duck 197121  36M Apr 26 16:42 '10 - Lakehouse.flac'
-rw-r--r-- 1 duck 197121  55M Apr 26 16:42 '11 - Yellow Light.flac'
-rw-r--r-- 1 duck 197121  83K Apr 26 16:42  cover.jpg
-rw-r--r-- 1 duck 197121 1.9K Apr 26 16:42 'My Head is an Animal.cue'
-rw-r--r-- 1 duck 197121  22K Apr 26 16:42 'My Head is an Animal.log'

'../Sorted/Of Monsters and Men/2011 - My Head Is an Animal [US]':
total 349M
-rw-r--r-- 1 duck 197121  30M Apr 26 16:43 '01 - Dirty Paws.flac'
-rw-r--r-- 1 duck 197121  29M Apr 26 16:43 '02 - King and Lionheart.flac'
-rw-r--r-- 1 duck 197121  26M Apr 26 16:43 '03 - Mountain Sound.flac'
-rw-r--r-- 1 duck 197121  32M Apr 26 16:43 '04 - Slow and Steady.flac'
-rw-r--r-- 1 duck 197121  25M Apr 26 16:43 '05 - From Finner.flac'
-rw-r--r-- 1 duck 197121  31M Apr 26 16:43 '06 - Little Talks.flac'
-rw-r--r-- 1 duck 197121  39M Apr 26 16:43 '07 - Six Weeks.flac'
-rw-r--r-- 1 duck 197121  24M Apr 26 16:43 '08 - Love Love Love.flac'
-rw-r--r-- 1 duck 197121  28M Apr 26 16:43 '09 - Your Bones.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:43 '10 - Sloom.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:43 '11 - Lakehouse.flac'
-rw-r--r-- 1 duck 197121  30M Apr 26 16:43 '12 - Yellow Light.flac'
-rw-r--r-- 1 duck 197121 182K Apr 26 16:43  cover.jpg
-rw-r--r-- 1 duck 197121 2.1K Apr 26 16:43 'My Head Is An Animal.cue'
-rw-r--r-- 1 duck 197121  14K Apr 26 16:43 'Of Monsters And Men - My Head Is An Animal.log'

And here's my beets config
paths:
    default: %the{$albumartist}/$year_prefer_orig - $album%aunique{,country format year catalognum}/$disc_and_track - $title

...

extrafiles:
    patterns:
        cuelog:
            - '*.cue'
            - '*.log'
        info:
            - 'info.txt'
            - 'source.txt'
            - 'release.txt'
    paths:
        cuelog: '$albumpath/$filename'
        info: '$albumpath/$filename'

The culprit is this code snippet: https://github.com/Holzhaus/beets-extrafiles/blob/master/beetsplug/extrafiles.py#L163-L165
I'll see if I can come up with something better (possibly using the musicbrainz release id?) when I have some spare time. Feel free to open a PR if you don't want to wait.


Add golangci-lint github action + some fixes

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:

[ ] squashed commits
[ ] includes documentation
[ ] adds unit tests

@outscale-hmi an MR to add lint on the CI and fix some of them.

@sebglon golong-CI lint fail,


✨ NEW: Do not allow blank lines within $$

This replaces #6

From @eric-wieser:

This matches the behavior of LaTeX (and of the stackexchange and github markdown parsers), and prevents runaway parsing if a $$ is opened but not closed.

@eric-wieser, I fixed up the linting and the formatting in one test, but it looks like there is an issue with:
$$
a
$$ (label)

Which I believe should still work. Maybe this is just the label part?

That test is from
https://github.com/executablebooks/markdown-it-dollarmath/blob/8bfc9c44abd0240b5865cdcf4bbbeb55c76878ba/tests/fixtures.spec.ts#L62
Right?

Thanks for your contribution here @eric-wieser!

Seems reasonable, but should also be pushed to https://github.com/executablebooks/mdit-py-plugins/blob/master/mdit_py_plugins/dollarmath/index.py

Is that something you port manually, or something that these is a script to port?

@rowanc1, would you be able to take a look at https://github.com/executablebooks/mdit-py-plugins/pull/46? I was hoping to use this from python, but the two versions are still not in sync.

Looks like it just needs a deploy, right?!
Yep I can test it and get it out! 🚀

Oh, I see looks like you need the merge in the python side -- @chrisjsewell any chance that you can give this a bit of attention or guidance on how to bring it in?


kie-issues-308: Operator driven service discovery API Phase2

- Add the discovery of kubernetes Deployment, StatefulSet, and Ingress objects to the service discovery API.

Description of the change:
Motivation for the change:
Checklist

[x] Add or Modify a unit test for your change
[x] Have you verified that tall the tests are passing?

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

Closes: apache/incubator-kie-kogito-serverless-operator#308

@ricardozanini suggestions were added.


Clarification about the PKI requirement

The article is step 7 of a tutorial "Alway on VPN". In the prerequisites of the tutorial (https://learn.microsoft.com/en-us/windows-server/remote/remote-access/vpn/always-on-vpn/deploy/always-on-vpn-deploy-deployment) it mentions "Active Directory-based PKI", but in step 7 ("(optional) Conditional access for VPN connectivity using Azure AD") a new root certificate is created in Azure ("Conditional Access" -> "VPN connectivity") and this root cert is added to NPS. The clients receive a short lived certificate from the new CA and this new certificate is used for the authentication against NPS.
The question is: if this step is implemented, do we still need the Active Directory-based PKI mentioned initially in the prerequisites? I don't see how it would still be required, as the certificates of the OnPremise PKI are not longer used for authentication.
Can you please clarify?
Thanks!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 2ba2a016-bb24-54da-3a90-58944ceed798
Version Independent ID: 7143b569-5ac0-e1b7-6fa2-7247917ab826
Content: Conditional access for VPN connectivity using Azure AD
Content Source: WindowsServerDocs/remote/remote-access/vpn/ad-ca-vpn-connectivity-windows10.md
Product: windows-server
Technology: remote
GitHub Login: @Teresa-Motiv
Microsoft Alias: wscontent

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


MDTraj vs openmm torsion equilibrium angles

There seems to be a mismatch between the definition of the equilibrium torsion angle in openmm for periodic torsions, and MDTraj compute_dihedrals function.
OpenMM periodic torsion defines 0 degrees as the cis conformation.
For example, if I set backbone torsion equilibrium angle to 130 degrees, and enforce no other torsions, we get a torsion distribution like this, centered at about -30 degrees (this also forms a very nice helix!). There may be sterics or nonbonded interactions preventing it reaching the set value, which I'm guessing should be -50.
torsion_dist_state10.pdf

So it definitely looks like we need to shift the torsion equilibrium angle by 180 degrees to be consistent with MDTraj. For example, if we want the torsions to be measured as +50 degrees in MDTraj or VMD, we need to input into openMM an equilibrium value of -130. I'm thinking we can have a user input the torsion as +50 degrees, and convert the angle internally in cgmodel.py.
However, this all seems to go against this convention from openmm documentation:
http://docs.openmm.org/latest/userguide/theory.html#rbtorsionforce
"For reason of convention, PeriodicTorsionForce and RBTorsonForce define the torsion angle differently. θ is zero when the first and last particles are on the same side of the bond formed by the middle two particles (the cis configuration), whereas ϕ is zero when they are on opposite sides (the trans configuration). This means that θ = ϕ - π."
The θ=0 for cis configuration is what MDTraj uses.

I'd post an issue with OpenMM to ask for clarification.  I'm not sure it totally matters, as long as the documentation is clear.

Was thinking about the periodic torsion potentials again - what we are seeing for periodicity of 1 makes perfect sense actually because theta_0 is a phase offset, not an equilibrium value. At theta_0, the potential is at a maximum, and at (180-theta_0) a minimum.
Likewise, if we use periodicity of 3, the maximums are (theta_0/3, theta_0/3+120, theta_0-120),
and the minimums are at (theta_0/3+60, theta_0/3+180, theta_0/3-60). Should be able to work out a general formula for specifying the equilibrium angle rather than the phase offset.
On a related note to https://github.com/shirtsgroup/cg_openmm/issues/53, it seems that using a single periodic torsion, if we want a symmetric potential about theta=0, we are limited to minima at +/-60 for periodicity=3, +/-90 for periodicity=2, and so on. That will probably work for the first paper but we will definitely want the sums of periodic terms in the future.


feat(python): add poetry support

Resubmitted/adjusted from https://github.com/conventional-changelog/standard-version/pull/643

@TimothyJones, can you take a look at this when you have time?

Oh, and could you add a note to the readme that explains how to use it, and any caveats for Python people?

@TimothyJones , reminder to follow up on this.

Oh, sorry - I don't get notified unless there's new comments. I'll take a look now

Needs npm run format:fix to be run - I'll check it out and push a commit.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 90.90909% with 2 lines in your changes missing coverage. Please review.

Project coverage is 92.80%. Comparing base (7ebdacd) to head (4f7b4a5).
Report is 25 commits behind head on master.

Files with missing lines
Patch %
Lines

lib/updaters/index.js
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #188      +/-   ##
==========================================
- Coverage   94.11%   92.80%   -1.32%
==========================================
  Files          26       29       +3
  Lines         493      542      +49
==========================================
+ Hits          464      503      +39
- Misses         29       39      +10

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


Get-WinO365Exchange issue

Good Evening,
Attempting to run your scripts for an O365 tenant and had to fix several things initially using the examples provided etc.  However, stuck here:
`Get-WinO365Exchange : The term 'Get-WinO365Exchange' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and
try again.
At C:\Program Files\WindowsPowerShell\Modules\PSWinDocumentation\0.5.0\PSWinDocumentation.ps1:107 char:55

...     'ExchangeOnline' { $DataInformation = Get-WinO365Exchange -TypesR ...

                                          ~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (Get-WinO365Exchange:String) [], CommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException`

Any help you can provide?

Well, I do need to udpate PSWinDocumentation to changes I am doing. Some time ago I've decided to split PSWinDocumentation into submodules because PSWinDocumentation, as is, is very stiff. O365 was never ready for production thou.
You should take a look at:

PSWinDocumentation.AD - https://github.com/EvotecIT/PSWinDocumentation.AD - with the described process in here https://evotec.xyz/what-do-we-say-to-writing-active-directory-documentation/ - it's for AD but the same road for O365 is in progress for O365.

PSWinDocumentation.O365 - https://github.com/EvotecIT/PSWinDocumentation.O365

While I work on O365 and AD, the main, stiff module is not really touched therefore some things may not work correctly. I say stiff because you're limited with output and you can't really create nice docs with some external stuff from other systems.
In examples, you have a small how to use it. It's a work in progress thou. There are lots of data sets that are somewhat ok, but the only a subset of them was put into Dashimo or Documentimo for now. You also have to do your own connection to O365. I'm using my own Connectimo module but feel free to use anything. You need to be connected for the module to work properly as it touches Teams, Skype, Exchange, MSOL, Azure so you need to connect to 5 of them for the module to not bug out (I will, later on, try to make sure error handling for not connected modules is much better but for now it is what it is).

I've updated the main module so it won't error out like that. I've updated examples as well. It's the basically the same approach as per https://github.com/EvotecIT/PSWinDocumentation/issues/20

Closing this, as the issue should be solved. However, improvements to O365 as such are not yet over.


support issues with window.scrollY

window.scrollY is not supported by IE9 (which is the browser requirement for this plugin).
Change it for window.pageYOffset

Done https://github.com/mauriciosoares/pin.js/commit/59d66019dfec02f335ec4d25cf9a1efd83ead174


Prototype of collection

VER-90670
This PR contains a prototype of what collecting resources as a parquet files looks like.
Key Features

Each qprof collection activity is called a "step", broken out into its own class
The collector iterates over steps to produce parquet files
The collector generates a metadata.json file
The collector bundles the metadata.json and the parquet files into a single output file
The process is testable: each step is testable and so is the overall output

Didn't build yet, but know that we want to build

The collect_all function should return a URL that allows the user to download files
The collect_all function should infer a browser temp directory when using a jupyter notebook
Better docstrings to describe the different pieces
Continue extending tests

Next steps

Discuss the design with everyone, ensure that we agree on the way forward
Integrate with qprof class

1. We should create a separated folder for the collection.

Which folder would you prefer? performance/vertica/collection?

2. For the information collection, we do not need to work with steps but more with copy of tables so 1 file for each system table. For the version, or other "small info" we can merge them together in one file or just create one PARQUET file for each.

I agree with part of the statement above.

Yes, I think we can decouple some of the collection from the analysis, and just collect a few of the tables.
And yes, it is better to merge some of the info into a single table.
Do we want to support "offline" analysis? For this small data, we could support analysis from the parquet files without load into a DB. It makes things easier for users. But I'm not sure if that is something to prioritize.
I want to break the qprof steps into pieces. There's a few ways to do that.... we should discuss.

3. Look why your tests are failing.

All legs of the test timed out, including test legs that didn't have a new test from me. I don't have a button to resubmit tests on the same commit. Is there somewhere I can re-run tests? I am also unable to add reviewers... perhaps I need more permissions?

I am closing this PR as we've changed our direction for the collection.

Correct! This PR should be closed because we have a different direction for collection


Thread and Database Abstraction and Optimisation

Changes:

only run app.js on non-master threads
only run scripts on master thread
only make one MongoDB instance per thread
only make one Redis instance per thread
allow redis URL to be configured and update Docs

closes #722
closes #723

@Flou21 can you make sure this works with your Redis setup

@Flou21 can you make sure this works with your Redis setup

yes it does solve my problem as well, thanks


Do we need the fuse optimization?

I have an integration test that performs fuse optimization. But the fuse optimization is outdated in inso-maven-plugin.
We can repair this optimization according with new changes (update it), or we can simply remove it if we don't plan support it further.

@yegor256 @maxonfjvipon


Using auto-upgrade tags in run command for images that are built locally(not pushed to registry) does not work.

acorn version v0.5.0-rc2-2-g6cee142+6cee1422 (Build from master Jan 17)
Steps to reproduce the problem:

Build an image locally using acorn build with tag - mytest1:v0.0.1
Run testlocal app using auto-upgrade tags
acorn run -n testlocal --interval 2m "mytest1:v#.#.#

App is stuck in trying to get an image that satisfies the tags.
acorn images
REPOSITORY               TAG       IMAGE-ID
sangeetha/myfirstacorn   v0.0.1    ee8a243e3e7a
mytest1                  v0.0.1    223f1e3b2328

acorn run -n testlocal --interval 2m "mytest1:v#.#.#"
testlocal
STATUS: ENDPOINTS[] HEALTHY[0] UPTODATE[0] [image-pull: waiting for image to satisfy auto-upgrade tag v#.#.#]

Tested with acorn version v0.5.0-5-g59796db+59796dbe

Build an image locally using acorn build with tag - mytest1:v0.0.1
Run testlocal app using auto-upgrade tags
acorn run -n testlocal  mytest1:v#.#.#

App gets deployed successfully using image mytest1:v0.0.1

Build another version of the image locally using acorn build with tag - mytest1:v0.0.2

App gets updated automatically to  image mytest1:v0.0.2 with in the next 5 minutes (default auto upgrade interval)


No known class method for selector 'setScreenName:screenClass:'

iOS 11.2.1
Please help

I am taking a similar problem
what is the solution?
@sarawutl


I want to be able to see my available token amount

User Story
As Chris, I want to be able to see my available token amount so that I am able to decide how much tokens I can deposit in a channel.
Acceptance criteria
Tasks
Story Points

Already works


ChainIDE + Polkaholic.io WASM Contract Explorer Integration - Milestone 1 delivery

Hey, we haven't had time to review this yet, but we'll try to soon 🙇

Hey team!
Here's the form for payment details: https://forms.gle/BUCKfygkiEvpdYna6.
Once you've filled it out, please let me know and be sure to specify what it pertains to; you can include the link to this PR delivery! Further details can be provided under the section: "Please describe which Milestone you have completed and attach the link to the Milestone delivery."
Should you have any questions, don't hesitate to ask. Thank you so much!

For guidance on how to set up identity, refer to this guide.

Hey team!
Here's the form for payment details: https://forms.gle/BUCKfygkiEvpdYna6. Once you've filled it out, please let me know and be sure to specify what it pertains to; you can include the link to this PR delivery! Further details can be provided under the section: "Please describe which Milestone you have completed and attach the link to the Milestone delivery."
Should you have any questions, don't hesitate to ask. Thank you so much!
 For guidance on how to set up identity, refer to this guide.

Hi, Tomo. I come from ChainIDE. According to the contract, the grant amount is allocated as follows: 120,000 USD Total: 60,000 USD (Colorful Notion), 60,000 USD (ChainIDE). Does this mean that both Colorful and ChainIDE need to fill out this form?

Hi, Tomo. I come from ChainIDE. According to the contract, the grant amount is allocated as follows: 120,000 USD Total: 60,000 USD (Colorful Notion), 60,000 USD (ChainIDE). Does this mean that both Colorful and ChainIDE need to fill out this form?

@wufengtao1 We did our part [for Colorful Notion], you can do your part [for ChainIDE] -- thanks!

@TtomaS7 @sourabhniyogi  ChainIDE has submitted the form for payment details, and the email is<EMAIL_ADDRESS>:)

Hey team!
Here's the form for payment details: https://forms.gle/BUCKfygkiEvpdYna6. Once you've filled it out, please let me know and be sure to specify what it pertains to; you can include the link to this PR delivery! Further details can be provided under the section: "Please describe which Milestone you have completed and attach the link to the Milestone delivery."
Should you have any questions, don't hesitate to ask. Thank you so much!
 For guidance on how to set up identity, refer to this guide.

As per your request, we resubmitted with just 1 address to receive payment for both teams.  Thank you!

You can claim your rewards in 7 days!!
https://polkadot.subsquare.io/treasury/child-bounties/19_462

Great submission!
Thanks for laying out all the features and providing links and videos, super helpful during my review!
What are the blockers before this can be put into production? I'd love to see developers start to leverage the IDE as well as all the APIs behind it

@HCastano  Can you suggest a non-Astar production path that we can explore with you by the end of the year, which we can address in Milestone 2.  Ready to have a "next steps" discussion.
We need to get coordinated on the verification process, PolkaVM, Rococo => ____, and the basic "Who are the top 10 WASM Contract devs who build what that users actually use" question?

@sourabhniyogi Hey sorry, just saw your last message. Is this something that you still need help with?

I believe we should chart a path for ink!ubator for Coreplay and get coordinated on that.


View long text fields

Is there way to view long text field data as a text in separate dialog window/screen?

You can:

Open it in separate dialog/editor with Shift+Enter (or Edit cell)
Open value view panel (in Panels dropdown) and see the value in multiline panel


Meilisearch double quote on "match" query

try to make nonFuzzyWorkaround unessesary
cc @Kerollmops

Thank you for the clear explanation. So, exposing the typoTolerance.enabled setting on the search route could fix the issue?

PS: yes t hat would be even better ...

Would that work?

Yeah, that's the idea. The only downside I see with this "double-quote everything" solution is that you cannot parse the same way as Meilisearch, and that's why the "expose the typoTolerance.enabled setting in the search route" is better in my opinion.
I just talked about this to our Product manager and they will prioritize this.
However, we don't refer to typo tolerance as fuzziness so I was a bit confused 😄

@Kerollmops that's awesome :heart:
I hope to get the code-search ready for meilisearch too and at that point we should have a really good integration :rocket:

well with this patch if I search for Tabellenspalte in the code:
... in der `Tabellenspalte "D"` ist ...

it wont find it anymore but I think that's ok as #29701 will let the user decide if he want it fuzzy (typoTolerance) or not
thanks in advance to @Kerollmops for  pointing out how to tell meilisearch to do so

Thank you for the PR @6543. We will take care of it later this or next week 🙂

Can you have a ref doc link for the quote behaviours?

Here it is: https://www.meilisearch.com/docs/reference/api/search#phrase-search

I was unable to create a backport for 1.21. @6543, please send one manually. :tea:
go run ./contrib/backport 29740
...  // fix git conflicts if any
go run ./contrib/backport --continue

#29846


Ask:: Fail notification to use NotificationFailed Event.

Hi @benwilkins
Did you have any plan to add NotificationFailed when notification got failed? If so, I would like to make a PR.
Currently, when notification got failed. It was going to failed_jobs. Instead of that, by using NotificationFailed event, we can customize whatever we want. Like adding a status column to notifications table and customizing base on success and failure?

@benwilkins You can see example usage on other packages.

Do you guys have any guide for receiving the response? I keep getting a blank/null response but the notification is sent successfully

@poklin I don't have any issue with receiving the notification response. Also, take a check notification events on official docs.

@setkyar Yup, I did check and created Event and Listener. But I do not what is the "key word" to get the response back from FCMChannel. If I do dd() inspection on the FCMChannel, I did receive the response, just I do not know how to retrieve it from the front. >.<

@benwilkins
I can send a PR for the NotificationFailed.
Laravel does not emit this event by default, package developer need to handle and dispatch it.
See example


support selector in 'on' function

Support selector passing in "on" function (optional).
If passed, the handler first checks the event target to match the selector.

This is not working as it should, Check out demo: http://jsfiddle.net/q8grdnxa/
It should detect if user clicks on any element within delegated element.

Thanks. Changed to a limited "closest" check:
http://jsfiddle.net/q8grdnxa/1/

:+1: Thank you @liady

I just noticed that $(document).ready event doesn't fire after your changes @liady Can you check what is wrong?

You're right, I already handled that case but didn't clear the selector variable. Fixed now:
http://jsfiddle.net/q8grdnxa/2/


accountManagePage shows balance of current account instead of displayed account

tested with v1.5.0

add at least two accounts with different balances: Alice and Bob
select Alice as active account
go to profile and tap Bob account
the community balance shown is alice's

Ah, yes the bug lies in https://github.com/encointer/encointer-wallet-flutter/blob/4b431e1d0b290e411c4761bf2981a1093d1e49fe/lib/page/profile/account/accountManagePage.dart#L254
We need to replace:
store.encointer.account....

with
store.accounts[addressSS58].balanceEntries[cidFmt]


Better repartition behavior with npartitions

If you have source files that are not the same size df.repartition doesn't behave in an intuitive way.  For example.   If I specify
df.repartition(npartitions=4)

where one source file is much smaller than the other you get partitons sizes like this:
2020-08-19 12:39:11        622 0.part
2020-08-19 12:39:12        868 1.part
2020-08-19 12:39:22    6779422 2.part
2020-08-19 12:39:22    6785240 3.part

This is because the way that dask choses to create partitions is appears to be as a subset from how the source files are originally partitioned (as the documentation for partition_size says npartitions does not compute the byte size of the partitions).  However, this does not appear to be the case when using "partition_size".  In order to get the behavior I would expect npartitions to create I have to repartition twice so that much smaller partitions are created and then combined:
df.repartition(partition_size=even_worker_partition_size).repartition(npartitions=4)

2020-08-19 13:00:36    3145730 0.part
2020-08-19 13:00:36    3477110 1.part
2020-08-19 13:00:36    3471711 2.part
2020-08-19 13:00:36    3471601 3.part

But has the obvious penatly of having to repartition twice.

If you intend all partitions to be the same size, then it is best to set that explicitly using partition_size. To get your desired outcome it would make sense for you to determine the total memory usage of the dataframe and then set the partition_size to that divided by the desired number of partitions.

That would only be true if the on disk size was the same as in memory which isn't the case.

I would expect something like this to work ddf.repartition(partition_size=ddf.memory_usage(deep=True).sum().compute() // n)  but it doesn't give preciesly n partitions. You might be interested in a similar issue that came up in dask array: https://github.com/dask/dask/pull/6420. Maybe that approach could be expanded for dask dataframe.

Just checking in here, @kyprifog do you have a suggestion for how the current situation could be improved?

Well, i dont really know.  Ideally it would be better if there were a way to get even partitions without having to repartition twice.   I tried rebalance but had no luck with that approach.  I'll have to spend more time playing around with it.

The second repartition is relatively cheap.  I don't see an obvious thing to improve here.  I'm going to close this for now.  If there is more to discuss then please chime in and we'll reopen.


Update columnar software in venvs.

This PR updates the python packages in the venv_columnar* sandboxes.
Most notably, switching to pyarrow 13 is successful now, most likely due to updates in awkward itself.

LGTM, thanks @riga ! I made one additional minor change in setup.py -- the python version requirement was not compatible with the currently used python version 3.9.1, so I increased this. Would be good if you could maybe also have a look though :D


Set cookie does not work when Spark is deployed in Apache Tomcat

In Apache Tomcat (in my case with Apache Tomcat 8), spark does not set a cookie value. The JSession ID is set but not the custom cookies I try to set.
response.cookie(COOKIE_NAME, cookie);
I opened a post in StackOverflow giving the complete details:
https://stackoverflow.com/questions/49782776/how-to-set-cookies-in-spark-java-being-deployed-in-apache-tomcat

I also have this issue with my Spark application which is deployed on Heroku.