swaybg fails to render webp: Couldn’t recognize the image file format

Describe the bug
as per https://github.com/swaywm/swaybg/issues/76, webp images seem rejected by swaybg under NixOS.
Steps To Reproduce
Steps to reproduce the behavior:

install swaybg and webp-pixbuf-loader
swaybg -i img.webp
find error: [background-image.c:30] Failed to load background image (Couldn’t recognize the image file format for file “img.webp”).

Expected behavior
any image formats supported by swaybg work
Additional context
this may be about gdk-pixbuf detecting webp-pixbuf-loader, tho its package does do stuff about this (and confirmed on my end, libpixbufloader-webp.so is present in /run/current-system/sw/lib/gdk-pixbuf-2.0/2.10.0/loaders/ and /etc/profiles/per-user/kiara/lib/gdk-pixbuf-2.0/2.10.0/loaders/).
c.f. #221017 similarly mentions webp issues in gdk-pixbuf, tho using librsvg
Notify maintainers
@primeos
@bobby285271
@hedning
@jtojnar
@dasj19
@cwyc
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.2-zen1, NixOS, 24.11 (Vicuña), 24.11.20240525.47e03a6`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Lix, like Nix) 2.90.0-beta.1-lixpre20240506-b6799ab`
 - nixpkgs: `/run/current-system/nixpkgs`

Programs generally do not load stuff from /run/current-system/sw/lib – otherwise, we could return tu just using /usr/lib. In this case, you need to add webp-pixbuf-loader to swaybg package using a wrapper that sets GDK_PIXBUF_MODULE_FILE environment variable. See eog for an example:
https://github.com/NixOS/nixpkgs/blob/2b14afdba35b51a1a9f841d695d2254f5f1eadca/pkgs/desktops/gnome/core/eog/default.nix#L84-L95
Also please always open an issue downstream (in Nixpkgs) before going upstream, unless you are sure it is an upstream issue.

i tested creating a local overlay adding a similar attribute:
prev.swaybg.overrideAttrs (oa: {
  postInstall = ''
    # Pull in WebP and JXL support
    export GDK_PIXBUF_MODULE_FILE="${pkgs.gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
      extraLoaders = [
        pkgs.libjxl
        pkgs.librsvg
        pkgs.webp-pixbuf-loader
        pkgs.libheif.out
      ];
    }}"
  '';
})

it looks like this did not resolve the issue yet however.

That's just one part. You also need the wrapper.

Sorry, when was this completed?


Podman seems to conflate network errors with configuration errors

Is this a BUG REPORT or FEATURE REQUEST?:

kind bug

Description
When running Podman early in the boot process, I see the following error:
unable to find image: unable to pull quay.io/coreos/kube-client-agent:678cc8e6841e2121ebfdb6e2db568fce290b67d6: unable to find image in the registries defined in "/etc/containers/registries.conf"

If I re-run podman a little later, it works. I haven't modified registries.conf in the meantime.
Steps to reproduce the issue:
[core@crawford-libvirt-master-0 ~]$ systemctl status etcd-member-tls
● etcd-member-tls.service - etcd (System Application Container) TLS assets
   Loaded: loaded (/etc/systemd/system/etcd-member-tls.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-09-12 18:02:29 UTC; 1min 41s ago
  Process: 847 ExecStartPre=/bin/podman run --rm --volume /etc/ssl/etcd:/etc/ssl/etcd:rw,z --network host ${SIGNER_IMAGE} request --orgname=system:etcd-servers --cacrt=/etc/ssl/etcd/root-ca.crt --assetsdir=/etc/ssl/etcd --address=https://crawford-libvirt-api.local:6443 --dnsnames=localhost,*.kube-etcd.kube-system.svc.cluster.local,kube-etcd-client.kube-system.svc.cluster.local,crawford-libvirt-etcd-0.local --commonname=system:etcd-server:crawford-libvirt-etcd-0.local --ipaddrs=<IP_ADDRESS> (code=exited, status=125)

Sep 12 18:02:29 localhost.localdomain systemd[1]: Starting etcd (System Application Container) TLS assets...
Sep 12 18:02:29 localhost.localdomain podman[847]: Trying to pull quay.io/coreos/kube-client-agent:678cc8e6841e2121ebfdb6e2db568fce290b67d6...Failed
Sep 12 18:02:29 localhost.localdomain podman[847]: unable to find image: unable to pull quay.io/coreos/kube-client-agent:678cc8e6841e2121ebfdb6e2db568fce290b67d6: unable to find image in the registries defined in "/etc/containers/registries.conf"
Sep 12 18:02:29 localhost.localdomain systemd[1]: etcd-member-tls.service: control process exited, code=exited status=125
Sep 12 18:02:29 localhost.localdomain systemd[1]: Failed to start etcd (System Application Container) TLS assets.
Sep 12 18:02:29 localhost.localdomain systemd[1]: Unit etcd-member-tls.service entered failed state.
Sep 12 18:02:29 localhost.localdomain systemd[1]: etcd-member-tls.service failed.

[core@crawford-libvirt-master-0 ~]$ sudo systemctl restart etcd-member-tls

[core@crawford-libvirt-master-0 ~]$ systemctl status etcd-member-tls
● etcd-member-tls.service - etcd (System Application Container) TLS assets
   Loaded: loaded (/etc/systemd/system/etcd-member-tls.service; static; vendor preset: enabled)
   Active: inactive (dead) since Wed 2018-09-12 18:04:27 UTC; 1s ago
  Process: 1677 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
  Process: 1674 ExecStartPre=/bin/chown etcd:etcd /etc/ssl/etcd/system:etcd-peer:crawford-libvirt-etcd-0.local.key (code=exited, status=0/SUCCESS)
  Process: 1671 ExecStartPre=/bin/chown etcd:etcd /etc/ssl/etcd/system:etcd-peer:crawford-libvirt-etcd-0.local.crt (code=exited, status=0/SUCCESS)
  Process: 1668 ExecStartPre=/bin/chown etcd:etcd /etc/ssl/etcd/system:etcd-server:crawford-libvirt-etcd-0.local.key (code=exited, status=0/SUCCESS)
  Process: 1665 ExecStartPre=/bin/chown etcd:etcd /etc/ssl/etcd/system:etcd-server:crawford-libvirt-etcd-0.local.crt (code=exited, status=0/SUCCESS)
  Process: 1585 ExecStartPre=/bin/podman run --rm --volume /etc/ssl/etcd:/etc/ssl/etcd:rw,z --network host ${SIGNER_IMAGE} request --orgname=system:etcd-peers --cacrt=/etc/ssl/etcd/root-ca.crt --assetsdir=/etc/ssl/etcd --address=https://crawford-libvirt-api.local:6443 --dnsnames=*.kube-etcd.kube-system.svc.cluster.local,kube-etcd-client.kube-system.svc.cluster.local,crawford-libvirt-etcd-0.local --commonname=system:etcd-peer:crawford-libvirt-etcd-0.local (code=exited, status=0/SUCCESS)
  Process: 1486 ExecStartPre=/bin/podman run --rm --volume /etc/ssl/etcd:/etc/ssl/etcd:rw,z --network host ${SIGNER_IMAGE} request --orgname=system:etcd-servers --cacrt=/etc/ssl/etcd/root-ca.crt --assetsdir=/etc/ssl/etcd --address=https://crawford-libvirt-api.local:6443 --dnsnames=localhost,*.kube-etcd.kube-system.svc.cluster.local,kube-etcd-client.kube-system.svc.cluster.local,crawford-libvirt-etcd-0.local --commonname=system:etcd-server:crawford-libvirt-etcd-0.local --ipaddrs=<IP_ADDRESS> (code=exited, status=0/SUCCESS)
 Main PID: 1677 (code=exited, status=0/SUCCESS)

Sep 12 18:04:22 crawford-libvirt-master-0 podman[1486]: Copying blob sha256:81033e7c1d6a5b44a94bb6b40033a6e589f50fd6b61578da6fc809e61f83898d
Sep 12 18:04:23 crawford-libvirt-master-0 podman[1486]: [99B blob data]
Sep 12 18:04:23 crawford-libvirt-master-0 podman[1486]: Copying blob sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
Sep 12 18:04:23 crawford-libvirt-master-0 podman[1486]: [28B blob data]
Sep 12 18:04:23 crawford-libvirt-master-0 podman[1486]: Copying blob sha256:c9daf76118657aaec02ae99978e42c6a2ba13627f29dc3ed981ed73a45a5e9f1
Sep 12 18:04:24 crawford-libvirt-master-0 podman[1486]: [97B blob data]
Sep 12 18:04:24 crawford-libvirt-master-0 podman[1486]: Skipping fetch of repeat blob sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
Sep 12 18:04:24 crawford-libvirt-master-0 podman[1486]: Writing manifest to image destination
Sep 12 18:04:24 crawford-libvirt-master-0 podman[1486]: Storing signatures
Sep 12 18:04:27 crawford-libvirt-master-0 systemd[1]: Started etcd (System Application Container) TLS assets.

[core@crawford-libvirt-master-0 ~]$ cat /etc/containers/registries.conf
# This is a system-wide configuration file used to
# keep track of registries for various container backends.
# It adheres to TOML format and does not support recursive
# lists of registries.

# The default location for this configuration file is /etc/containers/registries.conf.

# The only valid categories are: 'registries.search', 'registries.insecure',
# and 'registries.block'.

[registries.search]
registries = ['registry.access.redhat.com']

# If you need to access insecure registries, add the registry's fully-qualified name.
# An insecure registry is one that does not have a valid SSL certificate or only does HTTP.
[registries.insecure]
registries = []

# If you need to block pull access from a registry, uncomment the section below
# and add the registries fully-qualified name.
#
# Docker only
[registries.block]
registries = []

Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
podman version 0.7.3

Output of podman info:
host:
  MemFree:<PHONE_NUMBER>
  MemTotal:<PHONE_NUMBER>
  SwapFree: 0
  SwapTotal: 0
  arch: amd64
  cpus: 2
  hostname: crawford-libvirt-master-0
  kernel: 3.10.0-862.14.1.el7.x86_64
  os: linux
  uptime: 10m 15.3s
insecure registries:
  registries: []
registries:
  registries:
  - registry.access.redhat.com
store:
  ContainerStore:
    number: 0
  GraphDriverName: overlay
  GraphOptions:
  - overlay.override_kernel_check=true
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
  ImageStore:
    number: 1
  RunRoot: /var/run/containers/storage

This is fixed in master.  The error is more clear.

This is fixed in master.

Can you link the fix?  I'm hunting around, but haven't turned it up yet.
Is this a dup of #1212, or is that different?

This is fixed in master.

Can you link the fix?

Ah, grepping for the error message turned up #1194 and #1195.  I'm guessing you meant #1195, which landed in v0.8.1.  I've also just filed #1456 as another incremental improvement, although as @rhatdan mentions it would be nice if it was easier to address both this and projectatomic/buildah#849 at the same time.

If I re-run podman a little later, it works. I haven't modified registries.conf in the meantime.

#1456 has addressed the conflation.  It won't have fixed whatever caused your first call to fail, but the new error messages should now be more useful.  Should we close this and open a new issue once you get a new error message with this failure?  Or leave this open and use it once you get a new error message?


Typo in wiki pages

You made a small typo in the wiki pages. The controller should extend from Controller not Model. Keep up the good work!

Done. Thank you!! :)
Fix #1


No module named 'modules.ui_common'

 File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 23, in <module>
    import modules.extras
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/extras.py", line 10, in <module>
    from modules.ui_common import plaintext_to_html
ModuleNotFoundError: No module named 'modules.ui_common'

During the launch

same here.
Traceback (most recent call last):
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 23, in <module>
    import modules.extras
  File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/extras.py", line 10, in <module>
    from modules.ui_common import plaintext_to_html
ModuleNotFoundError: No module named 'modules.ui_common'

fresh start yesterday with verything delete on gdrive. trained until it stopped.
started again 5 mins ago then having this error.

by the way i know remove sd folder will fix it. but remove it and config again everytime? copying files around as well.

by the way i know remove sd folder will fix it. but remove it and config again everytime? copying files around as well.

Delete? Will it help? Hm..

The error while updating is this. Idk if that helps

does your version of the notebook contain the line !rm webui.sh ?

From what I can see !rm webui.shis present in the auto1111 notebook but not the dreambooth one.

The dreambooth UI is frozen, no need for removing webui.sh it's already removed, but why the webui.sh error since it's removed ?

Looks like the similar to #1479 fix can be applied to dreamboth colab. I initially stumble upon the issue with webui.sh not being reset after git reset --hard, so git pull didn't work

The dreambooth UI is frozen, no need for removing webui.sh it's already removed, but why the webui.sh error since it's removed ?

I think my sd_db stable-diffusion-webui folder had the webui.sh in it still, i added !rm webui.sh and !git reset --hard after the fgitclone process and everything worked as it should, might have just been my gdrive setup?
The update to the auto notebook worked also thanks.

I moved !rm webui.sh below git reset, now everything should update just fine

I moved !rm webui.sh below git reset, now everything should update just fine

Yeah sorry I was saying the update to the auto1111 notebook worked just fine with those 2 lines moved around but the dreambooth notebook was getting the same error but with another staged file config.json so I did what I said in the last comment for the dreambooth notebook and it worked, I don't know if others had this issue in dreambooth also but the fix works for both notebooks as far as I know.

I'll fix the dreambooth version


Failed upload to object storage results in endless split creation

Describe the bug
I'm using minio for object storage and for some reason uploads are failing on main and in this scenario Quickwit seems to endlessly create new splits after each failed upload. All splits end up in Staged status and never reach Published.
Clearing the queues is required to make it stop.
Steps to reproduce (if applicable)
Data is submitted via the ingest REST API. I sent 100,000 records in 10 x 10,000 record chunks and after each upload failure it creates a new 100,000 record split, tries to upload it and fails again endlessly.
Expected behavior
I would expect splits to be marked as some sort of terminal status if there is a fatal error in the ingest process.
The following sequence repeats endlessly in the logs, each time with a new split_id.
2022-06-02T00:10:09.581Z  WARN {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Uploader}:{msg_id=124 num_splits=1}: quickwit_indexing::actors::uploader: Failed to upload split. Killing! cause=Failed uploading key 01G4GVX5RWEAGENV2NKN6YF5SB.split in bucket s3://qwdata/indexes/data1 split_id=01G4GVX5RWEAGENV2NKN6YF5SB
2022-06-02T00:10:09.582Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Publisher}: quickwit_actors::runner: actor-failure cause=Failed to upload split.

Caused by:
    channel closed exit_status=Failure(Failed to upload split.

Caused by:
    channel closed)
2022-06-02T00:10:09.582Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePlanner}: quickwit_actors::runner: actor-exit actor_id=MergePlanner-broken-3ecx exit_status=Killed
2022-06-02T00:10:09.582Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Publisher}: quickwit_actors::runner: actor-exit actor_id=Publisher-broken-9zlS exit_status=Failure(cause=Failed to upload split.

Caused by:
    channel closed)
2022-06-02T00:10:09.583Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePlanner}: quickwit_actors::actor: actor-failure actor_name="MergePlanner-broken-3ecx" actor_exit_status=Killed
2022-06-02T00:10:09.583Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Publisher}: quickwit_actors::actor: actor-failure actor_name="Publisher-broken-9zlS" actor_exit_status=Failure(Failed to upload split.

Caused by:
    channel closed)
2022-06-02T00:10:09.583Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Publisher}: quickwit_actors::actor: exit activating-kill-switch actor=Publisher-broken-9zlS exit_status=Failure(Failed to upload split.

Caused by:
    channel closed)
2022-06-02T00:10:09.583Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=GarbageCollector}: quickwit_actors::runner: actor-exit actor_id=GarbageCollector-empty-qzyT exit_status=Killed
2022-06-02T00:10:09.583Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=GarbageCollector}: quickwit_actors::actor: actor-failure actor_name="GarbageCollector-empty-qzyT" actor_exit_status=Killed
2022-06-02T00:10:09.793Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePublisher}: quickwit_actors::runner: actor-exit actor_id=MergePublisher-blue-ly0g exit_status=Killed
2022-06-02T00:10:09.793Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeUploader}: quickwit_actors::runner: actor-exit actor_id=MergeUploader-ancient-7IRX exit_status=Killed
2022-06-02T00:10:09.793Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeSplitDownloader}: quickwit_actors::runner: actor-exit actor_id=MergeSplitDownloader-old-tVlM exit_status=Killed
2022-06-02T00:10:09.793Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePublisher}: quickwit_actors::actor: actor-failure actor_name="MergePublisher-blue-ly0g" actor_exit_status=Killed
2022-06-02T00:10:09.794Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeUploader}: quickwit_actors::actor: actor-failure actor_name="MergeUploader-ancient-7IRX" actor_exit_status=Killed
2022-06-02T00:10:09.794Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeSplitDownloader}: quickwit_actors::actor: actor-failure actor_name="MergeSplitDownloader-old-tVlM" actor_exit_status=Killed
2022-06-02T00:10:09.815Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePackager}: quickwit_actors::runner: actor-exit actor_id=MergePackager-bold-qiNd exit_status=Killed
2022-06-02T00:10:09.816Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergePackager}: quickwit_actors::actor: actor-failure actor_name="MergePackager-bold-qiNd" actor_exit_status=Killed
2022-06-02T00:10:09.816Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeExecutor}: quickwit_actors::runner: actor-exit actor_id=MergeExecutor-throbbing-TxH3 exit_status=Killed
2022-06-02T00:10:09.816Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=MergeExecutor}: quickwit_actors::actor: actor-failure actor_name="MergeExecutor-throbbing-TxH3" actor_exit_status=Killed
2022-06-02T00:10:10.064Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Indexer}: quickwit_actors::runner: actor-exit actor_id=Indexer-quiet-m4H5 exit_status=Killed
2022-06-02T00:10:10.064Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Indexer}: quickwit_actors::actor: actor-failure actor_name="Indexer-quiet-m4H5" actor_exit_status=Killed
2022-06-02T00:10:10.180Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Packager}: quickwit_actors::runner: actor-exit actor_id=Packager-young-nt2V exit_status=Killed
2022-06-02T00:10:10.180Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Packager}: quickwit_actors::actor: actor-failure actor_name="Packager-young-nt2V" actor_exit_status=Killed
2022-06-02T00:10:10.181Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Uploader}: quickwit_actors::runner: actor-exit actor_id=Uploader-shy-Wf37 exit_status=Killed
2022-06-02T00:10:10.181Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=Uploader}: quickwit_actors::actor: actor-failure actor_name="Uploader-shy-Wf37" actor_exit_status=Killed
2022-06-02T00:10:10.182Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=IngestApiSource}: quickwit_actors::runner: actor-exit actor_id=SourceActor-young-BWDh exit_status=Killed
2022-06-02T00:10:10.182Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2390}:{index=data1 gen=16}:{actor=IngestApiSource}: quickwit_actors::actor: actor-failure actor_name="SourceActor-young-BWDh" actor_exit_status=Killed
2022-06-02T00:10:10.714Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="SourceActor-young-BWDh"
2022-06-02T00:10:10.714Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="Indexer-quiet-m4H5"
2022-06-02T00:10:10.714Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="Packager-young-nt2V"
2022-06-02T00:10:10.714Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="Uploader-shy-Wf37"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="Publisher-broken-9zlS"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="GarbageCollector-empty-qzyT"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergePlanner-broken-3ecx"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergeSplitDownloader-old-tVlM"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergeExecutor-throbbing-TxH3"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergePackager-bold-qiNd"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergeUploader-ancient-7IRX"
2022-06-02T00:10:10.715Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_actors::actor_handle: actor-exit-without-success actor="MergePublisher-blue-ly0g"
2022-06-02T00:10:10.721Z ERROR {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2532}: quickwit_indexing::actors::indexing_pipeline: indexing pipeline error. index=data1 gen=17 healthy=[] failure_or_unhealthy_actors=["SourceActor-young-BWDh", "Indexer-quiet-m4H5", "Packager-young-nt2V", "Uploader-shy-Wf37", "Publisher-broken-9zlS", "GarbageCollector-empty-qzyT", "MergePlanner-broken-3ecx", "MergeSplitDownloader-old-tVlM", "MergeExecutor-throbbing-TxH3", "MergePackager-bold-qiNd", "MergeUploader-ancient-7IRX", "MergePublisher-blue-ly0g"] success=[]
2022-06-02T00:10:13.726Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2539}:{index=data1 gen=17}: quickwit_indexing::actors::indexing_pipeline: spawn-indexing-pipeline root_dir=./qwdata/indexing/data1/.ingest-api merge_policy=StableMultitenantWithTimestampMergePolicy { demux_enabled: false, demux_factor: 8, demux_field_name: None, min_level_num_docs: 100000, merge_enabled: true, merge_factor: 10, max_merge_factor: 12, split_num_docs_target: 10000000 }
2022-06-02T00:10:13.729Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2539}:{index=data1 gen=17}:{actor=GarbageCollector}: quickwit_indexing::actors::garbage_collector: garbage-collect-operation
2022-06-02T00:10:13.844Z  INFO {actor=quickwit_indexing::actors::indexing_service::IndexingService}:{msg_id=1}::{msg_id=2539}:{index=data1 gen=17}:{actor=Indexer}:{msg_id=1}: quickwit_indexing::actors::indexer: new-split split_id=01G4GVZ6BG7315CEYQ1N7YDETV

Ideally we should be able to qualify failures as permanent (e.g. checkpoint not matching, config broken), or transient (e.g. connectivity to the metastore, storage, source).
That job however is very tricky to get right...
I think we want to qualify all errors as transient by default and have a good behavior there.
By good behavior, I meant we want the pipeline should act as a "buggy car", that keeps progressing on the most imprevisible road.
We can then carefully qualify errors for which we are confident they are permanent, as permanent.
Ideally I would like this work on qualifying permanent errors to not happen any time soon and focus on making our "buggy car" behavior as solid and clear as possible.
RIght now we kill the entire pipeline and restart it with an exponential backoff (power of 2) as the number of retry increases.
The backoff plateaus at 10mn and it never ends. It is up to humans to fix the problem.
Should we stop retrying after a while?
Should we increase the max plateau?
@kstaken : Should that be configurable? Should we stop after a few tries? Do you think this approach is acceptable, or do you think this is unacceptable in a production setup?

I created this ticket before I learned that the splits were in Staged status vs Published status. Knowing this now I don't see the retry it self as necessarily a problem since this was ultimately a transient failure and retrying would be the correct thing in that scenario. I might question the retry occurring under a new split_id but it may not be a major issue beyond creating noise in the splits table. Continually retrying for this scenario is also good since it was a recoverable failure.
Leaving the splits in Staged though does still seem to be a problem to me. I would have expected a state of Failed or something like FailedRetrying ideally with an associated message providing more detail.
Looking at the current states it looks like you have Staged, Published and MarkedForDeletion. If I think about this process from an operational tracking perspective more states are really required.
For instance I'd see the lifecycle more like this (I'm not necessarily saying these are the right states):
Preparing -> Building -> Finalizing -> Staging -> Staged -> Publishing -> Published
Any step where there is a clear process and the potential for latency should have a state so that you can clearly track the lifecycle.
NOTE: In our systems we also track the lifecycle granularly with start and end times for each phase so that we can visualize the behavior through time and monitor how the system is behaving.
In addition you then have a couple categories for transient conditions and terminal states.
Transient Exception Conditions (ideally with a message):
FailureRetrying
Waiting
Terminal States (again ideally with a message):
Failed
Expired
MarkedForDeletion
Deleted <-- this would indicate the split data has been removed but the split state is still tracked for lifecycle purposes.
If you can't do the message then it would require specific failure states for each phase that could fail but I think it's better to keep a smaller set of terminal states.
Anyway, just some thoughts.


printer id must be an integer specified as (request body).printer.id or (request body).printer or (request body).printerId

Laravel Printing Version
v3
Laravel Version
v9
Bug description
Hi im having this issue when using laravel-printing
my code is here :
public function print(){
$print = Printing::newPrintTask()
->printer(765766676)
->file('file.pdf')
->send();
    return $print;
}

the response of this request  is : printer id must be an integer specified as (request body).printer.id or (request body).printer or (request body).printerId
Thank you
Steps to reproduce
No response
Relevant log output
No response

Are you using PrintNode as the print driver?


找不到打分文件./data/movie/ratings_final.txt

OSError: ../data/movie/ratings_final.txt not found.
File "D:\projects\KGCN\src\data_loader.py", line 21, in load_rating
rating_np = np.loadtxt(rating_file + '.txt', dtype=np.int64)

same issue

Hi, please see README - running the code - movie for details. Thanks.


Top Nav: Point Archives Search Links to FSS

We're ready to replace the old Board Archives Search with our new Federated Search System! In the top navigation, please replace the the current URL on the link with this one: https://mtasearch01.metro.net:23352/apps/boardarchives/

@camachoo Do you also want to re-add the link to Board Box Search, using this link: https://mtasearch01.metro.net:23352/apps/boardarchives/?tab=boardbox or do you view that direct link as having use just internally?

@shrayshray Deployed to the live site


Cell URI to notebook URI conversion fails if path only contains filename

Environment data

Language Server version: 2024.1.103
OS and version: Windows 11

Repro Steps

Put a breakpoint in PylanceAsyncServer.getWorkspaceForFile where we call getNotebookUriFromCell
Create an untitled notebook
Breakpoint gets hit
Step over getNotebookUriFromCell call and check resulting URI
Step over getNotebookData call and check result.

Expected behavior
getNotebookUriFromCell returns the notebook's URI. getNotebookData returns the notebook data.
Actual behavior
getNotebookUriFromCell returns an incorrect URI with the filename included twice:
untitled:Untitled-1.ipynb.py/Untitled-1.ipynb
getNotebookData returns undefined.
I'm unsure what user impact this has in VS Code. It was causing problems in other clients.

This issue has been fixed in prerelease version 2024.1.104, which we've just released. You can find the changelog here: CHANGELOG.md


Proposal: output stack trace if debugging is enabled

In other words, it should be possible for a user at runtime to provide a --debug flag to a binary and then the binary should be able to easily make any error output a stack trace.
The nicest way of doing this (IMO) would be to have something like logrus.LogLevel (except it would be something like errors.EmitStack(bool) that would determine whether "%s" and similar format strings will output a stack trace.
Currently an application writer has to make a decision whether they will make their program debuggable (use %+v everywhere) or helpful to users (use %s everywhere).

#96 is my implementation of this.

Thank you for your suggestion. As presented I'm not keen on adding this
because it overides the choice of code that prints the error.
Can you tell me more about your requirements, why do you need to add this
option, how are errors not being presented in a way that isnt useful for
you.
There's also th issue of this being a global flag, which is hard for
everyone to test.
On Fri, 16 Dec 2016, 20:31 Aleksa Sarai<EMAIL_ADDRESS>wrote:

#96 https://github.com/pkg/errors/issues/96 is my implementation of
this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pkg/errors/issues/96#issuecomment-267553344, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcAzX0phz4a_lG1b3LqB5gKOexR4s2ks5rIlp7gaJpZM4LO74v
.

Thank you for your suggestion. As presented I'm not keen on adding this
because it overides the choice of code that prints the error.
Can you tell me more about your requirements, why do you need to add this
option, how are errors not being presented in a way that isnt useful for
you.

Let's say that I'm messing around with a program I've written, and I
want to figure out why I'm getting a particular error. I'm using
pkg/errors, so I know that the stack trace is stored in the error.
However, I don't want to have to modify the code and then recompile it
in order to figure out what the stack trace is (this is software which
has already been packaged and I've just downloaded the binary). The
program has a --debug flag but it only gives me log output that is not
very useful.
Unfortunately for the author (me), there is no easy way to make my
--debug flag also output the stack trace. I might have multiple CLI
endpoints or different logging endpoints that print the errors -- and I
want the stacktrace to be written to all of them.
logrus has logrus.LogLevel(...) which lets you set the global logging
level of the program. Why not include the same feature to pkg/errors?

There's also th issue of this being a global flag, which is hard for
everyone to test.

But good libraries shouldn't be printing errors to anywhere -- they
should just be wrapping and returning them. Plus, if they just want a
string output they can still use %s if you look at my patch1.
The main point of this is so that I can actually make it possible for
users of my program to provide me a stack trace of the issue, rather
than saying "hey, can you please modify line XYZ of SOURCE.go and then
recompile it, and then tell me what error you get now".
Also, I have added tests to my PR1. But are you saying that you think
that it would be hard for someone to check whether the debug flag is
set? How does logrus handle this -- maybe we can take a page from their
book.
--
Aleksa Sarai
Software Engineer (Containers)
SUSE Linux GmbH
https://www.cyphar.com/

@davecheney, I’m mostly thinking out loud here, and haven’t thought as far as an API yet, but I’m wondering if a cascading priority makes sense:

If the caller chooses to render the error with or without a stack trace explicitly, that is always honored.
If the caller uses default error rendering, but the error itself (based on options when the error was created) prefers to be rendered with or without a stack trace explicitly, that is how the error is rendered.
If neither the caller nor the error specify if they want a stack trace, a global default, (similar to #96 / #97) determines if the error renders a stack trace.

As I indicated above, these are just ideas I had reviewing old PRs. I’d be interested to hear your opinions.

Thank you for your comment. My position has not changed since my last comment.

Within umoci I've just decided to use %+v if debugging is enabled. This works for me since everything goes through a single CLI library, but maybe others want this. Closing.


Make Error on TACC Stampede

Hello leveldb devs,
I have encountered an error while trying to install leveldb on the TACC Stampede supercomputer (Linux OS) with a fresh download.  After using make, I get an error compiling util/env_posix.o:
g++ -I. -I./include -fno-builtin-memcmp -pthread -DOS_LINUX -DLEVELDB_PLATFORM_POSIX -O2 -DNDEBUG -fPIC -c util/env_posix.cc -o out-shared/util/env_posix.o
util/env_posix.cc: In function ‘intptr_t leveldb::::MaxOpenFiles()’:
util/env_posix.cc:593: error: ‘numeric_limits’ is not a member of ‘std’
util/env_posix.cc:593: error: expected primary-expression before ‘int’
util/env_posix.cc:593: error: expected ‘;’ before ‘int’
make: *** [out-shared/util/env_posix.o] Error 1
I looked, and it appears that some compilers (eg g++ on Linux) require using the header  when using std::numeric_limits:
http://stackoverflow.com/questions/4798936/numeric-limits-was-not-declared-in-this-scope-no-matching-function-for-call-t
I added #include  to the header of this file and it compiled successfully.  I would recommend adding this to util/env_posix.o for other people using Linux.
Best,
Brandon Groth

Thanks for reporting. Fixed in 95cd743


Added serial consistency config to be used for json api

What this PR does:
Added configuration for serial consistency
Checklist

[ ] Changes manually tested
[ ] Automated Tests added/updated
[ ] Documentation added/updated
[ ] CLA Signed: DataStax CLA

@maheshrajamani Failing unit tests?

@maheshrajamani OK I see, then we need our own validator for this..


questions for IPCC team

[ ] IPCC's guidance is that the understory may be excluded the understory if it constitutes a "minor" component. Are there quantitative definitions of "understory" and "minor" are not provided?
[ ] confirm this statement: "The discrepancy between the number of records sent and that posted to EFDB is primarily attributable to the time required for the IPCC to review the records, and it is not expected that many -- if any -- records will be rejected."
[ ] #45

I sent an email with these questions on 5/15.

All issues here are now tracked individually in #39 , so closing this.


scripts: set a default path to the yq binary

Use the path where install-yq.sh installs yq as the default path to the
yq binary in lib.sh.
Install yq in the default path if it doesn't exist.
fixes #429
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

/test


Update NPM package

The npm package version needs to be bumped to get the React 15.4.0 compat patch into the registry.

npm version has been updated to the latest version


Bug: IF NOT EXISTS not implemented for CREATE EXTERNAL DATABASE

Description

Note - we're looking to release after this gets patched

Hmm - on second glance, this appears to be working fine. I think I left out the name of the external database earlier, then thought the if not exists was what was broken, then figured out the real reason and didn't add that back. Closing for now; I'll add an issue to the docs repo to update the documentation here.


[SCB-1593] Use Netty native transport improve performance

Coverage decreased (-0.2%) to 80.419% when pulling 7ae7d8ef1f0b8a03ed3db551b8ca56137a6b91c6 on coolbeevip:SCB-1593 into 094d97387c19c2f5e5891021be4d80bb4e87d04d on apache:master.


Codechef September Lunchtime question

Hey there!, Thanks for submitting a PR to this repo
Please complete the following checklist for your PR to be approved. Mark the items by adding an x.
Example:  - [ ] Mark me as completed
To mark: - [x] Mark me as completed

[x] My Pull Request adheres to the Contribution guidelines.
[x] I have added readme.md and solution files in the appropriate folder.
[x] The solution I have given is my own and not plagiarized in any form.
[x] My solution passes all the testcases.
[x] I have properly indented and documented my solution using comments.

If any of the above is unmarked, please make the necessary changes and then mark them so that you're PR can be approved and merged.

I am participating in Hacktoberfest 2021. Please review the pull request and let me know if you'd like any changes.

Please add some comments explaining your logic.

Done with that, please review it.


Document-Based Research Does Not Work Out of the Box

Describe the bug
The document-based query needs to work more intuitively in Next.js-based app. If  DOC_PATH is not set, it should default to location ./my-docs, consistent with the default upload location if nothing is provided.
To Reproduce

if there is no DOC_PATH in the environment, the document-based query does not work
setting DOC_PATH in the API Variables UI didn't have an effect

Expected behavior

servers might not want to set DOC_PATH for having a consistent default behavior
users might want to use prompts rather than just queries
there should be  a fallback mechanism for retrieving nothing

You’ve tried it with the React based app?

You’ve tried it with the React based app?

Yes, not the static one

@ElishaKay can you take a look?
Thanks for raising this @yigit353 . If you try the pip package it should work for now until we get it resolved. @ElishaKay will follow up with questions/update tomorrow

Thanks for raising @yigit353
Some important edge cases here.
a) It sounds like some of these issues might be solved by:

setting DOC_PATH=./my-docs in the .env
updating anywhere in the code where os.getenv("DOC_PATH", "") to os.getenv("DOC_PATH", "./my-docs")

Would you like to create the PR for that, so we can carve your name deeper into the tree?
b) You wrote in the discord: "I can see the file uploaded to the local Docker containers file system. However, when I run 'My Documents' report generation, I get the following: 🤷 Failed to load any documents!"
And you shared these logs:
Empty string is because:
INFO:     [19:38:31] 📚 Getting relevant content based on query: Do a simple analysis...
INFO:     [19:38:31] 🤷 No content found for 'Do a simple analysis'...

We need to investigate: what's the difference between

🤷 Failed to load any documents
🤷 No content found for 'Do a simple analysis'

I'm guessing: "🤷 No content found for 'Do a simple analysis'" might be due to the fact that when a vector search is done on the phrase 'Do a simple analysis' it might not find vector results for that phrase, even if the document has been embedded successfully.
I've had similar cases where I needed to be very specific about my question related to documents, in order for the answer to be meaningful.
c) Once we understand the above 2, we'll add some meaningful popup message for the user on the frontend.
d) Regarding what you mentioned: setting DOC_PATH in the API Variables UI didn't have an effect, what error are you seeing in the Network tab?
Perhaps we need to update the nginx file to also support the setConfig API route.
P.S. @assafelovic, we made some changes to the docs & don't see them deployed?
e) If we're already meditating on this, @assafelovic, I saw in an email that Langgraph Cloud was it out of beta, so we may want to add support for saving embedded documents within Postgres - that way the Multi_Agents flow triggered on Langgraph Cloud can fetch documents that are uploaded to localhost:8000
f) @yigit353 let's do a separate discussion for users might want to use prompts rather than just queries - I like the direction - happy to hear your vision around this

d) @ElishaKay In websocket_manager.py:
async def run_agent(task, report_type, report_source, source_urls, tone: Tone, websocket, headers=None):
    """Run the agent."""
    # measure time
    start_time = datetime.datetime.now()
    # add customized JSON config file path here
    config_path = ""

Here, it looks for a customized config path that is hardcoded to become empty. Thus, it cannot save ApiVariables from the Modal and thus self.cfg always becomes None. The retrieval of ApiVariables is basically only dependent on the environment variables; Modal serves no purpose in this setting.
Changing setConfig in the nginx config had no effect when I tried it on the server.

@ElishaKay I also added this PR https://github.com/assafelovic/gpt-researcher/pull/863
However, possibly Modal having no effect on ApiVariables deserves its own issue.


add win32 wheel

tested as https://github.com/cielavenir/zipfile-deflate64/actions/runs/2500680883
cibuildwheel is a little bit costly, but this one should be suitable.

Now added arm64 wheel


kitty: make vm images explicit dependencies

This removes the "make images" build step and allows make to download the images automatically when required.

I'll update the docs site now.


Greater Customisation

First of all, thanks for developing and maintaining this library. It is great.
Currently, there are 2 limits to the library for my use-case:

Fixation on IP

I would be nice if the function 'getIPFromRequest' was renamed 'getKeyFromRequest', defaulted to 'getIPFromRequest', but could be customisable via a constructor option.
For example, in a route that requires a user to be logged in, a requester's user ID, rather than IP might be a more reliable metric to identify him.

Separation Between Incrementer and Verifier

Would be great if, optionally, the routes to increment the counter and verify the counter for a brute force attack could be separated.
This would allow you to do something like this:

Check for brute force on login attempt
If login failed, then increment access count

Btw, if this is something you'd consider desirable for the project, I could implement feature #1 pretty quickly and do a PR for it if needed.

If you look at https://github.com/AdamPflug/express-brute#a-more-complex-example there is a way to specify a key in addition to IP - however it does keep a separate count for each IP that user is signed in from. My thought process here was I would use it to prevent many login requests for the same user account, without enabling a DOS attack where someone could try to log in multiple times for the same account with a bad password to lock someone else out of the system.
If that doesn't go far enough maybe it does make sense to include an option for getMiddleware that allows you to omit the user's IP from the mix. Thoughts?
Could you explain a little more about the use case for splitting incrementing and preventing? It's an interesting concept. Right now I'm relying just on .reset() to set the counter back to 0 after a successful login. I couldn't think of a reason you would want it either not to be reset or to be reset to a non-0  number, but that doesn't mean there isn't one

Adam

Thanks for a very enlightening reply. Yes, reset would do nicely for problem number 2.
For problem number 1, getMiddleware(...), almost does what I need, except for the IP bit which I really don't want in certain cases.
Here are 2 scenarios:

Fred is on his account merrily typing away when he has to leave in a hurry. His nefarious roomate, George, sees that Fred is logged in his account and want to brute force the profile update feature (which does require a valid password input to implement any profile changes) to try update Fred's password to a new one.

George doesn't need to receive the reply to those requests (he just needs one of them to have the right input password so that the password for Fred's account changes to the one he picked), so he has a merry time just spoofing IPs for each request.
Here's another more admittedly common case:

Paying users (say, 5$ a month) have a relatively expensive operation they can perform on the server.

Normally, a regular user might perform this operation at most once every minute, but a nefarious user decides to go galore with it and bring the server to its knees.
Again, he doesn't need to get the replies, so he can just spoof IPs.
But, if I can just nail him with his user account (without the IP bit), then I can stop the attack dead in its track after, say, 5 requests and force him to fork another 5$ per additional 5 requests to carry on the attack :).
Granted, it would be of limited use against someone with deep pockets, but it would be enough to deter your basement variety troublemaker.

I think you're right - if an attacker were to infect a router/switch that was reliably between your server and any spoofed source IPs then theoretically they could bypass the IP-based protections. That's a pretty high bar for an attacker to meet, but I suppose a state actor could do it. In that instance ignoring IP would technically have a better chance of stopping the attack - although you also probably want special business logic to handle that case because it indicates a larger problem. A malicious man in the middle for all your traffic is a major problem for lots of other reasons :)
If you want to implement it though, I would love a PR to add the option to ignore IPs to getMiddleware when a custom key function is provided.

Admittedly, I'm not sure how difficult performing a man-in-the-middle attack is in terms of logistics as I've never been remotely inclined to do something like this myself. We do seem to hear a lot about it in literature, but you are most likely right that getting attacked by someone this motivated would only be a worry for someone who has something extremely valuable to protect (beyond what small companies tend to have).
Still, ignoring the IP for a given route is not an expensive measure to take, so why not?
It would be my pleasure to do a PR for it in the upcoming days.

Most of the man in the middle attacks you hear about happen very close to the end user (for example a malicious Wifi access point, ARP poisoning on open wifi, etc). It gets significantly harder to do the closer you get to the server because at that point one of the major ISPs (or your hosting provider) needs to be complicit in the attack (although not necessarily the attacker - for example if the NSA issued them a national security letter compelling them to do so). Unless they were directed to do so by the government you would probably have a legal case against them so it's not something they're likely to do.
Anyway, I'm going to close the issue for now - if you do end up creating a PR for this just reference this ticket in it so the conversation doesn't get lost.

My apologies for the delay. I was working on something else and it is just taking longer than expected because of a little detail I originally missed.
I'm at a good point to take a break so I might as well take care of this before resuming what I was doing.

It's done. I took the liberty of adding a mock callback in one of the tests to prevent it from crashing.


embed the video in website index page

https://youtu.be/BEsKgEGRjYU
please embed this video in index.html below mental problems

I can do that.
Can you please assign me that?

I 've worked on this type of project before too. Can you assign this issue to me?

Hello @akshitagupta15june , can I work on this issue please?

Hello @akshitagupta15june ma'am, can I please work on this

i would like to work on this issue! @akshitagupta15june

Hey , It would be great if you could assign me this issue as I am familiar with the technology used. I am contributing under GSSoC'23.
It would be great to hear from you soon!

completed


fix bug for wrong easeagent.jar path & simplfy configuration file

Why did you remove tracing png file?


[BUG] No disk shows up when plugging a new disk to add to host

Describe the bug
After plugging a new disk to a host machine, the "Add Disk" action in "Host" page > "Disks" panel always shows "Sorry, no matching options.", but actually there are valid blockdevice CRs.
To Reproduce
Steps to reproduce the behavior:

Install v0.3.0-preview1 harvester
Plug a disk onto the host device
Head to the dashboard "Hosts" > "Disks". Then press "Add Disk" button

Expected behavior

The extra disks shows up in dropdown and can be added and provisioned to the host machine.

Environment:

Harvester ISO version: v0.3.0-preview1
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): kvm

My intuition is that this is an UI issue but not 100% sure.

Verified using the master-48c97ea7-head version - pass

All disks and partitions are displayed correct on the Hosts => Edit Config => Disks tab

Validate available disks on the node are matched with the UI (should exclude the loop and longhorn block devices)

@weihanglo we don't provide partitioning function and didn't allowed user to format raw disk as #1285 and #1240 's result,
I think it is acceptable that new disk should not appeared in the UI until it has been partitioned.
(Raw disk is not allowed to be mounted in Linux, you need create at least one partition for it, so I think it should be the same for longhorn)

(Raw disk is not allowed to be mounted in Linux, you need create at least one partition for it, so I think it should be the same for longhorn)
That's correct. However, Harvester provides users to create a single partition and format raw disk simultaneously in one-click. I think showing raw disk is required for this feature.

BTW, this issue should be fine.


Font Theme

Reopened again
Hi
So I am facing really annoying problem with trying to read the font name of the paragraph.
First when choosing a normal font "Times New Roman" everything seems to work correctly.
Second, the problem occurs when trying to choose a Font that has a theme for example "Times New Roman (Headings)" or (Body)
it returns every time None
I am checking the runs
I am also checking the inheritance of styles but also Nothing
what I am trying to do is to check a document for a specific style one of these things is checking the font name
please don't close the issue until I am done Thank you
def __check_inherited_style(self, style, key: str, value):
    """
    Check if the style is inherited from the base style Recursively and return the value of the key
    """
    if style is None:
        return None

    result = getattr(style.font, key)
    if key == "color" and result is not None:
        result = result.rgb

    if result is None:
        return self.__check_inherited_style(style.base_style, key, value)

    return result

def __check_font(
    self,
    expected_font: dict,
    run: docx.text.run.Run,
    paragraph: docx.text.paragraph.Paragraph,
):
    """Check the font of the run with the expected font"""
    if run.font is None:
        return

    for key, value in expected_font.items():
        result = getattr(run.font, key)

        if key == "color":
            result = result.rgb

        if result is None:
            inherit = self.__check_inherited_style(paragraph.style, key, value)
            if inherit is None:
                inherit = False

            if inherit != value:
                self.errors.append(
                    f"Expected font to be '{key}' of value '{value}' but found '{inherit}' "
                    f"in '{paragraph.text}'")

        elif result != value:
            self.errors.append(
                f"Expected font to be '{key}' of value '{value}' but found '{result}' "
                f"in '{paragraph.text}'")`

A couple things. Character formatting is governed by character-styles, not paragraph-styles directly. A paragraph-style can have an associated character-style and those can also be inherited (have a base-style) so you probably want to check that way.
Also, I would definitely have a look directly at the XML and see if I could figure out how Word was implementing those "special" styles. You could look at the document.xml to see what the style reference was and then the styles.xml to see where those attributes are actually defined.
Once you know how it's implemented and what these UI indications actually mean then the implementation should be clear.

testcover.zip

I hope you actually make a notice for other people
Thank you sm for your help.


[Bug] Null unit test inputs raise error for non-nullable columns

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
When using Clickhouse it is common practice to not allows columns to be nullable so as to improve the efficiency of analytic-type queries. However, this is not compatible with how unit tests in DBT handle missing values and so results in an error such as the following:
DB::Exception: Cannot convert NULL to a non-nullable type: In scope SELECT CAST(1, 'UInt8') AS id, CAST(NULL, 'String') AS foo.

Expected Behavior
If a column is not-nullable and a value not provided in the test input, the values used should be the appropriate non-null default. For example, Clickhouse would typically use 0 instead of NULL for a non-nullable numeric column.
Steps To Reproduce
Consider the following example, based on the output of the dbt init command:
-- my_first_dbt_model.sql
{{ config(materialized='table') }}

select 1 as id, 'a' AS foo
union all
select 2 as id, 'b' AS foo

-- my_second_dbt_model.sql
select *
from {{ ref('my_first_dbt_model') }}
where id = 1

-- schema.yml
version: 2

models:
  - name: my_first_dbt_model
    description: "A starter dbt model"
    columns:
      - name: id
        data_type: uint64
      - name: foo
        data_type: string
  - name: my_second_dbt_model
    description: "A starter dbt model"
    columns:
      - name: id
        data_type: uint64
      - name: foo
        data_type: string
unit_tests:
  - name: test_not_null
    model: my_second_dbt_model
    given:
      - input: ref('my_first_dbt_model')
        rows:
          - {id: 1}
          - {id: 2}
    expect:
      rows:
        - {id: 1}

Values for the column foo are omitted in the tests, with only the id values provided. Running dbt build or dbt test results in the error.
Relevant log output
>>> poetry run dbt build
11:10:02  Running with dbt=1.8.3
11:10:03  Registered adapter: clickhouse=1.8.0
11:10:03  Found 2 models, 443 macros, 1 unit test
11:10:03
11:10:03  Concurrency: 1 threads (target='test')
11:10:03
11:10:03  1 of 3 START sql table model `dap_test`.`my_first_dbt_model` ................... [RUN]
11:10:03  1 of 3 OK created sql table model `dap_test`.`my_first_dbt_model` .............. [OK in 0.07s]
11:10:03  2 of 3 START unit_test my_second_dbt_model::test_not_null ...................... [RUN]
11:10:03  2 of 3 ERROR my_second_dbt_model::test_not_null ................................ [ERROR in 0.04s]
11:10:03  3 of 3 SKIP relation dap_test.my_second_dbt_model .............................. [SKIP]
11:10:03
11:10:03  Finished running 1 table model, 1 unit test, 1 view model in 0 hours 0 minutes and 0.27 seconds (0.27s).
11:10:03
11:10:03  Completed with 1 error and 0 warnings:
11:10:03
11:10:03    Runtime Error in unit_test test_not_null (models/example/schema.yml)
  An error occurred during execution of unit test 'test_not_null'. There may be an error in the unit test definition: check the data types.
   Database Error
    Code: 70.
    DB::Exception: Cannot convert NULL to a non-nullable type: In scope SELECT CAST(1, 'UInt8') AS id, CAST(NULL, 'String') AS foo. Stack trace:

    0. Poco::Exception::Exception(String const&, int) @ 0x000000010ef61640
    1. DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000010906f044
    2. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x0000000104cb991c
    3. DB::Exception::Exception<>(int, FormatStringHelperImpl<>) @ 0x0000000104cc5178
    4. DB::(anonymous namespace)::FunctionCast::prepareUnpackDictionaries(std::shared_ptr<DB::IDataType const> const&, std::shared_ptr<DB::IDataType const> const&) const @ 0x000000010b9cb094
    5. DB::(anonymous namespace)::FunctionCast::prepare(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&) const @ 0x000000010b9c89e8
    6. DB::QueryAnalyzer::resolveFunction(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&) @ 0x000000010c68e090
    7. DB::QueryAnalyzer::resolveExpressionNode(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, bool, bool, bool) @ 0x000000010c679854
    8. DB::QueryAnalyzer::resolveExpressionNodeList(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, bool, bool) @ 0x000000010c678dd8
    9. DB::QueryAnalyzer::resolveProjectionExpressionNodeList(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&) @ 0x000000010c698918
    10. DB::QueryAnalyzer::resolveQuery(std::shared_ptr<DB::IQueryTreeNode> const&, DB::IdentifierResolveScope&) @ 0x000000010c674a04
    11. DB::QueryAnalyzer::resolveUnion(std::shared_ptr<DB::IQueryTreeNode> const&, DB::IdentifierResolveScope&) @ 0x000000010c676848
    12. DB::QueryAnalyzer::resolveExpressionNode(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, bool, bool, bool) @ 0x000000010c679ae4
    13. DB::QueryAnalyzer::resolveQueryJoinTreeNode(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, DB::QueryExpressionsAliasVisitor&) @ 0x000000010c69a694
    14. DB::QueryAnalyzer::resolveQuery(std::shared_ptr<DB::IQueryTreeNode> const&, DB::IdentifierResolveScope&) @ 0x000000010c6749c0
    15. DB::QueryAnalyzer::resolveExpressionNode(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, bool, bool, bool) @ 0x000000010c679764
    16. DB::QueryAnalyzer::resolveQueryJoinTreeNode(std::shared_ptr<DB::IQueryTreeNode>&, DB::IdentifierResolveScope&, DB::QueryExpressionsAliasVisitor&) @ 0x000000010c69a694
    17. DB::QueryAnalyzer::resolveQuery(std::shared_ptr<DB::IQueryTreeNode> const&, DB::IdentifierResolveScope&) @ 0x000000010c6749c0
    18. DB::QueryAnalyzer::resolve(std::shared_ptr<DB::IQueryTreeNode>&, std::shared_ptr<DB::IQueryTreeNode> const&, std::shared_ptr<DB::Context const>) @ 0x000000010c673f88
    19. DB::QueryAnalysisPass::run(std::shared_ptr<DB::IQueryTreeNode>&, std::shared_ptr<DB::Context const>) @ 0x000000010c6738a0
    20. DB::QueryTreePassManager::run(std::shared_ptr<DB::IQueryTreeNode>) @ 0x000000010c5f47fc
    21. DB::(anonymous namespace)::buildQueryTreeAndRunPasses(std::shared_ptr<DB::IAST> const&, DB::SelectQueryOptions const&, std::shared_ptr<DB::Context const> const&, std::shared_ptr<DB::IStorage> const&) @ 0x000000010cd88d40
    22. DB::InterpreterSelectQueryAnalyzer::InterpreterSelectQueryAnalyzer(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::Context const> const&, DB::SelectQueryOptions const&, std::vector<String, std::allocator<String>> const&) @ 0x000000010cd86e58
    23. DB::InterpreterSelectQueryAnalyzer::getSampleBlock(std::shared_ptr<DB::IAST> const&, std::shared_ptr<DB::Context const> const&, DB::SelectQueryOptions const&) @ 0x000000010cd89160
    24. DB::InterpreterCreateQuery::getTablePropertiesAndNormalizeCreateQuery(DB::ASTCreateQuery&, DB::LoadingStrictnessLevel) const @ 0x000000010ccedbec
    25. DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) @ 0x000000010ccf2adc
    26. DB::InterpreterCreateQuery::execute() @ 0x000000010ccfc658
    27. DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*) @ 0x000000010d0691b0
    28. DB::executeQuery(String const&, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum) @ 0x000000010d065fd4
    29. DB::TCPHandler::runImpl() @ 0x000000010dd52f00
    30. DB::TCPHandler::run() @ 0x000000010dd68268
    31. Poco::Net::TCPServerConnection::start() @ 0x000000010f012378
11:10:03
11:10:03  Done. PASS=1 WARN=0 ERROR=1 SKIP=1 TOTAL=3

Environment
- OS: macOS
- Python: 3.12.3
- dbt: 1.8.3
- dbt-clickhouse: 1.8.0

Which database adapter are you using with dbt?
other (mention it in "Additional Context")
Additional Context
We are using Clickhouse.
I previously brought this up in the Slack community and was directed here to raise an issue.

Thanks for reaching out @smoothml !
It sounds to me like the root cause is that dbt-clickhouse doesn't yet support dbt unit tests rather than this being a bug in dbt-core. So I'm going to close this issue in favor of you opening an issue in dbt-clickhouse instead.
Specifically, it looks like dbt-clickhouse will need to override this line within get_empty_schema_sql:
      {{ cast('null', col['data_type']) }} as {{ col_name }}{{ ", " if not loop.last }}

Thanks for getting back to me so quickly @dbeatty10. As you recommended, I have raised the issue with dbt-clickhouse.

Hello @dbeatty10 , I think the problem is rather in this line, where the unit test boldly assumes that null could be an appropriate value. That piece is also hard to override by an adapter as it is not adapter specific.
One might tamper with safe_cast macro, but if might interfere with a different context.

Thanks for identifying the relevant portion of the code @steffen030 ! 🤩
My belief is that null is the best value here for a couple reasons:

Most databases support mandatory Feature ID E131
"Null value support (nulls in lieu of values)" from ANSI SQL by default (rather than requiring an opt-in)
It's the one value that is valid across most data types

It looks like the crux of the issue is that ClickHouse has some restrictions / differences in behavior as it relates to E131 that is preventing null from being used in this way. That will naturally have some consequences for the adapter implementation for https://github.com/ClickHouse/dbt-clickhouse/issues/315, possibly including relatively complicated macro overrides.
If it turns out there is a macro abstraction that dbt should consider, we'd welcome a feature request.


Allow cmap argument override in ramanpsy.plot.image kwargs

Hello and first thx for this library, it looks really nice and we are considering building on it in our company :)
This PR is a small one: use case is if we want to do something like:
ax = ramanspy.plot.image(
    [data], cmap="inferno"
)

at the moment it raises an error:
TypeError: matplotlib.axes._axes.Axes.imshow() got multiple values for keyword argument 'cmap'

Since cmap argument is defined from color in the plot function.
This PR changes that so it takes cmap from plt_kwargs if present, if not it falls back to previous behaviour (building cmap from color)
Let me know what you think :)

Hello, thx for the review, good points, should have thought about the doc.
Could not use your simplification because the cmap variable was needed later in the call of the ax.figure.colorbar function.
So I changed the implementation a tiny bit.
The cmap argument is now declared as an argument of the function, defaults to None, in my opinion it makes the code a bit cleaner after.
Added the declaration in the docstring (should update the doc if I followed properly)
Added same modifications to the volume function.
Let me know what you think

Hey @nihauc12 :)
We have not yet merged your changes because: 1) we wanted to finish setting up how we will be managing contributions and extensions (see our new contribution guide for more information); 2) we are still finalising the core infrastructure of the package.
We will start incorporating your changes and other extensions as soon as possible!
Thank you for your patience! :)

Hi @nihauc12
First and foremost, we sincerely apologise for the delay in getting back to you. We truly appreciate your patience and the effort you’ve put into improving RamanSPy.
We have made a few slight modifications to your original idea to better align with the overall structure and goals of the project. Specifically, we have made the cmap argument the leading one, as we anticipate that this will be the preferred approach for the majority of users when utilizing these two plotting functions. The cmap argument will only be overridden if a color argument is explicitly provided. We believe this adjustment will enhance the overall usability and flexibility of these functions.
We have started integrating these changes into the cmap_override branch, which we are currently testing. Please feel free to review the changes we have implemented if you are interested. If everything looks good, we plan to merge this into the v0.2.11 branch, which will be included in our next release.
Again, thank you so much for your valuable contribution.


Case normalization for Projectile

I recently changed the casing of a bunch of my parent directories. As a result, these days I have a bunch of duplicate Projectile projects with different casings, despite the fact that macOS uses a case-insensitive filesystem. These should be detected and corrected automatically.

I no longer use macOS and nobody else has complained about this, so closing.


FOUNDATIONS: Hande foreign key exception for add method of ReviewService

The Ask
This only requires two commits
ShouldThrowForeignKeyConcurrencyExceptionOnAddIfForeignKeyErrorOccursAndLogItAsync -> FAIL
ShouldThrowForeignKeyConcurrencyExceptionOnAddIfForeignKeyErrorOccursAndLogItAsync -> PASS

#188 should be closed to start this and note that commits mentioned above are just examples find proper name for foreign key conflict exception. I suggest looking at Tarteeb project for reference.

Olim

@devdoston Otabek sizlarga bu


prisma-engines: 4.4.0 -> 4.5.0

Description of changes
Changelog: https://github.com/prisma/prisma/releases/tag/4.5.0
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 196629 run on x86_64-linux 1

1 package built:

prisma-engines

Thank you!


Hide password

can u hide password when the player digit it?
can you hide the password at least when you type in the login?

No this requires a client modification.


Adding devel to CI, fix #161, fix #149

I am adding both stable (that will become 2.x soon) and devel (which is candidate for 2.x). Also update versions of cache and setup-nim-action.
Done to check if recent toml fix makes nimib works in 2.0rc
We could also decide to expand the test matrix to multiple os.
fix #161 and #149

ok, now we have failure only in devel

It seems to be a regression of ORC.

macro getCodeAsInSource*(source: string, command: static string, body: untyped): string =
  ## Returns string for the code in body from source.
  # substitute for `toStr` in blocks.nim
  let startPos = startPos(body)
  let filename = startPos.filename.newLit
  let endPos = finishPos(body)
  let endFilename = endPos.filename.newLit

  result = quote do:
    if `filename` notin nb.sourceFiles:
      nb.sourceFiles[`filename`] = readFile(`filename`)

    doAssert `endFilename` == `filename`, """
    Code from two different files were found in the same nbCode!
    If you want to mix code from different files in nbCode, use -d:nimibCodeFromAst instead.
    If you are not mixing code from different files, please open an issue on nimib's Github with a minimal reproducible example."""

    getCodeBlock(nb.sourceFiles[`filename`], `command`, `startPos`, `endPos`)

It seems that in nimib/sources, the filename isn't semchecked properly, since it doesn't have a type at codegen phase.

Isn't this just a bug in the compiler and not a problem on our side?

Yeah, It's a weird compiler bug, though. I don't have a solution or a workaround.

Ok, that's problematic 🤔 because we do need the filename and it must come from the macro. I'll have a look in the coming days and see if I can find an alternative way 👍

You might report the bug to Nim if you happen to find a reduced case.

I'll give it a try 👍

I tried using nimib 0.3.0 and while it compiles it seems to have other problems with orc:
Traceback (most recent call last)
/home/hugo/.nimble/pkgs/nimib-0.3.0/nimib.nim(43) x_nim2
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/pure/os.nim(234) /
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/pure/os.nim(175) joinPath
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/pure/os.nim(143) joinPathImpl
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/pure/pathnorm.nim(98) addNormalizePath
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system.nim(3071) substr
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(908) alloc0
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(905) alloc
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(735) rawAlloc
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)

So even if we manage to solve this specific issue I fear we have a few other orc bugs as well that isn't related to macros :upside_down_face:

But for the macro, it seems like it is the startPos and endPos that it doesn't like. The filename works totally fine on its own.

It seems to work if we create a literal of the Pos objects and pass them instead:
let startPosLit = startPos.newLit
let endPosLit = endPos.newLit

Then the question is whether the code without converting to a literal should work or not.

@pietroppeter This is the new getCodeAsInSource:
macro getCodeAsInSource*(source: string, command: static string, body: untyped): string =
  ## Returns string for the code in body from source.
  # substitute for `toStr` in blocks.nim
  let startPos = startPos(body)
  let filename = startPos.filename.newLit
  let endPos = finishPos(body)
  let endFilename = endPos.filename.newLit

  let endPosLit = endPos.newLit
  let startPosLit = startPos.newLit

  result = quote do:
    if `filename` notin nb.sourceFiles:
      nb.sourceFiles[`filename`] = readFile(`filename`)

    doAssert `endFilename` == `filename`, """
    Code from two different files were found in the same nbCode!
    If you want to mix code from different files in nbCode, use -d:nimibCodeFromAst instead.
    If you are not mixing code from different files, please open an issue on nimib's Github with a minimal reproducible example."""

    getCodeBlock(nb.sourceFiles[`filename`], `command`, `startPosLit`, `endPosLit`)

Now I'm getting the same runtime error as I got in nimib 0.3.0 though...

Issue for macro opened: https://github.com/nim-lang/Nim/issues/21326

I'm not able to wrap my head around the runtime error :disappointed: This reproduces it locally for me (I have installed #head of both toml_serialization and serialization):
import os
import "$nim/compiler/pathutils"

import nimib, nimib/[options, config]

var nb: NbDoc
nb.initDir = getCurrentDir().AbsoluteDir
loadOptions nb
loadCfg nb

let thisFile = "/home/hugo/code/nim/nimib/x_pathutils.nim".AbsoluteFile

echo thisFile
echo thisFile.splitFile
echo thisFile.splitFile.dir
echo thisFile.splitFile.dir.string / "a"

This gives this output:
[nimib] config file found: /home/hugo/code/nim/nimib/nimib.toml
/home/hugo/code/nim/nimib/x_pathutils.nim
(dir: /home/hugo/code/nim/nimib, name: "(dir: \x00\x00\x00ls", ext: ".nim")
/home/hugo/code/nim/nimib
Traceback (most recent call last)
/home/hugo/code/nim/nimib/x_pathutils.nim(16) x_pathutils
/home/hugo/.choosenim/toolchains/nim-1.6.10/compiler/pathutils.nim(30) splitFile
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/pure/os.nim(689) splitFile
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system.nim(3071) substr
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(908) alloc0
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(905) alloc
/home/hugo/.choosenim/toolchains/nim-1.6.10/lib/system/alloc.nim(735) rawAlloc
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)
Error: execution of an external program failed: '/home/hugo/.cache/nim/x_pathutils_d/x_pathutils_7DB931EC51DD8FF47DEDE3914D845AF3C1979994 '

And we can note several things. First, the name field of the splitFile looks really weird, but when printed on its own it looks ok. Second thing is that we are loading a nimib.toml file. If I remove it (or remove loadOptions or loadCfg) the program runs just fine. How could the toml file possibly affect the variable thisFile which has nothing to do with it?!?!
I have no clue what's going on and what to blame tbh. Is it toml_serialization with yet another orc bug or a bug in the compiler which just happens to show up when using toml_serialization for a totally different part of the program?

This is getting really weird, did not have too much time to look into this myself and not sure how to help at the moment!

I think anyway you did make a few good steps toward resolution, thanks for that! Last example with toml vs compiler bug I guess it could be nice to have it further simplified but it does not seem to be easy.

It's definitely a toml problem, managed to reduce it to this:
import toml_serialization

type NbConfig* = object
  srcDir*, homeDir*: string

let f = readFile("nimib.toml")

let t = Toml.decode(f,  NbConfig, "nimib")

echo t # error here

# nimib.toml
[nimib]
srcDir = "docsrc"
homeDir = "docs"

So we are still blocked by toml_serialization. I'm honestly tempted to change toml library to https://github.com/NimParsers/parsetoml which I just tried and it works under orc. We don't need any fancy bells and whistles so using Status' libraries is overkill in my opinion. I might even go as far as to say that we should avoid using their libraries at all if we want our code to work on the latest versions of Nim in the future. Having to wait months for them to fix things is not viable... Then I prefer to use simpler libraries that don't try to do anything fancy with threads and pointers, they are less prone to break.

Ok then we should report the error on toml serialization, that at least is good news since there is not anything weirder. I agree we should consider changing library, apart the various dependencies we get from status (which I never liked), it makes it hard to fix it ourselves. The api of parseToml though at the moment does not support how we use it in nimib (also nimibook will be affected). The advantage of toml  serialization was that you could target parsing a specific section and parse using a type as specification, similar to what jsony does. It is possible we might be able to add that feature to parseToml, I will look into it.

parsetoml has an open issue on parsing directly into an object. And a workaround is going through json (toml → json → nim). And as for the section, we just have to create a wrapper proc which checks for a nimib section in the file before trying to read from the section. So there isn't really any features that are missing, we just have to restructure our code a bit.
Have opened an issue on toml_serialization: https://github.com/status-im/nim-toml-serialization/issues/62

Do you want to give it a try?

I don't have much free time this weekend but I could try it next weekend 👍

should we bump to 0.4 or a minor bump to 0.3.6 given the parsetoml change? I would go with 0.3.6 but fine with the other too, @HugoGranstrom?

and for the changelog I was thinking of bumping, releasing curating the automatic changelog and adding the results to changelog.md. We could actually change our workflow to "not update changelog during PRs" and only make sure that message in PR merge commit is a good for the automatic changelog provided by Github. I would still want for the moment to maintain the changelog.md (especially for the history part) by updating it after the release.

ready to merge and release if you are ok with bumping to 0.3.6 @HugoGranstrom

0.3.6 sounds good to me! 👌 Release it!
Changelog idea sounds good for the future 👍


semantic: incorrect semantic check for has same name LabeledStatement nested in LabeledStatement

Reproduction:
This bug was found in https://github.com/oxc-project/monitor-oxc/actions/runs/10482911458/job/29034791059
Minimal reproduction
oxc playground
TOP: {
  L: console.log(1);
  L: console.log(2);
};

The above code reports the following errors in the playground
❗ Identifier `L` has already been declared
❗ Identifier `L` has already been declared

Expected result
There are no semantic errors. I've run the code in Chrome devtools and that works well

We first need to change the diagnostic here
https://github.com/oxc-project/oxc/blob/a4247e935317c59811c0b1338eefc2d8294b60a1/crates/oxc_semantic/src/checker/javascript.rs#L647
And then figure out what's wrong in the label builder https://github.com/oxc-project/oxc/blob/main/crates/oxc_semantic/src/label.rs


Sample code

Could you provide some sample examples of how to swap for example
bluna to luna
https://docs.terraswap.io/docs/howto/swap/

figured it out

May I know too?


PopupMenuItems are drawn before the background is shown when there are a lot of items

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

/// Shows a popup menu with provided buttons and provided position.
Future<int?> showPopupMenu({
  required RelativeRect position,
  required List<String> items,
  required BuildContext ctx,
  List<IconData>? icons,
  bool useAppLocaleOnItems = false,
  double? fontSize,
  Color? backgroundColor,
}) {
  return showMenu(
    color: backgroundColor,
    constraints: const BoxConstraints(
      minWidth: (2.0 * 56.0),
      maxWidth: (6.0 * 56.0),
      maxHeight: 200.0,
    ),
    context: ctx,
    position: position,
    shape: const RoundedRectangleBorder(
      borderRadius: BorderRadius.all(Radius.circular(6.0)),
    ),
    items: [
      ...items
          .map(
            (item) => PopupMenuItem(
              padding: const EdgeInsets.symmetric(
                horizontal: 16.0,
                vertical: 8.0,
              ),
              value: items.indexWhere((element) => element == item),
              height: 34.0,
              child: Row(
                children: [
                  if (icons != null)
                    Padding(
                      padding: const EdgeInsets.only(
                        right: 8.0,
                        top: 2.0,
                      ),
                      child: Icon(
                        icons.elementAt(
                          items.indexWhere((element) => element == item),
                        ),
                        size: 16.0,
                        color: Colors.blue,
                      ),
                    ),
                  Expanded(
                    child: Text(
                      useAppLocaleOnItems ? item : item,
                      style: const TextStyle(
                        fontSize: 14.0,
                        color: Colors.white,
                      ),
                      textAlign: TextAlign.left,
                    ),
                  ),
                ],
              ),
            ),
          )
          .toList(),
    ],
  );
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Scaffold(
        backgroundColor: Colors.lightGreen,
        appBar: AppBar(
          title: const Text('Material App Bar'),
        ),
        body: Center(
          child: Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: const [
              JustToGetTheContext(),
              Padding(
                padding: EdgeInsets.only(left: 10.0),
                child: JustToGetTheContext2(),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class JustToGetTheContext extends StatelessWidget {
  const JustToGetTheContext({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTapDown: (details) {
        showPopupMenu(
          position: RelativeRect.fromRect(
            details.globalPosition & const Size(100.0, 100.0),
            Offset.zero & const Size(1280.0, 720.0),
          ),
          items: [
            '1970',
            '1971',
            '1972',
            '1973',
            '1974',
            '1975',
            '1976',
            '1977',
            '1978',
            '1979',
            '1980',
            '1981',
            '1982',
            '1983',
            '1984',
            '1985',
            '1986',
            '1987',
            '1988',
            '1989',
            '1990',
          ],
          ctx: context,
          backgroundColor: Colors.black.withOpacity(0.75),
        );
      },
      child: Container(
        color: Colors.redAccent,
        child: const Text('tap me with issue'),
      ),
    );
  }
}

class JustToGetTheContext2 extends StatelessWidget {
  const JustToGetTheContext2({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTapDown: (details) {
        showPopupMenu(
          position: RelativeRect.fromRect(
            details.globalPosition & const Size(100.0, 100.0),
            Offset.zero & const Size(1280.0, 720.0),
          ),
          items: [
            '1970',
            '1971',
            '1972',
          ],
          ctx: context,
          backgroundColor: Colors.black.withOpacity(0.75),
        );
      },
      child: Container(
        color: Colors.redAccent,
        child: const Text('tap me no issue'),
      ),
    );
  }
}

When there are a lot of items in showMenu, they are drawn before background menu appears and hidden after it disappears. (Or maybe it misses clipBehaviour, do not know how to describe this issue correctly).

Flutter version: 3.0.5, the latest from stable channel

Issue is reproducible on stable and master using the code sample provided.
In my testing, I noticed that this was because a maxHeight was set for the popup menu.

videos

unconstrained
constrained

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.5 21G72 darwin-arm, locale en-GB)
    • Flutter version 3.0.5 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (6 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (3 available)
    • M2007J20CG (mobile) • 5dd3be00 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)     • macos    • darwin-arm64   • macOS 12.5 21G72 darwin-arm
    • Chrome (web)        • chrome   • web-javascript • Google Chrome 104.0.5112.101

[!] HTTP Host Availability
    ✗ HTTP host "https://cocoapods.org/" is not reachable. Reason: An error occurred while checking the HTTP host: Connection reset by peer

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.2443, on macOS 12.5 21G72 darwin-arm, locale en-GB)
    • Flutter version 3.1.0-0.0.pre.2443 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e45031bf2a (7 hours ago), 2022-08-24 01:59:20 -0400
    • Engine revision 55c461f286
    • Dart version 2.19.0 (build 2.19.0-130.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (3 available)
    • M2007J20CG (mobile) • 5dd3be00 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)     • macos    • darwin-arm64   • macOS 12.5 21G72 darwin-arm
    • Chrome (web)        • chrome   • web-javascript • Google Chrome 104.0.5112.101

[!] HTTP Host Availability
    ✗ HTTP host "https://cocoapods.org/" is not reachable. Reason: An error occurred while checking the HTTP host: Connection reset by peer

! Doctor found issues in 1 category.

Issue is reproducible on stable and master using the code sample provided.
In my testing, I noticed that this was because a maxHeight was set for the popup menu.
videos
unconstrained	constrained
Screen.Recording.2022-08-24.at.13.36.43.mov
Screen.Recording.2022-08-24.at.13.36.18.mov
flutter doctor -v

I removed constraints but issue does not disappear, it's just less visible

You're right, I didn't notice until you pointed it out.
Retitling

Correct me if I am wrong but this only happens when you provide a custom constraint object right? From looking at the framework's code, this happens because it does not consider the maxHeight constraint when the items are laid out. I am working towards fixing this.

Hi @esarbanis, that was what I thought initially, but it turns out that is not the case. It is just less noticeable when custom constraints are not provided.

video(with slow animations turned on)
https://user-images.githubusercontent.com/88313112/186599478-3c86d4d5-042b-4a66-8d5f-1e2ae0750d7c.mov

Thanks @danagbemava-nc I totally missed that comment :roll_eyes:
Then it might have to do with the number of items and how their number contributes to the Interval of the animation. I find that after ~10 items this behavior occurs. @danagbemava-nc does this align with your observations?


fix typo

fix typo
What have you changed and why?
alter updateParisFile -> updatePairsFile
Related Issues
none

Thank you!


Update configure-persistent-volume-storage.md

吉比特看起来感觉非常奇怪，更改为GB

'吉比特' looks very strange, changed to GB

'吉比特' looks very strange, changed to GB

@RainorshineGW 请参考：https://github.com/k8smeetup/k8s-official-translation 完成 cla 协议的签署..

/hold for release v1.19.0

/hold cancel

pending there too long, no CLA, conflict not solved.
/close


Checking If Upgrade Was Successful

My organization just completed the upgrade to the Github native Dependabot. For us, this involved migrating our secrets over for access to our internal registries. On one of our repos, the migration seems to have worked because we can see the new dependabot opening new PRs but on the other repos, there hasn't been any action so far. Is there another way to verify if the upgrade has worked?

Hi @rossgeesman, sorry for the delay in replying.
The easiest way to verify if the upgrade has worked is to visit Insights > Dependency Graph page and then click on the Dependabot tab, the url is: https://github.com/$ORG/$REPO/network/updates
There you should see a list of the configured update configurations along with logs and errors from any recent runs.
If you have any further problems, please contact GitHub Support and we can have a further look into this for you.


Fix Android build by using root project values in build.gradle

The Android build fails on newer React Native and Android SDK versions because of build.gradle having older hardcoded values:

FAILURE: Build failed with an exception.

What went wrong:

Execution failed for task ':react-native-magic-move:verifyReleaseResources'.
java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
Output:  error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.
error: resource android:style/TextAppearance.Material.Widget.Button.Colored not found.
node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:7: error: resource android:attr/colorError not found.
node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:11: error: resource android:attr/colorError not found.
node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:15: error: style attribute 'android:attr/keyboardNavigationCluster' not found.

node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
node_modules/react-native-magic-move/android/build/intermediates/res/merged/release/values/values.xml:954: error: resource android:attr/fontStyle not found.

...

Using the values defined in the root project solves this issue.

Hi, thanks for this PR. Unfortunately this will break on older RN versions where the rootProject.ext props are not defined. Could you update the PR to a backwards compat solution using a safeExtGet function?
Like this: https://github.com/react-native-community/react-native-svg/blob/master/android/build.gradle

Good point, I updated the PR accordingly. And thanks for this great module!

Sweet!!
Will try to test and merge asap
cheers, Hein

Hey I released a test version of this as v0.6.0-rc0 on NPM. Can you give it a test by installing yarn add react-native-magic-move@next and see whether it works for you?
cheers, Hein

Works on my side! 👍

Sweet! Thanks for testing and the PR!

Released on NPM as v0.6.0 (https://www.npmjs.com/package/react-native-magic-move/v/0.6.0)


Cannot connect to Instaclustr

Hi,
I am having a hard time trying to connect to an Instaclustr instance when running the rake tasks. Here is the stacktrace:
Cql::AuthenticationError: Auth provider raised an error: can't convert nil into Integer
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cql-rb-2.0.5/lib/cql/client/client.rb:523:in `connect'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cql-rb-2.0.5/lib/cql/client.rb:134:in `connect'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:254:in `block in raw_client'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:253:in `raw_client'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:157:in `block in client'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:156:in `client'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:195:in `block in execute_with_consistency'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/request_logger.rb:30:in `log'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:193:in `execute_with_consistency'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/metal/keyspace.rb:177:in `execute'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/schema/keyspace.rb:75:in `create!'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/cequel-1.5.0/lib/cequel/record/tasks.rb:9:in `block (3 levels) in <top (required)>'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/ruby-debug-ide-0.6.1.beta2/lib/ruby-debug-ide.rb:88:in `debug_load'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/ruby-debug-ide-0.6.1.beta2/lib/ruby-debug-ide.rb:88:in `debug_program'
/<HOME>/.rvm/gems/ruby-2.3.0@gemset/gems/ruby-debug-ide-0.6.1.beta2/bin/rdebug-ide:130:in `<top (required)>'
-e:1:in `load'
-e:1:in `<main>'
Tasks: TOP => cequel:keyspace:create
(See full trace by running task with --trace)

cequel.yml
staging:
  hosts:
    - 'ip1'
    - 'ip2'
  port: 9042
  keyspace: project_staging
  username: 'user'
  password: 'password'
  max_retries: 3
  retry_delay: 0.5
  newrelic: true
  replication:
    class: NetworkTopologyStrategy
    replication_factor: 2
    datacenter1: AWS_VPC_US_WEST_2

Can any one help me?

@aistech, any chance you could upgrade to Cequel 1.9.1? It is possible that will fix the issue and even if it doesn't troubleshooting this issue will be easier on a more current version.

Hi @pezra, First I used my company github account @aistech) to create this issue. So I will be using my personal account in this message. I just tried with the 1.9.1 version and it worked fine. Thanks for your help and congratulations for this library, its really nice!


run failed maybe caused by environment variable

Is there some special environment variable caused run failed with reason
2022-10-11 09:09:28.632 | ERROR    | src.exporter:run:255 - celery-exporter exception '[Errno 2] No such file or directory: '/home/app/gauge_all_1.db'', retrying in 0 seconds.

here is my run config
apiVersion: apps/v1
kind: Deployment
metadata:
  name: celery-exporter
  annotations:
    reloader.stakater.com/auto: "true"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: celery-exporter
  template:
    metadata:
      labels:
        app: celery-exporter
      annotations:
        prometheus.io/scrape: "true"
    spec:
      containers:
      - name: celery-exporter
        image: danihodovic/celery-exporter:latest
        imagePullPolicy: IfNotPresent
        ports:
          - containerPort: 9808
            name: metrics
            protocol: TCP
        args: ["--broker-url=redis://zeno-redis:6379/0"]
        envFrom:
          - configMapRef:
              name: my-config-map
        resources:
          requests:
            memory: 400Mi
          limits:
            memory: 800Mi

after I removed field envFrom , it worked

What's in my-config-map?

I ran into this too because I had PROMETHEUS_MULTIPROC_DIR set. You'll need to unset that env var or create the directory it's using.

Can you reproduce this in v0.10.12?