Test on Windows with WSL2

WSL2 is missing the uinput kernel module. There's a way to get it which involves recompile the kernel, try following the instructions at https://gist.github.com/cerebrate/d40c89d3fa89594e1b1538b2ce9d2720

Hello!  I stumbled across this repo today and it looks very interesting.  I am curious, would HW acceleration work with WSL?

That's a very good question to which I don't have an answer. I'm not even sure that WSL will expose the underlying GPU like you do on Linux via /dev/dri.
We are currently focusing our efforts on Linux, to be fair, the more I think about running GOW on Windows, the more I'm convinced it's not worth the effort compared to just running the .exe

There is a published nvidia guide for WSL2 and docker : https://docs.nvidia.com/cuda/wsl-user-guide/index.html

Did anyone retried to implement GOW with WSL2 since the addition of systemd and the 2022 new kernel features?

AFAIK no, and to be fair, I'm not sure I see the point; as things are right now Sunshine works perfectly well natively on Windows, and why would you run games in a Docker container via proton or the likes when you can just run them natively on the host?
I'm open to suggestions and POW, but right now, I'm focusing all my efforts in Linux.

Just tried on my WSL 2 Ubuntu 20.04 install + WSLg + CUDA 11.4 which I use for ML.
Headless
Fails to start X11. The suggested hack with EDID did not work. I still get Fatal server error: no screens found.
Host
I installed and ensured GEdit works.
Launching Steam container actually shows Steam login window in Windows, but Sunshine fails to start:
Cannot load libcuda.so.1
terminate called after throwing an instance of
'std::filesystem::__cxx11::filesystem_error'
   what():  filesystem error: directory iterator
     cannot open directory: No such file or directory [/dev/dri]
Error: Couldn't load cuda: -1
Warning: Couldn't find /dev/dri, kmsgrab won't be enabled
gow-sunshine-1 exited with code 139

Windows

why would you run games in a Docker container via proton or the likes when you can just run them natively on the host?

Two goals really: containerization and running headless (+ as a bonus in arbitrary resolutions and multiple games at once from the same host?)

After updating wsl with wsl --update, /dev/dri is now available and so Sunshine starts, and I can access the web UI, but Moonlight still can not connect to it.
sunshine-wsl2.log
The relevant bits appear to be:
Couldn't expose some/all drm planes for card: /dev/dri/card0
...

Info: Trying encoder [vaapi]
Info: Screencasting with X11
MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
failed to load driver: vgem
libva info: VA-API version 1.14.0
Info: SDR color coding [Rec. 601]
Info: Color range: [JPEG]
Info: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
Error: Couldn't initialize va display: unknown libva error

Thanks for reporting this, by a quick look at the logs I think you are hitting multiple issues:
Issues

Error: Could not create Sunshine Mouse is uinput present in the WSL kernel? (You can check with: lsmod | grep uinput) When I originally opened this issue it wasn't present, I'm not sure if that's changed now. Without uinput you'll not be able to create virtual devices and that means that you'll not be able to control the stream remotely.
 Can you try running vainfo and see what's reported?

Goals

Two goals really: containerization and running headless (+ as a bonus in arbitrary resolutions and multiple games at once from the same host?)

Sunshine supports multiple users sharing a single screen (ex: co-op games). We are building a completely different solution in order to support headless virtual HW accelerated displays for multiple users which is called Wolf.
It's still under heavy development and not really ready to be used as is but, since we are building our own Wayland compositor, this could potentially work under WSL.
I can only say, keep an eye on this space because we are getting close to something that looks like a solution. 😅

Can you try running vainfo and see what's reported?

libva info: VA-API version 1.7.0
libva error: vaGetDriverNameByIndex() failed with invalid VADisplay, driver_name = (null)
vaInitialize failed with error code 3 (invalid VADisplay),exit

Any updates with WSL2? I tried the guide for Nvidia but got several issues to run it on ubunutu WSL2 from windows

Last I've checked WSL2 was still missing both /dev/uinput and /dev/uhid this means that the current implementation of virtual inputs wouldn't work in it.
I'm going to implement https://github.com/games-on-whales/gst-wayland-display/issues/4 soon, with that, at least mouse and keyboard should work. Not sure what's the status of HW acceleration in WSL is, but hopefully that should work.
Stay tuned!

Thanks, it would be awesome to make it run through the ubuntu subsystem of windows 10 :)

Anyone willing to test out the latest on WSL? Checkout the latest quickstart guide

Me! I'll do it tonight. This is exciting and I have been looking forward to this, great job everyone!

looks like it still doesn't work since WSL doesn't have uinput

I assume you followed the wrong tab of the quickstart guide, in WSL2 there's no mention of /dev/uinput 😉
Anyway, others have reported on Discord that HW acceleration is not properly working; seems that Windows exposes the GPU as a different virtual vendor and our code doesn't recognise that MS specific card.
Even with a temporary fix for that it seems that Sway doesn't run in WSL (or at least not without further fixes). If anyone wants to make this work I'm afraid they have to get their hands dirty and write some code!

I followed the nvidia tab since my laptop has an intel igpu and a nvidia dgpu. I'm gonna try using the intel guide.

looks like I got it to run with WSL but I can't seem to access the web interface either in https://localhost:47984 or http://localhost:47989. Anyone got an idea why?

В Windows Docker по умолчанию работает с использованием виртуальной машины (через WSL 2 или Hyper-V). Если вы используете --network=host, это может не работать так, как ожидалось, потому что host сеть работает иначе в Windows.
Рассмотрите возможность использования портового перенаправления, вместо --network=host:
docker run
--name wolf
-e XDG_RUNTIME_DIR=/tmp/sockets
-v /tmp/sockets:/tmp/sockets:rw
-e HOST_APPS_STATE_FOLDER=/etc/wolf
-v /etc/wolf:/etc/wolf:rw
-v /var/run/docker.sock:/var/run/docker.sock:rw
--device /dev/dri/
--gpus all
-p 47984:47984/tcp
-p 47989:47989/tcp
-p 47999:47999/udp
-p 48010:48010/tcp
-p 48100-48110:48100-48110/udp
-p 48200-48210:48200-48210/udp
ghcr.io/games-on-whales/wolf:stable

I assume you followed the wrong tab of the quickstart guide, in WSL2 there's no mention of /dev/uinput 😉
Anyway, others have reported on Discord that HW acceleration is not properly working; seems that Windows exposes the GPU as a different virtual vendor and our code doesn't recognise that MS specific card.
Even with a temporary fix for that it seems that Sway doesn't run in WSL (or at least not without further fixes). If anyone wants to make this work I'm afraid they have to get their hands dirty and write some code!

It seems that a base image with nvidia-runtime-container is required for working in WSL2.

looks like I got it to run with WSL but I can't seem to access the web interface either in https://localhost:47984 or http://localhost:47989. Anyone got an idea why?

From what I remember, you have to get the direct IP of WSL2 and connect to it via that. If you list all network interfaces in the windows command prompt it should show the WSL2's IP.

Hi. Coming from https://github.com/games-on-whales/wolf/issues/129,
I have already tried --gpus all prior but I have added according to @ABeltramo's suggestion NVIDIA_DRIVER_CAPABILITIES=all and NVIDIA_VISIBLE_DEVICES=all and removed the PUID and PGID environmental variables:
docker run \
    --name wolf \
    -e XDG_RUNTIME_DIR=/tmp/sockets \
    -e TZ=America/New_York \
    -e HOST_APPS_STATE_FOLDER=/etc/wolf \
    -v /tmp/sockets:/tmp/sockets:rw \
    -v /etc/wolf:/etc/wolf:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:rw \
    --device /dev/dri/ \
    -p 47984:47984/tcp \
    -p 47989:47989/tcp \
    -p 47999:47999/udp \
    -p 48010:48010/tcp \
    -p 48100-48110:48100-48110/udp \
    -p 48200-48210:48200-48210/udp \
    -e NVIDIA_DRIVER_CAPABILITIES=all \
    -e NVIDIA_VISIBLE_DEVICES=all \
    --gpus all \
    ghcr.io/games-on-whales/wolf:stable

Some docker logs from wolf I have noted:
2024-09-28 14:31:41 2024-09-28T11:31:41.139473Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED) eglInitialize: DRI2: failed to load driver
2024-09-28 14:31:41 2024-09-28T11:31:41.141046Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED) eglInitialize: DRI2: failed to load driver

And the encoders being detected now:
2024-09-28 14:31:21 11:31:21.691233310 WARN  | Unable to recognise GPU vendor: vendor 3900
2024-09-28 14:31:21 11:31:21.693637485 INFO  | Using H264 encoder: x264
2024-09-28 14:31:21 11:31:21.693705388 WARN  | Software H264 encoder detected
2024-09-28 14:31:21 11:31:21.695386740 INFO  | Using HEVC encoder: x265
2024-09-28 14:31:21 11:31:21.695450142 WARN  | Software HEVC encoder detected
2024-09-28 14:31:21 11:31:21.696459074 INFO  | Using AV1 encoder: aom
2024-09-28 14:31:21 11:31:21.696531476 WARN  | Software AV1 encoder detected

Black screen issue persists when running Firefox. I'll include the docker logs for wolf, WolfPulseAudio, and WolfFirefox below.
Please note that there is a long string of trace logs in wolf when I am able to move the mouse in the firefox moonlight stream and finally this last log after going in and out of the firefox control which disables my mouse access within it:
...
2024-09-28 14:34:43 0:03:23.155820051     1 0x7fbd84029370 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7fbe0ee7cc10, pts 0:01:16.033330292, dts 0:01:16.033330292, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
2024-09-28 14:34:43 0:03:23.287723632     1 0x7fbd84029370 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7fbe0edb9990, pts 0:01:16.083330290, dts 0:01:16.083330290, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
2024-09-28 14:34:43 0:03:23.417682748     1 0x7fbd84029370 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7fbe0c00d2f0, pts 0:01:16.133330288, dts 0:01:16.133330288, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
2024-09-28 14:34:43
2024-09-28 14:34:43 (wolf:1): GLib-WARNING **: 07:34:43.547: Idle source dispatched without callback. You must call g_source_set_callback().

240928 wolf docker logs 1.txt
240928 WolfFirefox docker logs 1.txt
240928 WolfPulseAudio docker logs 1.txt
Thanks,
Mohammed

Current docker-compose setup on WSL2:
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    container_name: wolf
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - PUID=1000
      - PGID=1000
      - NVIDIA_DRIVER_CAPABILITIES=all
      - NVIDIA_VISIBLE_DEVICES=all
      - TZ=America/New_York
      - HOST_APPS_STATE_FOLDER=/etc/wolf
#    volumes:
#      - /tmp/sockets:/tmp/sockets:rw
#      - /etc/wolf:/etc/wolf:rw
#      - /var/run/docker.sock:/var/run/docker.sock:rw
    volumes:
      - /etc/wolf/:/etc/wolf
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/:/dev/:rw
      - /run/udev:/run/udev:rw
    devices:
      - /dev/dri/
    ports:
      - "47984:47984/tcp"
      - "47989:47989/tcp"
      - "47999:47999/udp"
      - "48010:48010/tcp"
      - "48100-48110:48100-48110/udp"
      - "48200-48210:48200-48210/udp"
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

When I run steam this is what I get:
wolf  | 2024-10-08T03:37:56.692703Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED) eglInitialize: DRI2: failed to load driver
wolf  | libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
wolf  |
wolf  | 2024-10-08T03:37:56.693543Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED) eglInitialize: DRI2: failed to load driver
wolf  | libEGL warning: MESA-LOADER: failed to open vgem: /usr/lib/dri/vgem_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
wolf  |
wolf  | libEGL warning: NEEDS EXTENSION: falling back to kms_swrast
wolf  | 03:37:56.752099588 WARN  | Unable to recognise GPU vendor: vendor 6a40
wolf  | 03:37:56.762226966 WARN  | Unable to recognise GPU vendor: vendor 72a0
wolf  | 03:37:56.794643856 WARN  | [DOCKER] Container WolfSteam_5038615994044444484 already present, removing first
wolf  | x265 [info]: HEVC encoder version 3.5+1-f0c1022b6
wolf  | x265 [info]: build info [Linux][GCC 13.2.0][64 bit] 8bit+10bit+12bit
wolf  | x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
wolf  | x265 [info]: Main profile, Level-3.1 (Main tier)
wolf  | x265 [debug]: No pool thread available. Deciding frame-threads based on detected CPU threads
wolf  | x265 [warning]: No thread pool allocated, --wpp disabled
wolf  | x265 [warning]: No thread pool allocated, --lookahead-slices disabled
wolf  | x265 [info]: Slices                              : 1
wolf  | x265 [info]: frame threads / pool features       : 1 / none
wolf  | x265 [info]: Coding QT: max CU size, min CU size : 32 / 8
wolf  | x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
wolf  | x265 [info]: ME / range / subpel / merge         : hex / 57 / 1 / 2
wolf  | x265 [info]: Keyframe min / max / scenecut       : disabled
wolf  | x265 [info]: Lookahead / bframes / badapt        : 0 / 0 / 0
wolf  | x265 [info]: b-pyramid / weightp / weightb       : 0 / 0 / 0
wolf  | x265 [info]: References / ref-limit  cu / depth  : 1 / off / off
wolf  | x265 [info]: Rate Control                        : CQP-28
wolf  | x265 [info]: tools: rd=2 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
wolf  | x265 [info]: tools: fast-intra strong-intra-smoothing deblock
wolf  | 0:00:20.718408800     1 0x7f60a4029140 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7f610eb9a200, pts 0:00:00.066666666, dts 0:00:00.066666666, dur 0:00:00.033333333, size 3686400, offset none, offset_end none, flags 0x0
wolf  | 0:00:20.872058705     1 0x7f609c000e20 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<udpsink0> warning: Pipeline construction is invalid, please add queues.
wolf  | 0:00:20.872140211     1 0x7f609c000e20 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<udpsink0> warning: Not enough buffering available for  the processing deadline of 0:00:00.020000000, add enough queues to buffer  0:00:00.020000000 additional data. Shortening processing latency to 0:00:00.000000000.
wolf  |
wolf  | (wolf:1): GLib-WARNING **: 23:37:57.216: Idle source dispatched without callback. You must call g_source_set_callback().
wolf  | 03:37:57.701503234 INFO  | [DOCKER] Starting container: /WolfSteam_5038615994044444484

Shows a black background with a cursor. Never seems to finish loading.

Correct me if I'm wrong, but WSL 2 doesn't exactly expose the actual graphics card. Instead you'll find it's a Microsoft virtual adapter that's good enough for rendering light weight UI's but doesn't expose any of the actual GPU capabilities. In the case of Wolf, it looks for Intel / Nvidia or AMD gpu's to determine what encoding pipeline to use.
if you do the following command in WSL
lspci | grep VGA

What adapters are returned?

Unfortunately, I don't see much info.
However if I run this:

I do get specific information about my 3060:

So looking at the output, WSL isn't listing your Nvidia cards. instead WSL just has a basic 3d controller (first entry in screen shot).
I am not aware of any method to expose your actual graphics card into WSL so that docker can leverage in Wolf. It is this reason why WSL is considered unsupported by Wolf. As understood WSL has a technical limitation that prevent Wolf from being able to leverage the actual graphics card.
Given this limitation this its not currently a focus to get it working, but welcome comments / feedback from others who may know how get around this limitation and submit a PR to update our doc's.
In the meantime I will review the docs for WSL and call out explicitly the current known limitations as we understand them.

So looking at the output, WSL isn't listing your Nvidia cards. instead WSL just has a basic 3d controller (first entry in screen shot).
I am not aware of any method to expose your actual graphics card into WSL so that docker can leverage in Wolf. It is this reason why WSL is considered unsupported by Wolf. As understood WSL has a technical limitation that prevent Wolf from being able to leverage the actual graphics card.
Given this limitation this its not currently a focus to get it working, but welcome comments / feedback from others who may know how get around this limitation and submit a PR to update our doc's.
In the meantime I will review the docs for WSL and call out explicitly the current known limitations as we understand them.

I dont have any sources off the top of my head besides "trust me", but from doing HyperV GPU-PV(AKA HyperVisor GPU Para-Virtualization) I somewhat recall the GPU being intentionally passed through as a generic/basic 3D Controller by windows due to GPU-PV. Im not certain it also applies to WSL2 but I wouldn't be surprised if it did. I do know for sure that with HyperV GPU-PV it did pass through my RTX 3070 Ti as a basic 3d controller, but I was able to use it to its full effect(most of the time)


Moved fetching Apple JWT keys from token to provider

Since AccessToken is serialized in specific set-ups, existence of the httpClient leads to problems, since closures are not serializable. Also, it's not necessary to keep the httpClient there, since it's only used in the constructor.
Fixes #26, Fixes #28

Thanks @tjveldhuizen for your pull request.
I will check it on the weekend and when everything is fine I'll approve and merge.

@patrickbussmann Have you been able to have a look at this?


[SCHEMA] Implement mutually exclusive conditions for sidecar rules

tests failing because of hemisphere entity, which appears to be listed in rules/entities.yaml and obejects/entities.yaml. Wonder what I'm missing.


not working in Catalina?

seems like it has no affect with fresh install of Catalina - anyone else get this?

I only have mojave, there it woks fine. Please let me know if any one have any issue

https://github.com/yulrizka/osx-push-to-talk/pull/14 this PR I think should address it.

check https://github.com/yulrizka/osx-push-to-talk/releases/tag/v0.1.2


How to link services?

Hello. this must be a pretty nooby question but... after quite sometime figuring swarmkit out, i managed to initialize containers inside the node.
However, i needed one of the services to access the database container for example, and i could'nt find anything at all about this basic function.
Thanks

The most basic setup would be having both container in the same network, making the database container expose the appropiate port for your DB and then using the service name as the host, as Swarm's DNS will resolve that to the right IP.

@jhonatanTeixeira did you got this one working?
Please close this one if so or tell us if you need more guidance.


Wrong gitsigns colors

I am using gitsigns-nvim to mark lines as added, deleted or changes.
With jellybeans-nvim signs are always gray:

Here 187 line is added, 192 and below are changed.

That's how it looks like in one-nvim:

Besides gitsigns, notice how slim is signcolumn. There are no this wide gray bars.

fixed for myself by redefining some highlights:
  hi DiffAdd guibg=#333333 guifg=#d2ebbe ctermbg=none
  hi DiffChange guibg=#333333 guifg=#dad085 ctermbg=none
  hi DiffDelete guibg=#333333 guifg=#f0a0c0 ctermbg=none


Expected all tensors to be on the same device, but found at least two devices

  warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/bitsandbytes/autograd/_functions.py:298: UserWarning: MatMul8bitLt: inputs will be cast from torch.float32 to float16 during quantization
  warnings.warn(f"MatMul8bitLt: inputs will be cast from {A.dtype} to float16 during quantization")
Traceback (most recent call last):
  File "finetune.py", line 124, in <module>
    trainer.train(resume_from_checkpoint=args.resume_from_checkpoint)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 1662, in train
    return inner_training_loop(
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 1929, in _inner_training_loop
    tr_loss_step = self.training_step(model, inputs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 2699, in training_step
    loss = self.compute_loss(model, inputs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 2731, in compute_loss
    outputs = model(**inputs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/peft/peft_model.py", line 281, in forward
    return self.get_base_model()(*args, **kwargs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/accelerate/hooks.py", line 165, in new_forward
    output = old_forward(*args, **kwargs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/models/whisper/modeling_whisper.py", line 1435, in forward
    loss = loss_fct(lm_logits.view(-1, self.config.vocab_size), labels.reshape(-1))
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1190, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/nn/modules/loss.py", line 1174, in forward
    return F.cross_entropy(input, target, weight=self.weight,
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/nn/functional.py", line 3026, in cross_entropy
    return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when checking argument for argument target in method wrapper_nll_loss_forward)
  0%|

你使用双卡训练吗？

你使用双卡训练吗？

我的机器是四卡，但我通过“os.environ["CUDA_VISIBLE_DEVICES"] = "0"” 智定乐一个gpu。

这么改，上面那个错消失了，又有新的错，现在很少有一个卡的机器，基本都是多卡
device_map={"":0}，model = WhisperForConditionalGeneration.from_pretrained(args.base_model, load_in_8bit=True, device_map=device_map)
ue. Gradients will be None
  warnings.warn("None of the inputs have requires_grad=True. Gradients will be None")
/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/bitsandbytes/autograd/_functions.py:298: UserWarning: MatMul8bitLt: inputs will be cast from torch.float32 to float16 during quantization
  warnings.warn(f"MatMul8bitLt: inputs will be cast from {A.dtype} to float16 during quantization")
Traceback (most recent call last):
  File "finetune.py", line 125, in <module>
    trainer.train(resume_from_checkpoint=args.resume_from_checkpoint)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 1662, in train
    return inner_training_loop(
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 1929, in _inner_training_loop
    tr_loss_step = self.training_step(model, inputs)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/transformers/trainer.py", line 2709, in training_step
    self.scaler.scale(loss).backward()
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/_tensor.py", line 487, in backward
    torch.autograd.backward(
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/autograd/__init__.py", line 197, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/autograd/function.py", line 267, in apply
    return user_fn(self, *args)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/utils/checkpoint.py", line 157, in backward
    torch.autograd.backward(outputs_with_grad, args_with_grad)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/autograd/__init__.py", line 197, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/torch/autograd/function.py", line 267, in apply
    return user_fn(self, *args)
  File "/home/ybZhang/miniconda3/envs/whister/lib/python3.8/site-packages/bitsandbytes/autograd/_functions.py", line 456, in backward
    grad_A = torch.matmul(grad_output, CB).view(ctx.grad_shape).to(ctx.dtype_A)
RuntimeError: expected scalar type Half but found Float
  0%|

@v-yunbin 你试试这样看行不行？
CUDA_VISIBLE_DEVICES=0 python finetune.py

跑了500步没有输出损失正常吗
============

  0%|          | 0/9908670 [00:00<?, ?it/s]
  0%|          | 1/9908670 [00:12<33466:42:32, 12.16s/it]
  0%|          | 2/9908670 [00:13<16109:11:11,  5.85s/it]
  0%|          | 3/9908670 [00:14<10428:12:37,  3.79s/it]
  0%|          | 4/9908670 [00:16<7730:09:25,  2.81s/it]
  0%|          | 5/9908670 [00:17<6270:23:01,  2.28s/it]
  0%|          | 6/9908670 [00:18<5366:03:38,  1.95s/it]
  0%|          | 7/9908670 [00:20<4791:41:43,  1.74s/it]
  0%|          | 8/9908670 [00:21<4409:27:06,  1.60s/it]
  0%|          | 9/9908670 [00:22<4174:04:01,  1.52s/it]
  0%|          | 10/9908670 [00:24<4056:56:13,  1.47s/it]
  0%|          | 11/9908670 [00:25<3967:14:35,  1.44s/it]
  0%|          | 12/9908670 [00:26<3897:55:04,  1.42s/it]
  0%|          | 13/9908670 [00:28<3849:08:41,  1.40s/it]
  0%|          | 14/9908670 [00:29<3795:18:03,  1.38s/it]
  0%|          | 15/9908670 [00:30<3739:56:44,  1.36s/it]
  0%|          | 16/9908670 [00:32<3703:45:58,  1.35s/it]
  0%|          | 17/9908670 [00:33<3673:07:35,  1.33s/it]
  0%|          | 18/9908670 [00:34<3657:25:44,  1.33s/it]
  0%|          | 19/9908670 [00:36<3689:40:02,  1.34s/it]
  0%|          | 20/9908670 [00:37<3673:42:10,  1.33s/it]
  0%|          | 21/9908670 [00:38<3679:57:47,  1.34s/it]
  0%|          | 22/9908670 [00:40<3710:24:49,  1.35s/it]
  0%|          | 23/9908670 [00:41<3733:20:43,  1.36s/it]
  0%|          | 24/9908670 [00:43<3745:00:44,  1.36s/it]
  0%|          | 25/9908670 [00:44<3697:51:20,  1.34s/it]
  0%|          | 26/9908670 [00:45<3679:54:10,  1.34s/it]
  0%|          | 27/9908670 [00:47<3709:53:17,  1.35s/it]
  0%|          | 28/9908670 [00:48<3715:50:58,  1.35s/it]
  0%|          | 29/9908670 [00:49<3678:18:50,  1.34s/it]
  0%|          | 30/9908670 [00:51<3709:42:03,  1.35s/it]
  0%|          | 31/9908670 [00:52<3672:18:51,  1.33s/it]
  0%|          | 32/9908670 [00:53<3746:31:20,  1.36s/it]
  0%|          | 33/9908670 [00:55<3708:12:34,  1.35s/it]
  0%|          | 34/9908670 [00:56<3709:51:34,  1.35s/it]
  0%|          | 35/9908670 [00:57<3684:50:14,  1.34s/it]
  0%|          | 36/9908670 [00:59<3652:48:53,  1.33s/it]
  0%|          | 37/9908670 [01:00<3624:59:59,  1.32s/it]
  0%|          | 38/9908670 [01:01<3651:32:28,  1.33s/it]
  0%|          | 39/9908670 [01:03<3646:06:32,  1.32s/it]
  0%|          | 40/9908670 [01:04<3672:31:51,  1.33s/it]
  0%|          | 41/9908670 [01:05<3700:56:53,  1.34s/it]
  0%|          | 42/9908670 [01:07<3739:40:05,  1.36s/it]
  0%|          | 43/9908670 [01:08<3731:20:00,  1.36s/it]
  0%|          | 44/9908670 [01:09<3770:41:34,  1.37s/it]
  0%|          | 45/9908670 [01:11<3744:35:21,  1.36s/it]
  0%|          | 46/9908670 [01:12<3732:15:19,  1.36s/it]
  0%|          | 47/9908670 [01:13<3708:29:48,  1.35s/it]
  0%|          | 48/9908670 [01:15<3675:17:23,  1.34s/it]
  0%|          | 49/9908670 [01:16<3672:12:57,  1.33s/it]
  0%|          | 50/9908670 [01:17<3668:29:04,  1.33s/it]
  0%|          | 51/9908670 [01:19<3651:39:03,  1.33s/it]
  0%|          | 52/9908670 [01:20<3685:29:25,  1.34s/it]
  0%|          | 53/9908670 [01:21<3709:32:15,  1.35s/it]
  0%|          | 54/9908670 [01:23<3736:32:01,  1.36s/it]
  0%|          | 55/9908670 [01:24<3716:58:05,  1.35s/it]
  0%|          | 56/9908670 [01:25<3717:42:37,  1.35s/it]
  0%|          | 57/9908670 [01:27<3742:15:20,  1.36s/it]
  0%|          | 58/9908670 [01:28<3693:18:06,  1.34s/it]
  0%|          | 59/9908670 [01:30<3698:29:32,  1.34s/it]
  0%|          | 60/9908670 [01:31<3730:03:17,  1.36s/it]
  0%|          | 61/9908670 [01:32<3720:47:18,  1.35s/it]
  0%|          | 62/9908670 [01:34<3763:43:21,  1.37s/it]
  0%|          | 63/9908670 [01:35<3783:52:26,  1.37s/it]
  0%|          | 64/9908670 [01:36<3712:19:06,  1.35s/it]
  0%|          | 65/9908670 [01:38<3698:56:24,  1.34s/it]
  0%|          | 66/9908670 [01:39<3717:43:56,  1.35s/it]
  0%|          | 67/9908670 [01:40<3702:32:42,  1.35s/it]
  0%|          | 68/9908670 [01:42<3665:41:54,  1.33s/it]
  0%|          | 69/9908670 [01:43<3642:29:41,  1.32s/it]
  0%|          | 70/9908670 [01:44<3608:15:20,  1.31s/it]
  0%|          | 71/9908670 [01:46<3597:51:50,  1.31s/it]
  0%|          | 72/9908670 [01:47<3607:47:45,  1.31s/it]
  0%|          | 73/9908670 [01:48<3578:52:28,  1.30s/it]
  0%|          | 74/9908670 [01:49<3565:55:05,  1.30s/it]
  0%|          | 75/9908670 [01:51<3549:47:10,  1.29s/it]
  0%|          | 76/9908670 [01:52<3555:42:44,  1.29s/it]
  0%|          | 77/9908670 [01:53<3553:23:45,  1.29s/it]
  0%|          | 78/9908670 [01:55<3544:12:42,  1.29s/it]
  0%|          | 79/9908670 [01:56<3550:14:45,  1.29s/it]
  0%|          | 80/9908670 [01:57<3560:57:12,  1.29s/it]
  0%|          | 81/9908670 [01:58<3549:17:42,  1.29s/it]
  0%|          | 82/9908670 [02:00<3549:00:23,  1.29s/it]
  0%|          | 83/9908670 [02:01<3548:42:48,  1.29s/it]
  0%|          | 84/9908670 [02:02<3549:49:03,  1.29s/it]
  0%|          | 85/9908670 [02:04<3558:49:38,  1.29s/it]
  0%|          | 86/9908670 [02:05<3549:53:34,  1.29s/it]
  0%|          | 87/9908670 [02:06<3568:28:57,  1.30s/it]
  0%|          | 88/9908670 [02:08<3564:24:52,  1.30s/it]
  0%|          | 89/9908670 [02:09<3552:09:20,  1.29s/it]
  0%|          | 90/9908670 [02:10<3551:19:55,  1.29s/it]
  0%|          | 91/9908670 [02:11<3549:16:07,  1.29s/it]
  0%|          | 92/9908670 [02:13<3543:00:08,  1.29s/it]
  0%|          | 93/9908670 [02:14<3554:30:52,  1.29s/it]
  0%|          | 94/9908670 [02:15<3622:59:56,  1.32s/it]
  0%|          | 95/9908670 [02:17<3668:43:35,  1.33s/it]
  0%|          | 96/9908670 [02:18<3706:57:07,  1.35s/it]
  0%|          | 97/9908670 [02:19<3732:43:58,  1.36s/it]
  0%|          | 98/9908670 [02:21<3763:31:06,  1.37s/it]
  0%|          | 99/9908670 [02:22<3766:45:40,  1.37s/it]
  0%|          | 100/9908670 [02:24<3760:21:01,  1.37s/it]

  0%|          | 100/9908670 [02:24<3760:21:01,  1.37s/it]
  0%|          | 101/9908670 [02:25<3752:53:22,  1.36s/it]
  0%|          | 102/9908670 [02:26<3726:55:34,  1.35s/it]
  0%|          | 103/9908670 [02:28<3685:12:46,  1.34s/it]
  0%|          | 104/9908670 [02:29<3700:09:20,  1.34s/it]
  0%|          | 105/9908670 [02:30<3661:50:58,  1.33s/it]
  0%|          | 106/9908670 [02:32<3630:07:00,  1.32s/it]
  0%|          | 107/9908670 [02:33<3620:46:03,  1.32s/it]
  0%|          | 108/9908670 [02:34<3596:32:02,  1.31s/it]
  0%|          | 109/9908670 [02:35<3575:41:00,  1.30s/it]
  0%|          | 110/9908670 [02:37<3580:44:25,  1.30s/it]
  0%|          | 111/9908670 [02:38<3582:39:52,  1.30s/it]
  0%|          | 112/9908670 [02:39<3612:16:53,  1.31s/it]
  0%|          | 113/9908670 [02:41<3602:01:29,  1.31s/it]
  0%|          | 114/9908670 [02:42<3646:25:38,  1.32s/it]
  0%|          | 115/9908670 [02:43<3650:35:12,  1.33s/it]
  0%|          | 116/9908670 [02:45<3632:16:59,  1.32s/it]
  0%|          | 117/9908670 [02:46<3637:37:39,  1.32s/it]
  0%|          | 118/9908670 [02:47<3623:47:32,  1.32s/it]
  0%|          | 119/9908670 [02:49<3608:16:48,  1.31s/it]
  0%|          | 120/9908670 [02:50<3594:35:53,  1.31s/it]
  0%|          | 121/9908670 [02:51<3576:17:05,  1.30s/it]
  0%|          | 122/9908670 [02:52<3566:07:53,  1.30s/it]
  0%|          | 123/9908670 [02:54<3567:04:05,  1.30s/it]
  0%|          | 124/9908670 [02:55<3576:55:24,  1.30s/it]
  0%|          | 125/9908670 [02:56<3561:44:11,  1.29s/it]
  0%|          | 126/9908670 [02:58<3554:01:06,  1.29s/it]
  0%|          | 127/9908670 [02:59<3568:42:50,  1.30s/it]
  0%|          | 128/9908670 [03:00<3629:15:03,  1.32s/it]
  0%|          | 129/9908670 [03:02<3669:28:33,  1.33s/it]
  0%|          | 130/9908670 [03:03<3696:42:27,  1.34s/it]
  0%|          | 131/9908670 [03:04<3791:46:50,  1.38s/it]
  0%|          | 132/9908670 [03:06<3718:48:12,  1.35s/it]
  0%|          | 133/9908670 [03:07<3717:50:05,  1.35s/it]
  0%|          | 134/9908670 [03:08<3655:34:21,  1.33s/it]
  0%|          | 135/9908670 [03:10<3632:57:31,  1.32s/it]
  0%|          | 136/9908670 [03:11<3623:41:36,  1.32s/it]
  0%|          | 137/9908670 [03:12<3595:49:12,  1.31s/it]
  0%|          | 138/9908670 [03:14<3578:22:52,  1.30s/it]
  0%|          | 139/9908670 [03:15<3560:47:23,  1.29s/it]
  0%|          | 140/9908670 [03:16<3550:05:30,  1.29s/it]
  0%|          | 141/9908670 [03:17<3542:33:28,  1.29s/it]
  0%|          | 142/9908670 [03:19<3539:39:54,  1.29s/it]
  0%|          | 143/9908670 [03:20<3537:57:32,  1.29s/it]
  0%|          | 144/9908670 [03:21<3538:15:39,  1.29s/it]
  0%|          | 145/9908670 [03:23<3542:06:47,  1.29s/it]
  0%|          | 146/9908670 [03:24<3540:20:41,  1.29s/it]
  0%|          | 147/9908670 [03:25<3532:35:01,  1.28s/it]
  0%|          | 148/9908670 [03:26<3549:51:32,  1.29s/it]
  0%|          | 149/9908670 [03:28<3551:11:03,  1.29s/it]
  0%|          | 150/9908670 [03:29<3549:44:37,  1.29s/it]
  0%|          | 151/9908670 [03:30<3540:28:45,  1.29s/it]
  0%|          | 152/9908670 [03:32<3530:48:58,  1.28s/it]
  0%|          | 153/9908670 [03:33<3528:48:11,  1.28s/it]
  0%|          | 154/9908670 [03:34<3536:45:51,  1.28s/it]
  0%|          | 155/9908670 [03:35<3544:13:06,  1.29s/it]
  0%|          | 156/9908670 [03:37<3543:28:43,  1.29s/it]
  0%|          | 157/9908670 [03:38<3543:49:32,  1.29s/it]
  0%|          | 158/9908670 [03:39<3538:32:26,  1.29s/it]
  0%|          | 159/9908670 [03:41<3533:20:54,  1.28s/it]
  0%|          | 160/9908670 [03:42<3553:46:38,  1.29s/it]
  0%|          | 161/9908670 [03:43<3546:35:12,  1.29s/it]
  0%|          | 162/9908670 [03:44<3534:09:19,  1.28s/it]
  0%|          | 163/9908670 [03:46<3583:15:04,  1.30s/it]
  0%|          | 164/9908670 [03:47<3614:24:02,  1.31s/it]
  0%|          | 165/9908670 [03:48<3614:23:14,  1.31s/it]
  0%|          | 166/9908670 [03:50<3588:27:16,  1.30s/it]
  0%|          | 167/9908670 [03:51<3565:42:05,  1.30s/it]
  0%|          | 168/9908670 [03:52<3555:12:32,  1.29s/it]
  0%|          | 169/9908670 [03:54<3550:24:34,  1.29s/it]
  0%|          | 170/9908670 [03:55<3560:44:19,  1.29s/it]
  0%|          | 171/9908670 [03:56<3583:22:24,  1.30s/it]
  0%|          | 172/9908670 [03:57<3580:05:54,  1.30s/it]
  0%|          | 173/9908670 [03:59<3579:25:04,  1.30s/it]
  0%|          | 174/9908670 [04:00<3562:52:14,  1.29s/it]
  0%|          | 175/9908670 [04:01<3553:14:14,  1.29s/it]
  0%|          | 176/9908670 [04:03<3553:53:48,  1.29s/it]
  0%|          | 177/9908670 [04:04<3544:32:09,  1.29s/it]
  0%|          | 178/9908670 [04:05<3547:30:49,  1.29s/it]
  0%|          | 179/9908670 [04:06<3553:32:00,  1.29s/it]
  0%|          | 180/9908670 [04:08<3561:21:32,  1.29s/it]
  0%|          | 181/9908670 [04:09<3563:34:10,  1.29s/it]
  0%|          | 182/9908670 [04:10<3554:51:42,  1.29s/it]
  0%|          | 183/9908670 [04:12<3548:35:14,  1.29s/it]
  0%|          | 184/9908670 [04:13<3552:59:00,  1.29s/it]
  0%|          | 185/9908670 [04:14<3554:36:43,  1.29s/it]
  0%|          | 186/9908670 [04:16<3550:10:37,  1.29s/it]
  0%|          | 187/9908670 [04:17<3546:32:40,  1.29s/it]
  0%|          | 188/9908670 [04:18<3563:49:17,  1.29s/it]
  0%|          | 189/9908670 [04:19<3558:13:09,  1.29s/it]
  0%|          | 190/9908670 [04:21<3560:57:58,  1.29s/it]
  0%|          | 191/9908670 [04:22<3554:27:54,  1.29s/it]
  0%|          | 192/9908670 [04:23<3563:51:09,  1.29s/it]
  0%|          | 193/9908670 [04:25<3544:45:27,  1.29s/it]
  0%|          | 194/9908670 [04:26<3548:36:27,  1.29s/it]
  0%|          | 195/9908670 [04:27<3566:15:24,  1.30s/it]
  0%|          | 196/9908670 [04:28<3565:06:28,  1.30s/it]
  0%|          | 197/9908670 [04:30<3558:28:17,  1.29s/it]
  0%|          | 198/9908670 [04:31<3563:49:52,  1.29s/it]
  0%|          | 199/9908670 [04:32<3550:54:39,  1.29s/it]
  0%|          | 200/9908670 [04:34<3539:32:40,  1.29s/it]

  0%|          | 200/9908670 [04:34<3539:32:40,  1.29s/it]
  0%|          | 201/9908670 [04:35<3557:45:52,  1.29s/it]
  0%|          | 202/9908670 [04:36<3552:32:01,  1.29s/it]
  0%|          | 203/9908670 [04:37<3559:07:15,  1.29s/it]
  0%|          | 204/9908670 [04:39<3554:09:41,  1.29s/it]
  0%|          | 205/9908670 [04:40<3540:46:30,  1.29s/it]
  0%|          | 206/9908670 [04:41<3529:36:24,  1.28s/it]
  0%|          | 207/9908670 [04:43<3534:29:41,  1.28s/it]
  0%|          | 208/9908670 [04:44<3534:21:19,  1.28s/it]
  0%|          | 209/9908670 [04:45<3529:10:55,  1.28s/it]
  0%|          | 210/9908670 [04:46<3533:21:10,  1.28s/it]
  0%|          | 211/9908670 [04:48<3535:23:47,  1.28s/it]
  0%|          | 212/9908670 [04:49<3530:33:07,  1.28s/it]
  0%|          | 213/9908670 [04:50<3533:48:41,  1.28s/it]
  0%|          | 214/9908670 [04:52<3532:15:40,  1.28s/it]
  0%|          | 215/9908670 [04:53<3535:19:49,  1.28s/it]
  0%|          | 216/9908670 [04:54<3540:01:08,  1.29s/it]
  0%|          | 217/9908670 [04:55<3533:32:11,  1.28s/it]
  0%|          | 218/9908670 [04:57<3546:06:06,  1.29s/it]
  0%|          | 219/9908670 [04:58<3539:13:55,  1.29s/it]
  0%|          | 220/9908670 [04:59<3533:28:20,  1.28s/it]
  0%|          | 221/9908670 [05:01<3532:21:37,  1.28s/it]
  0%|          | 222/9908670 [05:02<3530:28:32,  1.28s/it]
  0%|          | 223/9908670 [05:03<3540:09:57,  1.29s/it]
  0%|          | 224/9908670 [05:04<3536:37:58,  1.28s/it]
  0%|          | 225/9908670 [05:06<3538:38:24,  1.29s/it]
  0%|          | 226/9908670 [05:07<3569:16:07,  1.30s/it]
  0%|          | 227/9908670 [05:08<3560:20:59,  1.29s/it]
  0%|          | 228/9908670 [05:10<3551:31:15,  1.29s/it]
  0%|          | 229/9908670 [05:11<3547:39:10,  1.29s/it]
  0%|          | 230/9908670 [05:12<3550:38:15,  1.29s/it]
  0%|          | 231/9908670 [05:13<3545:22:14,  1.29s/it]
  0%|          | 232/9908670 [05:15<3539:13:20,  1.29s/it]
  0%|          | 233/9908670 [05:16<3522:59:35,  1.28s/it]
  0%|          | 234/9908670 [05:17<3525:26:24,  1.28s/it]
  0%|          | 235/9908670 [05:19<3534:27:42,  1.28s/it]
  0%|          | 236/9908670 [05:20<3542:05:56,  1.29s/it]
  0%|          | 237/9908670 [05:21<3548:00:52,  1.29s/it]
  0%|          | 238/9908670 [05:22<3540:25:40,  1.29s/it]
  0%|          | 239/9908670 [05:24<3560:56:09,  1.29s/it]
  0%|          | 240/9908670 [05:25<3566:34:26,  1.30s/it]
  0%|          | 241/9908670 [05:26<3564:02:11,  1.29s/it]
  0%|          | 242/9908670 [05:28<3555:40:24,  1.29s/it]
  0%|          | 243/9908670 [05:29<3547:33:08,  1.29s/it]
  0%|          | 244/9908670 [05:30<3559:37:35,  1.29s/it]
  0%|          | 245/9908670 [05:32<3558:11:53,  1.29s/it]
  0%|          | 246/9908670 [05:33<3554:15:25,  1.29s/it]
  0%|          | 247/9908670 [05:34<3550:05:20,  1.29s/it]
  0%|          | 248/9908670 [05:35<3554:42:22,  1.29s/it]
  0%|          | 249/9908670 [05:37<3567:17:08,  1.30s/it]
  0%|          | 250/9908670 [05:38<3556:50:54,  1.29s/it]
  0%|          | 251/9908670 [05:39<3571:07:04,  1.30s/it]
  0%|          | 252/9908670 [05:41<3586:01:54,  1.30s/it]
  0%|          | 253/9908670 [05:42<3597:37:41,  1.31s/it]
  0%|          | 254/9908670 [05:43<3609:35:57,  1.31s/it]
  0%|          | 255/9908670 [05:45<3609:21:51,  1.31s/it]
  0%|          | 256/9908670 [05:46<3594:51:18,  1.31s/it]
  0%|          | 257/9908670 [05:47<3579:17:28,  1.30s/it]
  0%|          | 258/9908670 [05:48<3568:09:24,  1.30s/it]
  0%|          | 259/9908670 [05:50<3553:19:46,  1.29s/it]
  0%|          | 260/9908670 [05:51<3552:15:25,  1.29s/it]
  0%|          | 261/9908670 [05:52<3553:02:41,  1.29s/it]
  0%|          | 262/9908670 [05:54<3559:01:13,  1.29s/it]
  0%|          | 263/9908670 [05:55<3560:06:28,  1.29s/it]
  0%|          | 264/9908670 [05:56<3557:25:43,  1.29s/it]
  0%|          | 265/9908670 [05:57<3563:44:42,  1.29s/it]
  0%|          | 266/9908670 [05:59<3629:35:39,  1.32s/it]
  0%|          | 267/9908670 [06:00<3663:52:03,  1.33s/it]
  0%|          | 268/9908670 [06:02<3693:50:08,  1.34s/it]
  0%|          | 269/9908670 [06:03<3716:18:32,  1.35s/it]
  0%|          | 270/9908670 [06:04<3737:54:05,  1.36s/it]
  0%|          | 271/9908670 [06:06<3749:40:28,  1.36s/it]
  0%|          | 272/9908670 [06:07<3759:38:04,  1.37s/it]
  0%|          | 273/9908670 [06:08<3765:00:20,  1.37s/it]
  0%|          | 274/9908670 [06:10<3770:55:34,  1.37s/it]
  0%|          | 275/9908670 [06:11<3751:39:38,  1.36s/it]
  0%|          | 276/9908670 [06:12<3709:36:50,  1.35s/it]
  0%|          | 277/9908670 [06:14<3684:45:56,  1.34s/it]
  0%|          | 278/9908670 [06:15<3640:39:36,  1.32s/it]
  0%|          | 279/9908670 [06:16<3609:57:01,  1.31s/it]
  0%|          | 280/9908670 [06:18<3593:05:43,  1.31s/it]
  0%|          | 281/9908670 [06:19<3575:18:12,  1.30s/it]
  0%|          | 282/9908670 [06:20<3570:01:50,  1.30s/it]
  0%|          | 283/9908670 [06:22<3564:39:26,  1.30s/it]
  0%|          | 284/9908670 [06:23<3582:15:39,  1.30s/it]
  0%|          | 285/9908670 [06:24<3636:18:44,  1.32s/it]
  0%|          | 286/9908670 [06:25<3601:17:02,  1.31s/it]
  0%|          | 287/9908670 [06:27<3600:55:45,  1.31s/it]
  0%|          | 288/9908670 [06:28<3582:45:04,  1.30s/it]
  0%|          | 289/9908670 [06:29<3565:22:18,  1.30s/it]
  0%|          | 290/9908670 [06:31<3555:27:56,  1.29s/it]
  0%|          | 291/9908670 [06:32<3546:17:25,  1.29s/it]
  0%|          | 292/9908670 [06:33<3545:54:51,  1.29s/it]
  0%|          | 293/9908670 [06:35<3549:09:17,  1.29s/it]
  0%|          | 294/9908670 [06:36<3548:24:01,  1.29s/it]
  0%|          | 295/9908670 [06:37<3560:38:45,  1.29s/it]
  0%|          | 296/9908670 [06:38<3559:02:48,  1.29s/it]
  0%|          | 297/9908670 [06:40<3569:23:56,  1.30s/it]
  0%|          | 298/9908670 [06:41<3578:48:31,  1.30s/it]
  0%|          | 299/9908670 [06:42<3573:14:45,  1.30s/it]
  0%|          | 300/9908670 [06:44<3564:39:21,  1.30s/it]

  0%|          | 300/9908670 [06:44<3564:39:21,  1.30s/it]
  0%|          | 301/9908670 [06:45<3555:08:48,  1.29s/it]
  0%|          | 302/9908670 [06:46<3542:07:17,  1.29s/it]
  0%|          | 303/9908670 [06:47<3540:39:10,  1.29s/it]
  0%|          | 304/9908670 [06:49<3556:13:44,  1.29s/it]
  0%|          | 305/9908670 [06:50<3557:46:25,  1.29s/it]
  0%|          | 306/9908670 [06:51<3559:17:20,  1.29s/it]
  0%|          | 307/9908670 [06:53<3568:42:05,  1.30s/it]
  0%|          | 308/9908670 [06:54<3561:11:59,  1.29s/it]
  0%|          | 309/9908670 [06:55<3550:19:40,  1.29s/it]
  0%|          | 310/9908670 [06:56<3543:01:11,  1.29s/it]
  0%|          | 311/9908670 [06:58<3552:00:18,  1.29s/it]
  0%|          | 312/9908670 [06:59<3544:52:54,  1.29s/it]
  0%|          | 313/9908670 [07:00<3554:03:22,  1.29s/it]
  0%|          | 314/9908670 [07:02<3571:36:32,  1.30s/it]
  0%|          | 315/9908670 [07:03<3629:53:02,  1.32s/it]
  0%|          | 316/9908670 [07:04<3667:02:45,  1.33s/it]
  0%|          | 317/9908670 [07:06<3704:37:27,  1.35s/it]
  0%|          | 318/9908670 [07:07<3726:53:17,  1.35s/it]
  0%|          | 319/9908670 [07:09<3739:20:08,  1.36s/it]
  0%|          | 320/9908670 [07:10<3751:18:54,  1.36s/it]
  0%|          | 321/9908670 [07:11<3756:52:18,  1.36s/it]
  0%|          | 322/9908670 [07:13<3762:49:07,  1.37s/it]
  0%|          | 323/9908670 [07:14<3751:47:45,  1.36s/it]
  0%|          | 324/9908670 [07:15<3696:25:27,  1.34s/it]
  0%|          | 325/9908670 [07:17<3643:34:28,  1.32s/it]
  0%|          | 326/9908670 [07:18<3624:58:27,  1.32s/it]
  0%|          | 327/9908670 [07:19<3593:55:05,  1.31s/it]
  0%|          | 328/9908670 [07:20<3572:16:52,  1.30s/it]
  0%|          | 329/9908670 [07:22<3554:42:45,  1.29s/it]
  0%|          | 330/9908670 [07:23<3546:12:49,  1.29s/it]
  0%|          | 331/9908670 [07:24<3549:43:35,  1.29s/it]
  0%|          | 332/9908670 [07:26<3540:54:45,  1.29s/it]
  0%|          | 333/9908670 [07:27<3549:04:54,  1.29s/it]
  0%|          | 334/9908670 [07:28<3545:06:45,  1.29s/it]
  0%|          | 335/9908670 [07:29<3548:39:52,  1.29s/it]
  0%|          | 336/9908670 [07:31<3539:30:49,  1.29s/it]
  0%|          | 337/9908670 [07:32<3546:29:22,  1.29s/it]
  0%|          | 338/9908670 [07:33<3546:41:38,  1.29s/it]
  0%|          | 339/9908670 [07:35<3541:36:54,  1.29s/it]
  0%|          | 340/9908670 [07:36<3548:06:57,  1.29s/it]
  0%|          | 341/9908670 [07:37<3543:47:33,  1.29s/it]
  0%|          | 342/9908670 [07:38<3548:26:58,  1.29s/it]
  0%|          | 343/9908670 [07:40<3539:47:11,  1.29s/it]
  0%|          | 344/9908670 [07:41<3539:06:54,  1.29s/it]
  0%|          | 345/9908670 [07:42<3542:27:24,  1.29s/it]
  0%|          | 346/9908670 [07:44<3538:41:54,  1.29s/it]
  0%|          | 347/9908670 [07:45<3538:15:15,  1.29s/it]
  0%|          | 348/9908670 [07:46<3531:33:16,  1.28s/it]
  0%|          | 349/9908670 [07:47<3532:59:09,  1.28s/it]
  0%|          | 350/9908670 [07:49<3537:15:28,  1.29s/it]
  0%|          | 351/9908670 [07:50<3543:35:05,  1.29s/it]
  0%|          | 352/9908670 [07:51<3573:20:24,  1.30s/it]
  0%|          | 353/9908670 [07:53<3564:28:31,  1.30s/it]
  0%|          | 354/9908670 [07:54<3565:13:01,  1.30s/it]
  0%|          | 355/9908670 [07:55<3574:12:03,  1.30s/it]
  0%|          | 356/9908670 [07:57<3585:20:57,  1.30s/it]
  0%|          | 357/9908670 [07:58<3568:35:52,  1.30s/it]
  0%|          | 358/9908670 [07:59<3556:28:40,  1.29s/it]
  0%|          | 359/9908670 [08:00<3566:09:02,  1.30s/it]
  0%|          | 360/9908670 [08:02<3560:18:05,  1.29s/it]
  0%|          | 361/9908670 [08:03<3565:01:15,  1.30s/it]
  0%|          | 362/9908670 [08:04<3556:49:27,  1.29s/it]
  0%|          | 363/9908670 [08:06<3547:42:40,  1.29s/it]
  0%|          | 364/9908670 [08:07<3546:21:52,  1.29s/it]
  0%|          | 365/9908670 [08:08<3551:08:52,  1.29s/it]
  0%|          | 366/9908670 [08:09<3561:43:27,  1.29s/it]
  0%|          | 367/9908670 [08:11<3560:21:22,  1.29s/it]
  0%|          | 368/9908670 [08:12<3569:24:45,  1.30s/it]
  0%|          | 369/9908670 [08:13<3583:03:20,  1.30s/it]
  0%|          | 370/9908670 [08:15<3577:39:32,  1.30s/it]
  0%|          | 371/9908670 [08:16<3566:34:55,  1.30s/it]
  0%|          | 372/9908670 [08:17<3567:43:52,  1.30s/it]
  0%|          | 373/9908670 [08:19<3577:13:59,  1.30s/it]
  0%|          | 374/9908670 [08:20<3583:51:23,  1.30s/it]
  0%|          | 375/9908670 [08:21<3574:19:20,  1.30s/it]
  0%|          | 376/9908670 [08:22<3577:15:30,  1.30s/it]
  0%|          | 377/9908670 [08:24<3562:56:31,  1.29s/it]
  0%|          | 378/9908670 [08:25<3561:42:24,  1.29s/it]
  0%|          | 379/9908670 [08:26<3551:07:24,  1.29s/it]
  0%|          | 380/9908670 [08:28<3544:32:11,  1.29s/it]
  0%|          | 381/9908670 [08:29<3556:32:26,  1.29s/it]
  0%|          | 382/9908670 [08:30<3544:44:58,  1.29s/it]
  0%|          | 383/9908670 [08:31<3559:47:26,  1.29s/it]
  0%|          | 384/9908670 [08:33<3553:05:10,  1.29s/it]
  0%|          | 385/9908670 [08:34<3556:09:01,  1.29s/it]
  0%|          | 386/9908670 [08:35<3563:29:43,  1.29s/it]
  0%|          | 387/9908670 [08:37<3559:53:45,  1.29s/it]
  0%|          | 388/9908670 [08:38<3552:06:08,  1.29s/it]
  0%|          | 389/9908670 [08:39<3548:35:38,  1.29s/it]
  0%|          | 390/9908670 [08:41<3545:11:46,  1.29s/it]
  0%|          | 391/9908670 [08:42<3553:53:15,  1.29s/it]
  0%|          | 392/9908670 [08:43<3541:17:13,  1.29s/it]
  0%|          | 393/9908670 [08:44<3539:44:26,  1.29s/it]
  0%|          | 394/9908670 [08:46<3544:30:39,  1.29s/it]
  0%|          | 395/9908670 [08:47<3542:30:51,  1.29s/it]
  0%|          | 396/9908670 [08:48<3542:55:13,  1.29s/it]
  0%|          | 397/9908670 [08:50<3545:47:35,  1.29s/it]
  0%|          | 398/9908670 [08:51<3546:39:51,  1.29s/it]
  0%|          | 399/9908670 [08:52<3545:44:36,  1.29s/it]
  0%|          | 400/9908670 [08:53<3546:15:23,  1.29s/it]

  0%|          | 400/9908670 [08:53<3546:15:23,  1.29s/it]
  0%|          | 401/9908670 [08:55<3547:33:20,  1.29s/it]
  0%|          | 402/9908670 [08:56<3546:42:37,  1.29s/it]
  0%|          | 403/9908670 [08:57<3540:48:34,  1.29s/it]
  0%|          | 404/9908670 [08:59<3542:20:45,  1.29s/it]
  0%|          | 405/9908670 [09:00<3539:37:29,  1.29s/it]
  0%|          | 406/9908670 [09:01<3541:15:20,  1.29s/it]
  0%|          | 407/9908670 [09:02<3537:54:37,  1.29s/it]
  0%|          | 408/9908670 [09:04<3553:06:25,  1.29s/it]
  0%|          | 409/9908670 [09:05<3567:58:50,  1.30s/it]
  0%|          | 410/9908670 [09:06<3559:30:47,  1.29s/it]
  0%|          | 411/9908670 [09:08<3556:16:12,  1.29s/it]
  0%|          | 412/9908670 [09:09<3563:57:07,  1.29s/it]
  0%|          | 413/9908670 [09:10<3558:01:18,  1.29s/it]
  0%|          | 414/9908670 [09:11<3558:32:27,  1.29s/it]
  0%|          | 415/9908670 [09:13<3550:36:05,  1.29s/it]
  0%|          | 416/9908670 [09:14<3541:17:19,  1.29s/it]
  0%|          | 417/9908670 [09:15<3545:02:49,  1.29s/it]
  0%|          | 418/9908670 [09:17<3545:44:18,  1.29s/it]
  0%|          | 419/9908670 [09:18<3565:01:26,  1.30s/it]
  0%|          | 420/9908670 [09:19<3556:22:49,  1.29s/it]
  0%|          | 421/9908670 [09:21<3564:04:26,  1.29s/it]
  0%|          | 422/9908670 [09:22<3585:41:36,  1.30s/it]
  0%|          | 423/9908670 [09:23<3585:55:58,  1.30s/it]
  0%|          | 424/9908670 [09:24<3584:24:59,  1.30s/it]
  0%|          | 425/9908670 [09:26<3592:55:15,  1.31s/it]
  0%|          | 426/9908670 [09:27<3586:48:26,  1.30s/it]
  0%|          | 427/9908670 [09:28<3592:39:32,  1.31s/it]
  0%|          | 428/9908670 [09:30<3598:10:20,  1.31s/it]
  0%|          | 429/9908670 [09:31<3578:52:47,  1.30s/it]
  0%|          | 430/9908670 [09:32<3572:41:24,  1.30s/it]
  0%|          | 431/9908670 [09:34<3562:49:47,  1.29s/it]
  0%|          | 432/9908670 [09:35<3592:00:55,  1.31s/it]
  0%|          | 433/9908670 [09:36<3587:57:27,  1.30s/it]
  0%|          | 434/9908670 [09:38<3679:58:12,  1.34s/it]
  0%|          | 435/9908670 [09:39<3687:34:07,  1.34s/it]
  0%|          | 436/9908670 [09:40<3715:53:58,  1.35s/it]
  0%|          | 437/9908670 [09:42<3759:07:56,  1.37s/it]
  0%|          | 438/9908670 [09:43<3730:12:36,  1.36s/it]
  0%|          | 439/9908670 [09:44<3742:43:27,  1.36s/it]
  0%|          | 440/9908670 [09:46<3721:14:17,  1.35s/it]
  0%|          | 441/9908670 [09:47<3708:58:06,  1.35s/it]
  0%|          | 442/9908670 [09:48<3698:34:29,  1.34s/it]
  0%|          | 443/9908670 [09:50<3710:36:13,  1.35s/it]
  0%|          | 444/9908670 [09:51<3666:36:31,  1.33s/it]
  0%|          | 445/9908670 [09:52<3635:44:18,  1.32s/it]
  0%|          | 446/9908670 [09:54<3642:16:16,  1.32s/it]
  0%|          | 447/9908670 [09:55<3632:47:45,  1.32s/it]
  0%|          | 448/9908670 [09:56<3625:07:51,  1.32s/it]
  0%|          | 449/9908670 [09:58<3614:47:46,  1.31s/it]
  0%|          | 450/9908670 [09:59<3616:50:37,  1.31s/it]
  0%|          | 451/9908670 [10:00<3641:19:16,  1.32s/it]
  0%|          | 452/9908670 [10:02<3638:26:01,  1.32s/it]
  0%|          | 453/9908670 [10:03<3630:37:27,  1.32s/it]
  0%|          | 454/9908670 [10:04<3614:28:23,  1.31s/it]
  0%|          | 455/9908670 [10:06<3615:04:13,  1.31s/it]
  0%|          | 456/9908670 [10:07<3613:52:58,  1.31s/it]
  0%|          | 457/9908670 [10:08<3696:11:09,  1.34s/it]
  0%|          | 458/9908670 [10:10<3693:35:15,  1.34s/it]
  0%|          | 459/9908670 [10:11<3662:09:52,  1.33s/it]
  0%|          | 460/9908670 [10:12<3630:12:36,  1.32s/it]
  0%|          | 461/9908670 [10:13<3616:41:26,  1.31s/it]
  0%|          | 462/9908670 [10:15<3598:50:08,  1.31s/it]
  0%|          | 463/9908670 [10:16<3588:35:11,  1.30s/it]
  0%|          | 464/9908670 [10:17<3626:20:02,  1.32s/it]
  0%|          | 465/9908670 [10:19<3664:43:09,  1.33s/it]
  0%|          | 466/9908670 [10:20<3656:43:51,  1.33s/it]
  0%|          | 467/9908670 [10:21<3657:36:39,  1.33s/it]
  0%|          | 468/9908670 [10:23<3626:10:42,  1.32s/it]
  0%|          | 469/9908670 [10:24<3659:22:46,  1.33s/it]
  0%|          | 470/9908670 [10:25<3651:07:41,  1.33s/it]
  0%|          | 471/9908670 [10:27<3634:25:58,  1.32s/it]
  0%|          | 472/9908670 [10:28<3679:12:12,  1.34s/it]
  0%|          | 473/9908670 [10:29<3698:25:05,  1.34s/it]
  0%|          | 474/9908670 [10:31<3682:32:35,  1.34s/it]
  0%|          | 475/9908670 [10:32<3736:20:36,  1.36s/it]
  0%|          | 476/9908670 [10:34<3751:06:07,  1.36s/it]
  0%|          | 477/9908670 [10:35<3694:20:32,  1.34s/it]
  0%|          | 478/9908670 [10:36<3678:37:57,  1.34s/it]
  0%|          | 479/9908670 [10:37<3657:16:48,  1.33s/it]
  0%|          | 480/9908670 [10:39<3651:42:07,  1.33s/it]
  0%|          | 481/9908670 [10:40<3644:09:34,  1.32s/it]
  0%|          | 482/9908670 [10:41<3644:17:45,  1.32s/it]
  0%|          | 483/9908670 [10:43<3697:53:57,  1.34s/it]
  0%|          | 484/9908670 [10:44<3685:28:01,  1.34s/it]
  0%|          | 485/9908670 [10:45<3652:43:15,  1.33s/it]
  0%|          | 486/9908670 [10:47<3641:56:02,  1.32s/it]
  0%|          | 487/9908670 [10:48<3625:59:40,  1.32s/it]
  0%|          | 488/9908670 [10:49<3639:51:17,  1.32s/it]
  0%|          | 489/9908670 [10:51<3661:47:03,  1.33s/it]
  0%|          | 490/9908670 [10:52<3713:01:35,  1.35s/it]
  0%|          | 491/9908670 [10:53<3685:53:09,  1.34s/it]
  0%|          | 492/9908670 [10:55<3698:58:05,  1.34s/it]
  0%|          | 493/9908670 [10:56<3692:25:40,  1.34s/it]
  0%|          | 494/9908670 [10:57<3684:47:26,  1.34s/it]
  0%|          | 495/9908670 [10:59<3667:53:42,  1.33s/it]
  0%|          | 496/9908670 [11:00<3635:50:29,  1.32s/it]
  0%|          | 497/9908670 [11:01<3631:12:03,  1.32s/it]
  0%|          | 498/9908670 [11:03<3604:57:11,  1.31s/it]
  0%|          | 499/9908670 [11:04<3594:39:21,  1.31s/it]
  0%|          | 500/9908670 [11:05<3584:00:10,  1.30s/it]

@yeyupiaoling  感觉这训练不正常啊。

@yeyupiaoling 训练了50K了为啥没有保存模型？需要设置啥吗


Update Jedi

Ref: https://github.com/zchee/deoplete-jedi/issues/155#issuecomment-369447071

https://github.com/davidhalter/jedi/issues/1063
I think deoplete-jedi should include  0.12.0.

jedi 0.12.0 is released.


Let Gradle build timestamp value source implement describable

So it's easier to understand when the cache is invalidated due to build timestamp changes (for instance, when the smoke test runs close to midnight).

Would it make sense to make "build timestamp" into its own feature?

I'm sorry, @lptr, I don't get what "making it into its own feature" means here, can you expand on that, please?

I was just wondering... Many builds out there use their own custom implementation of a build timestamp. Pulling this off successfully with caching still working is pretty hard.
We have a solution that if we could package could be useful for many users. We'd also win by doing this because all those builds wouldn't introduce their own, hard-to-debug mistakes to handling build timestamps.
This could be a feature in Gradle accessible via gradleApi(), or a separate (but official) gradle-timestamp-plugin etc.

Another, less nice but still very much useful, option would be to write a blog post about how to do build timestamping properly.

+1 on that we should be providing much stronger guidance on how to solve this very common problem in a way that doesn't defeat our build time optimisations.


Auto fix conflicts in certain files

In the Kibana repo specifically there are a handful of files which regularly experience conflicts that could be fixed automatically if we knew that conflicts were limited to a specific set of files. I wonder if we could define a module which would be loaded to inspect the conflicting files to decide if the conflicts could be fixed automatically?
Something like this perhaps?
require('backport').run({
  async autoFixConflicts(files, directory, log) {
	const candidates = [
      'yarn.lock',
      'packages/kbn-pm/dist/index.js'
    ]

	const noCandidates = files.every(f => !candidates.includes(f))
	if (noCandidates) {
      log.info('conflicts are not in auto fixable files')
      return false;
    }

    const nonCandidates = files.filter(f => !candidates.includes(f))
	if (nonCandidates.length) {
      log.info('unable to auto fix conflicts because of changes in', nonCandidates.join(', '))
      return false;
    }

    await execa('git', ['checkout', '--', ...files], { cwd: directory })

    log.info('bootstrapping backport repo')
    await execa('yarn', ['kbn', 'bootstrap'], { cwd: directory })

    if (files.includes('packages/kbn-pm/dist/index.js')) {
      log.info('auto fixing kbn/pm dist')
      await execa('yarn', ['kbn', 'run', 'build', '-i', '@kbn/pm'], { cwd: directory })
    }

    return true;
  }
})

We could definitely do something like that. I've been considering converting the .backportrc.json config to a javascript file (.backportrc.js) to support dynamic stuff like this.
{
  upstream: 'elastic/kibana',
  branches: ['7.x', '7.8', '7.7', '...'],
  onConflicts: async (files, directory, log) { // ... }
}

But it would probably be easier to start with the approach you suggest. Then I think all options should be configurable that way:
require("backport").run({
  upstream: 'elastic/kibana',
  branches: ['7.x', '7.8', '7.7', '...'],
  onConflicts: async (files, directory, log) { // ... }
})


Fix QUnit tests in MS Edge browser

One test hangs because of the testcafe-hammerhead bug (see on saucelabs)
@helen-dikareva please, create an issue for the testcafe-hammerhead with the problem description

I'm working on this

Closed by https://github.com/DevExpress/testcafe/pull/187


[FEAT] Implement Users - Create User JWT

Describe the feature
Implement Users - Create User JWT
Additional Context
No response

Will the be a server implementation for creating jwt?

The users API is exclusive to the server, so yes this will be within the server SDK. :)
In a branch, I've already commited an update to the readme to include this in the roadmap displayed for the Users API section - It wasn't there before EITHER because I missed it when originally creating the roadmap, OR because it was recently added.

The commit in question, adding CreateJWT to the Users section, as a server endpoint to the roadmap: https://github.com/PinguApps/AppwriteSdk/commit/2a98939725dd63a03c5fbf305448fe582aa0c361

Noted


feat: [IDP]: Added the argo-cd plugin docs

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66ea79804e4b6e1c756280e0--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66ea80a75c98a71d7805d4c7--harness-developer.netlify.app


Strange Characters

Hello there.  I have built a few cards and I have 2 stubborn cards showing the exact same character corruption.
This is in my IIe PAL version.  All other cards I made are working perfectly using your latest firmware.
First pic shows the APPLEII boot screen and the second is me typing asdfgh.
Any ideas?  One of the cards did give me correct characters one but after a software reset it went back to showing me this.

I just compiled the original AppleII-VGA firmware and tested and characters are displaying correctly.  Could this be a timing issue or something else?

It could be timing, or incorrectly detecting the machine type. It looks like it is picking up the machine as an unenhanced II/II+/IIe without the lowercase font. With the latest firmware and utilities you can try forcing the machine type.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/127 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target.git

Docs Build status updates of commit 36c7e9e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

archiveSourceFolder/TOC.yml
:white_check_mark:Succeeded

archiveSourceFolder/content/someContent.md
:white_check_mark:Succeeded

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


Write a Dart program to convert weeks to hours

Description
Write a Dart program to convert weeks to hours
1 week = 7 days = 168 hours
Input  : 5
Output : 840

How to contribute

Save the solution in convert_weeks_to_hours.dart file
Add convert_weeks_to_hours.dart file in convert-weeks-to-hours folder

!assign


Allow casting bools to integers (and vice-versa)

Fixes #277.
It also turns out we never parsed the bool type either, so I added support for parsing it.
Bool was also the only primitive type not to have constness tracked so I added that as well. Previously if you had a constant and casted it to a boolean and back the compiler would treat it as non-const. Now it will correctly recognize it as still const and allow it to be used as an index.

It's OK for me, I let @kevaundray validate it because it's mostly frontend.


Revert "Use local SVG for concierge icon"

Reverts Expensify/App#17501
Running into a weird deploy blocker I cannot reproduce locally but the error seems to be referring concierge svg and and this PR seems to be saving the svg into personalDetails which leads me to think its the culprit. I will do internal release of this branch

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/17693
$ https://github.com/Expensify/App/issues/17684
Tests

[ ] Verify that no errors appear in the JS console
[ ] Verify Concierge Icon loads

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console
[ ] Verify Concierge Icon loads

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@chiragsalian Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Use the links below to test this build in android and iOS. Happy testing!

Use the links below to test this build in android and iOS. Happy testing!

Use the links below to test this build in android and iOS. Happy testing!

Here is the internal release you can test on

Fresh new account

Use the links below to test this build in android and iOS. Happy testing!

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/17697/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/17697/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/17697/NewExpensify.dmg
https://17697.pr-testing.expensify.com

🚀 Cherry-picked to staging by https://github.com/techievivek in version: 1.3.2-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.2-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.28-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Pull New Frontend Into Master

This pulls the new frontend infrastructure into the current state of master as a seperate exeutable.
The new frontend still needs lots of work and is far from being production-ready. However, working on the new infrastructure while having the current project state at master available for quick testing and verification are crucial to achieve feature parity of the new code.
The new frontend introduces the main3000.exe exeutable in megamol/bin, as well as corresponding CMake submodules implemending central parts of the new frontend:

megamol/main3000 - new MegaMol executable
megamol/input_events - include files defining resources and input events passed from frontend to MegaMol View modules
megamol/render_api - abstraction for rendering APIs like OpenGL used by the new MegaMol Graph
core MegaMolGraph.h, core MegaMolGraph.cpp - new graph structure that spawns and manages MegaMol Modules and Calls

To make the new explicit MegaMol Graph work certain changes to Module, Call and View base classes were necessary. These changes were kept to a minimum and should not break the existing MegaMol infrastructure. However, ensuring non-breaking changes would need extensive manual or automated unit and integration testing.
Next major steps to advance the frontend are:

Implement/move MegaMol Project File parsing in new main3000.exe
Match new MegaMol Graph functionality to necessary (minimal!) subset of MegaMol Core functionality
Gradually split CoreInstance functionality into submodules for cleaner re-use in MegaMol; at some point abandon CoreInstance entirely
Define clean CMake dependencies for modules using OpenGL, allowing to compile an OpenGL-free MegaMol. This needs a major cleanup of the codebase.

This PR is work-in-progress of the following issues
https://github.com/UniStuttgart-VISUS/megamol/issues/245
https://github.com/UniStuttgart-VISUS/megamol/issues/381

After some testing and proofing i think the frontend can now be merged into master.
Though some code can still be improved and down the road we will probably redesign aspects i think the frontend is mostly usable and further development will benefit from feedback of a broader user base.


Added a Diffie-Hellman Key exchange algorithm in python

This algorithm is used for sharing of public keys and is one of the first public sharing algorithms used in cryptography. Comments are included in the python code to understand the used formulae with ease.

Use camelCase for folder Names.
Please Follow the Contribution guide: https://github.com/Thuva4/Algorithms/blob/master/CONTRIBUTING.md

I have updated my pull request. Please review. I will make appropriate changes if necessary


Publish Scenario when manifest added

Publish pipeline succeeded for this Pull Request. Once you refresh your index, this change should be present.


Increase maximum mmap size

This increases the maximum size of database file which can be
memory-mapped from 2GB to 1TB. Note that this only changes the maximum
and the default remains at 0 (i.e. memory-mapping disabled) so this
shouldn't make any difference to users unless they explicitly ask to
mmap more than 2GB of data.
I'm not sure why the default is so low to be honest. Here are a few
threads discussing the benefits of increasing it:
http://sqlite.1065341.n5.nabble.com/SQLITE-MAX-MMAP-SIZE-2GB-default-td106789.html
https://github.com/xerial/sqlite-jdbc/issues/327
https://github.com/xerial/sqlite-jdbc/pull/328

Seems reasonable.

Hey, thanks for merging so quickly. Any chance of a new PyPI release?

@coleifer Hey, appreciate you may have plenty of better things to do, but if you ever got the chance to push a new release of this to pypi I'd be super grateful! Thanks

0.4.6 is available


Add user dictionary API for measurements

I followed the example in the code dealing with annotations, and added an API for measurements.

Thanks @jslevinson-cloud !
I'm copying @JosDenysGitHub for review and comments. We'll probably want something slightly more generic than just fit for supplying measurement attribute hints, but can extrapolate from here.

Hi @jslevinson-cloud ,
it took us a while to round this corner as there was a little more to it than initially thought, but the current v1.0.0 support does now include the API in the form of a new UserDictionary object in the iknowpy package.
Thanks again for your efforts in kicking this off way earlier than we were able to join the charge! 👍


foreverpath not found

I'm trying to install a service with forever-service with the command:

sudo forever-service install webserver --script server.js -e "PORT=80"

but getting the following error:
forever-service version 0.5.9

Platform - Ubuntu 14.04.5 LTS
foreverpath not found
path.js:7
    throw new TypeError('Path must be a string. Received ' + inspect(path));
    ^

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.dirname (path.js:1324:5)
    at Command.<anonymous> (/usr/lib/node_modules/forever-service/bin/forever-service:89:34)
    at Command.listener (/usr/lib/node_modules/forever-service/node_modules/commander/index.js:249:8)
    at emitTwo (events.js:106:13)
    at Command.emit (events.js:194:7)
    at Command.parseArgs (/usr/lib/node_modules/forever-service/node_modules/commander/index.js:480:12)
    at Command.parse (/usr/lib/node_modules/forever-service/node_modules/commander/index.js:372:21)
    at /usr/lib/node_modules/forever-service/bin/forever-service:175:23
    at Walker.<anonymous> (/usr/lib/node_modules/forever-service/lib/platforms.js:28:3)

Nodejs version is 8.0
Any ideas how to fix that?

For me what fixed the issue was installing forever as sudo.


A sync while a note is open might be messy

If you do a sync and you have a note open and that note turns out to be in need of update, that is the remote one is newere than the local, open one, the open one is not closed !
That means, eg, if the user makes a change, it will be saved over top of the newly synced note and not clash warning will be issued.
I think it might be prudent if not convenient to close all notes before starting a sync ....

I think I remember it being this way before. You would not get any warning but you would have a conflict file in you tomboy root dir. I would know when I had 2 version of the same note, one new and the other old.
Are you saying it will only keep one file, the last one closed?

Yes, if user has a note open (but not changed) and does a sync that decides to download a more recent copy of that note, it will do it behind the user's back. If the user then makes a change to the open note, that note will overwrite the one on disk. If the sync wants to delete, I suspect its even worse, note would be marked as deleted but could be resaved.....
Options

As we only do sync manually right now, if user clicks 'Sync' and a note is open, tell them to close all notes and try again. Easy, clean but not very friendly. Not compatible with a future auto sync model.
As we do a sync, before downloading or deleting a note, close it if open. Reopen if it was a download. This is possibly best option for user but I have designed the tb_sync.pas unit to be quite standalone and not interact with the GUI much.Harder, not clean but user friendly and would work with auto sync.
As in 2. but ask the user before closing, friendlier still but means an auto sync would be blocked if user was not watching and if the user is watching but doing something else, interrupts unacceptably.
Go ahead with sync and only make a fuss if and when user makes a change to note. Lots harder to implement, would need to alter data structure that keeps track of all notes and would need to consult that before saving a changed note. Um, what if a note is marked as read only as soon as it is sync-download or sync-delete while open ? User can close it (and reopen if it was a sync-download).

Hmm...

Looks like option 4 might be the winner. I have coded up a function to make a edit box read only, you cannot change it and when you close it, it is not saved.

User can still read it and even, if they have made a terrible mistake, can copy its contents and paste that into a new note.

OK, I have committed a fix for this issue - user will now see an ugly and impossible to miss warning that the note is now read only. Its even possible to copy the contents (using menu, but not Ctrl-C). But only change you can make is to close it. So, no miss understandings.
Also found and fixed a related bug where a note, deleted by the Sync process was still listed under Recently Used items.


Improperly insert type of already defined function

If you have
main :: IO()
a = 3
main = putStrLn "Hello World"

and ask atom to insert the type signature of main, you get
main :: IO()
a = 3
main :: IO ()
main = putStrLn "Hello World"

The correct result should be
a = 3
main :: IO ()
main = putStrLn "Hello World"

or
main :: IO()
a = 3
main = putStrLn "Hello World"

Likewise, if you ask atom to insert the type of putStrLn, you get
main :: IO()
a = 3
putStrLn :: String -> IO ()
main = putStrLn "Hello World"

the correct behavior would be to do nothing

Due to sheer complexity of finding out if there's already a definition or not, I'm inclined to leave this as-is. It's not breaking anything, and check will let you know that you have duplicate signatures.


adds support for token introspection

This PR applies the pep8 style guide and adds support for token introspection.
The /introspect endpoint takes an access, ID, or refresh token, and returns a boolean that indicates whether it is active or not. If the token is active, additional data about the token is also returned. If the token is invalid, expired, or revoked, it is considered inactive.

How can I call the Fn with instrospect?

from okta_jwt.jwt import introspect_token
valid_token = introspect_token(token)


Next: Remove reset.css

Related Issues
closes #4702
Short Description and Why It's Useful
I have removed redundant reset.css and i have included his content to default/layout.vue
Which Environment This Relates To
Check your case. In case of any doubts please read about Release Cycle

[ ] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[ ] I've updated the Upgrade notes and Changelog on how to port existing Vue Storefront sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and Currently Important Rules Acceptance

[ ] I read and followed contribution rules

Thank you!


Translate riscv to powdr-asm

We could parse riscv assembly and translate it to a (minimally modified) powdr-asm. This way, random code can be verified using powdr - we could write an EVM interpreter in rust, compile it to riscv and verify the execution using powdr.
As reference: Simple simulator in rust https://github.com/GregAC/rrs

This is done, isn't it?

I would close it as soon as we have #212

We have #212, closing.


Different behaviour of pull between new and old cli

Hi everyone, I just migrate to the new cli and I found out that when I am doing the tx pull -a I am not getting anymore the po file of the source language. There is a way to get it back?
Logs of old cli version
tx INFO:  -> nl_NL: web/translations/nl_NL/LC_MESSAGES/web.po
tx INFO:  -> fr_FR: web/translations/fr_FR/LC_MESSAGES/web.po
tx INFO:  -> en_GB: web/translations/en_GB/LC_MESSAGES/web.po
tx INFO:  -> de_DE: web/translations/de_DE/LC_MESSAGES/web.po

Logs of the new cli version
 SUCCESS  Target languages fetched

▀  Downloading translation file admin/translations/de_DE/LC_MESSAGES/admin.po
 ▀ Downloading translation file admin/translations/de_DE/LC_MESSAGES/admin.po
 ▄ Downloading translation file admin/translations/de_DE/LC_MESSAGES/admin.po
▄  Downloading translation file admin/translations/de_DE/LC_MESSAGES/admin.po

 SUCCESS  Translation file 'admin/translations/de_DE/LC_MESSAGES/admin.po' downloaded

▀  Downloading translation file admin/translations/fr_FR/LC_MESSAGES/admin.po
 ▀ Downloading translation file admin/translations/fr_FR/LC_MESSAGES/admin.po

 SUCCESS  Translation file 'admin/translations/fr_FR/LC_MESSAGES/admin.po' downloaded

▀  Downloading translation file admin/translations/nl_NL/LC_MESSAGES/admin.po
 ▀ Downloading translation file admin/translations/nl_NL/LC_MESSAGES/admin.po

 SUCCESS  Translation file 'admin/translations/nl_NL/LC_MESSAGES/admin.po' downloaded

Hey @matteobaldelli ,
According to the Readme you can

If you use both the -t/--translation and the -s/--source flags, then you will pull both the source file, and the translation files.

+1 on @kbairak's answer. Also, @matteobaldelli I believe you are using an older version of the CLI.
I would suggest upgrading to 1.3.0 which has some performance optimizations, less output, and utilises parallelism.

Thanks both for the replay, @kbairak I tried to use the -s flag but I got a .pot file, I would like to have a .po file.
@codegaze thanks for the suggestion, I updated it after opening this issue

Hey @matteobaldelli can you please send me the part of your .tx/config file where this resource is configured? I am curious about how you end up getting a .pot file.

Hey @kbairak, thanks for answering, I think you just found out why.
[main]
host = https://www.transifex.com

[o: organization:p:project:r:templates]
file_filter = web/translations/<lang>/LC_MESSAGES/web.po
source_file = web/translations/tx.pot
source_lang = en
type = PO

So I think I just need to change the source file extension


Fix unittest action

Also bump to python 3.9: closer to still working with python
3.8 for older docassemble versions, but still on by default
in ubuntu 22.04, the new test runners on github.
Should also try to cache pip dependencies. Should work,
will need to re-run the job to see if that works, (though it's
less of a priority).

Should subsume #633.


Copy startup file before appending gpg_agent_script

Closes issues #47 #49 #50 #51

Merge. Tag as v0.5.6 in master branch.


Automatic desktop notifications on build errors

I modified a TypeScript compiler to show notifications similar like grunt-notify.
This can come handy when developing an application.
Note that notifications are disabled by default and can be enabled in config/angular-cli.json file.

I hadn't given much thought to this functionality but it seems to be useful and unobtrusive on the rest of the project. Plus since the cli is taking care of notifications, it's hard to sometimes know from within the editor wether or not the build is broken.
So lgtm. Could you rebase on top of master?

@filipesilva sure, rebased.

This also looks pretty good, although instead of having the configuration values stored in a new config file, please add an attribute in the root object in package.json to store this information.
I would suggest a name to match this repo/package angular-cli and pull the value from that file.
Also I do not think it makes sense to have the audio notification turned on by default and it that'd make a good value to be pulled from the configuration.
package.json
{
  "angular-cli": {
    "notifications": {
      "enabled": true,
      "playSound": false
    }
  }
}

@Brocco yes, you are right, there's no need for additional config file. Will modify it later tonight and make a commit.

I hadn't even noticed the sound, but I'm totally with @Brocco on this one. It would drive me crazy.

@filipesilva haha. I made a commit as @Brocco suggested btw.

@Brocco seems happy with it so I am happy to merge it. I noticed hansl was asking you to squash the commits into one, and I forgot to ask you that myself.
To keep the history tidy, may I suggest you name the single commit feat(build): add desktop notifications ?

Done. Added name to commit as you suggested.

And it's in! Thanks @jkuri !

np, thank you.

This PR will be reverted when we upgrade the broccoli files to the latest ones from angular/angular. If you want to add new features to the standard broccoli flow, do it in angular-app.js or do it in angular/angular.


build: decrease image sizes by utilizing buildah commands

The existing build process just uses buildah build. This command is similar to docker build and podman build and will build a new layer for each command in the file, which means files can never be removed from the image. They can only be hidden from future layers. Using a buildah script that utilizes the rest of the buildah commands, you can build a single image layer with multiple commands. This gives you the ability to add files to the image, run commands, and then remove the files from the image before it committed as a layer.
Noel mentioned that bazzite is another image that ends up pretty large, so I'll do the same conversion for that Containerfile and submit a PR for that repo as well.
Fixes #498

Happy with this change, though I'm going to wait for others to look at it since we're changing from a Dockerfile (which everyone knows how it works) to something a bit more complex.
I don't know enough about how Buildah works in a scripted way to give my opinion.

Converting this to a draft because I found 2 issues with it.

$(rpm -E %fedora) gets run outside of the container, which results in it not resolving. This is easy to fix since there is a variable for the version.
All of the && cause commands to run outside of the container. I should have replaced all of those but I tried to do a simple replace.

To clarify, the main advantage of using buildah in this way is it will not create layers until you have run the buildah push command at the end of the script? It should be one giant single layer on the base image?

When you run buildah commit, but otherwise yes. However, the existing workflow apparently also only commits a single layer. See below.

Secondly, since commands are run outside the container, you do not need to include dependencies in the image since those commands are run outside it?

Correct. If there are any packages needed only for the building process, they would not need to be included in the resulting image.
I fixed up the issues I found and that surfaced a few other issues. Apparently none of the packages were installing initially even though the workflow step was passing. I fixed that up and once the packages installed, the resulting image was 4.69GB, which is the same size as the image on this repo. This points to that Buildah is squashing the Containerfile into one layer already. I updated the fork to include the fixed version.
Considering there is no size benefit, it is up to you guys on whether you would like the added benefit of being able to run commands outside of the container while building it. If not, feel free to close this PR.

@JasonN3, I very much appreciate the effort in trying to help find some space savings, but as they didn't materialize... I'm voting "no" in the change.
I believe it is desirable to use Containerfile as it is a well-known pattern for docker/podman users. So moving to a scripted podman approach would need to have compelling benefit.
One thing I have learned from the process of evaluating your efforts... It is possible we could still use Containerfile but forgo the use of redhat-actions/buildah-build if it lets us do things like podman build --squash -f Containerfile .
And... either the approach I mentioned here, or the overall scripting podman approach, could prove more useful for Bazzite or Bluefin images than it did here for main.

I'm closing this PR per discussions in Discord and the fact this effort didn't result in a size benefit.


#2852 Update KET-schema to support fragments in R-Groups

Closes #2852

Closing this as not required. The schema was updated in scope of https://github.com/epam/ketcher/pull/2915


Invalid or unsupported Type AWS::AppSync::GraphQLSchema

cfn-lint version: (cfn-lint --version)
cfn-lint 0.28.1
Description of issue.
Using the following CFN resource leads to the above mentioned linting error:
  D2VApiSchema:
    Type: AWS::AppSync::GraphQLSchema
    Properties:
      ApiId: !GetAtt D2VApi.ApiId
      DefinitionS3Location: Graphql/schema.graphql

Please provide as much information as possible:

Template linting issues:

Please provide a CloudFormation sample that generated the issue.
If present, please add links to the (official) documentation for clarification.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html
Validate if the issue still exists with the latest version of cfn-lint and/or the latest Spec files

Feature request:

Please provide argumentation about the missing feature. Context is key!

Cfn-lint uses the CloudFormation Resource Specifications as the base to do validation. These files are included as part of the application version. Please update to the latest version of cfn-lint or update the spec files manually (cfn-lint -u)

AWS::AppSync::GraphQLSchema is in the latest Resource Specification, and I'm unable to reproduce this error using cfn-lint 0.28.1 with this template:
Resources:
  D2VApiSchema:
    Type: AWS::AppSync::GraphQLSchema
    Properties:
      ApiId: !GetAtt D2VApi.ApiId
      DefinitionS3Location: Graphql/schema.graphql

Commands like these will update your Linter version and Resource Specifications:
pip3 install cfn-lint --upgrade
cfn-lint --update-specs

If you're still experiencing this error with cfn-lint 0.28.1, is there a particular region you're linting with? I'm only able to reproduce this in some regions other than the us-east-1 default

I am using the following linter configuration:
Metadata:
cfn-lint:
config:
regions:
- eu-central-1
ignore_checks:
- W2001 # ignore warnings about unused parameters
- W7001 # ignore warnings about unused mappings
I am working in AWS region "eu-central-1" where this problem seems to occurr.

AWS::AppSync::GraphQLSchema is indeed not in the eu-central-1 Resource Specification
Are you able to successfully deploy that resource type in eu-central-1?

I am able to successfully deploy that resource type in eu-central-1.

AWS::AppSync::GraphQLSchema is now in the eu-central-1 Resource Specification:
cfn-lint --update-specs


Remove CTAs for the waitlist

As users can directly sign up and the waitlist is phased out, the website needs new CTA's and disallow waitlist sign ups.

It should be a teal button, as the red clashes with the dark background, but other than that, not sure what your issue is:

Just noticed I was looking on the home page, not /product. Have pushed the fix


phpdoc_types_order changes string default value in @method

https://php-cs-fixer-playground.herokuapp.com/run/8767d840-7ffd-406a-b7dd-cbb3d7a781a9
 <?php

 /**
- * @method void bar(string $delimiter = ',<br/>')
+ * @method void bar(string $delimiter = ',<|br/>')
  */
 class Foo
 {
 }

Side node: Playgrounds make it much easier to post issues and also for you to understand them. Why not make a tool like this mandatory for submitting issues?

Hi,
I created this PR #4609 for fixing this issue.
The problem was from the comma in default string value that was wrongly parsed by a regular expression
Laurent


Feature Request: Format user input

I'm not sure if there's already a way to do this but I've been unable to find it in the documentation.
I'm trying to simplify the user input required when scaling using the FFmpeg argument -filter:v. Currently, I need to ensure the user enters "scale=WxH" (where W and H are width and height). It would be easier (and perhaps more intuitive) if they only needed to enter "WxH", with the script (perhaps in gooey_options or validation?) adding on the "scale=" part. For example:
ffmpeg.add_argument ('-filter:v',
                        metavar = 'Resize',
                        help = 'Video size in format WxH',
                        gooey_options = {
                            'validator': {
                                'format_input': '\'scale=\' + user_input'
                            }
                        })

Ah, that's an interesting idea!
So, there's not currently a Gooey specific way to accomplish what you're after. I can totally see why it'd be useful, though. It's something I'll have to think about. It gets interesting when you think about how best to expose such an API given Gooey cross-language ideal. In some ways, this ties to the general callback issue in that it may be another instance where Gooey needs to act as more of a client/server model and provide hook points for the post-processing of arguments.. but that's just me thinking out loud.. : )
To hopefully be somewhat helpful, you could use Gooey's validation API to at least guide the user towards the correct thing. For instance,
ffmpeg.add_argument ('-filter:v',
                        metavar = 'Resize',
                        help = 'Video size in format WxH',
                        gooey_options={
                            'validator': {
                                # check that the input satisfies a regular expression
                                'test': "__import__('re').search('scale=\d+x\d+', user_input) != None",
                                'message': 'Must be in the form "scale={width}x{height}'
                            }
                        })
)

It's a little wonky, but hopefully that gets you closer!