migrate keras2 code to keras3.0 with pytorch backend, got inplace error

hi，there
I tried to migrate my keras 2.15 code to keras 3.0 (just like the source code below), the code ran well in keras 2 with backend tensorflow 2.15, but got  an 'inplace' error in keras3.0 with backend of pytorch 2.1.1. Any ideas ?
source code in keras2 with tf2.15 backend:
from keras.models import Model
from keras import layers
inputs = layers.Input(shape=(48,1))
\# inputs = layers.Input(shape=(X_train.shape[1], X_train.shape[2]))

lstm = layers.Bidirectional(layers.LSTM(64,return_sequences=True,dropout=0.5))(inputs, training = True)
lstm = layers.Bidirectional(layers.LSTM(16,return_sequences=False,dropout=0.5))(lstm, training = True)
dense = layers.Dense(50)(lstm)
out10 = layers.Dense(1,name='quantile10')(dense)
out50 = layers.Dense(1,name='quantile50')(dense)
out90 = layers.Dense(1,name='quantile90')(dense)
Lmodel = Model(inputs=inputs,outputs=[out10,out50,out90])
Lmodel.summary()
losses = [lambda y,f: q_loss(0.1,y,f), lambda y,f:q_loss(0.5,y,f), lambda y,f:q_loss(0.9,y,f)]
Lmodel.compile(loss= losses,optimizer = 'adam', loss_weights=[0.3,0.3,0.3])
 \# model test
import tensorflow as tf
tempX = tf.random.normal((4,48,1))
tempY= tf.ones(4,)
Lmodel.fit(x=tempX,y={'quantile10':tempY,"quantile50":tempY,"quantile90":tempY},
epochs=1,batch_size=1,verbose=2)
`
# source code in keras3.0 with pytorch 2.1.1 backend:
`# !export KERAS_BACKEND = 'torch'

import os
os.environ['KERAS_BACKEND']='torch'
import keras
print(keras.\__version__)
from keras.models import Model
from keras import layers
inputs = layers.Input(shape=(48,1))
\# inputs = layers.Input(shape=(X_train.shape[1], X_train.shape[2]))
lstm = layers.Bidirectional(layers.LSTM(64,return_sequences=True,dropout=0.5))(inputs, training = True)
lstm = layers.Bidirectional(layers.LSTM(16,return_sequences=False,dropout=0.5))(lstm, training = True)
dense = layers.Dense(50)(lstm)
out10 = layers.Dense(1,name='quantile10')(dense)
out50 = layers.Dense(1,name='quantile50')(dense)
out90 = layers.Dense(1,name='quantile90')(dense)
Lmodel = Model(inputs=inputs,outputs=[out10,out50,out90])
Lmodel.summary()
losses = [lambda y,f: q_loss(0.1,y,f), lambda y,f:q_loss(0.5,y,f), lambda y,f:q_loss(0.9,y,f)]
Lmodel.compile(loss= losses,optimizer = 'adam', loss_weights=[0.3,0.3,0.3])
\# model test
tempX= torch.randn((4,48,1))
tempY = torch.ones(4)
Lmodel.fit(x=tempX,y={'quantile10':tempY,"quantile50":tempY,"quantile90":tempY},
epochs=1,batch_size=1,verbose=2)

the error log(as shown in picture above :
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/keras/src/utils/traceback_utils.py", line 123, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/sdd/anaconda3/envs/torch_lightning/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
RuntimeError: Exception encountered when calling LSTMCell.call().

Output 0 of UnbindBackward0 is a view and is being modified inplace. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You should replace the inplace operation by an out-of-place one.

Arguments received by LSTMCell.call():
  • inputs=torch.Tensor(shape=torch.Size([1, 128]), dtype=float32)
  • states=('torch.Tensor(shape=torch.Size([1, 16]), dtype=float32)', 'torch.Tensor(shape=torch.Size([1, 16]), dtype=float32)')
  • training=True

Hi,
Thanks for reporting the issue, I was trying to reproduce the error, I could not find the q_loss defined in the code, please find the attached Gist here and provide sample reproducible code.

loss for keras 2.15
def q_loss(q,y,f):#q: quntile ,y :true label, f: pred lablel
error = y-f
# return keras.ops.mean(keras.ops.maximum(q*error,(q-1)error),axis=-1)
return keras.backend.mean(keras.backend.maximum(qerror,(q-1)*error),axis=-1)
loss for keras 3.0
def q_loss(q,y,f):#q: quntile ,y :true label, f: pred lablel
error = y-f
return keras.ops.mean(keras.ops.maximum(q*error,(q-1)error),axis=-1)
#return keras.backend.mean(keras.backend.maximum(qerror,(q-1)*error),axis=-1)

Hi,
Thanks for reporting the issue, I was trying to reproduce the error, I could not find the q_loss defined in the code, please find the attached Gist here and provide sample reproducible code.
I  rewrote  my codes in your colab, and shared the running Gist here.
looking forward your reply.

I was able to run the code without any error in Keras 3.0.2, please find the below Gist and let us know if there is anything I'm missing.
https://colab.sandbox.google.com/gist/sachinprasadhs/6329e51aa49fa697c09185f912b5049e/18895.ipynb


Fix configuration parameter for process & trace so that spaces in the

filename are OK
What does this PR do?
Fixes parameters for trace/process so they can correctly find the configuration files
necessary for startup
Motivation
customer request
Additional Notes
Anything else we should know when reviewing?

already merged


Legibility of screen

With our OLL unit that is in the glaring SoCal sun, only the yellow text on the solar info page is easily legible. For at least this unit, we should switch all UI pages to yellow, I think. Maybe that would be best for Svalbard units, too (and thus be the default in the code)? Note: we could make the color scheme configurable from settings in the config file.

simultaneously add titles to the respective display pages on the screen


claws-mail: fix build with perl >= 5.35.2

Description of changes
Commit is on upstream master branch, will be part of next release: https://git.claws-mail.org/?p=claws.git;a=commit;h=5fee50c54a370fdfb5241bd4c4c16281a741762e
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I thought I already fixed this in #185988, but I also saw the failure now. Looks like that commit didn't make it to master yet.

Oh, I didn't see that PR. Then we wait. :smile:


BUG: fix README formatting on PyPi by using pandoc

Both test PyPi (https://testpypi.python.org/pypi/scikit-umfpack/0.0c) and github formatting now seems OK. Can anyone verify? (@timtadh)

@rc . Looks legit. You should add a note about installing pandoc for creating distribution packages to the README. It looks like it was a good way to go!

@timtadh, as it is not needed for normal use, I would rather put the info about pandoc into the release.rst, see #14.

@rc good idea. :shipit: :+1:


Fix grammar parsing issues

Minor changes in the TextMate grammar file:

highlight numeric_std unresolved types as types
highlight time_vector and boolean_vector types as types
highlight correctly decimal bit string litterals (for instance 32d"3_003_772_904" was not shown correctly)

Hi @Schottkyc137,
Can you review this PR please?

Thanks for the fixes!


How would one download a release asset

This seems to be an incredible mystery. I can't find any examples for any mechanism to programmatically download a release asset from a private repo.
I had hoped this Gem would have an easy way to do that, but I don't see how to do it here ether.
Any suggestions (or example code)?
Thanks

Hi Robert,
The intro paragraph explains how to navigate the api and links to official docs. After reading official documentation for releases, you will find that the code hierarchy corresponds to with the docs. The api has over 200 methods and I took a lot of time to document the api calls with code examples - see release assets
github = Github.new ....
github.repos.releases.assets.get 'owner', 'repo', 'id'

Excuse the messy Ruby, but this is what I had to do to wind up downloading a single asset:
def get_asset_download_url(github_user, github_repo, asset_id)
  api = Github.new
  resp = api.repos.releases.assets.get github_user, github_repo, asset_id, accept: 'application/octet-stream'
  return resp.headers.location
end

Two issues I came across was passing application/octet-stream to specify that I wanted a binary, then after that having to handle the redirect response GitHub will give.
Would be nice to see downloading to a file handle as an option.

@rberger
I struggled to find it too but it's documented here https://developer.github.com/v3/repos/releases/#response-8
When getting a single asset setting header accept: application/octet-stream will download the asset as binary. Make sure to follow redirects (302).


Bug Fixes: Issues #70 & #76

Fixed page number bug
Added logic to replace poster and backdrop images if one or both don't exist

can we merge my pr first? so we have fewer merge conflicts


Bug: Memoizing attributes/props breaks value for <input /> elements

When setting the value prop fo an <input /> to a signal which yields the same value, does not update the value correctly. Here's an example:
mount_to_body(|cx| {
  use leptos_daisyui_components::{
    TextInput,
    TextInputProps,
  };

  let (read, write) = create_signal(cx, "$0.00".to_string());

  view! { cx,
    <input prop:value=read on:input=move |_| write("$0.00".into()) />
    <input prop:value=read />
  }
});

In the above example, the value prop is being set to $0.00 on any inpu event. This should essentially disable typing for the user on <input />. Currently this does not work because values are being memoized internally.
We should remove attribute/property memoization, or provide an entry point where we can opt out of it, such as unmemoized_prop:value.
...I know, it's the greatest name you've ever heard!

Yes, this is right, but why is this not considered a bug, as it's not the expected behavior? Memoizing values and attributes may not be a worthwhile optimization, since these things tend to be set once, and then updated as events come in, making performance a non-problem, I think.

Perhaps opting in to this behavior, via Memo might be the better strategy?
What do you think?

Ah, thanks. I had not previously linked this in my mind with the fact that it was memoized, but of course you're correct. Removing memoization on property values fixes this whole set of issues, which is really good. Would you like to make a PR or should I?

If you can do it, I'd be very grateful! I'm mega busy working on a small project right now so only really have time whenever I find an issue like this. I still need to finish fixing the <For /> algorithm, which I haven't been able to do because it's a little hard and haven't had a solid chunk of time to finish it :(


Article Title Accents and slug

Describe the bug
If the article's title has accents or UTF-8 characters, the page slug renders those accents wrongly.
Screenshots

Desktop (please complete the following information):

OS: Linux
Browser chrome

Hugo & Blowfish versions
Which version of Hugo and Blowfish are you using?
Hugo 0.113.1
Blowfish latest version

I solved changing the slug by url like this:
url: /crear-imagenes-multiarquitectura-de-docker-con-buildx

Cheers!


🔧 (.github/workflows/create-release.yml): Add new inputs for workflow…

…_call to support version, branch, runId, standalone_zip, and dry_run flags
🔧 (.github/workflows/create-release.yml): Modify conditions for setting repository tags, attaching files to draft release, and attaching standalone zip to build based on standalone_zip and dry_run flags
🔧 (.github/workflows/dry-run-relase.yml): Create a new workflow file for dry run release with setup, dry-run-release, and cleanup jobs to handle the dry run release process
Impact

[ ] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Things to be aware of

Things to worry about

Additional Context

I need to merge this to have the new workflow available to be executed


Broken ability to add custom serialization handlers

Apparently there is misspelling
https://github.com/korotovsky/yii2-jms-serializer/blob/44494a7771b6e2de0370af66aa5d7ae0c2082fd0/src/Bootstrap.php#L227
It wont give a client an ability to use custom serialization handlers as it described on docs
http://www.yiiframework.com/extension/yii2-jms-serializer/
//    'my_handler' => [             //        'class' => 'app\\serializer\\handler\\MyHandler',             //    ],

Hi @Faecie,
Thanks for your report! This bug has been fixed in this release: https://github.com/korotovsky/yii2-jms-serializer/releases/tag/2.0.1


skip tests that are flaky on HHH

Description
This tests is currently flaking on the HHH bots.

What's HHH?

@goderbauer HHH = dart/engine/flutter head-head-head bot.
The change LGTM, but there are more tests timing out on HHH bot, so we might need to exclude more tests or increase timeout when running web tests.

I think actually this isn't the right approach, since we're not sure of the cause. In the next few weeks I would expect the web tests to be very unstable, so perhaps in the meantime they should simply be disabled on HHH - at least until we are more confident in them


Fix and optimize metasync.filter

Now metasync.filter isn't not working right now. We need to:

Remove position variable because it it supposed to be a part of sequential implementation
Use collection of deleted elements or use Array of Boolean
Add second sync iteration to remove elements after async execution

We also need tests for this function


Formerly deleted TFS branches are initialized correctly

By taking the oldest branch commit after the youngest delete commit
of the respective branch as root commit.
Should solve the issues: #1070, #1051, #1030

This patch apparently conflicts with a former contribution related to branch renaming.
However, the patch also does not really solve the issue with branch deletion Operation, made with the "maintain history" Option in TFS. I will open another Issue for that in near future.

Glad not to work with tfs anymore


Support _first and _last parameter for missing bucket ordering in composite aggregation

Description
Support _first and _last parameter for missing bucket ordering in composite aggregation.
If missing_order is "_first" or "_last", regardless order, missing_bucket is at first or last respectively. for example, the following query will sort product asc and null bucket will be placed at last.
{
  "size": 0,
  "aggs": {
    "my_buckets": {
      "composite": {
        "sources": [
          {
            "product_name": {
              "terms": {
                "field": "product",
                "missing_bucket": true,
                "missing_order": "last",
                "order": "asc"
              }
            }
          }
        ]
      }
    }
  }
}

Issues Resolved
#1899
Check List

[x ] New functionality includes testing.

[x ] All tests pass

[ ] New functionality has been documented.

[x ] New functionality has javadoc added

[ x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@nknize Thanks for the feedback, good point. I pushed a fix and resolve comments which I already addressed, but I am leaving 1 comment unresolved and want to double confirm with you.

I prefer a separate backportable PR for 1.3.0.

I'm good w/ that!


Change VSTS_WORK value

The command, docker volume create, cannot mount a path with a directory that starts with an underscore.

This value is intentionally "_work" to match the default value used by the VSTS agent. See here and here.
Is there a reason you have to change this default and you don't simply override VSTS_WORK to the value you need?

I have tried overriding the value using a kubernetes deployment of the container.
Pod Template:
Labels:  app=msftkube-agent
Containers:
msftkube-agent:
Image:  stshriv/kube-agent
Port:
Environment:
VSTS_WORK:     work
However, once the container is running the value is not available.
printenv.txt

That should work. What does your kube yaml look like?

Kube yaml is found here:

Is it possible to make the docker versions of the vsts-agent images use a different default WorkingDirectory? One that plays well with docker volumes?

I reviewed your kube-agent.yaml and Dockerfile and it looks fine to me. There should definitely be a VSTS_WORK envvar if you shell into the running container. In fact, I pulled your stshrive/kube-agent image in a kubernetes pod spec and verified that it worked (I just used 'test' instead of 'work'):
$ kubectl exec -it vsts-agent-pod-ctz75 bash
root@vsts-agent-pod-ctz75:/vsts# ls
agent  kubectl  start.sh  test

I think there may be some other issue on your side

The issue is actually a silent failure here:
if [ -n "$VSTS_WORK" ]; then
export VSTS_WORK="$(eval echo $VSTS_WORK)"
mkdir -p "$VSTS_WORK"
fi


Crash when used together with Electron

Hello, thanks for the package.
It works great except for one condition when it is used together with Electron (v21.0.0 tested). On macOS, if the user has not granted the application the Accessibility permission then the application crashes when you call uIOhook.start().
I created an Electron Fiddle to make it easy for you to reproduce: https://gist.github.com/stefansundin/937b9b20b28d58bc4d3ff05157d412c5
I included the full crash log in the gist above (scroll to the bottom), but here's the important part:
Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib                 0x19cdced98 __pthread_kill + 8
1   libsystem_pthread.dylib                0x19ce03ee0 pthread_kill + 288
2   libsystem_c.dylib                      0x19cd3e340 abort + 168
3   Electron Framework                     0x10c74019c uv_mutex_destroy + 28
4   uiohook_napi.node                      0x104f51d4c uiohook_worker_start + 148
5   uiohook_napi.node                      0x104f51438 AddonStart + 264
6   Electron Framework                     0x11247604c napi_is_detached_arraybuffer + 296
7   Electron Framework                     0x10d586af8 v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 15136
8   Electron Framework                     0x10d586688 v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 14000
9   Electron Framework                     0x10d585b40 v8::internal::Accessors::MakeAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Name>, void (*)(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&), void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)) + 11112

If you run the application from the terminal then it is the terminal app's permission that takes effect. So if you've already given it accessibility permissions then you may have to revoke that in System Preferences -> Security & Privacy to trigger the crash.
Before the crash this is printed:
hook_run [1407]: Accessibility API is disabled!

The prompt to grant accessibility permissions is shown as expected (see screenshot below), followed immediately by the crash. When run through Electron Fiddle the macOS crash reporter isn't shown.

The crash is happening on this line: https://github.com/SnosMe/uiohook-napi/blob/63745a540828de230392eee3e6cf85d8a4d09e13/src/lib/uiohook_worker.c#L179
I tried commenting that out and it prevents the crash, but of course there may be a memory leak created in that case.
Would love to hear if you have any ideas on how to safely address this problem. Thank you!
Versions: uiohook-napi v1.5.0, Electron v21.0.0, node.js v16.17.0

Not a fix but a workaround would be to use Electron's systemPreferences.isTrustedAccessibilityClient() to have more control over showing the dialog, and then only do require("uiohook-napi") once you know the permissions are already granted. This approach has other advantages too since it lets you warn the user with a custom message before seeing the scary ambiguously-worded dialog, and also avoids the occasional issue of needing to restart the app before the perms take effect.
https://www.electronjs.org/docs/latest/api/system-preferences#systempreferencesistrustedaccessibilityclientprompt-macos

PRs welcome, I don't own Mac.

Not a fix but a workaround would be to use Electron's systemPreferences.isTrustedAccessibilityClient() to have more control over showing the dialog, and then only do require("uiohook-napi") once you know the permissions are already granted. This approach has other advantages too since it lets you warn the user with a custom message before seeing the scary ambiguously-worded dialog, and also avoids the occasional issue of needing to restart the app before the perms take effect.
https://www.electronjs.org/docs/latest/api/system-preferences#systempreferencesistrustedaccessibilityclientprompt-macos

Following the above, this worked for us:
  if (process.platform === "darwin") {
    // input arg of isTrustedAccessibilityClient determines  whether or not the user will be informed via prompt if the current process is untrusted.
    const isTrusted = systemPreferences.isTrustedAccessibilityClient(true); // Ref: https://github.com/SnosMe/uiohook-napi/issues/24#issuecomment-1271723324
    if (isTrusted === true) {
      uIOhook.start();
    } else {
      await dialog.showMessageBox(window, {
        message:
          "Accessibility permissions are needed for mouse and keyboard tracking to work properly. Please restart the app after providing those permissions.",
      });
    }
  } else {
    uIOhook.start();
  }


Decreasing size of header.

I would like to decrease the size of header in website because we we open the site the header looks too big an we cant see the form . So please let me know should I work on this.

It is not even that big.
You can scroll down to view the form.
No need.


fix readme link in contributing section

Hey, great find! This actually needs to link to (README.md) instead of (readme) as the file "readme" doesn't exist.

Sorry for many commits for a simple fix, Shawn.  :)

No problem -- thanks for the fix! :)


Policies for image pull can be configured  container

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your KusionStack components version? (Required)

@ddh-open   According to my understanding, this issue is classified as an enhancement and not a bug. It would be beneficial to include additional details to explain the need for this enhancement.  Exposing theimagePullPolicy to a typical Developer is abnormal since this attribute is often set as IfNotPresent in most circumstances and Developers do not need to care about it.

Developer  do not need care about it, but ops can care.   it also used by ops


using options {endian: _.type.be} causes error

Hi,
I am trying to parse a binary message in big-endian format:
var Response = new _.Schema({
  length: _.type.uint32,
  msgType: _.type.uint8,
  msgId: _.type.uint8,
  cmdCode: _.type.uint16
});
_.register('Response', Response);

the buffer contains:
00 00 00 08 03 00 00 87 00 04 00 00 00 04 01 00
I am unpacking using this code:
var obj = _.unpackSync('Response', buf, { endian: _.type.be }) as IHeader;
the error I receive is
TypeError: unpacker[(s + byteord)] is not a function
    at next (C:\...\node_modules\c-struct\lib\cstruct.js:83:44)
    at Object.<anonymous>.cstruct.unpackSync (C:\...\node_modules\c-struct\lib\cstruct.js:132:10)

it seems all BE unpackers are missing. will publish a pull-request here in a moment

see my pull-request


How contented is new id allocation expected to be?

There are a lot of possible optimizations on the way if we say that we expect low contention on the Mutex around ThreadIdManager, but can we make this assumption?

Contention should be low: it only happens once per thread, and the overhead is tiny compared to that of actually creating a thread.

@Amanieu i opened a pr adjusting locking behavior in regards to this assumption


Extension incorrectly adds brace to {some-text} when $ is added

"test {me}" -> "test ${me}" becomes -> `test ${}me}` with an extra brace

what are your settings? gif would be helpful


Message is not centered

Please! Am I the only one getting this error?
p/s: running on iPhone 5s, iOS 10.2.1

@dqhieu: Thanks for reporting 👍. This has been fixed in 3.5.2.


Fix a bug of not clearing the map

Why do we need private static Map dataMap = new ConcurrentHashMap<Integer, ByteBuf>();?
Is this the recommended way to write a handler?

The dataMap was added in order to aggregate the Http2DataFrames with reference to the stream id as there is no any handler to aggregrate the data frames for HTTP/2 [1]. Even though the original issue was fixed by this, there was another regression issue created. Will address it with another PR. Hence closing this.
[1] https://github.com/netty/netty/issues/7908


BOX - Exception of type 'Box.V2.Exceptions.BoxSessionInvalidatedException' was thrown

First, thank you fot this outstanding plugin! I love it!
The message "Error loading file list. Exception of type 'Box.V2.Exceptions.BoxSessionInvalidatedException' was thrown" is displayed when I do a check on the Box account that I had previously created.
I can setup the access to the Box account fine and retrieve the KeePass database, work on it, save back to Box - no problem.
BUT In irregular intervals when i open the File i get the error message.
Workaround: Than i have to go manually in the KeeAnywhere menu klick on check and have to reenter the password and username.
I have that problem since i use the plugin (between 6 - 18 month). But i update it to one month ago to 1.6 and the problem is still there.
I would love if you are able to fix it, in one of the following ways:

That will don't happend again ;)
You save the password secure and autotype it in the loginscreen (If box.net ask again per design)
We get an login popup insted of the error message if we open the database (without the indirect way over the KeeAnywhere menu and check button)

KR Axel

I regularly experience this issue -- maybe once or twice a week?

Issue #106 will fix this


masked_fill op bug

Describe the bug

Registration bug. flag_gems.masked_fill implementation is not correctly registered for torch.masked_fill op. The op names in aTen are masked_fill_.Tensor  and masked_fill_.Scalar.
flag_gems.masked_fill has some bugs:

Variables in the config mismatch the args in the triton kernel
"TypeError: dynamic_func() missing 2 required positional arguments: 'BLOCK_M' and 'BLOCK_N'"
value = value.contiguous() raises error
"AttributeError: 'int' object has no attribute 'contiguous"
When inp is (), N = inp.size(inp.ndim - 1) raises error
"IndexError: Dimension specified as -1 but tensor has no dimensions"

Thank you for raising these bugs!
Regarding the registration bug, the current version of masked_fill in the operator plan indeed returns a new tensor. However, I understand that you are looking for an in-place implementation of this operator? In the new PR the in-place function has now been implemented and registered.
I also appreciate you pointing out the other bugs; we are actively working on fixing them. You can take a look at PR#297 and see if it can solve your problem :)

Thank you for raising these bugs!
Regarding the registration bug, the current version of masked_fill in the operator plan indeed returns a new tensor. However, I understand that you are looking for an in-place implementation of this operator? In the new PR the in-place function has now been implemented and registered.
I also appreciate you pointing out the other bugs; we are actively working on fixing them. You can take a look at PR#297 and see if it can solve your problem :)

Haha, sry, I did not notice that you have been working on this problem. In the bug description above, I made a mistake that the out-of-place implemetion should be registered for masked_fill.Scalar. PR#297 LGTM👍.


Hi how do we start it?

Im really new to coding and stuff but I cant get this bot to start how do I do it?

I added a requirements.txt file to the repository so you should just be able to clone the repository or download as zip and then run main.py using either an IDE or command prompt.
The commands to download the dependencies and run the bot are:
pip install -r requirements.txt
python main.py
If you have all your settings correct and have League of Legends installed in the default directory you can also just try to download the release I just made at https://github.com/AnakinTrotter/League-Bot/releases and then all you have to do is extract and run main.exe
Let me know if you get it working.


make lintr output readable for human

Thanks!
Can you provide some example output which could be added to a test then?
How does it (the raw outpu) look with and without the new options?

When start a new R process, R will generate a long header message and restore workspace from current directory, which will disrupt and slow down the linter.

Without arguments:

With the new arguments:

Thanks for the info, but can you paste this, please? :)

The output of current version.
||
|| R version 3.5.3 (2019-03-11) -- "Great Truth"
|| Copyright (C) 2019 The R Foundation for Statistical Computing
|| Platform: x86_64-pc-linux-gnu (64-bit)
||
|| R is free software and comes with ABSOLUTELY NO WARRANTY.
|| You are welcome to redistribute it under certain conditions.
|| Type 'license()' or 'licence()' for distribution details.
||
||   Natural language support but running in an English locale
||
|| R is a collaborative project with many contributors.
|| Type 'contributors()' for more information and
|| 'citation()' on how to cite R or R packages in publications.
||
|| Type 'demo()' for some demos, 'help()' for on-line help, or
|| 'help.start()' for an HTML browser interface to help.
|| Type 'q()' to quit R.
||
|| > lintr::lint("/home/user/Coding/learn_r/test.R")
test.R|12 col 1 warning| lines should not be more than 80 characters.
||   flow_df, aes(y = Freq, x = time, alluvium = leaf_id, stratum = progenitor, fill = progenitor)
|| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|| >
|| >
|| [Previously saved workspace restored]
||

The only useful message:
test.R|12 col 1 warning| lines should not be more than 80 characters.
||   flow_df, aes(y = Freq, x = time, alluvium = leaf_id, stratum = progenitor, fill = progenitor)

and no-restore speed up the plugin.

Thanks.  The output might be useful to create some tests later.


Please invite me to the Recode-Hive GitHub Community Organization

Name
Sadhvika Kokkula
Discord Username (if applicable)
sadhvika_06
Additional Context
add me

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/Recode-Hive/people


Please support older macOS/iOS versions

Hi,
Is there a technical reason why only quite new macOS/iOS versions (macOS 13.3 and iOS 16.4) are supported in the Swift Packages? I thought because your great code is pure Swift and doesn't have dependencies on AppKit/UIKit/Foundation that I should be able to use it with older OS versions as well.
Supporting only new OS versions is a major issue for software which must be compatible with older Macs and iOS devices, which are very common for example in education settings. Currently we're still supporting macOS 10.13 and iOS 12 and even though heavily relying on AppKit/UIKit, this works great also with Swift code.
Thank you for an answer/considering our request.
Kind regards,
Daniel

the “technical” reason is that the library (or one of its infrastructural dependencies) uses Swift language features that are only supported on newer versions of macOS. however, i don’t remember off the top of my head what those language features are, only that those platform version minimums were needed at one point in order to compile the package successfully on macOS.
what errors do you get if you lower or remove the platform versions?

This swift-hash PR (now merged 🎉) should make it possible to fix this issue


docs: Sample to use AlloyDB interface for vector search in PGVector database

This code samples shows users how to use AlloyDB interface for vector search in any DB created using the PGVector interface.
This would allow you to migrate from using PGVector to AlloyDB Vector Store search methods.

@twishabansal This PR can be close in favor of #249 , correct?


Problem with installing tenant-dependency lib in python_base image

When badgerdoc/infra/docker/python_base/Dockerfile is constructed, the tenant_dependency module is not included. Additionally, some checks such as mypy, black, and isort are not performed during the building process.

It works


Drone tools mispredict

Description
DroneToolComponent is shared, but DroneSystem is server, so client doesn't know theyre un-droppable
https://user-images.githubusercontent.com/19853115/153513452-03a27a13-1dba-4aac-a3bd-12bc5a92cf16.mp4

Is the solution moving the system to shared? I have no clue how prediction works

yeah the drone tool event stuff should just be moved to shared

You can assign this to me I'll get it done some time this weekend

Is the solution moving the system to shared? I have no clue how prediction works

If all you want is to prevent drop-mispredicts, but not adding other predicted interactions or something, then all you need is to move the event subscriptions that block the interactions into shared code, so the client knows the event should get cancelled when it tries to drop it.
Also didn't get round to reviewing it, but just looking at the PR you could probably make use of container events. Specifically:

ContainerIsRemovingAttemptEvent is directed at the container
ContainerGettingRemovedAttemptEvent is directed at the entity being removed.
If you cancel those, it should prevent almost all removal from containers, both inventory & hands, which I think is what you want for drones? The one exception is if someone uses ForceRemove, but at that point the hand-events also wouldn't stop it.


Secure Document Upload | submit request for review of document |5|

https://trello.com/c/72fg0uvZ/1039-secure-document-upload-submit-request-for-review-of-document-5
As a Fuel Supplier
I need to submit the request for review of my Evidence for a Part 3 Agreement so that government can view, download and confirm it was received

requires history record

Hypothesis Driven Development
We believe that allowing organizations to send us documents securely through the TFRS App will improve their confidence that their information is not at risk of being intercepted by hackers.
We will know we are successful by asking fuel suppliers how they feel about the security of their information
Notes
Use Feature Toggle
history record for status changes (draft to submitted, or submitted to received)
add doc upload permission for Fuel Suppliers
add a permission for government to see submitted or received attachments

 Secure Document Upload | submit request for review of document |5|


1M5:Core:ClearnetSensor:Support IPFS

This requires supporting IPFS Service directed calls to external gateways AND launching an internal light-weight webserver when set up as an IPFS Gateway.

IPFS not a priority as it lacks inter-node privacy


Update james-iohk/cardano-node 1.35.4 fork branch for cardano-testnet

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Formatting, PNG optimization, etc. are updated
[ ] Important changes are reflected in changelog.d of the affected packages

PR

[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reference the ADR in the PR and reference the PR in the ADR (if revelant)
[ ] Reviewer requested

Superseded by https://github.com/input-output-hk/plutus-apps/pull/977 so we probably don't need to merge this now.


feat: add metadata to ipfs response

This PR adds metadata to the IPFS response.

This looks great from my side @0xArdi. Don't need anything else.


fix: Goroutine memory leak

Motivation
The goroutines watching ETCD data are never released from memory until the process is down because the logic to stop the goroutines does not exist. It only deletes Service
Moreover, it tries to get data for a namespace even if the namespace does not exist. It causes a lot of garbage logs like the following
{"level":"error","ts":"2023-06-13T19:37:13Z","msg":"Reconciler error","controller":"ServiceReconciler","controllerGroup":"","controllerKind":"Namespace","Namespace":{"name":"openshift-build-test-28111211-5dttn"},"namespace":"","name":"openshift-build-test-28111211-5dttn","reconcileID":"4daa4200-cc10-4365-81e6-54840dffa332","error":"Namespace \"openshift-build-test-28111211-5dttn\" not found","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.6/pkg/internal/controller/controller.go:235"}

ISSUE: https://github.com/kserve/modelmesh-serving/issues/385
Modifications

Goruntines will be stopped when the label modelmesh-enabled is removed from a namespace or the namespace is deleted.
If the request namespace does not exist, it will not retry to get the information again.

Result
When the lable modelmesh-enabled is added to a namespace, 7 Goroutines are created but if the label is removed or the namespace is removed, 7 Goroutines will be stopped. The Goroutines count can be checked with pprof.
Unfortunately, Modelmesh does not have pprof pkg so it is not possible to check it directly.
In order to test this, pprof pkg needs to be added to main. This PR has the code example. If Modelmesh needs this part, I will contribute this with another PR.

@ckadner added comments to the source.


examples: react-native basic app in typescript

Same example as in the Expo snack but in Typescript.
Link added to React Native example page.

:tada: This PR is included in version 3.34.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0-alpha.8 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BEAM-213] Fix README to use refactored package names

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Have you thought of using @AutoService to generate the service loader files during build time?
You just add the annotation @AutoService and depend on:

com.google.auto.service
auto-service
${version}
true

More info here: https://github.com/google/auto/tree/master/service

LGTM -- @amitsela feel free to merge as-is or switch to AutoService as you desire.
I notice that Luke's comment is a little munged by github. You might just look at the dataflow-runner-pom or the Flink runner registrar

Made a mess with the merge, I'll reopen this PR


Customizable and animated character models

Current situation
While terasology already supports animated meshes, they don't get curently used for the player controlled character.
Thus if you view another player in multiplayer you see just a place holder mesh.
Wanted situation
Other characters look visually pleasing and are animated so that you can see what they do.
The characters should be customizable in some way, to allow players to identify themself with them.
Some brain storming in that area:

The armor of the player could be made of many small parts that can be idivually chosen and added
An item/NPC could allow the modification, form and color of the hair
The face could be based on many small parameters. e.g. one parameter controls the form of the mouth, the other the color and form of the eyes, etc. (even if it may just be a single pixle)

Ideally of course the API for generating the customizable model should be separated from the ingame mechanism to activate it, so that alternative activation strategies are possible.

Hello, I am new to this project but would love to help around. Has any work been done on this issue?

Hi @Remi05 and welcome. The answer is similar to the one you've got on the particle system issue: this is a GSOC item as well to which students have applied. The decision which tasks will be part of GSOC and handed to a student will be decided later.

Hi @Remi05 :-)
I just posted a thread with some related info: http://forum.terasology.org/threads/continuing-mentoring-beyond-gsoc-and-new-issue-markings.1522
We won't know for a few weeks if this topic will get picked. But maybe you can spend the time preparing by getting set up to run from source and try out some smaller topics to get used to the code first?

If VR Issues need general testing at some point, ping me. I have an HTC Vive.

Hi I am interested to take up this topic as a GSOC project this summer(2017) .
This is my draft for the proposal. Please comment on anything I should add ?

Maybe as an update for Kate from IRC, didn't get back home in time for still catching on IRC.
Current state / some general summary notes:

#3242 introduces an initial replaceable character model from the player, with the default a simple block, with https://github.com/Terasology/HumanoidCharacters offering a more advanced player character
We may need more support for triggering player animations in certain cases (like jump, attack, etc)
We need support for dynamically modifying player meshes, to for instance pick a different color starting shirt or similar customizations
We need support for better identifying different parts of a mesh, for instance so you can custom color something, or show an overlay indicating damage or other effects
We need an equipment system that will then visually affect the part of the body a newly added item goes on
We need the character model to show actions like the player looking in a given direction (other players should be able to see this)
We need the character model to show a held item in a way that other players can see, and maybe also that the owning player can see if that should differ from the current "faked" held item (just a 2d image attached to the bottom right of the screen)
We need better support for extras surrounding the player model (and others) to play appropriate footstep noises, tool noises, particle effects for when running through sand or splashing in water, and so on

That's real rough but just to expand on this item a bit


Types are not included in 0.0.12 package

It seems the package was published without the types being generated so the package.types is referencing a non existing locastion

When looking at 0.0.12 package, you can see the dist/types is not included

Related to #6
Also dist/esm is not included although that isn't as large of problem, given the minified has same functionality.

Should now be included


feat(pwa) use offline-plugin for service worker setup and offline sup…

add offline plugin for utilizing SW and offline support
takes one off #1400
the whole website works offline thanks to our existing flatten content tree

Note:

moved ssg config out as webpack was compiling both in a race (at least on my machine it seemed so.) to now run ssg and then run prod and include ssg run's css that was printed into html files.

How does this work?

It registers a service worker who then catches network requests to assets and caches them. There are defaults enlisted in offline-plugin's readme on options section.

A good ref: https://github.com/NekR/offline-plugin#docs

So looks like SSG prod version doesnt need it at all, instead of doing it twice we are doing it once now

On the preview its still not perfect, for some reason not all css are there when offline

On the preview its still not perfect, for some reason not all css are there when offline

Good luck in your adventures :D
Services Workers are hard.

@montogeek ready for review, seem to work as expected

Thanks!


feat: add support for "limit 0"

Fixes #2011
MySQL, PostgreSQL, and SQLite all support LIMIT 0 as a way to quickly return an empty dataset. Negative numbers are not supported.
It can be useful for testing queries, but in Drizzle's case, it can also be a simpler way to get conditional nested data without messing up the Typescript return type as demonstrated in #2011
The changes proposed ensure placeholders (object) and numbers >= 0 are still supported. If a developer tries to use a negative number, it would exclude the limit rather than throw an error.

Thanks a lot! It would be awesome if you could add tests for each case. If you need guidance on how to do it, please ping me

@AndriiSherman This is my first contribution to Drizzle and I have not made tests before, so if you could guide me that would be great.

Sure! We have an integration-tests folder that contains all the necessary tests to run. For example, you need to add this test case for PostgreSQL. You would need to use tests/pg/pg-common.ts and add a new test case by following the examples of other test functions you will find. You can get the DB instance, insert some test data, and then test the select with limit and different options. Each test will drop and recreate all tables, so at the start of the test, you will always have empty tables.
Then you can add tests for MySQL and SQLite.
To run tests, navigate to the integration-tests directory and run pnpm run test. This will run all tests, and MySQL and PostgreSQL will create Docker containers for each test case and then drop them after the tests are finished. You can also find vitest.config.ts and include only the specific tests you need, so you won't run all the test cases we have.

Thanks! I setup a Github Codespace, and ran
pnpm i
pnpm run test

I seem to have all the TS types, so the install looks fine. It's failing before I even added any tests
integration-tests:test:types: cache hit, suppressing logs 9cbf3e41b4b9321c
integration-tests:test: cache miss, executing add336c811a1d10b
integration-tests:test:
integration-tests:test: ><EMAIL_ADDRESS>test /workspaces/drizzle-orm/integration-tests
integration-tests:test: > pnpm test:vitest
integration-tests:test:
integration-tests:test:
integration-tests:test: ><EMAIL_ADDRESS>test:vitest /workspaces/drizzle-orm/integration-tests
integration-tests:test: > vitest run
integration-tests:test:
integration-tests:test:
integration-tests:test:  RUN  v1.6.0 /workspaces/drizzle-orm/integration-tests
integration-tests:test:
integration-tests:test:  ❯ tests/mysql/mysql-prefixed.test.ts  (69 tests) 10647ms
integration-tests:test:  ❯ tests/pg/pg-custom.test.ts  (44 tests)
integration-tests:test:  ❯ tests/pg/pg-custom.test.ts  (44 tests) 17373ms
integration-tests:test:  ❯ tests/mysql/mysql-custom.test.ts  (39 tests) 10569ms
integration-tests:test:  ✓ tests/sqlite/sqlite-proxy-batch.test.ts  (8 tests | 1 skipped) 43ms
integration-tests:test:  ❯ tests/pg/neon-http.test.ts  (156 tests | 1 skipped) 1ms
integration-tests:test:  ❯ tests/pg/postgres-js.test.ts  (156 tests) 7161ms
integration-tests:test:  ❯ tests/pg/node-postgres.test.ts  (156 tests) 6818ms
integration-tests:test:  ❯ tests/pg/pg-proxy.test.ts  (153 tests) 6786ms
integration-tests:test:  ❯ tests/sqlite/libsql-batch.test.ts  (7 tests) 1ms
integration-tests:test: (node:39483) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
integration-tests:test: (Use `node --trace-warnings ...` to show where the warning was created)
integration-tests:test:  ✓ tests/sqlite/d1-batch.test.ts  (7 tests) 487ms
integration-tests:test:  ✓ tests/sqlite/sqlite-proxy.test.ts  (106 tests | 4 skipped) 264ms
integration-tests:test:  ✓ tests/pg/pglite.test.ts  (146 tests | 5 skipped) 9647ms
integration-tests:test:  ❯ tests/mysql/mysql-proxy.test.ts  (129 tests) 10932ms
integration-tests:test:  ✓ tests/sqlite/d1.test.ts  (104 tests | 8 skipped) 762ms
integration-tests:test:  ❯ tests/sqlite/libsql.test.ts  (104 tests) 1ms
integration-tests:test:  ❯ tests/mysql/mysql-planetscale.test.ts  (129 tests | 80 failed | 49 skipped) 11640ms
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table config: unsigned ints
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table config: signed ints
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table config: foreign keys name
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table config: primary keys name
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table configs: unique third param
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > table configs: unique in column
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select all fields
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select typed sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select distinct
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert + select
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > json insert
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert with overridden default values
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert many
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with group by as field
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with exists
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with group by as sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > $default function
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > $default with empty array
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with group by as sql + column
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with group by as column + sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select with group by complex query
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > build query
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > Query check: Insert all defaults in 1 row
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > Query check: Insert all defaults in multiple rows
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > Insert all defaults in 1 row
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > Insert all defaults in multiple rows
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > build query insert with onDuplicate
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert with onDuplicate
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert conflict
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert conflict with ignore
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > partial join with alias
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > full join with alias
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select from alias
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert with spaces
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > prepared statement
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > prepared statement reuse
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > prepared statement with placeholder in .where
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > migrator
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert + select all possible dates
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > Mysql enum test case #1
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > left join (flat object fields)
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > left join (grouped fields)
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > left join (all fields)
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > join subquery
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select from subquery sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select a field without joining its table
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select all fields from subquery without alias
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select for ...
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > view
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select from raw sql
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > select from raw sql with joins
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > join on aliased sql from select
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > prefixed table
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > orderBy with aliased column
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > timestamp timezone
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > transaction rollback
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > nested transaction
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > nested transaction rollback
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > join subquery with join
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > join view as subquery
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert undefined
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > update undefined
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > set operations (union) from query builder with subquery
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > set operations (union) as function
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > set operations (union all) from query builder
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > set operations (union all) as function
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > aggregate function: count
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > aggregate function: avg
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > aggregate function: sum
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > aggregate function: max
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > aggregate function: min
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > mySchema :: select distinct
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > mySchema :: build query
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: serial as id
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: serial as id, batch insert
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: $default as primary key
integration-tests:test:      → fetch failed
integration-tests:test:    ❯ tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: $default as primary key with value
integration-tests:test:      → fetch failed
integration-tests:test:  ❯ tests/mysql/tidb-serverless.test.ts  (129 tests) 1ms
integration-tests:test:  ✓ tests/sqlite/better-sqlite.test.ts  (103 tests | 2 skipped) 225ms
integration-tests:test:  ✓ tests/sqlite/sql-js.test.ts  (103 tests | 2 skipped) 1068ms
integration-tests:test:  ❯ tests/pg/neon-http-batch.test.ts  (1 test)
integration-tests:test:  ❯ tests/mysql/mysql.test.ts  (129 tests) 12069ms
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯ Failed Suites 13 ⎯⎯⎯⎯⎯⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/pg/neon-http-batch.test.ts [ tests/pg/neon-http-batch.test.ts ]
integration-tests:test: Error: NEON_CONNECTION_STRING is not defined
integration-tests:test:  ❯ tests/pg/neon-http-batch.test.ts:40:9
integration-tests:test:      38|  const connectionString = process.env['NEON_CONNECTION_STRING'];
integration-tests:test:      39|  if (!connectionString) {
integration-tests:test:      40|   throw new Error('NEON_CONNECTION_STRING is not defined');
integration-tests:test:        |         ^
integration-tests:test:      41|  }
integration-tests:test:      42|  client = neon(connectionString);
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/pg/neon-http.test.ts [ tests/pg/neon-http.test.ts ]
integration-tests:test: Error: NEON_CONNECTION_STRING is not defined
integration-tests:test:  ❯ tests/pg/neon-http.test.ts:22:9
integration-tests:test:      20|  const connectionString = process.env['NEON_CONNECTION_STRING'];
integration-tests:test:      21|  if (!connectionString) {
integration-tests:test:      22|   throw new Error('NEON_CONNECTION_STRING is not defined');
integration-tests:test:        |         ^
integration-tests:test:      23|  }
integration-tests:test:      24|  client = neon(connectionString);
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/pg/node-postgres.test.ts [ tests/pg/node-postgres.test.ts ]
integration-tests:test:  FAIL  tests/pg/pg-proxy.test.ts [ tests/pg/pg-proxy.test.ts ]
integration-tests:test: Error: read ECONNRESET
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { errno: -104, code: 'ECONNRESET', syscall: 'read' }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/pg/pg-custom.test.ts [ tests/pg/pg-custom.test.ts ]
integration-tests:test: Error: Connection terminated unexpectedly
integration-tests:test:  ❯ Connection.<anonymous> ../node_modules/.pnpm/pg@8.11.5/node_modules/pg/lib/client.js:132:73
integration-tests:test:  ❯ Object.onceWrapper node:events:633:28
integration-tests:test:  ❯ Connection.emit node:events:519:28
integration-tests:test:  ❯ Socket.<anonymous> ../node_modules/.pnpm/pg@8.11.5/node_modules/pg/lib/connection.js:63:12
integration-tests:test:  ❯ Socket.emit node:events:519:28
integration-tests:test:  ❯ TCP.<anonymous> node:net:338:12
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/pg/postgres-js.test.ts [ tests/pg/postgres-js.test.ts ]
integration-tests:test: Error: read ECONNRESET
integration-tests:test:  ❯ cachedError ../node_modules/.pnpm/postgres@3.4.4/node_modules/postgres/src/query.js:170:23
integration-tests:test:  ❯ new Query ../node_modules/.pnpm/postgres@3.4.4/node_modules/postgres/src/query.js:36:24
integration-tests:test:  ❯ sql ../node_modules/.pnpm/postgres@3.4.4/node_modules/postgres/src/index.js:112:11
integration-tests:test:  ❯ default.retries tests/pg/postgres-js.test.ts:28:9
integration-tests:test:      26|    },
integration-tests:test:      27|   });
integration-tests:test:      28|   await client`select 1`;
integration-tests:test:        |         ^
integration-tests:test:      29|   return client;
integration-tests:test:      30|  }, {
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { errno: -104, code: 'ECONNRESET', syscall: 'read', query: undefined, parameters: undefined, args: [], types: null }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/mysql-custom.test.ts [ tests/mysql/mysql-custom.test.ts ]
integration-tests:test: Error: Connection lost: The server closed the connection.
integration-tests:test:  ❯ Proxy.createConnection ../node_modules/.pnpm/mysql2@3.3.3/node_modules/mysql2/promise.js:252:31
integration-tests:test:  ❯ default.retries tests/mysql/mysql-custom.test.ts:35:24
integration-tests:test:      33|  const connectionString = process.env['MYSQL_CONNECTION_STRING'] ?? aw…
integration-tests:test:      34|  client = await retry(async () => {
integration-tests:test:      35|   client = await mysql.createConnection(connectionString);
integration-tests:test:        |                        ^
integration-tests:test:      36|   await client.connect();
integration-tests:test:      37|   return client;
integration-tests:test:  ❯ RetryOperation.runAttempt [as _fn] ../node_modules/.pnpm/async-retry@1.3.3/node_modules/async-retry/lib/index.js:42:15
integration-tests:test:  ❯ Timeout._onTimeout ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js:85:10
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { code: 'PROTOCOL_CONNECTION_LOST', errno: undefined, sqlState: undefined }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/mysql-prefixed.test.ts [ tests/mysql/mysql-prefixed.test.ts ]
integration-tests:test: Error: Connection lost: The server closed the connection.
integration-tests:test:  ❯ Proxy.createConnection ../node_modules/.pnpm/mysql2@3.3.3/node_modules/mysql2/promise.js:252:31
integration-tests:test:  ❯ default.retries tests/mysql/mysql-prefixed.test.ts:39:24
integration-tests:test:      37|  const connectionString = process.env['MYSQL_CONNECTION_STRING'] ?? aw…
integration-tests:test:      38|  client = await retry(async () => {
integration-tests:test:      39|   client = await mysql.createConnection(connectionString);
integration-tests:test:        |                        ^
integration-tests:test:      40|   await client.connect();
integration-tests:test:      41|   return client;
integration-tests:test:  ❯ RetryOperation.runAttempt [as _fn] ../node_modules/.pnpm/async-retry@1.3.3/node_modules/async-retry/lib/index.js:42:15
integration-tests:test:  ❯ Timeout._onTimeout ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js:85:10
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { code: 'PROTOCOL_CONNECTION_LOST', errno: undefined, sqlState: undefined }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/mysql-proxy.test.ts [ tests/mysql/mysql-proxy.test.ts ]
integration-tests:test: Error: Connection lost: The server closed the connection.
integration-tests:test:  ❯ Proxy.createConnection ../node_modules/.pnpm/mysql2@3.3.3/node_modules/mysql2/promise.js:252:31
integration-tests:test:  ❯ default.retries tests/mysql/mysql-proxy.test.ts:86:24
integration-tests:test:      84|  const connectionString = process.env['MYSQL_CONNECTION_STRING'] ?? aw…
integration-tests:test:      85|  client = await retry(async () => {
integration-tests:test:      86|   client = await mysql.createConnection(connectionString);
integration-tests:test:        |                        ^
integration-tests:test:      87|   await client.connect();
integration-tests:test:      88|   return client;
integration-tests:test:  ❯ RetryOperation.runAttempt [as _fn] ../node_modules/.pnpm/async-retry@1.3.3/node_modules/async-retry/lib/index.js:42:15
integration-tests:test:  ❯ Timeout._onTimeout ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js:85:10
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { code: 'PROTOCOL_CONNECTION_LOST', errno: undefined, sqlState: undefined }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/mysql.test.ts [ tests/mysql/mysql.test.ts ]
integration-tests:test: Error: Connection lost: The server closed the connection.
integration-tests:test:  ❯ Proxy.createConnection ../node_modules/.pnpm/mysql2@3.3.3/node_modules/mysql2/promise.js:252:31
integration-tests:test:  ❯ default.retries tests/mysql/mysql.test.ts:16:24
integration-tests:test:      14|  const connectionString = process.env['MYSQL_CONNECTION_STRING'] ?? aw…
integration-tests:test:      15|  client = await retry(async () => {
integration-tests:test:      16|   client = await mysql.createConnection(connectionString);
integration-tests:test:        |                        ^
integration-tests:test:      17|   await client.connect();
integration-tests:test:      18|   return client;
integration-tests:test:  ❯ RetryOperation.runAttempt [as _fn] ../node_modules/.pnpm/async-retry@1.3.3/node_modules/async-retry/lib/index.js:42:15
integration-tests:test:  ❯ Timeout._onTimeout ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js:85:10
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { code: 'PROTOCOL_CONNECTION_LOST', errno: undefined, sqlState: undefined }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/tidb-serverless.test.ts [ tests/mysql/tidb-serverless.test.ts ]
integration-tests:test: Error: TIDB_CONNECTION_STRING is not set
integration-tests:test:  ❯ tests/mysql/tidb-serverless.test.ts:17:9
integration-tests:test:      15|  const connectionString = process.env['TIDB_CONNECTION_STRING'];
integration-tests:test:      16|  if (!connectionString) {
integration-tests:test:      17|   throw new Error('TIDB_CONNECTION_STRING is not set');
integration-tests:test:        |         ^
integration-tests:test:      18|  }
integration-tests:test:      19|
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/sqlite/libsql-batch.test.ts [ tests/sqlite/libsql-batch.test.ts ]
integration-tests:test: Error: LIBSQL_URL is not set
integration-tests:test:  ❯ tests/sqlite/libsql-batch.test.ts:144:9
integration-tests:test:     142|  const authToken = process.env['LIBSQL_AUTH_TOKEN'];
integration-tests:test:     143|  if (!url) {
integration-tests:test:     144|   throw new Error('LIBSQL_URL is not set');
integration-tests:test:        |         ^
integration-tests:test:     145|  }
integration-tests:test:     146|  client = await retry(async () => {
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/sqlite/libsql-batch.test.ts [ tests/sqlite/libsql-batch.test.ts ]
integration-tests:test: TypeError: Cannot read properties of undefined (reading 'run')
integration-tests:test:  ❯ tests/sqlite/libsql-batch.test.ts:236:11
integration-tests:test:     234|
integration-tests:test:     235| afterAll(async () => {
integration-tests:test:     236|  await db.run(sql`drop table if exists \`groups\``);
integration-tests:test:        |           ^
integration-tests:test:     237|  await db.run(sql`drop table if exists \`users\``);
integration-tests:test:     238|  await db.run(sql`drop table if exists \`users_to_groups\``);
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/94]⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/sqlite/libsql.test.ts [ tests/sqlite/libsql.test.ts ]
integration-tests:test: Error: LIBSQL_URL is not set
integration-tests:test:  ❯ tests/sqlite/libsql.test.ts:19:9
integration-tests:test:      17|  const authToken = process.env['LIBSQL_AUTH_TOKEN'];
integration-tests:test:      18|  if (!url) {
integration-tests:test:      19|   throw new Error('LIBSQL_URL is not set');
integration-tests:test:        |         ^
integration-tests:test:      20|  }
integration-tests:test:      21|  client = await retry(async () => {
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/94]⎯
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯ Failed Tests 80 ⎯⎯⎯⎯⎯⎯⎯
integration-tests:test:
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table config: unsigned ints
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table config: signed ints
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table config: foreign keys name
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table config: primary keys name
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table configs: unique third param
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > table configs: unique in column
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select all fields
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select typed sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select distinct
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert + select
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > json insert
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert with overridden default values
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert many
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with group by as field
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with exists
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with group by as sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > $default function
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > $default with empty array
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with group by as sql + column
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with group by as column + sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select with group by complex query
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > build query
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > Query check: Insert all defaults in 1 row
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > Query check: Insert all defaults in multiple rows
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > Insert all defaults in 1 row
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > Insert all defaults in multiple rows
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > build query insert with onDuplicate
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert with onDuplicate
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert conflict
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert conflict with ignore
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > partial join with alias
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > full join with alias
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select from alias
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert with spaces
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > prepared statement
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > prepared statement reuse
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > prepared statement with placeholder in .where
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > migrator
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert + select all possible dates
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > Mysql enum test case #1
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > left join (flat object fields)
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > left join (grouped fields)
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > left join (all fields)
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > join subquery
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select from subquery sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select a field without joining its table
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select all fields from subquery without alias
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select for ...
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > view
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select from raw sql
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > select from raw sql with joins
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > join on aliased sql from select
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > prefixed table
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > orderBy with aliased column
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > timestamp timezone
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > transaction rollback
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > nested transaction
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > nested transaction rollback
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > join subquery with join
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > join view as subquery
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert undefined
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > update undefined
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > set operations (union) from query builder with subquery
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > set operations (union) as function
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > set operations (union all) from query builder
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > set operations (union all) as function
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > aggregate function: count
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > aggregate function: avg
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > aggregate function: sum
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > aggregate function: max
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > aggregate function: min
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > mySchema :: select distinct
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > mySchema :: build query
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: serial as id
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: serial as id, batch insert
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: $default as primary key
integration-tests:test:  FAIL  tests/mysql/mysql-planetscale.test.ts > common > insert $returningId: $default as primary key with value
integration-tests:test: TypeError: fetch failed
integration-tests:test:  ❯ postJSON ../node_modules/.pnpm/@planetscale+database@1.18.0/node_modules/@planetscale/database/dist/index.js:125:22
integration-tests:test:  ❯ Connection.execute ../node_modules/.pnpm/@planetscale+database@1.18.0/node_modules/@planetscale/database/dist/index.js:81:23
integration-tests:test:  ❯ PlanetScalePreparedQuery.execute ../drizzle-orm/src/planetscale-serverless/session.ts:58:16
integration-tests:test:  ❯ tests/mysql/mysql-common.ts:229:4
integration-tests:test:     227|   beforeEach(async (ctx) => {
integration-tests:test:     228|    const { db } = ctx.mysql;
integration-tests:test:     229|    await db.execute(sql`drop table if exists userstest`);
integration-tests:test:        |    ^
integration-tests:test:     230|    await db.execute(sql`drop table if exists users2`);
integration-tests:test:     231|    await db.execute(sql`drop table if exists cities`);
integration-tests:test:
integration-tests:test: Caused by: Error: getaddrinfo ENOTFOUND undefined
integration-tests:test:  ❯ GetAddrInfoReqWrap.onlookupall [as oncomplete] node:dns:120:26
integration-tests:test:
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
integration-tests:test: Serialized Error: { errno: -3008, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'undefined' }
integration-tests:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/94]⎯
integration-tests:test:
integration-tests:test:  Test Files  14 failed | 7 passed (21)
integration-tests:test:       Tests  80 failed | 555 passed | 72 skipped (1978)
integration-tests:test:    Start at  15:42:06
integration-tests:test:    Duration  112.63s (transform 2.84s, setup 0ms, collect 5.59s, tests 106.50s, environment 0ms, prepare 161ms)
integration-tests:test:
integration-tests:test:  ELIFECYCLE  Command failed with exit code 1.
integration-tests:test:  ELIFECYCLE  Test failed. See above for more details.
integration-tests:test: ERROR: command finished with error: command (/workspaces/drizzle-orm/integration-tests) pnpm run test exited (1)
integration-tests#test: command (/workspaces/drizzle-orm/integration-tests) pnpm run test exited (1)

 Tasks:    15 successful, 16 total
Cached:    15 cached, 16 total
  Time:    1m57.598s
Failed:    integration-tests#test

 ERROR  run failed: command  exited (1)
 ELIFECYCLE  Test failed. See above for more details.

I imagine, something like this would be a sufficient test, though, right??
		test('limit 0', async (ctx) => {
			const { db } = ctx.pg;

			await db.insert(usersTable).values({ name: 'John' });
			const users = await db
				.select()
				.from(usersTable)
				.limit(0);

			expect(users).toEqual([]);
		});

@AndriiSherman I added the tests, but as seen above, they all fail. Even before I added my tests.
https://github.com/drizzle-team/drizzle-orm/pull/2255/commits/261728b29a86dd62260396eec740f97daffb727a

@AndriiSherman I added the tests, but as seen above, they all fail. Even before I added my tests.
261728b

I need to fix main branch for tests from forks. I'll do it today and rerun your tests

@sillvva, yes, the tests you've sent should be enough for this positive case. You can also add a test with negative numbers in the limit

@AndriiSherman I formatted it with dprint and pulled your changes, but am still getting mostly failed tests.

@AndriiSherman I formatted it with dprint and pulled your changes, but am still getting mostly failed tests.

Please add a .env file to the integration-tests folder with the variable SKIP_EXTERNAL_DB_TESTS=true.
I'll update the CONTRIBUTION guide with this information

But the tests seem to pass, so this is mostly for you if you want to make more PRs.
Your commits are not signed, so please sign them in your next PRs. I'll accept this PR without signed commits, but for future ones, please sign them - how to sign commits


rm the unicode data file, not its parent directory

I think rm $ANICODE_CACHE wouldn't work, since it is a directory. This PR has rm delete the $ANICODE_FILE instead.
But perhaps rm -r $ANICODE_CACHE is the more correct way: if so, please say so and I'll update the PR accordingly :)

better late than never! ~_~


32-bit build hangs with 64-bit GAP

Two days ago a new version of bin/BuildPackages.sh script has been merged in https://github.com/gap-system/gap/pull/1128. It's previous version failed to build anupq on a jenkins slave, and now it builds:
==== Checking anupq-3.1.4
Running './configure' 'CFLAGS=-m32' 'LDFLAGS=-m32' '--with-gaproot=/data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gawk... (cached) gawk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for a sed that does not truncate output... /usr/bin/sed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for CONFIGNAME... none
checking for GAP root directory... /data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot
checking for GAP architecture... x86_64-pc-linux-gnu-gcc-default64
checking for GAP include files... /data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot/src/compiled.h
checking for GAP config.h... /data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot/bin/x86_64-pc-linux-gnu-gcc-default64/config.h
checking for GAP's gmp.h location... /data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot/bin/x86_64-pc-linux-gnu-gcc-default64/extern/gmp/include/gmp.h
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking whether linking against GMP works... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for gethostname... yes
checking for waitpid... yes
checking for wait4... yes
checking for tmpnam... yes
checking for tempnam... yes
checking for strftime... yes
checking for library containing log10... -lm
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
chmod: cannot access 'testPq': No such file or directory
config.status: creating testPq
config.status: creating include/config.h
config.status: executing depfiles commands
Running 'gmake' 'CFLAGS=-m32' 'LOPTS=-m32'
  CC       src/pq-AllocateSpace.o
...
  CC       src/pq-write.o
  CC       src/pq-main.o
  CCLD     pq
src/pq-TemporaryFile.o: In function `TemporaryFile':
TemporaryFile.c:(.text+0x15): warning: the use of `tempnam' is dangerous, better use `mkstemp'
/usr/bin/mkdir -p ./bin/x86_64-pc-linux-gnu-gcc-default64
cp pq /data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot/pkg/anupq-3.1.4/bin/x86_64-pc-linux-gnu-gcc-default64
SUCCESS!

file for x86_64-pc-linux-gnu-gcc-default64/pq returns
pq: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3af1dc742c48269f4f211360c6c0c52251fcbf16, not stripped

However, the test (run via make testpackages) hangs:
Testing anupq 3.1.4, test=/data/gap-jenkins/workspace/GAP-pkg-update-master-quicktest/GAPCOPTS/64build/GAPGMP/gmp/GAPTARGET/packages/label/kovacs/GAP-pkg-update-master-snapshot/pkg/anupq-3.1.4/tst/anupqeg.tst, all packages=false
Build was aborted

I have extracted a reproducible example from tst/anupqeg.tst:
##Example: "Nott-APG-Rel-i" . . . based on: examples/pga_interactive
##Start point for Nottingham group
##Interactive construction of 40 5-groups of order 5^7
LoadPackage("anupq");
F := FreeGroup("a", "b");
rels := ["a^5", "b^5", "[b, a, b]"];
procId := PqStart(F : Prime := 5, Relators := rels);
PqPcPresentation(procId : ClassBound := 3,
                          OutputLevel := 1);
PqComputePCover(procId);
PqSavePcPresentation(procId, ANUPQData.outfile);
PqPGSupplyAutomorphisms(procId, [ [[1,0,0,0],
                                   [0,1,0,1]],

                                   [[1,1,0,0],
                                    [0,1,0,1]],

                                   [[1,0,0,0],
                                    [0,4,0,0]],

                                   [[1,0,0,0],
                                    [0,2,0,0]],

                                   [[4,0,0,0],
                                    [0,1,0,0]],

                                   [[2,0,0,0],
                                    [0,1,0,0]] ]);
PqPGConstructDescendants(procId : ClassBound := 4,
                                   CapableDescendants,
                                   StepSize := 1,
                                   PcgsAutomorphisms,
                                   RankInitialSegmentSubgroups := 4);

PqPGSetDescendantToPcp(procId, 4, 1);
PqAPGDegree(procId, 2, 3);
PqAPGPermutations(procId);
PqAPGOrbits(procId : CustomiseOutput := rec(orbit := [1]));
PqAPGOrbitRepresentatives(procId);
PqPGSetDescendantToPcp(procId);
PqDisplayPcPresentation(procId);

PqAPGSingleStage(procId : StepSize:=2, BasicAlgorithm,
                          CustomiseOutput := rec());

This input runs instantly on my laptop when GAP is built in 64 bit mode, and on the Jenkins node when GAP is built in 32 bit mode. However, it hangs forever on the same Jenkins node when GAP is built in 64-bit mode. Pressing Ctrl-C shows the following:
^CError, user interrupt in
  moreOfline := ReadLine( iostream )
 ; at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/lib/streams.gi:169 called from
ReadAllLine( iostream, true, IS_ALL_PQ_LINE
 ) at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/pkg/anupq-3.1.4/lib/anupqios.gi:389 calle\
d from
PQ_READ_NEXT_LINE( datarec.stream
 ) at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/pkg/anupq-3.1.4/lib/anupqios.gi:469 calle\
d from
FILTER_PQ_STREAM_UNTIL_PROMPT( datarec
 ); at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/pkg/anupq-3.1.4/lib/anupqios.gi:630 call\
ed from
ToPQ( datarec, [ 5 ], [ "  #single stage" ]
 ); at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/pkg/anupq-3.1.4/lib/anupqi.gi:2924 calle\
d from
PQ_PG_CONSTRUCT_DESCENDANTS( datarec
 ); at /data/gap-jenkins/workspace/GAP-major-release-test/GAPCOPTS/64build/GAPTARGET/packages/label/kovacs/gap4r9/pkg/anupq-3.1.4/lib/anupqi.gi:3084 calle\
d from
...  at *stdin*:44
you can 'return;'
brk>

The actual reason for the hang was this line in the configure output: "checking whether linking against GMP works... no" -- the result was that ANUPQ was built w/o GMP support. Which mostly works, but it disabled one "question" by the anupq menu system, which then broken certain anupq commands, resulting in this hang.
Fixed in ffe7839e6d70e2d944b65238ba82c819376433aa


Switch to Git Flow model after Getty releases a new version

Problem
The project should match Getty's workflow.
We have to wait until Getty releases a new version though since we're currently depending on the develop branch of Getty, which means our main branch is really the develop branch. But once a new Getty version is out, our main will actually match Getty's main, so we'll be good.
Proposal
Git Flow all the way baaaaabyyyyyyyyy
Alternatives
No response
Additional Context
No response

0.3.0 is out!


Vim website advertises other editors.

For example, here's a screenshot of vim.org suggesting to use IntelliJ instead, which seems somewaht out of place:

The ads rotate and depend on your history.


Office 2016 missing from the products list

Hello,
I would like to ask why the Office 2016 products are missing from the config tool's products list.
Is there a workaround for us wanting to create configuration files for Office 2016 or we can proceed with 2019 and change the version references in the produced xml config files?
Thank you,

@GeoSimos  -- Are you trying to install volume licensed versions of Office 2016?  For example, Office Professional Plus 2016.  If so, those versions of Office use Windows Installer (MSI) as the installation technology.  The Office Customization Tool online at https://config.office.com is only used to create configuration files for versions of Office that use Click-to-Run as the installation technology. For example, Office 365 ProPlus or Office Professional Plus 2019.  Hope that helps.