High-speed differential measurements are incorrect

Attempting to cycleDifferential at high speed results in incorrect values.  Specifically, the measurement from the differential pair is repeated as the value for the second differential pair, and the same value (I'm not sure which) is repeated for both the third and fourth differential pairs.
To reproduce, use the first sketch below.  Physically tie each AINx to ground, except tie AIN0 to 3.3V.  I used an Arduino Uno.  Here is a sample of the output I observed:
Print while reading: 5541145	-15	1	38
Print after reading: 5541193	5541193	42	42	 BAD!
Print while reading: 5541176	3	-17	43
Print after reading: 5541257	5541257	7	7	 BAD!
Print while reading: 5541230	-26	4	51
Print after reading: 5541253	5541253	-34	-34	 BAD!
Print while reading: 5541269	64	18	55
Print after reading: 5541168	5541168	25	25	 BAD!
Print while reading: 5541142	6	21	-26
Print after reading: 5541173	5541173	32	32	 BAD!

Each line is printing the 4 differential values from a full cycle of cycleDifferential.  Note:

Each line prefaced with "Print while reading" is reasonable -- each value is usually different, and the first channel is around 5 million ADC counts (corresponding to 3.3V).
The first and second, then third and fourth, values are always identical in the lines prefaced with "Print after reading".  It is implausible that these represent the true values as the second differential pair is connected directly to ground, yet we observe exactly the same value as the first channel (which is not connected to ground) every time.

I strongly suspect this is due to incorrect timing or handshakes in the acquisition of differential measurements from the ADS1256.  The difference between the two lines is that "Print while reading" writes content to the serial port after each channel's measurement while "Print after reading" waits until all 4 channels' measurements have been captured before writing to the serial port.  This means there is an additional delay in "Print while reading" that is not present in "Print after reading".  Since the latter fails while the former succeeds, I suspect that a manual delay is not set to be long enough in the library, or else an handshake signal is interpreted incorrectly.
If I use the second sketch below to figure out what additional delay fixes the issue, the answer appears to be "at least 112 microseconds":
114us:	0	bad out of 1000; last measurement:	5541083	23	29	30
113us:	0	bad out of 1000; last measurement:	5541238	-9	33	33
112us:	0	bad out of 1000; last measurement:	5541410	15	9	53
111us:	786	bad out of 1000; last measurement:	5541413	5541413	20	60
110us:	894	bad out of 1000; last measurement:	5541300	5541300	22	22
109us:	795	bad out of 1000; last measurement:	5541234	5541234	11	11
108us:	479	bad out of 1000; last measurement:	5541321	9	9	10
107us:	635	bad out of 1000; last measurement:	5541225	-26	-26	48
106us:	870	bad out of 1000; last measurement:	5541365	5541365	-13	-13
105us:	991	bad out of 1000; last measurement:	5541329	5541329	3	3
104us:	995	bad out of 1000; last measurement:	5541120	5541120	14	14
103us:	994	bad out of 1000; last measurement:	5541259	5541259	13	13
102us:	998	bad out of 1000; last measurement:	5541403	5541403	38	38
101us:	996	bad out of 1000; last measurement:	67	7	7	30
100us:	996	bad out of 1000; last measurement:	5541168	5541168	24	24
99us:	997	bad out of 1000; last measurement:	5541288	5541288	-15	-15
98us:	997	bad out of 1000; last measurement:	69	-71	-71	41
97us:	998	bad out of 1000; last measurement:	36	6	6	70
96us:	998	bad out of 1000; last measurement:	5541149	5541149	8	8
95us:	998	bad out of 1000; last measurement:	130	-7	-7	18

Demo sketch:
#include <ADS1256.h>

const uint8_t ADC_DRDY = 2;
const uint8_t ADC_RESET = 0;
const uint8_t ADC_PDWN = 8;
const uint8_t ADC_CS = 10;
const float ADC_VREF = 5.0f;
ADS1256 adc(ADC_DRDY, ADC_RESET, ADC_PDWN, ADC_CS, ADC_VREF);

const uint8_t N_CHANNELS = 4;

void setup()
{
  Serial.begin(115200);

  while (!Serial)
  {
    ; //Wait until the serial becomes available
  }

  Serial.println("Initializing ADC1256...");
  adc.InitializeADC();
  Serial.println("Initialized.");

  adc.setPGA(PGA_1);
  adc.setDRATE(DRATE_30000SPS);
}

bool print_while_reading = true;
void loop()
{
  Serial.print(print_while_reading ? "Print while reading: " : "Print after reading: ");
  int32_t values[N_CHANNELS];
  for (uint8_t channel = 0; channel < N_CHANNELS; channel++)
  {
    values[channel] = (adc.cycleDifferential() << 8) / 256;
    if (print_while_reading) {
      Serial.print(values[channel]);
      Serial.print("\t");
    }
  }
  if (!print_while_reading) {
    for (uint8_t channel = 0; channel < N_CHANNELS; channel++) {
      Serial.print(values[channel]);
      Serial.print("\t");
    }
  }
  if (values[0] == values[1] && values[2] == values[3]) {
    Serial.print(" BAD!");
  }
  Serial.println();
  delay(1000);
  print_while_reading = !print_while_reading;
}

Additional delay evaluation sketch:
#include <ADS1256.h>

const uint8_t ADC_DRDY = 2;
const uint8_t ADC_RESET = 0;
const uint8_t ADC_PDWN = 8;
const uint8_t ADC_CS = 10;
const float ADC_VREF = 5.0f;
ADS1256 adc(ADC_DRDY, ADC_RESET, ADC_PDWN, ADC_CS, ADC_VREF);

const uint8_t N_CHANNELS = 4;
const uint16_t ADDITIONAL_DELAY_US = 0;

void setup()
{
  Serial.begin(115200);

  while (!Serial)
  {
    ; //Wait until the serial becomes available
  }

  Serial.println("Initializing ADC1256...");
  adc.InitializeADC();
  Serial.println("Initialized.");

  adc.setPGA(PGA_1);
  adc.setDRATE(DRATE_30000SPS);

  Serial.println("Configured.");
  delay(1000);
}

#define fix24bit(value) ((value) & (1l << 23) ? (value) - 0x1000000 : value)

void loop()
{
  const int32_t THRESHOLD = 100000;
  for (uint16_t dt = 115; dt >= 85; dt -= 1) {
    int32_t value1, value2, value3, value4;
    uint16_t n_total = 0;
    uint16_t n_bad = 0;

    for (uint16_t i = 0; i < 1000; i++) {
      value1 = adc.cycleDifferential();
      delayMicroseconds(dt);
      value2 = adc.cycleDifferential();
      delayMicroseconds(dt);
      value3 = adc.cycleDifferential();
      delayMicroseconds(dt);
      value4 = adc.cycleDifferential();
      delayMicroseconds(dt);
      n_total++;
      value1 = fix24bit(value1);
      value2 = fix24bit(value2);
      value3 = fix24bit(value3);
      value4 = fix24bit(value4);
      if (value1 < THRESHOLD || value2 > THRESHOLD || value3 > THRESHOLD || value4 > THRESHOLD) {
        n_bad++;
      }
    }

    Serial.print(dt);
    Serial.print("us:\t");
    Serial.print(n_bad);
    Serial.print("\tbad out of ");
    Serial.print(n_total);
    Serial.print("; last measurement:\t");
    Serial.print(value1);
    Serial.print("\t");
    Serial.print(value2);
    Serial.print("\t");
    Serial.print(value3);
    Serial.print("\t");
    Serial.print(value4);
    Serial.println();
  }

  delay(10000);
}

Wow, thank you for the fantastic explanation!
Coincidentally, I have a follower on Instagram who noticed the same erratic behaviour and reported it to me very recently. At high acquisition speeds, he got the exact same symptoms as you presented here. I tried to reproduce it, but sometimes it occurred, sometimes not, so I just thought it might be poor wiring or floating inputs. I was wrong.
It is interesting that this issue happens because there should be a firm handshake signal when the new acquisition can start which is the DRDY pin's status change. I carefully followed the datasheet of the chip and double-checked the timings with a logic analyser.
So, coming back to the code you presented, it seems that I need to introduce an additional delay between two readings while cycling the differential inputs.  This is where the handshake (DRDY) pin should drive the subsequent readings, but seemingly it does not do it. The code is waiting before switching the MUX to the new channel and when the DRDY goes low, it lets the acquisition run. Then it waits again for the DRDY... and so on... With your modification, it seems that you added a little extra time after the acquisition is done and before the code starts to wait for the DRDY before changing the MUX to the new channel.
I put a delayMicroseconds(120); line directly before the waitForDRDY(); in the cycleDifferential() function and now it seems that the values are stable.
Do you think that I should do it differently, or I could just insert this small delay directly in the cycleDifferential() function?

It does look like you are very meticulous (more so than me; I think we're both good stereotypes of engineer and scientist) so I am looking forward to seeing why this happens.  I'm planning to look into it too, but wanted to document the repro steps before moving onto that :)
I think the 120 us delay should practically work, but I feel like that's just the empirical solution and I'm interested in knowing why that's needed (plus, I'd expect adding a delay like that to decrease the achieved sample rate and that's very undesirable).  Like you say, I would expect the chip to work exactly like the datasheet says, so I wouldn't expect that additional delay to be necessary if the implementation were perfect.  If it is necessary despite a perfect implementation, then the next bug report would probably be to Texas Instruments, but I don't know that I've ever experienced a hardware bug myself before.
Thanks for the library, and especially the excellent documentation :)

Thank you!
Well, based on the details you provided in your comments, I think you are even more meticulous than me. I am really thankful that you took the time to try to work on the solution and provide a very good step-by-step guide!
I have the same feeling about adding a manual delay. It feels very empirical. I am not a big fan of "magic numbers" because they are usually just a temporary fix, but they don't solve the root cause of the issue.
I will run a few more tests with a logic analyser and oscilloscope to be 100% sure, but I already did it so many times when I wrote the library. But it is of course possible that I overlooked something. If it still does not lead to anything, then I will contact TI and ask them about their opinion.
I am very happy to hear that you liked the documentation. It saves a lot of time in the long run because I can just tell people to read it. I think I documented most of the things down to the tiniest details.

So, I could not resist and quickly hooked up a test system with a logic analyser. I monitored the DRDY, SCLK, DIN (MOSI) and DOUT (MISO) pins.
The signals below are captured from the code that has no delay. If you see the DRDY signals, it is rather random. It "misfires" several times and this seems to cause the erroneous behaviour.

If you look at this image below, you can see that it is much more homogeneous and the DRDY has a very periodic signal. This signal is produced with the 120 us delay before the waitForDRDY() function. This seems to make everything correct.

Now I need to figure out if it is my code or the ADS1256!?

That's fantastically useful.  I'll see if I can reproduce with an oscilloscope to see if it might be an electrical noise thing versus a digital logic thing (presumably the latter, but perhaps worth ruling things out)

Hmm, at first glance, it seems like the ADS1256 is only being queried twice for a cycle of "four" channel measurements.  Below, red is SCLK and blue is DRDY.  I'm running a 4-channel read cycle every second, and there does not appear to be any SCLK movement outside this period.  The sketch I'm using is below as well.

...and this is after setting the ADDITIONAL_DELAY_US constant to 120:

It looks like the library is behaving as if DRDY went low when it did not go low electrically.  Here's a zoomed in view, back to no additional delay (current bad behavior):

Continuing the investigation :)
Trial sketch:
#include <ADS1256.h>

const uint8_t ADC_DRDY = 2;
const uint8_t ADC_RESET = 0;
const uint8_t ADC_PDWN = 8;
const uint8_t ADC_CS = 10;
const float ADC_VREF = 5.0f;
ADS1256 adc(ADC_DRDY, ADC_RESET, ADC_PDWN, ADC_CS, ADC_VREF);

const uint8_t N_CHANNELS = 4;
const uint16_t ADDITIONAL_DELAY_US = 0;

void setup()
{
  Serial.begin(115200);

  while (!Serial)
  {
    ; //Wait until the serial becomes available
  }

  Serial.println("Initializing ADC1256...");
  adc.InitializeADC();
  Serial.println("Initialized.");

  adc.setPGA(PGA_1);
  adc.setDRATE(DRATE_30000SPS);

  Serial.println("Configured.");
  delay(1000);
}

void loop()
{
  const int32_t THRESHOLD = 100000;
  int32_t value1, value2, value3, value4;
  uint16_t n_total = 0;
  uint16_t n_bad = 0;

  for (uint16_t i = 0; i < 1; i++) {
    value1 = adc.cycleDifferential();
    delayMicroseconds(ADDITIONAL_DELAY_US);
    value2 = adc.cycleDifferential();
    delayMicroseconds(ADDITIONAL_DELAY_US);
    value3 = adc.cycleDifferential();
    delayMicroseconds(ADDITIONAL_DELAY_US);
    value4 = adc.cycleDifferential();
    delayMicroseconds(ADDITIONAL_DELAY_US);
    n_total++;
    if (value1 < THRESHOLD || value2 > THRESHOLD || value3 > THRESHOLD || value4 > THRESHOLD) {
      n_bad++;
    }
  }

  Serial.print(n_bad);
  Serial.print("\tbad out of ");
  Serial.print(n_total);
  Serial.print("; last measurement:\t");
  Serial.print(value1);
  Serial.print("\t");
  Serial.print(value2);
  Serial.print("\t");
  Serial.print(value3);
  Serial.print("\t");
  Serial.print(value4);
  Serial.println();

  delay(1000);
}

Hmm. After rereading the datasheet, I might have some clue about the issue. It would explain at least the fact that the erroneous behaviour is only present at high sampling speeds.
On page 20, table 13 mentions the settling time. And on page 21, table 14 mentions the MUX cycling throughput.
It somehow feels that this could be the key, however, I might misinterpret it. At high sampling speeds, the conversion (basically, 1 cycle) is performed so fast that when the code is about to reach the MUX changing part of the code again, the settling time has not yet passed. And then this can cause the second channel to return the first channel's value.
I zoomed in the chart here and there, and I found parts where the time from WREG to WREG (t19) is less than 228.6 us which is t19 at 30 ksps. Also, the DRDY is still high when the next WREG is written, although this should not happen.

I believe that adding the extra delay helps both the MUX to settle and the DRDY to properly settle at the desired status.
On the other hand, as you also mentioned, it messes up the sampling frequency. The throughput goes down to roughly 1.8 kHz, instead of 4.3 kHz. After a little sleep, I will try to dig deeper.

I think the DRDY handshake is being misinterpreted.  Below is what I think is a zoomed-in trace of two calls to cycleDifferential with my annotations:

I believe the primary problem is the bold text.  At this point, DRDY falls and therefore marks DRDY_value as true, but then DRDY is, in fact, not ready at the time waitForDRDY() is later called.  The solution should be to set DRDY_value to false just before the first possible moment it could potentially indicate true readiness for the next call.  I have a draft PR that I think does this close to correctly, but I think you may need to refine the locations I've set DRDY_value to false.


Get a post with slug?

How to get a post with slug?

Is it even possible via WP-API?

Yes, it's in the long list of supported arguments, on
http://v2.wp-api.org/reference/pages/
eg: /wp-json/wp/v2/pages/?slug=about

if it is possible then it is possible with wp-api-angular:
import { URLSearchParams } from '@angular/http';
export class Component {
    constructor(
        private wpApiPages: WpApiPages
    ) { }

    getPageBySlug() {
        const uRLSearchParams = new URLSearchParams();
        uRLSearchParams.set('slug', 'about');

        wpApiPages.getList(
            search: uRLSearchParams
        ).map((r) => r.json())
        .subscribe(()
    }
}

when i do this my editor says
severity: 'Error'
message: 'Supplied parameters do not match any signature of call target.'


Adapt layout for latest kubebuilder and golang standard

Changes:

Move controller directory to internal and rename to singular
Move main to cmd directory

/retest


Add new evaluation methods for remapped labels and stitcher

Fixes #60.

code-wise this should be ready to merge. Waiting for the final report on the stitcher "grid search" results.

Results from more recent experiments are reported in the linked issue. Finally merging this.


Fix example hooks for recent API changes

Example hooks were broken in #41.

Good catch, thank you!


Add isstrided trait

This can be used to check whether an AbstractArray instance can be converted to a StridedView.

Yes, that should be easier now that the error changed from the strides calculation to the sreshape function itself. Before this was harder, because it was thrown at a certain stage of the recursive process to calculate the strides, so it did no longer have access the full old and new sizes.


feat: multiple authn changes

These changes are not definitive, and it's just a quick fix for a user POC. The idea is still moving to openid.

Using LDAP env variables in the config makes it easy for users to move things around.
Disable example app-config to be able to log in as multiple users.

/lgtm


 This is the expected behavior of the build system.

OPS Build status updates of commit 47407ac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/storage.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Issues Setting/Getting Values with macOS 13

I've been using m1ddc for some time now to automate switching inputs on my monitor, but I discovered after upgrading to macOS 13 that it does not perform as expected. I'm running m1ddc on an M2 MacBook Air, previously on macOS 12, and now on macOS 13.0.1. My monitor is connected via DisplayPort over a USB-C to DisplayPort adapter, which worked with macOS 12.
On macOS 12, the following command resulted in an input change (switching to the HDMI input on my monitor):
m1ddc display 1 set input 5
However, the same command now fails silently on macOS 13. I made sure to rebuild m1ddc after the OS upgrade.
Running m1ddc display list still shows the display as it has before.
I also noticed that getting values using m1ddc display 1 get [x] (where [x] can be input, luminance, etc) returns erratic values that fluctuate when called repeatedly. For example, running m1ddc display 1 get input repeatedly returns 0 most of the time, but sometimes -1, -124, or 16, even if no parameters are modified (either through m1ddc or externally via the monitor's controls). Unfortunately, I didn't get a chance to experiment extensively with get on macOS 12 to have a useful baseline for comparison, but intuitively, the fluctuating values aren't consistent with expected behavior.

Closing this issue because of a rather trivial fix...unplugging the monitor for a few seconds and plugging it back in 😆   Apparently the monitor must've gotten into a bad state and powering it off (multiple times) with the power button didn't suffice.

lol,  huh, glad it worked out as I'd have had no idea how to fix the problem...


Only add params if they don't already exist

Fixes #867
Once we move all of the SDKs that use the StorageAccountClient to the pipeline architecture, this workaround can be removed.

@bmc-msft that match expression will be deleted when we move all the Storage SDKs to the pipeline architecture since this is all handled by the authentication policy.


EBPF plugin

@paulbellamy PTAL
Still a few TODOs but it's fully functional. The changes in the unix rountripper make the connections persistent and require handling errors a bit different as I mentioned in #1126

Mentioned elsewhere, but is it possible to add a test for the unix round tripper change demonstrating the changed behaviour?

Would be nice if the directory was example/plugins/http-requests (to match the plugin name)

Mentioned elsewhere, but is it possible to add a test for the unix round tripper change demonstrating the changed behaviour?

The desired behavior (and I admit is pretty unspecific) for this pull request is getting the python plugin to work because httputil was misbehaving.

LGTM


README: Add some instructions for running typescript tests and linter.

I created a PR yesterday and had a tslint error when CI ran so went looking for instructions on how to run the linter but couldn't find any. I don't know if what I've written here is necessarily the best way, but it's what I found that worked.

I've also used npm run vscode:prepublish to see the errors, but it might be covered by npm run ci.

bors r+
Note that we are moving the frontend code to https://github.com/rust-lang/vscode-rust

bors r+


Fix memory leak in ossl_rsa_fromdata.

Occurs if a malloc failure happens inside collect_numbers()
Reported via #18365

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

This pull request is ready to merge

Merged to master and 3.0 branches. Thank you.


With a repetition count of 20:
https://github.com/ocaml-multicore/multicoretests/tree/thread-createtree-focus
I was able to trigger this on 2/20 test runs:
https://github.com/ocaml-multicore/multicoretests/runs/14952327534
It is puzzling that it is triggered on s390x and 5.2/trunk only :thinking:

Observed this again on s390x 5.2 when merging #376 into main:
https://ocaml-multicoretests.ci.dev:8100/job/2023-07-14/221157-ci-ocluster-build-52b7b3
random seed: 362338500
generated error fail pass / total     time test name

[ ]    0    0    0    0 / 1000     0.0s thread_createtree - with Atomic
[ ]    0    0    0    0 / 1000     0.0s thread_createtree - with Atomic (generating)Thread 16216 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 16218 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 16219 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168684 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168689 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168691 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168692 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168698 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168726 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168731 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168734 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
Thread 168735 killed on uncaught exception Sys_error("Thread.create: Resource temporarily unavailable")
...


Feature/spm supporting

@dverennik hey!
Just a few questions regarding your PR:

Why did you decide to bump the version to 3.0.0? It doesn't look that SPM support (changes) is a feature for dumping a major version...
The similar question about IPHONEOS_DEPLOYMENT_TARGET. Why did you dump it?

p.s. I'd be happy to see a full description of PR with what and why you have done.


java.net.ConnectException: Connection refused

Hi,
I'm getting the above exception, when starting the JAR. Probably it's due to missing proxy settings, but
adding proxy options with
'java -jar -Xmx10g .\chordatlas-0.0.1-SNAPSHOT.jar -Dhttp.proxyHost=xx.xx.xx.xx -Dhttp.proxyPort=80'
does not change anything. So at the end there's no scene loaded.
Do you have any suggestions?
Thanks

To avoid it downloading the offending zip file automatically, you can download it manually.

download the zip file into the data root directory (the same directory that contains tweed.xml)
extract the file to the same location (it should create a directory called network_inputs also in the root directory)
don't delete the zip file (it's used as a marker to avoid downloading again).

The proxy thing is strange. If your system proxy is setup, you could also try adding -Djava.net.useSystemProxies=true when running the jar. Which java version are you using?

Adding the option -Djava.net.useSystemProxies=true unfortunately still did not succeed and raises same error. I'm using JRE 10.0.2
With manually downloaded .zip file it works, thanks for fast reply!


Keep unknown network attributes

Closes DCOS-20948
Network.0.labels should survive editing in our form.
{
  "id": "/web",
  "cpus": 0.1,
  "mem": 128,
  "instances": 1,
  "container": {
    "type": "MESOS",
    "docker": {
      "forcePullImage": false,
      "image": "nginx:alpine"
    }
  },
  "networks": [
    {
      "name": "dcos",
      "mode": "container",
      "labels": {
        "foo": "bar"
      }
    }
  ]
}

@nLight does this need a forward port to master?

😩 ok, the we should backport it to 1.10 and 1.9.
master pr: https://github.com/dcos/dcos-ui/pull/2715

@DanielMSchmidt the issue you've linked is a different one. The original issue targets 1.11 and 1.10 only https://jira.mesosphere.com/browse/COPS-2349 I'll backport 1.10


Upgrade Infinispan and related container image to version 14.0.18.Final

Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/component-test camel-infinispan/camel-infinispan-common camel-infinispan/camel-infinispan-embedded camel-infinispan/camel-infinispan


Exit with status code 137 on node 4 when using with AVA, --all and --require babel hook

I have a repo setup with AVA and nyc
nyc --all --require babel-core/register ava

AVA option
"require": [
   "babel-core/register"
]

On node 5, all tests passed.
But on node 4, npm@2 doesn't dedupe babel-core/register by default, we will have 2 different versions of babel-core/register : one from AVA and one from project's dependencies.
This will cause test process exit with status code 137
My current solution is disable coverage on node 4.
poke @jamestalmage

The other issue here relates to the fact that he wanted to use the --all option. Which fails on ES6 files if you try to use AVAs --require  flag instead of nycs.
Also, it is preferable to use AVA's require pkgConf to provide a cleaner cli experience across both covered and non-covered test runs. Again, that doesn't work for --all

It's starting to seem that --require here is just a cheat. You should let the child process be responsible for setting up the transpiler. nyc can hook into that better now than when --require was introduced.
But… then there's --all. I think we're doing that wrong too. We should still find all the files however rather than instrumenting them up front we should just keep track of them. Then once we have the coverage report we can figure out which files were never loaded and synthesize an empty report for those files, based on the raw source.

A workaround for --all is to add empty test files that just require the (not yet) tested file?

A workaround for --all is to add empty test files that just require the (not yet) tested file?

Yea, that way AVA can load the files and you won't need the conflicting --require for nyc.
Once AVA supports custom Babel configs you could use https://github.com/novemberborn/babel-plugin-import-glob to require all source files in one go, so you don't forget any.
Until we fix --all here that is :wink:

I can already glob with ava **/__tests__/*.js :)

It's starting to seem that --require here is just a cheat.

Also, if you are using Node 4+ only (not 0.12 or 0.10), you can use the native --require flag:
$ node --require babel-register node_modules/.bin/nyc --all ava

If you need to support Node 0.12 or below, I have created spawn-require, which would be used as follows:
$ spawn-require babel-register nyc --all ava

But… then there's --all. I think we're doing that wrong too... find all the files ... just keep track of them. ... figure out which files were never loaded and synthesize an empty report

:+1:

Closing this issue since it's by design. Tracking improvements in #183.


Draft: UHF-11017: Add test content for Image Gallery component

UHF-11017

What was done

Add test content for image gallery component

How to install

Make sure your instance is up and running on latest dev branch.

git pull origin dev
make fresh

Update the Helfi Platform config

composer require drupal/helfi_platform_config:dev-UHF-U11017-gallery-test-content

Run make drush-updb drush-cr
Run drush en helfi_test_content -y or drush dcim helfi_test_content if the module is already enabled.

How to test

[ ] Check that this feature works: The test content should be found in /dc-components/dc-image-gallery
[ ] The test content should function as intended
[ ] Check that code follows our standards

Other PRs

Link to other PR

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 17.87%. Comparing base (7c52e54) to head (1951947).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #874   +/-   ##
=========================================
  Coverage     17.87%   17.87%
  Complexity      285      285
=========================================
  Files            36       36
  Lines          1080     1080
=========================================
  Hits            193      193
  Misses          887      887

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


Add documentation for customizing the fields for authentication

I'm having a hard time trying to change the username field to become email, and use it for validation instead. It would be useful to have a tutorial for making modifications like these in the docs.
I thought it would be on customizing_token_claims.md, but it just adds the field without validating it, and username is still required.

@LucasCTN I think you need customize your User model like descibe at django documentation:
https://docs.djangoproject.com/en/4.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD
for example:
class MyUser(AbstractBaseUser):
    email = models.EmailField(_("email address"), max_length=255, unique=True)
     ...
    USERNAME_FIELD = "email"

Maybe I'm wrong but I think it's not a customization from django ninja jwt but of django.

@LucasCTN I think you need customize your User model like descibe at django documentation: https://docs.djangoproject.com/en/4.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD
for example:
class MyUser(AbstractBaseUser):
    email = models.EmailField(_("email address"), max_length=255, unique=True)
     ...
    USERNAME_FIELD = "email"

Maybe I'm wrong but I think it's not a customization from django ninja jwt but of django.

 My apologies, I presumed I would need to customize the authentication.


[BUGish] App should prompt user to switch network of their connected wallet when on the wrong network

Description
When going to juicebox.money (mainnet) or rinkeby.juicebox.money with the connected wallet using the wrong network, a modal is displayed telling the user to switch networks.
Proposal
This would be a smoother experience if the app prompted the user to switch their connected wallet's network, and refreshed automatically whenever the network is switched.
Additionally, if a user switches their network with the app open, the app could automatically redirect to the app on the correct network.

Hey @peripheralist, love this idea and keen to start working on it tomorrow. Were you thinking of just showing the modal when the user connects to their wallet (and they're on the wrong network)? Also, would the modal have any functionality (other than automatically closing when the user changes to the right network) or would it just have an 'OK' button to close it?

@johnnyd-eth if the user connects their wallet and they're on the wrong network, i'd love for the modal to pop up with a button to "switch network to ", which then switches the network in the connected wallet i.e. metamask.
i haven't looked into what's involved in doing that, so happy to follow whatever ideas you come across!


General Non-Landing Styling Updates

Quick comments from just looking at the preview:
Think you missed the github icon/ link on the welcome page :)
The "made with love by altventurers" is a bit hard to see against certain background colors. Maybe add a dark stroke?
I think we should keep the github link at the footer

@miffens Thanks! I didn't notice the welcome page at all /bonked. Made the changes you suggested!


Support for proxy

Hi,
are the proxy environment variables supported when uploading the assets for the release?
I'm getting the following error and I'm an environment that uses an http/https proxy.
Run softprops/action-gh-release@v1
👩🏭 Creating new GitHub release for tag v0.10...
⬆ Uploading myhello-v0.10_debug.zip...
⬆ Uploading myhello-v0.10_release.zip...
Error: request to https://uploads.github.com/[redacted][7](https://github.com/[redacted]?check_suite_focus=true#step:8:7)41[8](https://github.com/[redacted]?check_suite_focus=true#step:8:8)2/assets?name=myhello-v0.[10](https://github.com/[redacted]?check_suite_focus=true#step:8:10)_debug.zip failed, reason: connect ETIMEDOUT <IP_ADDRESS>:443

The release is created fine though, but the assets are missing.

+1

This is due to using node-fetch which declined to add proxy support.
It's quite a simple fix to use the octokit request API, which honours proxy settings and automatically supplies the access token:
diff --git a/package.json b/package.json
index c0275f4..12e33a8 100644
--- a/package.json
+++ b/package.json
@@ -24,15 +24,13 @@
     "@octokit/plugin-retry": "^4.0.3",
     "@octokit/plugin-throttling": "^4.3.2",
     "glob": "^8.0.3",
-    "mime": "^3.0.0",
-    "node-fetch": "^2.6.7"
+    "mime": "^3.0.0"
   },
   "devDependencies": {
     "@types/glob": "^8.0.0",
     "@types/jest": "^29.2.3",
     "@types/mime": "^3.0.1",
     "@types/node": "^18.11.9",
-    "@types/node-fetch": "^2.5.12",
     "@vercel/ncc": "^0.34.0",
     "jest": "^29.3.1",
     "jest-circus": "^29.3.1",
diff --git a/src/github.ts b/src/github.ts
index f4a0402..d91084c 100644
--- a/src/github.ts
+++ b/src/github.ts
@@ -1,4 +1,3 @@
-import fetch from "node-fetch";
 import { GitHub } from "@actions/github/lib/utils";
 import { Config, isTag, releaseBody } from "./util";
 import { statSync, readFileSync } from "fs";
@@ -159,16 +158,16 @@ export const upload = async (
   console.log(`⬆ Uploading ${name}...`);
   const endpoint = new URL(url);
   endpoint.searchParams.append("name", name);
-  const resp = await fetch(endpoint, {
+  const resp = await github.request({
+    method: "POST",
+    url: endpoint.toString(),
     headers: {
       "content-length": `${size}`,
       "content-type": mime,
-      authorization: `token ${config.github_token}`,
     },
-    method: "POST",
-    body,
+    data: body,
   });
-  const json = await resp.json();
+  const json = resp.data;
   if (resp.status !== 201) {
     throw new Error(
       `Failed to upload release asset ${name}. received status code ${

+1


This module is a menace, and should be disabled

This module, even as a dependency of another module, infiltrates the parent .git folder and installs git hooks that are broken and/or platform dependent. The fact that you have another issue related to incompatibility with GUI git clients, and that you suggest changing how those clients are launched, is absolutely ridiculous.
This module is worse than broken -- it's a hazard to other projects that causes mysterious failures. A node module should not be manipulating such critical files in such a sloppy way. Frankly, this whole project should be disabled and/or banned from the NPM registry immediately.

I'm sorry you feel this way. 😞 This project has helped countless teams throughout its lifetime (and still is even though it has already been deprecated for reasons other than "being broken").
I'd be more than happy to help you out with any problems you might be experiencing with ghooks.

The issue is that I installed another module that references ghooks; is it intended that ghooks would modify my hooks without any prompting? As soon as it was installed, all git commands fail on my machine with the #40 issue. I just feel like if there are issues with platform-specific scripts, then there should not be any sort of automatic modifications of anything without user approval.

Could you point us to the module that you have installed, which references ghooks?
To me, this sounds like an erroneous use of ghooks as a normal dependency, rather than as a devDependency.

It's "videogular2" which is being pulled in locally with npm-link (since it needed some customization to get past a TS issue), so perhaps that is related to what I'm seeing?

Ok, that particular module does have ghooks correctly set as devDependency...
I also have some packages pulled in locally using npm link myself. Almost all of them depend upon ghooks and never have I experienced such a behavior. If you have the patience, I'll have a look into the issue but it might take a couple of days until I'll find the time to do so.

Btw. thank you very much for "softening" the title 😉

No worries, there were definitely some incorrect assumptions made as far as what the typical behavior is supposed to be. I want to be able to say that I did something unconventional to trigger it, but all I can point to is that my project was set up in a workspace in my CI, and I realized that  clearing the workspace would let me pull from Git again, but upon performing a pull after the initial one, the hooks were already installed and the pull would fail. Maybe an errant npm install from within the videogular2 folder would cause the hooks to be installed two levels up? I'm fairly certain I never installed ghooks directly into the top-level project folder.
In any case, I definitely appreciate your attention and the immediate response, although given that I'm already linking the module, I've gotten past the issue by just removing the ghooks reference for now. If you can't reproduce then feel free to close the issue if there's nothing else to look into.

Lots of words. Bit of unhealthy rage. Anything actionable here @PeteStein or can this be closed?


replaced link from api-beta2 to api-beta3

This pull request solves issue #30040
This changes the API reference link from API-beta2 to API-beta3, on page https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file

For more information on the fields and usage of the configuration you can navigate to our API reference page.

/lgtm


Docker permissions for GGC not working

update-dependencies.sh now uses usermod to give ggc_user permissions to access Docker but it doesn't work. This may be a sequencing issue where the usermod call is done before the ggc_user is added. Either way, it blocks the Docker connector from working on a GGP provisioned host.

Sequencing was the issue. Will have it fixed soon.


Initiate match via P2P email

Story
As a community member, I want to email another contributor directly, so that I don't need a dispatcher to match us up.
How does it work now
A dispatcher finds an offer and an ask and creates a tentative match
How should it work
A logged in member can view listings and email that person without exposing personal contact information
This story focuses on email as a first pass, future story #711  will consider text
==========
Notes
Workflow

logged in user navigates to http://mutual-aid-demo.herokuapp.com/contributions
clicks button "view" ("existing" respond button is for dispatchers)
reads details of contribution (PII information such as name, contacts are blinded)
confirms intent to message contribution author directly
enters a message to be sent to that contribution's contact
message is sent without either party's contact information exposed (unless sender intentionally puts it within the message, which they will selectively need to do in order to get a response)

Options

message comes from "do not reply address" from platform
future stretch goal: anonymized reply-to address that user could respond to and thread could continue back and forth (like Craigslist)

Technical Requirement

on the contributions page, there are two possible buttons to display: Respond and View
-- respond exists today and should only appear for dispatchers, admins, and superadmins
-- view should only appear if the P2P feature toggle is on, and it would show for all users initially (might be hidden from dispatchers in the future so they don't get confused)
all messages sent this way should be logged in the communication logs table
the two parties should be set as a match in the database

Existing wireframe: https://www.figma.com/file/gxycal4Gj9tMwkpLlvxu6w/RubyforGood--Mutual-Aid?node-id=0%3A1

Here is the initial envisioned P2P flow. Some things to note:

Contributions page will not require login (future)
Dispatch Required section needs separate flow created for dispatchers

updated description to match standup conversation this afternoon

p2p-design.pdf

(standup) need to catch sessions where the person record is not yet created to match the account.... in that flow, catch and request these additional fields: Name, preferred contact, data value of preferred contact.... preferred contact has to verify that contact approach has valid data (validation in person model to be leveraged)

conversation summary in Slack:
when the recipient of the claim doesn't have an email (they might only have a phone number for text), then this flow doesn't work.  The options are to either not show the claim button on the contribution page tiles, or to pop a banner with a message when clicked.  This second one is preferred if it isn't much more expensive than the first.  Message should say "We are sorry, this contributor hasn't provided an email address yet and can't communicate this way"
Also... @exbinary confirmed/suggested the subject line for these emails could be: " is offering to meet your ask" and  " would like to accept your offer"


Divides by Zero in Google Collaborate

Hello CharlesPikachu,
I was trying to get your code up and running on google collaborate, but I have seemed to run into an error. I fully admit, its probably because I messed something up, but I was just wondering if you had run into this problem at all yourself and if there was a fix for it. Thank you.
2021-09-16 02:01:53 [INFO]: epoch now is 1...
2021-09-16 02:01:53 [INFO]: epoch now is 2...
2021-09-16 02:01:53 [INFO]: epoch now is 3...
2021-09-16 02:01:53 [INFO]: epoch now is 4...
2021-09-16 02:01:53 [INFO]: epoch now is 5...
Traceback (most recent call last):
File "train.py", line 105, in
train()
File "train.py", line 73, in train
acc = test(model)
File "train.py", line 98, in test
print(acc = n_correct / n_total)
ZeroDivisionError: division by zero
This error occurred when I ran the train.py module in Google Collab. It runs for ~4 minutes, but eventually I guess it divides by zero and crashes.

Have you adjusted the path of your Images dataset folder in config.py?


Problem with my codespace

ADD ISSUE DESCRIPTION HERE
Version: 1.92.1
Commit: eaa41d57266683296de7d118f574d0c2652e1fc4
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces
i can't use my codespace why?

/extCodespaces


Overwrite or skip existing files

When I copy something with the Explorer, I should get a query if I want to replace or keep existing files. Similar to the --ignore-existing command used to skip in the CLI

It would be great to have this functionality. Would you like to try implementing it?


User menu item isn't shown when connecting via https

The user menu item on the right side of the menu bar doesn't show when loading the demo site. https://spectacular-demo.specmore.org/
Version Details:
Version - 0.1.0+546
SHA - c4baab1
Browser Console Output
main.a041a35a705d29259c91.js:176 VERSION: 0.1.0+546
main.a041a35a705d29259c91.js:176 SHA: c4baab1
spectacular-demo.specmore.org/:1 Mixed Content: The page at 'https://spectacular-demo.specmore.org/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://spectacular-demo.specmore.org/login/'. This request has been blocked; the content must be served over HTTPS.
main.a041a35a705d29259c91.js:176 TypeError: Cannot read property 'status' of undefined
    at main.a041a35a705d29259c91.js:176
    at /async https:/spectacular-demo.specmore.org/main.a041a35a705d29259c91.js:176
    at async a (main.a041a35a705d29259c91.js:176)
a @ main.a041a35a705d29259c91.js:176
async function (async)
a @ main.a041a35a705d29259c91.js:176
(anonymous) @ main.a041a35a705d29259c91.js:176
_s @ main.a041a35a705d29259c91.js:60
Fu @ main.a041a35a705d29259c91.js:60
t.unstable_runWithPriority @ main.a041a35a705d29259c91.js:68
Ko @ main.a041a35a705d29259c91.js:60
Iu @ main.a041a35a705d29259c91.js:60
(anonymous) @ main.a041a35a705d29259c91.js:60
R @ main.a041a35a705d29259c91.js:68
k.port1.onmessage @ main.a041a35a705d29259c91.js:68

Besides fixing the auth server path used, it maybe worth investigating how to configure the web component's nginx config to pass the correct scheme to the auth server in a header. Maybe even need to investigate that the ingress needs to pass the scheme in the header.

Fixed in #6


⚠ ClamAV has degraded performance

In b828d37, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 169 ms

Resolved: ClamAV performance has improved in 34e849b.


Pretrained model

Hi, great work! Can you kindly provide any pretrained model for inference/evaluation?

Hi, great work! Can you kindly provide any pretrained model for inference/evaluation?

Hi, great work! Can you kindly provide any pretrained model for inference/evaluation?

@outsidercsy   Are there any checkpoints retained?

@SuperZ-Liu thank you for releasing the code!
I would also like to request pretrained weights to reproduce evaluations on Table 1 and 2.

Hi, great work! Can you kindly provide any pretrained model for inference/evaluation?

Hello, I couldn't find the pre training weights. Have you found them


Bug Report: Null Object Reference in song

Please check for duplicates, similar issues or closed issues with the same problem, as well performing simple troubleshooting steps (such as deleting the export folder if it's an issue with compiling, reinstalling Kade Engine) before submitting an issue.
If you are playing a downloaded version of the game, what operating system are you using?
Windows (x86), Windows (x86_64), Linux, or macOS? Specify below.
Windows 11 (x64)
What version of the game are you using? Look in the bottom left corner of the main menu.
Kade Engine 1.8
Have you identified any steps to reproduce the bug? If so, please describe them below. Use images if possible.
I added Ugh song in kade engine and it's crash game, espessialy in spamming time.
Please describe your issue. Provide extensive detail and images if possible.
https://youtu.be/rksZVCTUjtg

Found the reason of this bug in my note type checking system.


PLT-6907 Fixed execution cost analysis of merkleized contracts

Fixed deep demerkleization of contract for the Plutus execution-cost analysis, and added golden tests for that.
Pre-submit checklist:

Branch

[x] Tests are provided (if possible)
[x] Test report is updated (if relevant)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages
[x] Formatting, PNG optimization, etc. are updated

PR

[x] Self-reviewed the diff
[x] Useful pull request description

Review required
[x] Substantial changes to code, test, or documentation
[ ] Change made to Marlowe validator (@bwbush and @palas must be included as reviewers)
Review not required
[ ] Minor changes to non-critical code, documentation, nix derivations, configuration files, or scripts
[ ] Formatting, spelling, grammar, or reorganization

[x] Reviewer requested

May I ask - so the critical fix can be distilled to:
- demerkleizeCase c = pure c
+ demerkleizeCase (Case action continuation) = Case action <$> demerkleize requireContinuations f continuation

Yes, pretty much.


Replace HTTP polling from web GUI with Socket.IO

Removed duplicate script tag from index.html refering to main.js
Replaced HTTP polling from web GUI to online_log app with Socket.IO

Nice work, LGTM


Update README.md

Hi,
This small PR adds two buttons to get your app on F-Droid and Google Play 👍
close #38

Sorry, but I don't think I need them 🤷♂ from my point of view current readme looks better without these labels


#1166 Removed redundant argument

PR is added to the queue for testing as 1. task. (c0b6239)

Hi @artemjackson, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Test (Fail) 86876574 build is completed (c0b6239)
See https://github.com/ThaliTester/TestResults/tree/86876574c0b6239__1166_Removed_redundant_argument_artemjackson/ for the logs

Already implemented here #1176


[bug] [ios] Cannot find module src-tauri/gen/apple/tauri when adding iOS to existing Tauri app

Describe the bug
I'm trying to build an existing macOS + Windows Tauri app for iOS as well. I did this by running pnpm tauri ios init and pnpm tauri ios dev.
However, I run into:
Error: Cannot find module '/Users/venki/src/r2/apps/limitless/ts/src-tauri/gen/apple/tauri'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
    at node:internal/main/run_main_module:28:49 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v20.10.0
Command PhaseScriptExecution failed with a nonzero exit code

note: Run script build phase 'Build Rust Code' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'limitless-app_iOS' from project 'limitless-app')
** BUILD FAILED **

The following build commands failed:
	PhaseScriptExecution Build\ Rust\ Code /Users/venki/src/r2/apps/limitless/ts/src-tauri/gen/apple/build/limitless-app.build/debug-iphonesimulator/limitless-app_iOS.build/Script-856DF6B869FD769F10065C61.sh (in target 'limitless-app_iOS' from project 'limitless-app')
(1 failure)
    Error command ["xcodebuild"] exited with code 65

One note is: I tried to start a new sample iOS app with create-tauri-app and that works fine. So there's definitely something odd about this project. I'll try to work on some more of the differences, and figure out a repro, but I'd love any debugging advice to point me to the right direction on how to add iOS to an existing project.
More details about exactly what I ran:

Be in the root directory (ie: the one containing src and src-tauri)
xcode-select --install
brew install cocoapods
pnpm tauri ios init
Modify vite.config.ts to add host: <IP_ADDRESS>
I needed to modify Podfile to remove the macOS target - strangely I didn't need to do this on the sample repo.
pnpm tauri ios dev

Overall, I'd also appreciate any pointers into the Tauri repo I could investigate better. I don't really get what's trying to access gen/apple/tauri that doesn't seem like a real module to me.
Reproduction
No response
Expected behavior
No response
Full tauri info output
[✔] Environment
    - OS: Mac OS 14.4.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.76.0 (07dca489a 2024-02-04)
    ✔ cargo: 1.76.0 (c84b36747 2024-01-18)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 20.10.0
    - pnpm: 8.11.0
    - yarn: 1.22.19
    - npm: 8.1.2

[-] Packages
    - tauri [RUST]: 2.0.0-beta.12
    - tauri-build [RUST]: 2.0.0-beta.10
    - wry [RUST]: 0.37.0
    - tao [RUST]: 0.26.0
    - @tauri-apps/api [NPM]: 2.0.0-beta.0
    - @tauri-apps/cli [NPM]: 2.0.0-beta.11

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: http://localhost:5173/
    - devUrl: http://localhost:5173/
    - framework: React
    - bundler: Vite

Stack trace
No response
Additional context
No response

I've gotten past this error, not sure if I recall what I did anymore though..
I'm now stuck at an error that seems to be this one:
https://github.com/tauri-apps/cargo-mobile2/issues/291

May also be related to this one: https://github.com/tauri-apps/cargo-mobile2/issues/252

Alright, more details incoming:
I'm able to successfully tauri ios init - but tauri ios dev fails at:
error: linking with cc failed: exit status: 1
The specific error seems to be:
ld: building for 'iOS', but linking in object file (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftCompatibility51.a[arm64][6](Overrides.cpp.o)) built for 'zippered(macOS/Catalyst)'
Which is the same as (https://github.com/tauri-apps/cargo-mobile2/issues/252, https://github.com/tauri-apps/cargo-mobile2/issues/291)
Here are more details of my exact flow:

xcode-select --install
brew install cocoapods
Update to the latest tauri-cli (2.0.0.beta.12 atm)
pnpm tauri ios init
Modify vite.config.ts to add server info, incl host and port
Modify tauri.conf.json to add bundle.iOS info - developmentTeam
Modify code to disable desktop-specific code (#[cfg(any(target_os = "macos", target_os = "windows"))])
pnpm tauri ios dev

So, I decided to try out the potential fix from: https://github.com/tauri-apps/cargo-mobile2/pull/272
I ran the following steps:

Fork tauri-apps/cargo-mobile2, cherry-pick the fix from the PR onto it, push it to a repo (https://github.com/rewindai/cargo-mobile2)
Clone tauri-apps/tauri - and within tooling/cli/Cargo.toml switch to depending on the fork version of cargo-mobile2
Install a local version of the tauri CLI via cargo install --path .
Repeat the pnpm tauri ios init and pnpm tauri ios dev flow from scratch, but using this locally built cargo-tauri that depends on the forked cargo-mobile2 instead.

That did not fix anything either, I still run into the same issue:
ld: building for 'iOS', but linking in object file (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftCompatibility51.a[arm64][6](Overrides.cpp.o)) built for 'zippered(macOS/Catalyst)
Open to any further ideas on how I'd get this working on iOS - looks like the place I'm stuck at is it seems to incorrectly be linking in something from my host platform.


Short solution needed: "Save JSON to Redis" (php-redis)

Please help us write most modern and shortest code solution for this issue:
Save JSON to Redis (technology: php-redis)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Save JSON to Redis


Spaces are not in English and will cause errors during runtime

In clinicadl_env/lib/python3.6/site-packages/clinica/utils/ux.py, line 21
cprint("\t%s | %s" % (unique_participants[-1], sessions_last_participant))
The first space in "\t%s | %s"  is not in English, it will cause an error during runtime:
UnicodeEncodeError: 'ascii' codec can't encode character '\xa0' in position 17: ordinal not in range(128)

Hi @CC0624,
Thank your for spotting this issue. @14thibea made a PR in https://github.com/aramis-lab/clinica/pull/105 to solve this solve. We will make a new release next days so that this issue so that this issue will disappear.
In the meantime, you can modify manually clinicadl_env/lib/python3.6/site-packages/clinica/utils/ux.py  and remove non-breaking spaces you mentionned. You should be able to run ClinicaDL :)
Thanks again,
Alex
PS: We will close this issue once new version of Clinica will be released.

Hi,
With the recent release of ClinicaDL, this issue can be closed.
Thanks again for your feedback,
Alex


Plain data instead of Pointers

C pointers shouldn't exist for a user using raylib.bqn, so I've set out to make a long lasting issue where i try modifying all loading functions to just give the bare data, hopefully in a useful format.

I'm currently working on on using a ∘‿4 matrix for color data instead of the data pointer that's currently used for images. I will make sure to also attempt to have a user never need to use image.Unload because the data should be unloaded by BQN automatically.

The image repr was done a long time ago, along with auto unloading by bqn making it so no image.Unload is needed


Feat: show NFT apps on the NFT page

What it solves
Resolves https://github.com/safe-global/safe-pm/issues/57
How this PR fixes it

Adds an info bar
Shows the Safe Apps tagged with nft on the NFTs page
I had to remove the VirtualizedList because it requires a fixed height and the scroll area inside becomes very small with the new content on this page. Will look for alternative solutions.

How to test it

Open the collectibles page
Close the info bar
Refresh the page – the info bar should not be displayed again

Analytics changes
We should probably track clicks on the apps?
Screenshots

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 16 (6.25%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 36.921%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/InfoAlert/index.tsx
0
4
0.0%

src/routes/safe/components/Balances/Collectibles/index.tsx
0
11
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
3894

Relevant Lines:
9583

💛  - Coveralls

Only one issue, the "pin" icon doesn't work.

The rest looks fine. I even try to disable the app to see that the whole section removes itself and that worked out fine too.

It is fixed.
The ticket is in progress. I'll move it to QA done since it seems to be done


Update to Bazel 7

See the individual commit messages for details.

@stefanbucur Tests are passing now. This was caused by a mismatch between clang and llvm-cov/llvm-profdata versions.


Add Bootstrap 5 support

Hello. Can you add support for Bootstrap 5?
I think we just need to add new classes selectors.
Thanks.

Hi,
bs-custom-file-input will be part of Bootstrap 5 in the next alpha release
see: https://github.com/twbs/bootstrap/pull/31085

Good news! Thanks @Johann-S


Java test gen: fixing compile error

LGTM once travis passes

Current coverage is 81.68% (diff: 100%)

Merging #433 into master will not change coverage

@@             master       #433   diff @@
==========================================
  Files           195        195
  Lines          7244       7244
  Methods           0          0
  Messages          0          0
  Branches        949        949
==========================================
  Hits           5917       5917
  Misses         1045       1045
  Partials        282        282

Powered by Codecov. Last update b92d623...e292a70


Add more info when the import fail

Closes #5693
Add more info to the email received by the user when an import fail

retest this please

Please  @rafatower check this

:+1:


set hostap crypto configuration to default - WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT, remove PSA dependency and fix build errors

Set the default crypto selected as WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT.
Do not select PSA as default and let it be a choice to the user to select
Fix build errors in Kconfig seen

mbedtls_ssl_conf_dhm_min_bitlen - requires MBEDTLS_DHM_C and MBEDTLS_SSL_CLI_C
mbedtls_ssl_conf_dh_param_ctx - requires MBEDTLS_DHM_C and MBEDTLS_SSL_SRV_C
the configurations MBEDTLS_SSL_CLI_C and MBEDTLS_SSL_SRV_C are internal definitions which are enabled
when CONFIG_MBEDTLS_TLS_VERSION_1_2 is enabled
wpa_eapol_key_mic function hmac_md5 call which requires MBEDTLS_MD5

@krish2718 , @fengming-ye - can you please ack the PR if it looks good please?


Extension host terminated.

From the last update, when I open VS Code they show me a notification like, "Extension Host terminated".  As result,

all intellisense code is not working.
Autocomplete is not  working.
Can't complete HTML tags & indentation.
Also cant restart extension host.

Kindly fix this problem.

Duplicate of https://github.com/microsoft/vscode/issues/94807, please see the discussion here: https://github.com/microsoft/vscode/issues/94858#issuecomment-611905765


Artefacts shared in practical-exercise-access-delegation-oauth-2 are not compatible with the IS 5.11.0

Is your suggestion related to a missing or misleading document? Please describe.
Noticed few updates needed for samples shared in https://lms.wso2.com/courses/take/wso2-identity-server-fundamentals-v5-11/pdfs/22647867-practical-exercise-access-delegation-oauth-2-0
Describe the improvement

Pickup-dispatch app does not support the latest IS because the sample was bundled with older security files.
As a quickie to proceed with the sample in the local env we replaced the wso2carbon.jks with that of the IS. But in the actual content, the samples needs to be rebuilt with compatible security files.

In the same sample the backend-service.jar gives a NoClassDefFoundError when been invoked. This was addressed by switching to jdk 8 from jdk11. Suggest we make a note of this in the materials and advice the trainee to export the relevant JAVA_HOME variable in the particular terminal OR stick to one jdk version as the product is supporting the version 11, why not samples also follow the same.

In the same scenario we get an error when we click to "Add" a booking with the "Backend-service" enabled. This was resolved by re-building the sample with the new wso2carbon.jks. Need to be fixed in training artefacts.

After resolving above when you try to add a booking it gives the below error [attached], which was resolved by adding [1] to the deployment.toml.  Please review and update the guidelines accordingly.
[1]:

[resource_access_control.introspect]
permissions = []

Have also described points in detail here:
https://yumanimanodyaranaweera.medium.com/access-delegation-oauth-2-0-sample-wso2-4c5d893337c0

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


[FLINK-13706][hive] add documentation of how to use Hive functions in…

… Flink
What is the purpose of the change
Add documentations of how to use Hive functions in Flink
Brief change log

Add documentations of how to use Hive functions in Flink

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (docs)

cc @xuefuz @lirui-apache @zjuwangg @sjwiesman

cc @xuefuz @lirui-apache @zjuwangg


fix replay perception obstacle velocity direction

the obstacles generated from the replay perception script have velocity direction not conforming to their actual movement, this updated script should resolve this problem

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Enable Polygon Editing

During and after Neighborhood creation, users should be able to modify the polygon shapes

API documentation

Polygon editing should only be allowed during neighborhood creation because editing later on would cause problems with the database schema, which relies on neighborhoods as a constant


Add boost::date_time to required components

This fixes an issue when compiling the Vicon SDK introduced by the recently merged PR #29

Thanks for the fix! We haven't observed this on stock Ubuntu 20.04 with Boost v1.71. On which system did this issue arise? (The fix is correct nonetheless, just curious why we didn't see it across several workstations)

I was wondering as well why you did not observe this yet. I'm running within a Docker container. Our custom image is based on osrf/ros:noetic-desktop-full. Boost is also v1.71.

Let's wait until someone else confirms that there is a problem and this solves it before merging?

Can confirm that this fixed an issue i had on Ubuntu 20.04. Without the fix, i get the error:
/usr/bin/ld: /home/robotics-lab/ros/catkin_ws/devel/lib/libvicon_sdk.so: undefined reference to 'boost::gregorian::greg_month::as_short_string() const'

Ok, sounds good to me. Does anyone have any complaints? Otherwise, I'll merge this thing.

I confirmed on a local buildserver that this is required on a clean installation so in favour of merging :-).

Ok, cool. Done.


added virtualenv docs link

While working on Python libraries like computer vision, it is necessary to create a virtual environment because it may sometimes conflict with the default environment, causing libraries to not be installed properly. Creating a virtual environment can provide a separate environment for each project, ensuring that the required libraries and dependencies are isolated and do not interfere with each other. So I had put the official documentation of Python Virtual Environment before the installation command.

Can we consider this change ?


MaxListenersExceededWarning on Minipass

Hello,
I have this error on my logs :
(node:1) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 Symbol(destroyed) listeners added to [Minipass]. Use emitter.setMaxListeners() to increase limit

Here the code :
const pruneBefore = dayjs().subtract(maxAge, 'milliseconds').format('YYYY-MM-DDTHH:mm:ss')
for await (const file of globIterate('/data/cam1/**/*.jpg', {nodir: true, signal: undefined}))  {
    const date = basename(file).replace('.jpg', '')
    if (date < pruneBefore) {
        await unlink(file)
    }
}

for (const dir of (await glob('/data/cam1/*/**/', {signal: undefined})).sort().reverse())  {
    if ((await readdir(dir)).length === 0) {
        await rmdir(dir)
    }
}

I didn't see this warning during development, probably because of limited directories/files.
Does the warning show on your side ? I didn't find similar case on closed issues.
Regards

I guess if there's files in there that aren't jpg's, you'd want to do something like:
return /\.jpg$/.test(file) && basename(file, '.jpg') < pruneBefore

Thanks @isaacs for your answer. I will test rimraf as it seems to better fit my needs.
Regards

Updated to add "glob:true" to the example. It's like I don't even read my own changelogs lol

Thanks for the report.  Fixed in minipass.  If you're still encountering this, npm update minipass or just npm update should fix it.

Thanks, I will test it soon (wanted to rest this week end :) )
Regards


Pokeball Count Off

Expected Behavior
Show 1 Pokeball left and then after used switch to farm mode.
Suggestion: If this normally doesn't switch to farm mode after using the last Pokeball it should so it doesn't have to try to catch another one before realizing. Sometimes there's a few minutes til a new Pokemon appears.
Actual Behavior
Shows 0 left and attempts to catch another Pokemon before figuring out it actually has 0.
Steps to Reproduce
When there's only 1 ball left, right when you load it up it shows 1 Pokeball:
[2016-07-23 20:59:29] [#] PokeBalls: 1
[2016-07-23 20:59:29] [#] GreatBalls: 0
[2016-07-23 20:59:29] [#] UltraBalls: 0
Wait til you get a Pokemon and it'll say 0 left when catching.
Logs
2016-07-23 21:00:00 [#] A Wild Ekans appeared! [CP 32] [Potential 0.58]
[2016-07-23 21:00:00] [#] IV [Stamina/Attack/Defense] = [14/6/6]
[2016-07-23 21:00:04] [x] Using Pokeball... (0 left!)
2016-07-23 21:00:04 [x] Captured Ekans! [CP 32] [IV 0.58] - Checking Release Config
2016-07-23 21:00:04 [x] Release config for Ekans: CP 50 or IV 0.8
2016-07-23 21:00:05 [#] Ekans has been exchanged for candy!
[2016-07-23 21:00:24] [#] Something rustles nearby!
2016-07-23 21:00:24 [#] A Wild Pidgey appeared! [CP 84] [Potential 0.09]
[2016-07-23 21:00:24] [#] IV [Stamina/Attack/Defense] = [0/2/2]
2016-07-23 21:00:26 [x] Out of pokeballs, switching to farming mode...
Other Information
OS: Windows 10
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

@earthchie please have a look at this

dup https://github.com/PokemonGoF/PokemonGo-Bot/issues/660
gonna fix in https://github.com/PokemonGoF/PokemonGo-Bot/pull/655


Add support for detecting non-ready futures before serialization

After merging #1711, invoke_when_ready was removed and serialization is suspended in the event of non-ready futures. In order to make that work, we can't serialize buffered parcels in batches anymore.
A similar technique than the size gathering can be implemented to detect non ready futures before serializing them. This needs to be done to reintroduce sending parcels in batches again. In addition, it needs to be investigated if the MPI parcelport can be brought back to that infrastructure.

That has been fixed by merging #1711 and #1728


[ MB-12368 ] Add Cypress test for Max Billable Weight updates

Jira ticket for this change
Summary
When working on #8529, I discussed adding tests. That other PR was merged in before I could add tests. This PR is adding tests for that previous PR.
Setup to Run Your Code
💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the Storybook locally.
make db_e2e_up e2e_test

Messages

:book:
:link: MB-12368

  Generated by :no_entry_sign: dangerJS against ec78dbb48c8e4b273b80eee76fb939467407bd0f

This is the Cypress output for the test introduced here. https://app.circleci.com/pipelines/github/transcom/mymove/41782/workflows/da7b89d1-5817-4d06-b418-1ee3114c49b4/jobs/651346/parallel-runs/11?filterBy=ALL

And it failed. I'm going to take a look at the artifacts of the test to see why it failed since it passed locally.

@mergifyio rebase


Browser back / router.back clears query.

Version
@nuxtjs/algolia: v0.9.2
nuxt: v3.0.0-rc.4
Reproduction Link
https://stackblitz.com/edit/nuxt-starter-9hjp9u?file=pages/index/index.page.ts
Steps to reproduce
filter twice -> go to page via ais-hits / nuxt-link (/about), use browser back.  And then try to click back again.
What is Expected?
its expected it saves my query.
What is actually happening?
its clearing query. But only on first back.
heres an exsample from a productions site: https://majestic-piroshki-eafaa8.netlify.app/test-brugte-biler/
Other
when using this in app.router.options.ts
	parseQuery(query) {
		return qs.parse(query);
	},
	stringifyQuery(query) {
		const result = qs.stringify(query);

		return result ? `?${result}` : "";
	},

Nuxt gives this error:

Hey @bootsmann1995
First of all, really nice website! I am glad that you are using Nuxt Algolia module.
Thanks for raising this issue. I will try to debug it on my side and see if I can fix it :)

Hey @bootsmann1995
I did some debugging and I think that this kind of functionality (storing the result of the query) can be easily done by using the local/session storage and it should not be a part of the module.
I could put it as a part of the module but it wont be needed for all use cases. And considering how easy it can be to use storage to store the search result, I would recommend to go with that solution :)
Let me know if you need any help with that :)

Hey Baroshem, thanks a lot! :)
Great, with the quick answer!. It could be nice to get an exsample on this solution.

@Baroshem  if you saw the reproduction. It is a combination of the vue-instantsearch and nuxt/algolia. and if it makes it easier you can provide the solution inside the reproduction.

@bootsmann1995 AFAIK the issue has been resolved another way.
I will keep this issue open so that you can link to it with your explanation of the fix :)


.github/workflows/ansible-lint.yml: fix 'rich' dependency requirement

thanks https://github.com/ansible/ansible-lint-action/issues/59 for the fix!


docs(dev guide): server-communication - misc issues

Dart:

[ ] app/heroes.json title not displaying properly in appendix (should be web/heroes.json)
[ ] complete wikipedia-jsonp+ section. The main question here is whether it might be of more value to illustrate a CORS solution rather than a JSONP one.

[Ward] - There is nothing to do on the client to support CORS; the browser handles that automatically. The JSONP example exists to show what to do when the server doesn't support CORS (which, apparently, Wikipedia does not)
TS:

[x] Intro states "Alternatively, we may choose to add the HTTP_PROVIDERS while bootstrapping the app: ...". But sample code does both alternatives.

[Ward] Showing both is intentional. The developer is asked to choose. From a docs perspective, we need code that shows both. This is not a tutorial! Developers should understand from the text that they shouldn't actually do both. No evidence of actual developer confusion (and no actual harm if they do both). Therefore, will not change.
Dart & TS:

[x] #1265 - [Ward] Fixed both Dart and TS by PR #1415

This issue was moved to dart-lang/site-webdev#260


[BUG] College page showing too much white space

Describe the bug
Showing too much white space
To Reproduce
Steps to reproduce the behavior:

Go to '교내기관 안내'
Scroll down to the end
See error

Expected behavior
The page should have end on "학생회관" but showing too much white space
Screenshots

Smartphone (please complete the following information):

Device: Pixel 2 XL

Additional context

Because we overflowed each cards using top: -000px, <div> tags component has been go up few pixels. But, it seems that there are some problems in <router-link> tags. It doesn't go up like the <div> tags.
What if pop <router-link> out of div tags?
it would be like this.
<router-link :to="{ name: 'Info', params: { id: currentList } }">
    <div :key="idx" v-for="(currentList, idx) in currentList">
        <MenuBox :class="'box_'+(idx+1)" :imgPath="imgList[idx]" :textName="currentList">
        </MenuBox>
    </div>
</router-link>

if pop  out of div tags, router-link did not working like below.
After clicking on Image, router-link link to http://localhost:8080/


SetValue and ClearValue for Lookup field are throwing an error when the Lookup field already contains a value

Initial setting of value when the lookup is blank is working fine but when I tried to update to other lookup value or clear lookup value, it is failing the test.
Set Value:
xrmApp.Entity.SetValue(new LookupItem { Name = "primarycontactid", Value = "test test" }); //When lookup is blank this is working fine
xrmApp.Entity.SetValue(new LookupItem { Name = "primarycontactid", Value = "EasyRepro Test" }); //This is showing below error
ClearValue:
xrmApp.Entity.SetValue(new LookupItem { Name = "primarycontactid", Value = "test test" });
xrmApp.Entity.ClearValue(new LookupItem { Name = "primarycontactid" }); //This is showing below error
Error message:
Microsoft.Dynamics365.UIAutomation.Sample.UCI.SetValueUci.UCITestOpenLookupSetValue threw exception:
OpenQA.Selenium.ElementNotInteractableException: element not interactable

What is the update on this bug ? any work around ?

We are also facing this issue from today morning.

I click the lookup field before setValue but I still got OpenQA.Selenium.ElementNotInteractableException : element not interactable

please try to use this xpath to click after you click the field as suggested by @VasanthChidambaram.
<EMAIL_ADDRESS>Once it is cleared, you can now use the SetValue command.

Related to #804


Add uuid.UUID as base for NewTagID()

I stumbled upon it, while trying to generate a uuid and assign to SoftwareIdentity.TagID.
Now I can easily write for example:
var id swid.SoftwareIdentity
id.TagID = *swid.NewTagID(uuid.NewSHA1(uuid.NameSpaceDNS, "test"))

otherwise it get's complicated, since I can't access TagID's variable and there are no setter/getter like functions to get around it.

the github action for the linter doesn't seem to work anymore: "/home/runner/go/bin/golangci-lint: No such file or directory" @thomas-fossati

hi @CodingVoid the CI problem is fixed in 7a698fdc
Synchronising your fork and rebasing should clear the linters failure.
One last thing: could you also update the function comment to reflect the new accepted type?

done

done

Thanks!


Inconsistent changelog filename after updating to 4.3.1

Environment
Liquibase Version: 3.10.2 -> 4.3.1
Liquibase Integration & Version: Spring Boot 2.4.3
Liquibase Extension(s) & Version: -
Database Vendor & Version: AWS Aurora
Operating System Type & Version: -
Description
After upgrading Liquibase from version 3.10.2 to 4.3.1, the logic of calculating the FILENAME column value of each changelog in the DATABASECHANGELOG table is different. Because the filename is a part of the changelog's identifier, this causes all of the previously executed changelogs to run again.
Before the update, there were some entries in the DATABASECHANGELOG table that looked like so:
ID,AUTHOR,FILENAME
id1,author,db/changelog/changesets/1.yaml
id2,author,db/changelog/changesets/2.yaml

After the update, these changelogs were executed again, adding new DATABASECHANGELOG entries. This is the result:
ID,AUTHOR,FILENAME
id1,author,db/changelog/changesets/1.yaml
id2,author,db/changelog/changesets/2.yaml
id1,author,BOOT-INF/classes/db/changelog/changesets/1.yaml
id2,author,BOOT-INF/classes/db/changelog/changesets/2.yaml

Steps To Reproduce

Use db.changelog-master.yaml with content:

databaseChangeLog:
  - includeAll:
      path: db/changelog/changesets

Use Liquibase 3.10.2
Create a Spring Boot JAR file and run it
Changelogs are executed for the first time
Upgrade to Liquibase 4.3.1
Re-create the Spring Boot JAR and run it again
Previously executed changelogs are executed for the second time

Actual Behavior
Changelogs which have been previously executed are executed again.
Expected/Desired Behavior
None of the previously executed changelogs are executed again.
Screenshots (if appropriate)
Parts of the DATABASECHANGELOG table content after running Liquibase 4.3.1 (notice the same MD5 sum for the first and last four changelogs - those are the changelogs that have been executed again):

┆Issue is synchronized with this Jira Story by Unito

Hi @pzapasni Thanks for bringing this issue to our attention.  We will add it to the list of issues to process.

Hi @nvoxland, we are having a simular issue after upgrading from Spring boot 2.4.6 (liquibase-core 3.10.3) to Spring boot 2.5.0 (liquibase-core 4.3.5). Liquibase is trying to run script files that have already been applied resulting in errors like table already exists.
Our problem is when running on Pivotal Tanzu the application jar-file is extracted by the java buildpack and the changelog is then  located in a directory called something like /vcap/app/BOOT-INF/classes/db/changelog.
Because of this SpringResourceAccessor from the new Liquibase version will return file paths like BOOT-INF/classes/db/changelog/changes/V0001__initial_setup.sql instead of db/changelog/changes/V0001__initial_setup.sql returned by the old Liquibase version.
Liquibase is regarding all changelog files as new files and will try te apply them.

@marcel-cgi or others: Do you have an example of how the resulting application gets set up?
What Liquibase is expecting, is that the classpath would be configured with /vcap/app/BOOT-INF/classes and then the path to the files are still just db/changelog/changes/V0001_initial_setup.sql.
Does you have an example with the extracted app I could see or try to understand how it's seeing the BOOT-INF part as part of the path?

@nvoxland This is the example I used to check the issue:
issue1755.zip
The cloud foundry buildpack unzips the jar file and then runs the application using this extracted file structure, so to reproduce the issue locally I had to do the same:
unzip issue1755-0.0.1-SNAPSHOT.jar
java -cp . org.springframework.boot.loader.JarLauncher

See also the README.md in the zip-file for more information.
The old version of the application was using Liquibase 3.10.3 with logging output:
INFO 7364 --- [           main] liquibase.changelog.DatabaseChangeLog    : Reading resource: db/changelog/changes/V0001__initial_setup.sql

And with the newer Liquibase version 4.3.5:
INFO 7057 --- [           main] liquibase.changelog                      : Reading resource: BOOT-INF/classes/db/changelog/changes/V0001__initial_setup.sql

@nvoxland regarding the application setup, I'm using a Docker image containing the app. After the application build is done (which results in build/libs/app.jar file being created), the image is created and run using the following Dockerfile:
FROM xxx as builder
WORKDIR app
ARG JAR_FILE=build/libs/app.jar
COPY ${JAR_FILE} app.jar
RUN java -Djarmode=layertools -jar app.jar extract

FROM xxx
EXPOSE 8080
WORKDIR app
COPY --from=builder app/dependencies/ ./
COPY --from=builder app/spring-boot-loader ./
COPY --from=builder app/snapshot-dependencies/ ./
COPY --from=builder app/application/ ./
ENTRYPOINT ["java", "org.springframework.boot.loader.JarLauncher"]

The app.jar file is built using Spring Boot Gradle plugin with the layering option enabled (https://spring.io/guides/topicals/spring-boot-docker#_spring_boot_layer_index).

Hi,
Does any have a workaround or solution for this issue?
We are also facing the similar issue. When we run spring boot app in kubernetes, the app fails as liquibase is trying to run the scripts which were already ran with an same app running on EC2 instance.
App running on ec2 instance created filename db/scripts/xxx.sql in databasechangelog table, but when we run the same application in kubernetes pod then it is looking for filename as BOOT-INF/classes/db/scripts/xxx.sql, since the filename are different so the liquibase is trying to run the db scripts again and failing with "table already exists" error.
Please lets us know if this issue is addressed if so in which version of liquibase. If not any work around would be greatly appreciated.
Thanks
Vinod Goud

I found work around for this issue. I got this fixed by doing the following change to db.changelog-master.yaml
Changed from:
databaseChangeLog:
- includeAll:
path: db/migration
Changed to:
databaseChangeLog:
- include:
file: db/migration/V1_0_0__baseline.sql
Thanks
Vinod Goud

Why has this issue been closed? I don't see any fix being mentioned, only some workarounds.

@pzapasni Thanks. I actually closed it since it appeared folks did find a workaround. I will re-open it so we can reconsider it. Thanks

@pzapasni Thanks. I actually closed it since it appeared folks did find a workaround. I will re-open it so we can reconsider it. Thanks

Also encounter this issue in version 4.17.2, the workaround way is ok, but I think it's a little bit annoying, especially when I have a lot of separate changelog files
Is there any other plan to fix this?  or something else, I'd love to give help if needed, thanks

Here is another workaround. It works with includeAll

Thanks, will check it out laterSent from my iPhoneOn Feb 16, 2023, at 21:45, Nikolaj Rudakov @.***> wrote:
Here is another workaround. It works with includeAll
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Here is another workaround. It works with includeAll

It has worked for me but not with the META-INF/MANIFEST.MF file.
I registered the custom ChangeLogParser with the file META-INF/services/liquibase.parser.ChangeLogParser containing the full class name of my implementation : com.exemple.project.auth.util.liquibase.PathFixerLiquibaseChangeLogParser

This seems to be an issue with both liquibase and Spring Boot:

indeed.

previous versions of Spring Boot had different classpaths with different liquibase versions, for example changing from db/changelog/changesets to BOOT-INF/classes/db/changelog/changesets.

This IMHO changed from spring-boot 2.x to 3.x

This doesn't happen with newer versions of Spring Boot, no matter the liquibase version.

I just upgraded to the latest spring-boot version and it does not solve the problem.
Are you a spring-boot developer and talking about something that is not yet released?
Or do you have a different setup?
I have an instance of my spring-boot app running in docker compose alongside with the DB and an instance that I start from my IDE accessing the same DB inside docker.
This is causing exactly the problem reported by @pzapasni and that I confirm.
Also I would also agree that the identity of a migration should be only the hash (SHA256 would have been a better choice than MD5 what is quite weak but that is a different story) and not depend on the path. Further there must be some normalization in place for the migration (e.g. SQL file) before the hash gets computed so e.g. EOL style (CRLF vs. LF) does not result in a different hash (what would render a future release build on linux invalid if a earlier release was build on windows) but that seems to be already in place.
The path is IMHO only valuable for traceability.
However, ensuring the artificial BOOT-INF/classes/ prefix would not appear in the path this would also fix this bug.
My suggestion/expectation above are just my 2 cents and my PoV but may be considered by liquibase team for the future.


Extrapolation miniapp

Extrapolation through DG advection.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#2757
@vladotomov
@tzanio
@kmittal2 + @psocratis
01/08/22
⌛due 01/22/22
⌛due 01/29/22

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

We should update the CHANGELOG.

Please resolve conflicts.

Merged in next for testing...