nixos: sourcehut: fix some binary paths

Description of changes

Instead of using the srht- executables through our custom python env, use them directly from the original package. This fixes some very weird issue, where the target executables are python script that somehow get corrupted and one of their imports overwritten.
The result broke sourcehut entirely for me.
This change has been baking on my private instance for *checks git blame* several months now, so I'm confident about this change.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is quite curious indeed. Do you happen to have any samples of the corrupted files? I wonder what the imports have been overwritten with, and what has triggered the issue in the first place...
In any case, I have no problems to report when running the NixOS tests on an x86 machine, but I am having trouble in running them on an AArch64 system. It just looks like a timeout due to the lack of KVM acceleration, though. If this PR is not merged before the release of 24.05, then I will test it directly on my AArch64 production server and see how that goes, but I do not expect any major issues.

This is quite curious indeed. Do you happen to have any sample of the corrupted files? I wonder what the imports have been overwritten with, and what has triggered the issue in the first place...

Basically, any Python script got their first two lines overwritten with a nix-specific shebang line and sys.argv[0] setting.
I first noticed it with with gitsrht-periodic, as that service would fail pretty fast and loudly.
Luckily, I still had that derivation in the nix store of my git box!
So for gitsrht-periodic, it looked like this:
#!/nix/store/46vbvisyrds919mkhp0r81bhc55xm9qp-python3-3.11.8-env/bin/python3.11
import sys;import site;import functools;sys.argv[0] = '/nix/store/p19mjplyiwb5mwcbmh8gs9b4i8xrlv8i-python3.11-gitsrht-0.85.9/bin/gitsrht-periodic';functools.reduce(lambda k, p: site.addsitedir(p, k), ['/nix/store/p19mjplyiwb5mwcbmh8gs9b4i8xrlv8i-python3.11-gitsrht-0.85.9/lib/python3.11/site-packages','/nix/store/7jfdsqksb71q4bkiibpffkfw71zy95n3-python3.11-srht-0.71.8/lib/python3.11/site-packages','/nix/store/1v8qnsgyx053glwdvwgi1dagqizjg27p-python3.11-flask-2.3.3/lib/python3.11/site-packages','/nix/store/fslvacr1jmwrlhmf5dnc4avgfg4zvz92-python3.11-click-8.1.7/lib/python3.11/site-packages','/nix/store/k04inikvzwml2fwh37sskwl8d0l7cab7-python3.11-blinker-1.7.0/lib/python3.11/site-packages','/nix/store/4l5rj8gy1y7s5fpk9d8djhmd3hs76f40-python3.11-itsdangerous-2.1.2/lib/python3.11/site-packages','/nix/store/y6bfrc0p3yllqw6c28mnzr5cdmdbqvh0-python3.11-jinja2-3.1.3/lib/python3.11/site-packages','/nix/store/m0awn8yi9vf8k3925af2m72r8rfn4c0w-python3.11-markupsafe-2.1.5/lib/python3.11/site-packages','/nix/store/hwpaiq2gwscwway6dnc6lc9wwmn2pdf1-python3.11-werkzeug-2.3.8/lib/python3.11/site-packages','/nix/store/m5rffrxmqir29hp7gqgp7r2dish320sq-python3.11-humanize-4.9.0/lib/python3.11/site-packages','/nix/store/9zxcqdlg01xqfisb6r2x588152zsp9gf-python3.11-sqlalchemy-1.4.52/lib/python3.11/site-packages','/nix/store/cily0qv2c4mfaxcj1y3f0kd0jsp7dvl8-python3.11-greenlet-3.0.3/lib/python3.11/site-packages','/nix/store/5frr44wi23ijl8jqrxhr0s3b69mg6g32-python3.11-sqlalchemy-utils-0.41.1/lib/python3.11/site-packages','/nix/store/r4dj963bh54llsrnznl7iys2n9wkcbqm-python3.11-psycopg2-2.9.9/lib/python3.11/site-packages','/nix/store/xjh7wxjr2c5n7i3ka8c47xnaj2m25hnw-python3.11-markdown-3.5.2/lib/python3.11/site-packages','/nix/store/dbrb7ir3w5zn41y9390jxzj6rywygspl-python3.11-mistletoe-1.3.0/lib/python3.11/site-packages','/nix/store/3kghw9mw6bpvxbb4p0y28rqnwjlhyjk5-python3.11-bleach-6.1.0/lib/python3.11/site-packages','/nix/store/5008f6jqxbs9ygxphndi4d8f694l2av7-python3.11-html5lib-1.1/lib/python3.11/site-packages','/nix/store/9z56ljqk4ahpx4fj01d82yr0dra6kyvl-python3.11-six-1.16.0/lib/python3.11/site-packages','/nix/store/2w2v00sn8z0ixp9j3fh7imzvk0bf0v8z-python3.11-webencodings-0.5.1/lib/python3.11/site-packages','/nix/store/vy23p29z57xd9r7lmpdqhdbqv8rkvw7n-python3.11-packaging-24.0/lib/python3.11/site-packages','/nix/store/4718wmk03wr3554kmf09vy80vkdjvq56-python3.11-setuptools-69.1.1/lib/python3.11/site-packages','/nix/store/lwz9pmmfsj76vgwbcf6k0k2h1wp4ma4h-python3.11-requests-2.31.0/lib/python3.11/site-packages','/nix/store/z80yc5pjvp5zb9qk00wlfqi3i7bb0arf-python3.11-brotlicffi-<IP_ADDRESS>/lib/python3.11/site-packages','/nix/store/faax7x0w8v0l6x491fxr4n67ig9ay0ks-python3.11-cffi-1.16.0/lib/python3.11/site-packages','/nix/store/wh9jgyzk1fs8nifdchwzpa5mhdp3w0jj-python3.11-pycparser-2.21/lib/python3.11/site-packages','/nix/store/6n2xvcf6q91spf4yh8blkplbxlrrppas-python3.11-certifi-2023.11.17/lib/python3.11/site-packages','/nix/store/p399rwfcx5f484mi8mqpix5w99dywgya-python3.11-charset-normalizer-3.3.2/lib/python3.11/site-packages','/nix/store/2hkwndic1dilzx804j9s7g1gbv534aqs-python3.11-idna-3.6/lib/python3.11/site-packages','/nix/store/ap9lk8ikrypqnbwi738ygi31clqyvir6-python3.11-urllib3-2.2.1/lib/python3.11/site-packages','/nix/store/kd3qkj6j3vfrwmdqg0qss5m6pl2j0h96-python3.11-beautifulsoup4-4.12.3/lib/python3.11/site-packages','/nix/store/712l49an61zhd6bb8aks9ydkj423zc84-python3.11-chardet-5.2.0/lib/python3.11/site-packages','/nix/store/f1bavyxqhv96a8rv2gh980s9s3d65y5l-python3.11-soupsieve-2.5/lib/python3.11/site-packages','/nix/store/f6pf2qbr3gdb2xffkjbpnifgvn1232d7-python3.11-pygments-2.17.2/lib/python3.11/site-packages','/nix/store/haifj9sl4gwf5zrj3j55rc04p887b83r-python3.11-cryptography-42.0.5/lib/python3.11/site-packages','/nix/store/fm1nilbc1rm2wrn55md2ln2iq721lvqy-python3.11-prometheus-client-0.20.0/lib/python3.11/site-packages','/nix/store/4b3zvmvvh2bwp0y639wmm83llxm1pqid-python3.11-alembic-1.13.1/lib/python3.11/site-packages','/nix/store/3v2k58xvidgdpyaj8l2f8gxr882fv1dh-python3.11-mako-1.3.2/lib/python3.11/site-packages','/nix/store/h6pyqc5m90y7lysa3myl3lqrqifkwmmy-python3.11-typing-extensions-4.10.0/lib/python3.11/site-packages','/nix/store/wk0n6pa6k4fgn88ph5iizv803whhfq8c-python3.11-redis-5.0.1/lib/python3.11/site-packages','/nix/store/03mld4849xjrg6gzimdm19j61j2zzj68-python3.11-async-timeout-4.0.3/lib/python3.11/site-packages','/nix/store/6nfn8jw03jh8i4yq8xh5cvxamm37ihih-python3.11-deprecated-1.2.14/lib/python3.11/site-packages','/nix/store/bqp1hxq98dv2ynjz5m7j5z73a0gllsm3-python3.11-wrapt-1.16.0/lib/python3.11/site-packages','/nix/store/qyawnn49aam32wv9iiigphbpnbacwb2z-python3.11-celery-5.3.6/lib/python3.11/site-packages','/nix/store/j96l98s6wvw8byf5abpy4w10flgb1prq-python3.11-billiard-4.2.0/lib/python3.11/site-packages','/nix/store/sszh0zsdzmmfcj4mvgxp2z2ax3pgwj8x-python3.11-click-didyoumean-0.3.0/lib/python3.11/site-packages','/nix/store/wavv1fmh3a7v1ycgbngycvlycfj8q5z0-python3.11-click-plugins-1.1.1/lib/python3.11/site-packages','/nix/store/kmypm0vyq63bvwwhsp0b576r90v2mhk6-python3.11-click-repl-0.3.0/lib/python3.11/site-packages','/nix/store/sv3fwj87naw4waw5w31mffs5lj86snz1-python3.11-prompt-toolkit-3.0.43/lib/python3.11/site-packages','/nix/store/7nr6ahqcdg1h7m5zcsig1bgxnw3mcl38-python3.11-wcwidth-0.2.13/lib/python3.11/site-packages','/nix/store/l711cr09589xgyf1fvgyhz3iy83kr6ad-python3.11-kombu-5.3.5/lib/python3.11/site-packages','/nix/store/3lp46bmhlpi0kdc69bz76g3v08ccqy4m-python3.11-amqp-5.2.0/lib/python3.11/site-packages','/nix/store/i7a2r9lx792rfqbrgzwq4jy6inadzcma-python3.11-vine-5.1.0/lib/python3.11/site-packages','/nix/store/bvihsbc449fdw7h57bn84vwxmpp2is7f-python3.11-python-dateutil-2.9.0.post0/lib/python3.11/site-packages','/nix/store/2h4i0p0g6p4ql3nmpnkckgdqp9py4ymz-python3.11-tzdata-2024.1/lib/python3.11/site-packages','/nix/store/r4yrw3dc6my6lmkp7igns9x0irxdmw2l-python3.11-tinycss2-1.2.1/lib/python3.11/site-packages','/nix/store/647ics2v1hzaq80hvfncsrahv263xf64-python3.11-importlib-metadata-7.0.2/lib/python3.11/site-packages','/nix/store/x1w1ph2xgcyps4d5h5xkccd2638fyzlm-python3.11-toml-0.10.2/lib/python3.11/site-packages','/nix/store/rpnk7ymcn24cm02k1vg6jlnhp29ing57-python3.11-zipp-3.17.0/lib/python3.11/site-packages','/nix/store/f97lcq25qs9hz3jawc44ximwmyj6jf5a-python3.11-scmsrht-0.22.24/lib/python3.11/site-packages','/nix/store/icck8rwgc1pi9993447wfnb3jva97lxz-python3.11-pyyaml-6.0.1/lib/python3.11/site-packages','/nix/store/zdkhsrbqd6mkwws62x71p6jn9cjrc4m2-python3.11-buildsrht-0.89.15/lib/python3.11/site-packages','/nix/store/536mb1bhl2b6igz0lxf779wh6hxv1rf3-python3.11-ansi2html-1.9.1/lib/python3.11/site-packages','/nix/store/iac1b3wmr7z46r8491qymq1xapy09lym-python3.11-lxml-5.1.0/lib/python3.11/site-packages','/nix/store/hppgapizmrd51s1nyn7jw2npiim70jrl-python3.11-pygit2-1.14.1/lib/python3.11/site-packages','/nix/store/fbdv5k5asz8i6jr2dvs58znr4ccg28px-python3.11-cached-property-1.5.2/lib/python3.11/site-packages','/nix/store/k9zssdvc1bi0xa7k39j5gql062i2r321-python3.11-minio-7.2.5/lib/python3.11/site-packages','/nix/store/p9sz5155kscfrm1yvh40mghs4g689swz-python3.11-argon2-cffi-23.1.0/lib/python3.11/site-packages','/nix/store/38mw90syc6a79icpyghjm8wzyyv1cb7g-python3.11-argon2-cffi-bindings-21.2.0/lib/python3.11/site-packages','/nix/store/9clfhjfv61m52l3xrpvwamqf1gbcdqfj-python3.11-pycryptodome-3.20.0/lib/python3.11/site-packages'], site._init_pathinfo());
import sys
import math
import random
import sqlalchemy as sa
import subprocess
import gitsrht.repos as gr
import prometheus_client

import os simply got lost somewhere, which obviously then would lead to the gitsrht-periodic service failing.
So it looks like this is actually some curious bug in the python withPackages implementation, but unfortunately I do not really have the time to debug this in depth.


Is it possible to convert a GPU pre-trained model to CPU without cudnn?

Since the limited computer resource, I only have a CPU-only computer. However, some pre-trained model is based on GPU.
It seems that the torch installation will not contain cudnn when you don't have GPU on your computer. Therefore, I have no cudnn class in my torch. Moreover, there is no cudnn to nn conversion in the README.md.
Is there a way to convert a GPU pre-trained model to a CPU pre-trained model without using cudnn.torch?

cudnn.convert(model, nn) works fine at least when you have gpu.

We have observed that converting using cudnn.convert doesn't work for all modules, for example cudnn.ClippedReLU doesn't get translated into nn despite mention of API compatibility.

cudnn.TemporalConvolution is also not converted, since it's a wrapper on cudnn.SpatialConvolution.

Hi
could you find a way?
Thanks,
Mina

@notimesea Does the cudnn.convert() method work if we convert a GPU-based model to a CPU-based model using a machine which has GPU support and then load this converted model on a CPU-only machine?

@soumith, please help. I'm having the same error.
I don't know why when I call
graph.dot(final_model.fg, 'model', 'model')
torch crashes.


fix(buffer): dont render control characters

fixes #1211
As I have the stuff tested in a local branch, I can also push it for more discussions.
See https://doc.rust-lang.org/std/primitive.char.html#method.is_control

marking it as a breaking change

I don't think this is a breaking change in its current form. It's a bug fix restoring old behavior. Before unicode-width reported these control characters as width 0 which then got filtered out.
https://github.com/ratatui-org/ratatui/blob/935a7187c273e0efc876d094d6247d50e28677a3/src/buffer/buffer.rs#L213-L214
unicode-width changed their behavior (whether it's considered breaking or not is debatable as it's as far as I understand according to Unicode specs, so it's only a fix to be spec compliant) and this restores the behavior of before: filtering them out.
So it's basically preventing a breaking change for users of ratatui.

Are there any that would make you not want to merge this as-is?
Perhaps documenting the behavior somewhere user facing could be a good idea

This does not include documentation at all and I dont really know how to document something that restores old behaviour.
Is this the same set of control characters which were width == 0 before? So is it actually restoring the exact old behaviour or is it introducing other bugs now?
https://github.com/unicode-rs/unicode-width/pull/45 suggests following Unicode to render a fallback glyph instead to notify the user of a missing element here being not rendered. Which would be both the more correct approach according to Unicode and the more helpful one to notice that there are more characters than visible.

I think I would like the last one the most. Rendering some fallback symbol instead. But this PR currently does something different.

Is this the same set of control characters which were width == 0 before? So is it actually restoring the exact old behaviour or is it introducing other bugs now?

I read the spec and the two code paths and they are equivalent. 0x00..0x20 and 0x7F..0xA0 are treated as control characters and are length 1.

https://github.com/unicode-rs/unicode-width/pull/45 suggests following Unicode to render a fallback glyph instead to notify the user of a missing element here being not rendered. Which would be both the more correct approach according to Unicode and the more helpful one to notice that there are more characters than visible.

I think I would like the last one the most. Rendering some fallback symbol instead. But this PR currently does something different.

I think that's a good idea also, but I think it would be worth making an application configurable option. So just filtering seems like a good default.

I don't think this is a breaking change in its current form. It's a bug fix restoring old behavior. Before unicode-width reported these control characters as width 0 which then got filtered out.

👍

This does not include documentation at all and I dont really know how to document something that restores old behaviour.

What about a one line mention in Terminal::draw's doc comment?

unicode-rs/unicode-width#45 suggests following Unicode to render a fallback glyph instead to notify the user of a missing element here being not rendered. Which would be both the more correct approach according to Unicode and the more helpful one to notice that there are more characters than visible.

I think I would like the last one the most. Rendering some fallback symbol instead. But this PR currently does something different.

I think that's a good idea also, but I think it would be worth making an application configurable option. So just filtering seems like a good default.

Let's go with restoring the old behavior for now: filtering them out completely and release a bug fix release 0.27.1 with this.
In the long run… Configuring this would require a Buffer configuration which seems annoying? Maybe set_stringn should be moved out of the Buffer then? Anyway, that's a longer run question. Maybe create another issue for this to discuss this further…

This does not include documentation at all and I dont really know how to document something that restores old behaviour.

What about a one line mention in Terminal::draw's doc comment?

It seems far away from actually drawing something to the terminal but maybe that's a technical view… Any good ideas for such a one line?

It seems far away from actually drawing something to the terminal but maybe that's a technical view… Any good ideas for such a one line?

My bad - I was thinking about the setting being needed on Terminal to control the buffer. Probably on set_string / set_stringn would be better for this. Just "This method filters out (does not output) control characters" or something similar.

A lot is depending on set_stringn which doesn't document this either, but I think it's fine.
And while at it… set_line and set_span should probably be deprecated (in their own pr) in favor of Line as a widget in order to simplify the Buffer API to its core functionality.

Anything other needed for a 0.27.1 release?

Anything other needed for a 0.27.1 release?

@orhun is away for a couple of weeks. He usually handles all the release activities (there's a bunch of stuff that's not automated), I think it'll be around the 26th or so.

I'm not sure what the point of the labels accepted or review needed is, as that's something GitHub itself already displays?
Also, why accepted and not just merged then?

I think there should be automated quick released features and bug fixes… so versions like ratatui 0.27.7 could easily be the case… Similar to the weekly alpha release currently which seem a bit weird to me as the Cargo.toml could also just point to the main branch. The point of PR reviews is to ensure that it works correctly when merged, so it should also be releasable? Breaking PRs can be merged at the same time and released together.
That way the current bus factor is reduced and merged stuff ends up quicker with the users?

I'm using labels mostly as an aid to whether I need to look at an issue again at some point. I didn't merge this one in case there was anything you wanted to do before merge. Feel free to merge if there's nothing pressing.
Agreed on the quick releases etc. we're not there right now, but are close. The alpha release existed when there was a much larger barrier to releasing and to make it possible for downstream apps to easily publish crates that relied on unreleased functionality. I'm a fan of releasing whenever there's a reasonable amount of stuff to go however. Every few days if needed. When Orhun is back let's discuss making that easier. (Perhaps cut an issue or discussion about it)

I'm using labels mostly as an aid to whether I need to look at an issue again at some point.

This is selectable by queries (and the buttons at the top create them for you)
https://github.com/ratatui-org/ratatui/pulls?q=is%3Apr+is%3Aopen+-reviewed-by%3A%40me

Agreed on the quick releases etc. we're not there right now, but are close. The alpha release was created to address the gap when there was a much longer period between releasing and to make it possible for downstream apps to easily publish crates that relied on unreleased functionality.
However I'm a fan of releasing whenever there's a reasonable amount of stuff to go however. Every few days if needed. When Orhun is back let's discuss making that easier. (Perhaps cut an issue or discussion about it)

→ #1232


Enhance subctl verify to validate mtu between the clusters

What would you like to be added:
As part of subctl verify ... command we execute various datapath tests to validate the connectivity between the clusters.
Sometimes the connections could be successful but we might have MTU issues.
From the output of subctl verify ..., to some extent we are able to figure out if its MTU issue or connection failure by looking into the verbose logs, but its not easy to figure it out and also we may not have verbose logs all the time.
Having a dedicated sub-command to validate the MTU will help us to easily identify a datapath failure is because of connection failures or if its due to MTU issues between the clusters.

CC @yboaron


Add a way to import a specific devices configuration

Care to elaborate what you mean?

@AlCalzone I think my PR explains this


Can not delete image from multiple-Images in Post Bread

Laravel Version: 5.5.4
Voyager Version: 1.0.16
PHP Version: 7.0.28
Database Driver & Version: Mysql 5.7

Description:
I add multiple images in "Additional Fields" in post bread.
Upload and display images are ok.
But i can't delete image.
The "X" link has no effect
Steps To Reproduce:
IN admin/database/posts/edit :

Add row type TEXT,  NULL,  named "img_galery"

IN admin/database/posts/bread/edit :

SET "img_galery" field as Multiple images with JSON {"resize": {"width": "999", "height": "null"}}

Please search before opening a new issue
https://github.com/the-control-group/voyager/issues/2547


Add support for oidentd spoofing

This adds support for oidentd in order for server admins to properly report who is connecting and prevent server-wide bans.

Should the identd file be cleared out or deleted when lounge is shut down?

Should the identd file be cleared out or deleted when lounge is shut down?

That would be the cleaner option, but I don't know if we have a somewhat decent way to know we're exiting. Technically if the client disconnected all networks properly, the file would be emptied as it deletes obsolete lines.
It shouldn't have a negative side-effect unless someone runs another IRC client as the same user as The Lounge ran, connect to the same network and have the bad luck of reusing the same source port.

We should also probably have some safe guard for combining identd with oidentd options, only one should be allowed, I think.

:+1:

If @YaManicKill doesn't take second review of this within a few days, I'll take a look.

If @YaManicKill doesn't take second review of this within a few days, I'll take a look.

Any news on this?

I'm not sure I understand this enough, and I certainly won't have time to look at it.

I guess we're fine to merge this then, since no one else wants to review it.

Any news on this?

Sorry, I completely dropped the ball on this. I'll give a review tonight or tomorrow night.

I haven't run this, but went through a full tour by @maxpoulin64 and I'm good with the code: 👍

Now, @maxpoulin64, do you think this should be reflected in the doc somewhere: https://thelounge.github.io/docs/server/configuration.html ?
Of course, the docs really need some love, but I'm talking short term rather than a bigger-commitment doc refactor unicorn :-) (smells like up for grabs!).


PyOpenColorIO.Config.getActiveDisplays/Views returns string

I'd expect it to return a list, as with cfg.getDisplays(), as this seems inconsistent:
>>> import PyOpenColorIO as OCIO
>>> cfg = OCIO.GetCurrentConfig()
>>> cfg.getActiveDisplays()
'sRGB, DCIP3'
>>> cfg.getDisplays()
['DCIP3', 'sRGB']

Ugh.  I agree, that's totally inconsistent.  But we cant really change that now without breaking API compatibility.
What I'd recommend is that we make a note of this for now in the python documentation (which @kaz-tanaka is currently working on), and make sure to update this in the next non-binary compatible release.  (2.0?)
Alternatively, we could add a new fcn or a kwarg to this one, which provide the updated behavior. (opt-in)


Feature: Add Svelete in the list of available languages to filter on

Type of feature
🍕 Feature
Current behavior
Svelte is not a filter provided.
Suggested solution
Add svelte to the dropdown. I will attempt to do this myself.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

Thanks for the issue @brittneypostma! Go for it! The changes will need to be made in https://github.com/open-sauced/app/blob/1073b1d861acf01cb200323f0b1f36e2bcf86f9e/lib/utils/getInterestOptions.ts .


Create card popup element when click on event

I'll create this component today so then we can use it for the other things


Support for user rather than token owner.

I'm trying to rig this up to work for my in-person games where all the tokens are owned and controlled by a single user. In my case "The Party". Would it be possible to add an option to check if the currently selected token is owned by said User rather than a specific token? This way I can log the players in as The Party user and whichever owned token is selected will be able to walk up to a door and hit "e" or double tap the arrow to get the door to open.

I added a module setting for this on 2.2.5 , give it a try ? not sure if i got what you need

Hm, I'm getting an error that says "Installation failed: k is not defined."

try to unistall and reinstall the module is usually a behaviour for the updated manifest on fvtt10

I’m still on 9.something, but I did try uninstall. Both update and reinstall gave the error

On Sep 21, 2022, at 1:21 AM, 4535992 @.***> wrote:

try to unistall and reinstall the module is usually a behaviour for the updated manifest on fvtt10
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

Sorry i don't have enough time for maintain both 9 and 10 , i will give support only for the v10 branch.
You can download the last release for 9 here:  https://github.com/p4535992/foundryvtt-arms-reach/releases/tag/v2.1.32


Unable to connect to a Linux remote session : Authentication failed. Too many tries

Unable to connect to a Linux remote session : Authentication failed. Too many tries

This is happening on the 4th shared session on the largeviz3d instance
#qstat -an1 | grep -i largeviz
53728.scheduler user1 vizq     sys-dashbo  14385   1   4    --    --  R 211:5 largeviz3d-1/0*4
56550.scheduler user2 vizq     sys-dashbo  46915   1   6    --    --  R 210:5 largeviz3d-1/1*6
67339.scheduler user3 vizq     sys-dashbo  11448   1   4    --  24:00 R 17:49 largeviz3d-1/3*4
68494.scheduler user4 vizq     sys-dashbo  39458   1   6    --    --  R 00:04 largeviz3d-1/2*6

Setting VNC password...
Starting VNC server...
Warning: largeviz3d-1:2 is taken because of /tmp/.X2-lock
Remove this file if there is no X server largeviz3d-1:2
Desktop 'TurboVNC: largeviz3d-1:3 (john.doe)' started on display largeviz3d-1:3
Log file is vnc.log
Successfully started VNC server on largeviz3d-1:5903...
Script starting...
Starting websocket server...
The system default contains no modules
(env var: LMOD_SYSTEM_DEFAULT_MODULES is empty)
No changes in loaded modules
Launching desktop 'xfce'...
WebSocket server settings:

Listen on :61006
Flash security policy server
No SSL/TLS support (no cert file)
Backgrounding (daemon)
WARNING: no 'numpy' module, HyBi protocol will be slower
Traceback (most recent call last):
File "/usr/bin/websockify", line 11, in
load_entry_point('websockify==0.8.0', 'console_scripts', 'websockify')()
File "/usr/lib/python2.7/site-packages/websockify/websocketproxy.py", line 525, in websockify_init
server.start_server()
File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 973, in start_server
tcp_keepintvl=self.tcp_keepintvl)
File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 741, in socket
sock.bind(addrs[0][4])
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
Scanning VNC log file for user authentications...
Generating connection YAML file...
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall
generating cookie with syscall

(xfce4-session:24083): xfce4-session-WARNING **: 09:09:45.497: xfsm_manager_load_session: Something wrong with /anfhome/john.doe/.cache/sessions/xfce4-session-largeviz3d-1:3, Does it exist? Permissions issue?
ERROR: Unable to load info from any available system
xfwm4: Fatal IO error 4 (Interrupted system call) on X server :3.0.
(xfsettingsd:24103): libxfce4ui-WARNING **: 09:11:25.270: ICE I/O Error
(xfsettingsd:24103): libxfce4ui-WARNING **: 09:11:25.270: Disconnected from session manager.
xfsettingsd: Fatal IO error 11 (Resource temporarily unavailable) on X server :3.0.
xfce4-panel: Fatal IO error 4 (Interrupted system call) on X server :3.0.
xfdesktop: Fatal IO error 11 (Resource temporarily unavailable) on X server :3.0.

https://discourse.openondemand.org/t/remote-desktop-new-connection-has-been-rejected-with-reason-authentication-failed/2749


Make PrivateModule#binder() non-final to allow binder customization in subclasses

One of the cases for overriding #binder() would be calling Binder#skipSources(...)
fixes #1525

@ronshapiro , sorry for pinging you, however, would you please review and merge the change?
It is kind of sad to wait one year for 1 line change 😭

@cpovirk , could you please review and merge the fix?
In a nutshell, AbstractModule.binder() method is protected and non-final: https://github.com/google/guice/blob/c7a74a108b2596d5f1b69c6f3dcf32c27f3b5dab/core/src/com/google/inject/AbstractModule.java#L74
However, PrivateModule.binder() is protected and final at the same time.
I believe that was just a typo, and there's no practical meaning for making PrivateModule.binder() method final.
I listed more details in the linked https://github.com/google/guice/issues/1525#issue-923731861 issue.


Measure clicks on the tagline with Matomo

Problem

We're considering revamping the tagline, but we don't know how many people interact with it
Measure clicks on the tagline with Matomo

Part of

#2855

@g123k have you added events ? Can we close ?

Yes implemented


LUN-365: Header selection screen broken

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword LUN.
BottomTabBar fix only testable on ios with a device that has notches. (f.e. iPhone 13 max)

could you update this to the current state of main and resolve merge conflicts? Than no adjustments are needed to test this :)

could you update this to the current state of main and resolve merge conflicts? Than no adjustments are needed to test this :)

done :)


[1Password] 1Password CLI < v2.29.0 errors

Extension
https://www.raycast.com/khasbilegt/1password
Raycast Version
1.75.1
macOS Version
14.5
Description
Since latest upgrade
'My Passwords' provides the following

Interestingly 'My Vault' command works

Error dump shows the following
`TypeError: Cannot read properties of undefined (reading 'account_uuid')
Jp:Items.tsx:20:30

17: import { ItemActionPanel } from "./ItemActionPanel";
18: import { useMemo, useState } from "react";
19:
20: export function Items({ flags }: { flags?: string[] }) {
21:   const [category, setCategory] = useCachedState("selected_category", DEFAULT_CATEGORY);
22:   const [passwords, setPasswords] = useState<Item[]>([]);
23:
_r:item-list.js:44:481
at Vr
Fr:index.js:11:2490`
Steps To Reproduce

Upgrade 1Password Raycast Extension
Use the My Password Command
Get error

Current Behaviour
My Passwords command doesn't work
Expected Behaviour
My Passwords works and lists the vault entries.

@raycastbot assign me
@raycastbot good first issue
@raycastbot rename this issue to "[1Password] 1Password CLI < v2.29.0 errors"

Hey @lmoloney, another user reported the same problem. It appears that somewhere between 1Password CLI v2.0.0 to v2.29.0. 1Password included a new property "account_uuid" in their "op account get" response. And the "My Password" command uses it.
Are you able to try update your 1Password CLI, and test if it solves this issue? Thanks

@raycastbot assign me

@raycastbot good first issue

Apparently this one didn't get spotted on testing of the latest update, because our accounts were on cache. You may ignore my last comment and wait for the merge of #12543 .

@raycastbot rename this issue to "[1Password] Cannot read properties of undefined (reading 'account_uuid')"


pip install tensorflow==2.11.1 not working on AWS arm64

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
No
Source
binary
Tensorflow Version
2.11.1
Custom Code
No
OS Platform and Distribution
Linux Ubuntu 20.04
Mobile device
No response
Python version
3.10
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
When I run `pip install tensorflow==2.11.1` on an aws m6g.large instance (arm64 graviton) it throws the following error:

ERROR: Could not find a version that satisfies the requirement tensorflow-cpu-aws==2.11.1; platform_system == "Linux" and (platform_machine == "arm64" or platform_machine == "aarch64") (from tensorflow) (from versions: 2.9.1, 2.10.0rc0, 2.10.0rc2, 2.10.0rc3, 2.10.0, 2.10.1, 2.11.0rc0, 2.11.0rc1, 2.11.0rc2, 2.11.0, 2.12.0rc1, 2.12.0)
ERROR: No matching distribution found for tensorflow-cpu-aws==2.11.1; platform_system == "Linux" and (platform_machine == "arm64" or platform_machine == "aarch64")

I can see this is the case by navigating here: https://pypi.org/project/tensorflow-cpu-aws/2.11.1/#files

for some reason it was only built for python 3.7 and is lacking binaries for all other python versions. tensorflow 2.11.0 and 2.12.0 both work but we wanted to use 2.11.1 in this case, perhaps an error during that particular build?

For example compare to this: https://pypi.org/project/tensorflow-cpu-aws/2.11.0/#files or the 2.12.0

Standalone code to reproduce the issue
`pip install tensorflow==2.11.1` on python 3.10 on an aws m6g instance

Relevant log output
No response

@rhuddleston
Sorry for the late reply, Could you please try with pip install tensorflow==2.11.* to install  TF 2.11. I was able to install the TF2.11 without any error on the linux virtual machine with python 3.10. Please find the screenshots below:
[Screenshot 1(https://user-images.githubusercontent.com/111861663/229890752-269caf0a-6bc3-4d24-b233-58d4858facd8.png)
[Screenshot 2(https://user-images.githubusercontent.com/111861663/229890807-259d86a8-94ea-4a53-be43-7679f0638e43.png)
Thank you !

Also been having issues on a macOS M1 with pipenv.
Recently, Dependabot wanted to bump tensorflow to 2.11.1 but that caused a version mismatch between tensorflow-cpu-aws so now python -c "import tensorflow" fails to find the import and pipenv graph has this:
tensorflow==2.11.1
  - tensorflow-cpu-aws [required: ==2.11.1, installed: ?]

@rhuddleston,
The package tensorflow-cpu-aws is meant for Arm/AArch64 processors and it can't be downloaded in X86_64 architectures through pip.
Pip will try to resolve the wheels suitable for the particular host platform and if it is not found then it raises the error like no matching distribution found.
The pre-built pip wheels for X86_64 built and maintained by tensorflow itself which you can install through pip install tensorflow-cpu and this can be installed on x86_64 machines only.
Could you please refer the documentation source for more details.
This does not look like a problem that is specific to TensorFlow. I think your problem is all about creating a docker container for a foreign architecture from your x86 machine. In order to do that you need to add qemu to the mix so that there is an environment that allows the docker container to execute.
See https://www.docker.com/blog/multi-platform-docker-builds/
Thank you!


--embed-subs not available when running youtube-dl from a Python script

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.03.09. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2019.03.09

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Description of your issue, suggested solution and other information
I'm working on a Python project where I import youtube_dl and use its functionality inside the script. The --embed-subs option doesn't seem to be available when running youtube-dl this way. Can it be added or is it used some other way?
The 'writesubtitles': True, option, and others I need are available as intended.

You should use FFmpegEmbedSubtitle postprocessor on your own.


Problem with keyboard shorcuts

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] puppy => You're not submitting a puppy. I already have one and he's adorable

What is the current behavior?
Plugin works fine, but when I add a keyboard shortcut (for example in start feature) the action doesn't work. This is the error

java.lang.NullPointerException
at gitflow.ui.AbstractBranchStartDialog.(AbstractBranchStartDialog.java:46)
at gitflow.ui.GitflowStartFeatureDialog.(GitflowStartFeatureDialog.java:12)
at gitflow.actions.StartFeatureAction.actionPerformed(StartFeatureAction.java:28)
...

Is this a bug? Sorry about that. If so give me explicit details how to reproduce:

Create a keyboard shortcut for "Start Feature"
Run this Shortcut

What is the expected behavior?
I Expect the same as run VCS > Git > Gitflow > Start Feature

This is for "Start Feature" but this happens in all other related actions like "Finish Feature", "Start Hotfix", ...

Please tell me about your environment:

Gitflow4idea version: 0.7.1

Gitflow version: 1.12.3 (AVH Edition)

IntelliJ Help -> about > click copy icon and paste here. Should look like this:

IntelliJ IDEA 2019.3.4 (Ultimate Edition)
Build #IU-193.6911.18, built on March 17, 2020
Licensed to IntelliJ IDEA Evaluator
Runtime version: 11.0.6+8-b520.43 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Other information (e.g. detailed explanation, stacktrace, related issues, suggestions how to fix, links for me to have context words of praises, pictures of puppies (again with the puppy??) )

Please test with 0.7.2, reopen if necessary


daemon: Initial VM Support

Add support for joining Cilium nodes running in non-k8s mode to a k8s cluster. The main agent option to enable this is --join-cluster, which is needed for any of the new functionality to kick in. K8s namespace can be specified with --k8s-namespace. Additional node labels can be configured with --agent-labels. KV store options must be set to point to the clustermesh-apiserver running in the k8s cluster. --ipv4-range must be set so that it does not clash with the k8s cluster. Depending on the interfaces available on the VM, --ipv4-node may also need to be set so that the IP address the VM is using is routable from the k8s cluster. For example, the following options may be used from the Cilium development VM running in the same host network with the k8s nodes:
  --join-cluster
  --k8s-namespace default
  --agent-labels "app=runtime"
  --kvstore etcd --kvstore-opt etcd.address=<IP_ADDRESS>:32379
  --ipv4-node <IP_ADDRESS>
  --ipv4-range <IP_ADDRESS>/24

There is a new kv-store key at prefix cilium/state/noderegister/v1/ for agent registrations. Value format is the same as with cilium/state/nodes/v1, which also adds a new nodeidentity field, which is expected to be set to 0 by the registering agent. clustermesh-apiserver is watching this prefix and when agents register, the information passed in the key value is used to create the following k8s resources:

CiliumIdentity, from the labels in the registration
CiliumNode, 1:1 from the key value
CEP, based on the node labels and the allocated identity

clustermesh-apiserver replaces the 0 nodeidentity with the allocated identity that the registering agent waits for before completing agent bootstrap.
Added support for non-k8s nodes to register to a k8s cluster via new option `--join-cluster`

Placeholder for testing instructions.

Fixed go-bindata.

test-me-please

Travis blocked by Github:
$ ./.travis/prepare.sh
https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz:
2020-09-28 16:30:01 ERROR 429: too many requests.
https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz.sig:
2020-09-28 16:30:01 ERROR 429: too many requests.
2020-09-28 16:30:02 URL:https://releases.llvm.org/10.0.0/hans-gpg-key.asc [3151/3151] -> "hans-gpg-key.asc" [1]
gpg: key 0FC3042E345AD05D: public key "Hans Wennborg<EMAIL_ADDRESS>imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: can't open 'clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz.sig': No such file or directory
gpg: verify signatures failed: No such file or directory
ERROR: Failed to verify clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
The command "./.travis/prepare.sh" failed and exited with 1 during .

@christarazi @tklauser @aanm @joestringer All review comments addressed in additional commits. I'll squash those into previous commits tomorrow, but for now they allow you to see what has changed since the time you gave your reviews.

Travis CI build seem to be failing with a legitimate error:
# github.com/cilium/cilium/operator
./main.go:333:42: too many arguments in call to startSynchronizingCiliumNodes
./main.go:333:42: startSynchronizingCiliumNodes(apiextensionsK8sClient, NOPNodeManager) used as value
./main.go:333:43: undefined: apiextensionsK8sClient
make[1]: *** [Makefile:18: cilium-operator] Error 2

Travis CI build seem to be failing with a legitimate error:
# github.com/cilium/cilium/operator
./main.go:333:42: too many arguments in call to startSynchronizingCiliumNodes
./main.go:333:42: startSynchronizingCiliumNodes(apiextensionsK8sClient, NOPNodeManager) used as value
./main.go:333:43: undefined: apiextensionsK8sClient
make[1]: *** [Makefile:18: cilium-operator] Error 2

This must be due to a master rebese somewhere in there. My local testing was fine, but I git the same error after I rebased to the current master, will fix :-)

test-me-please

test-me-please

Fixed docs

test-me-please

On Slack, @jrajahalme just mentioned it'd be good to get one more look from @pchaigno . With that I think we're good to merge.


Mongoose and CMake Links Fixed

Mongoose and CMake links changed. There is a problem with CMake version <IP_ADDRESS> so I changed and try to CMake version 3.1.1.

I'm going on vacation for a while, I'll take a look again in mid february.

I just updated many of the links.


[bug][iOS] Connecting Trust Wallet opens Trust Bank SG app instead

Is there an existing issue for this?

[X] I have searched the existing issues

RainbowKit Version
2.1.4
wagmi Version
2.12.4
Current Behavior
Hi guys, I've just noticed that having installed both the Trust Wallet and Trust Bank SG apps on my iPhone and trying to connect to the Trust Wallet wallet using the 'connect' button opens the Singaporean bank app instead. On Android, I can select one of these 2 apps but on iOS, I cannot.
Can we anyhow help the Rainbowkit select the correct app?
Expected Behavior
It should open the Trust Wallet app
Steps To Reproduce

Install on your iPhone both the Trust Wallet and Trust Bank SG apps
Go to https://www.rainbowkit.com/docs/introduction, in the top-right corner press the 'connect' button, and select the Trust Wallet
See that the incorrect app is launched

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
https://www.rainbowkit.com/docs/introduction
Anything else?
https://github.com/user-attachments/assets/84772db8-bb34-4a2f-95b2-c327644c2e3d

@sarevok89 This is unfortunately a rare edge case related to how iOS deep link schemas work. The trust:// scheme is not inherently reserved for Trust Wallet, and other apps can register the same deep link. iOS attempts to route around this based on which apps the user interacts with more frequently. In this case, it makes sense that your seeing a clash when regularly interacting with both apps. Will keep this open as we investigate a workaround with a Universal Link for Trust Wallet


orca2easyspin: frame rotation bug

Euler angles provided by orca2easyspin (Sys.AFrame etc.) are based on the tensor->molecular frame transformation, instead of the opposite (molecular frame -> tensor frame) that is used throughout EasySpin.
This bug and is present in versions 5.2.35 and 6.0.0-dev.53. It is unclear when it was introduced.
Thanks Claudia Tait for discovering this!

This is now fixed with commits 2f4138b95d2fa292f825fd82c0b9de264278895f in the #main branch (for 6.x) and f45ba869eb4184d90076b7ae4168f5787272e45a in the release branch (for 5.x). Thanks @cetait for fixing this.


[new locale] Added support for en-SG (Singapore)

One of my first pull requests!
Grunt tests successfully pass

@marwahaha Shouldn't the file be called en-sg.js in lowercase for consistency with other variants?


Don't use tsd_private.h in compatibility libraries for ARMv7k.

If we include this file, it generates inline assembly, which would be fine except that when apps are being built with bitcode, that isn't allowed.
rdar://103274667

@swift-ci Please smoke test

@swift-ci Please test


Comparison with SWA in Mistral

Hi @Guangxuan-Xiao, do you have any comparison with sliding window attention from Mistral? The paper only describes SWA with re-computation which is not how it works in the new models.

Sliding Window with Re-computation rebuilds the KV states from the L recent tokens for each new token.

Basically, this is not what they do in the Mistral model. They do not rebuild the KV states, they evict the oldest part of the cache in favor of the newest parts.

Hi, please check my explanation at https://github.com/mit-han-lab/streaming-llm/issues/33#issuecomment-1758597666, and let me know if you have any further questions!

Hi @Guangxuan-Xiao, thanks for your explanation! However, it seems you didn't mention SWA in Mistral model? In Mistral model, it utilized Sliding Window Attention when inferencing and I believe it doesn't recompute during inference, and I am wondering why it can achieve this, because in your paper, the performance of model degenerates when using Window Attention.
I am currently thinking maybe it is because Mistral model was trained with Sliding Window Attention, and in result it avoided the attention sink phenomenon. (In one of their issue, this is asked but not answered yet)

For reference, the Mistral model degrades in performance over time just like dense attention methods:

Here, attention_sinks refers to the StreamingLLM approach, transformers is their model used via the transformers library, and windowed is simple window attention with position ID shifting.
Furthermore, when giving it subsequent prompts (160 prompts in a row):

[!NOTE]
The automatic detection of fluency losses is very naive: it tries to count the number of real words in the response, but that can result in false positives if e.g. the prompt is to generate some German text. See demo/streaming_logs for the full logs to get a better picture of the real generative performance.

E.g. Mistral for transformers and attention_sinks - it's a big difference after like 250 lines.

In my opinion, the "sliding window attention" mentioned in Mistral is equivalent to the "window attention" mentioned in attention_sinks.

@tomaarsen I see your point here. My point was more so towards the latency reported in the paper.
Also more interestingly would be a comparison between vLLM/TGI with and without attention sinks since nobody uses raw Huggingface generate methods in production.

Hi @Guangxuan-Xiao, thanks for your explanation! However, it seems you didn't mention SWA in Mistral model? In Mistral model, it utilized Sliding Window Attention when inferencing and I believe it doesn't recompute during inference, and I am wondering why it can achieve this, because in your paper, the performance of model degenerates when using Window Attention.
I am currently thinking maybe it is because Mistral model was trained with Sliding Window Attention, and in result it avoided the attention sink phenomenon. (In one of their issue, this is asked but not answered yet)

Hello ,I want to ask a question. In the 'one_file_ref.py' script of 'mistrail', it seems that sliding_window was used during training, but not during inference (because input_ids.shape[-1] should be 1 during inference).
Is the above understanding correct?

For reference, the Mistral model degrades in performance over time just like dense attention methods:  Here, attention_sinks refers to the StreamingLLM approach, transformers is their model used via the transformers library, and windowed is simple window attention with position ID shifting.
Furthermore, when giving it subsequent prompts (160 prompts in a row):
Note
The automatic detection of fluency losses is very naive: it tries to count the number of real words in the response, but that can result in false positives if e.g. the prompt is to generate some German text. See demo/streaming_logs for the full logs to get a better picture of the real generative performance.
E.g. Mistral for transformers and attention_sinks - it's a big difference after like 250 lines.

Hi @tomaarsen, It's a bit weird that in transformers's official api doc,https://huggingface.co/docs/transformers/en/model_doc/mistral
mistral has a maximum input length of almost 128k,
Mistral’s sliding window attention allows sequence of up to 4096*32 tokens.
but in your test, when the input length grows to 8k, it failed. Is this right?

when the input length grows to 8k, it failed. Is this right?

That's right. Although the model doesn't crash until 128k, it doesn't perform well once it has exceeded the pretraining size of 8k tokens.

when the input length grows to 8k, it failed. Is this right?

That's right. Although the model doesn't crash until 128k, it doesn't perform well once it has exceeded the pretraining size of 8k tokens.

Thanks for your quick reply, so for industrial use,  input exceeded the pretraning size of 8k will not work for mistral model.

Correct, not for mistralai/Mistral-7B-v0.1, at least. There are some Mistral-based models that work on longer sequence lengths, e.g.: https://huggingface.co/NousResearch/Yarn-Mistral-7b-128k

Correct, not for mistralai/Mistral-7B-v0.1, at least. There are some Mistral-based models that work on longer sequence lengths, e.g.: https://huggingface.co/NousResearch/Yarn-Mistral-7b-128k

Thanks tom, i'll check the url later!

Correct, not for mistralai/Mistral-7B-v0.1, at least. There are some Mistral-based models that work on longer sequence lengths, e.g.: https://huggingface.co/NousResearch/Yarn-Mistral-7b-128k

Hi @tomaarsen , i have another problem here. In your test above, with the config in Mistral sliding_window equals 4096,  when the input length grows to 8k, it still has a reasonable perplexity.
But in attention sink paper, it says "Window attention collapses once the input length exceeds the cache size,
i.e., the initial tokens are evicted". but in mistral when the input length larger than 4096, the model doesn't suddenly failed, is there something new fintuned with Mistral model with sliding window?
Can you help me figure this out, thanks!


docs: update Kafka ACL docs

About this change—what it does
Updates descriptions for Aiven ACLs and Kafka-native ACLs to provide clarification on when to use each. Adds example usage for Kafka-native ACLs. Updates field descriptions for native ACLs.

lgtm, @harshini-rangaswamy do you want to take a look?

It looks good to me, too. Thanks, @staceysalamon-aiven!


Add sort fish command

[ ] Add FishSortCommand
[ ] Add FishSortParser
[ ] Add Custom comparing methods amongst fish fields
[ ] Use List.sort() to sort fish list


Issue diagnostic message if module name mismatches file

Currently SDC asserts whether the module name matches filename + file hierarchy, but produces an ICE if this check fails.
How about throwing a CompileException carrying the location of the declaration statement?

Sorry, just seeing this now, because github...
In any case, thanks for taking care of this, this is definitively something that needs doing.

Is locationDeclarationName better?
…or which name would you prefer (any suggestions)?


create multiple pdf from iterarion

Hello, I'm trying to create multiple pdf's, some like:
names = ['jhon', 'locke']
for(i=0; i <= names.length; i++){
  var doc = new jsPDF();
  doc.setFontSize(40);
  doc.text(40, 30, "hello "+names[i], 4);
  doc.save('name_'+names[i]+'.pdf')
}

But, the pdf title is name_undefined.pdf
and content is undefined
Can you help me please

If you take jsPDF out the equation, you'll see it still fails:
names = ['jhon', 'locke']
for(i=0; i <= names.length; i++){
  console.log('name_'+names[i]+'.pdf')
}

Output:
name_jhon.pdf
name_locke.pdf
name_undefined.pdf
undefined

What you need to do is change <= to <


In nvim 0.10 dev attempt to call method 'flatten'

Problem
I was getting same issue with nvim-lspconfig but was resolved by changing nvim version caluse but in the indent blank line it doesn't work.
Issue in nvim-lspconfig
.../share/nvim/lazy/indent-blankline.nvim/lua/ibl/utils.lua:429: attempt to call method 'flatten' (a nil value)

# stacktrace:
  - /indent-blankline.nvim/lua/ibl/utils.lua:429 _in_ **tbl_join**
  - /indent-blankline.nvim/lua/ibl/config.lua:253 _in_ **merge_configs**
  - /indent-blankline.nvim/lua/ibl/config.lua:276 _in_ **set_config**
  - /indent-blankline.nvim/lua/ibl/init.lua:57 _in_ **setup**
  - ~/.config/nvim/lua/safdar/setup/ui/indent-blankline-nvim/config.lua:15 _in_ **config**
  - ~/.config/nvim/lua/safdar/setup/ui/indent-blankline-nvim/init.lua:9 _in_ **config**

Steps to reproduce
Update to nvim 0.10 dev.
Expected behavior
..
Neovim version (nvim -v)
NVIM v0.10.0-dev-1336+g9c2270b83

Seeing this issue too

Quick datapoint: I switched back to Version 3.4.2 and didn't see the same issue

I think this is a related issue and fix in dap:

https://github.com/rcarriga/nvim-dap-ui/issues/362
https://github.com/rcarriga/nvim-dap-ui/commit/334cf3038c4756e6ab999cbac67c847fb654c190

Please make sure you are on the latest version of Neovim nightly, or stable.
Your version is already 8 months old and not supported.


Stop building decomposition dag at instance creation

Summary
This commit adjust how we define decompositions for gates. Previously we
ran a function which built a dag of the decompositions during __init__
for the gate class. This meant we'd build a new dag every time we
created a new gate, which for large circuits would start to add up.
However, the decompositions are static for most gates and we only need
to run it once. To accomplish that this commit makes the decompositions
a class defined parameter and removes it from __init__. This way we only
ever build the decomposition dags once unless explicitly needed.
Gates that are not touched: crz, cu1, cu3, rx, ry, rz, rzz, u1, u2, u3,
are left alone because the decomposition depends on run time variables
in the instance and this optimization provides no benefit.
Details and comments
Fixes #1729

luciano sped things up in #1455 by making sure that _define_decompositions() is only called upon request (i.e. when the unroller needs to make an unrolling decision).  But it is still per instance, not per class. So there's still merit to this PR to get further improvement from some classes (those that don't have any parameters).

ugh, well that makes rebasing this fun :) I'll do that right now

Sorry for the overlapping, it was part of moving the unroller as a pass :(

Hmm, it looks like we're still modifying input_dag in the substitute_node_with_dag() even in the non-conditional case. This is causing the failures later when there is a conditional, so simply duplicating the input_dag when there is a conditional (like https://github.com/Qiskit/qiskit-terra/pull/1445/commits/a00e3a1d6199ac5c729734e23d234d4cad313e3f ) is not sufficient because the global decomposition dag has already been modified by the time we call copy. We'll need to figure out why/where the input_dag gets modified and guard against that if we plan to use class level attributes for the decomposition_dags.

I'm closing this PR because it has conflicts with the current master. Feel free to open a new PR for closing #1729 !

@1ucian0 It's unlikely to be feasible while we're still modifying the dag in place. If we move to shared instance for any dag (including the decomposition dags like this commit) this gets really messy since those in place modifications effect the global/shared instance.  We have to stop doing that as a first step before this is really something we can consider, especially weighed against the modest performance benefits I was seeing locally (there might be some edge cases I'm missing though)


X-ID-Token and X-Access-Token are not sent upstream

Hi,
Only the X-Userinfo header is sent upstream. I read through the code, and it seems that it checks whether the response from resty-openidc.authenticate() contains id_token and access_token. I tried to use set the config.response_type parameter to code id_token token to instruct Keycloak to send the access_token, but it seems like resty-openidc has hard coded the response_type to code. What is weird, is that I assumed that the query against the userinfo endpoint used the access token to retrieve the details.
Any details on how I can fix this?

To answer my own question; seems like this project could need some better release management; the documentation presented in the README.md that also acts as the landing page in the github repo states that the aformentioned headers (X-ID-Token and X-Access-Token) will be sent upstream - this is not true (yet), since it a new release with the feature has not been released! ...

oh...
thanks ^.^
the master branch not a release verison on luarocks.org


idea: Implement like directly instead of building regex

Originally posted by @Xuanwo in https://github.com/datafuselabs/databend/issues/8737#issuecomment-1310228253

BTW, like pattern is much simpler than regex. Maybe we don't need to convert like pattern into regex?

I port a quick demo from tikv
Conclusion: Regex matching is O(n), but the regex build is not. If we need to build regex every time, it's better to implement like directly. (And in some simple case, like is just faster than regex)
The benches show that plain like is much faster than regex build (if we have to):
regex/build_regex_everytime
                        time:   [13.348 µs 13.371 µs 13.392 µs]
regex/reuse_regex       time:   [16.677 ns 16.699 ns 16.722 ns]
regex/like              time:   [3.0577 ns 3.0593 ns 3.0611 ns]

Note: the like function is ported here just for demo. It could be wrong.

The source code
fn bench_regex(c: &mut Criterion) {
    let mut group = c.benchmark_group("regex");

    group.bench_function("build_regex_everytime", |b| {
        b.iter(|| {
            let re = regex::Regex::new("^Hello\\..World.*%$").unwrap();
            re.is_match("Hello, World!");
        })
    });

    let built_re = regex::Regex::new("^Hello\\..World.*%$").unwrap();
    group.bench_function("reuse_regex", |b| {
        b.iter(|| {
            built_re.is_match("Hello, World!");
        })
    });
    group.bench_function("like", |b| {
        b.iter(|| {
            let _ = like(b"Hello, World", b"^Hello\\..World.*%$", &0);
        })
    });
}

fn decode_one(data: &[u8]) -> Option<(u8, usize)> {
    if data.is_empty() {
        None
    } else {
        Some((data[0], 1))
    }
}

fn sort_compare(a: &[u8], b: &[u8]) -> std::cmp::Ordering {
    a.cmp(b)
}

fn like(target: &[u8], pattern: &[u8], escape: &i64) -> Option<i64> {
    let escape = *escape as u32;
    // current search positions in pattern and target.
    let (mut px, mut tx) = (0, 0);
    // positions for backtrace.
    let (mut next_px, mut next_tx) = (0, 0);
    while px < pattern.len() || tx < target.len() {
        if let Some((c, mut poff)) = decode_one(&pattern[px..]) {
            let code: u32 = c.into();
            if code == '_' as u32 {
                if let Some((_, toff)) = decode_one(&target[tx..]) {
                    px += poff;
                    tx += toff;
                    continue;
                }
            } else if code == '%' as u32 {
                // update the backtrace point.
                next_px = px;
                px += poff;
                next_tx = tx;
                next_tx += if let Some((_, toff)) = decode_one(&target[tx..]) {
                    toff
                } else {
                    1
                };
                continue;
            } else {
                if code == escape && px + poff < pattern.len() {
                    px += poff;
                    poff = if let Some((_, off)) = decode_one(&pattern[px..]) {
                        off
                    } else {
                        break;
                    }
                }
                if let Some((_, toff)) = decode_one(&target[tx..]) {
                    if let std::cmp::Ordering::Equal =
                        sort_compare(&target[tx..tx + toff], &pattern[px..px + poff])
                    {
                        tx += toff;
                        px += poff;
                        continue;
                    }
                }
            }
        }
        // mismatch and backtrace to last %.
        if 0 < next_tx && next_tx <= target.len() {
            px = next_px;
            tx = next_tx;
            continue;
        }
        return Some(false as i64);
    }

    Some(true as i64)
}

I love it.


Expandable Row error 'Uncaught TypeError: _this3.props.adjustHeaderWidth is not a function'

I'm trying the expandable row example and I'm getting this error in the console every time I click a column or row to expand.
Here is the error I'm getting:
 Uncaught TypeError: _this3.props.adjustHeaderWidth is not a function
Anyone else experiencing this also?

it's wired for this error. I will try to make some improvement but I'm not sure my patch can solve this issue. thanks

Hello Allen,
Thanks for your reply.
When do you think you will release this patch.

I'm not sure, due to busy on work, and this issue its rarely happen, also I can't reproduce it. anyway, I think in sunday or next monday.

Fixed on v2.9.1, check it out 👍


locally running tiller always looks up for configmap in kube-system namespace

Hi,
I am running tiller locally and I have a cluster-admin access to specific namespace(e.g. test).
I did following command to create a service account and rolebinding.
kubectl create ns test
kubectl create -n test sa user1
kubectl create -n test rolebinding admin --clusterrole=cluster-admin --serviceaccount=default:user1

And then I have correctly configure .kube/config. I can create pods/deployment etc in the test namespace.
Now, I ran ./tiller and open up anther terminal and did helm --host localhost:44134 list, I get the following error.

Error: configmaps is forbidden: User "system:serviceaccount:test:user1" cannot list resource "configmaps" in API group "" in the namespace "kube-system"

I also tried helm --tiller-namespace test --host localhost:44134 list, I get the same error.
How can I configure tiller to look for configmaps in the test namespace? Is it even possible?

Output of helm version:
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Baremetal

Here is the documentation for running Tiller in a separate namespace and where release configmaps are stored in the same namespace as Tiller: https://docs.helm.sh/using_helm/#example-deploy-tiller-in-a-namespace-restricted-to-deploying-resources-only-in-that-namespace
I am not sure sure it this can be done running Tiller locally. @bacongobbler Is it possible when running locally?

Thanks @hickeyma
I know how to deploy tiller in a different namespace but I want to run tiller locally so that tiller uses .kube/config to authenticate with kube-apiserver(I assume).  Besides, I don't want to deploy a bunch of tiller into separate namespaces.

There are multiple ways to tell tiller where to store/lookup release metadata:

setting the TILLER_NAMESPACE environment variable
add the namespace to /var/run/secrets/kubernetes.io/serviceaccount/namespace as the kubelet does

Hope this helps!


"Edit on GitHub" links in tutorials from the Docs are not working

Bug description
Any of the tutorial notebooks are not available from the Documentation :
https://pytorch-lightning.readthedocs.io/en/stable/notebooks/course_UvA-DL/01-introduction-to-pytorch.html
If you refer to the "Edit on Github" : https://github.com/PyTorchLightning/pytorch-lightning/blob/dbb5ca8d436a917fc9c2bdd6e9c00e4fd6187735/docs/source-pytorch/notebooks/course_UvA-DL/01-introduction-to-pytorch.ipynb
The pl_examples are not available :

How to reproduce the bug
Follow the Tutorial Documentation to Edit on Github from the webpage

Error messages and logs

# Error messages and logs here please

Environment

#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow):
#- PyTorch Lightning Version (e.g., 1.5.0):
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 1.10):
#- Python version (e.g., 3.9):
#- OS (e.g., Linux):
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source):
#- Running environment of LightningApp (e.g. local, cloud):

More info
No response
cc @borda @rohitgr7 @tchaton @Felonious-Spellfire

@Borda has this issue been sorted out, I would like to try my hands on it

can you assign this issue to me

Thank you @Borda , I am trying to locate the bug in GitHub but I am not successful, can you please point me in the right direction.
Edit on GitHub means I don't need to clone the project, just fork and make changes ?? right??

is there a direct button to take me to the issues


Release 3.2.5

This change is

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

Project coverage is 69.66%. Comparing base (cd90626) to head (9583f67).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #231   +/-   ##
=======================================
  Coverage   69.66%   69.66%
=======================================
  Files         377      377
  Lines       31374    31374
  Branches     4391     4391
=======================================
  Hits        21856    21856
  Misses       8498     8498
  Partials     1020     1020

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


Feature/get, unmap and restore user bindings

@bryphe whilst looking into #1396 I mentioned I wrote some functionality to get a user's mappings, unmap them and restore them. Whilst not tied into any specific issue it occurred to me that future use cases for this functionality could be

showing a user their vim bindings in oni,
giving oni the ability to potentially add some ux to change user's vim binding in oni.
the original inspiration for this functionality temporarily removing user's bindings in oni's buffer layer

A above is a screenshot of the output of the command, which seems like a potential gold mine to me hence the PR, though if there isn't as much utility in this as I'm imagining no worries 👍 , just thought I'd run it past you rather than have it locally and it never see the light of day

Cool 👍  I'll tweak this to move it into the instance although so far to add a command for neovimEditor we've put methods in there (NeovimEditor) so I'm not sure how you'd be able to call this function from the editor aka Oni.activeEditor.getUserMapping()?

Cool 👍 I'll tweak this to move it into the instance

Sweet, thanks!

although so far to add a command for neovimEditor we've put methods in there (NeovimEditor) so I'm not sure how you'd be able to call this function from the editor aka Oni.activeEditor.getUserMapping()?

At least for me, it's not clear at the moment how we'd actually use this functionality or what the API surface area should look like (it'd be guesses). It's hard to know the right abstraction depending on the sort of functionality we decide to build on top of it - it might be that, if we decide we need to save/restore key bindings for a scenario, we actually don't need an Oni.editors.activeEditor.getUserMapping() exposed publicly, but just a saveBinding/restoreBinding, or something. In other words, someone might not need to directly call getUserMapping(), but API methods on Oni.activeEditor might call into it on the _neovimInstance it has. Hard to predict since we don't know the user scenario!
There also may be some potential for confusion with InputManager - how does bind/unbind relate to getUserMapping, etc? Should we start integrating the InputManager with this functionality, so that it is aware of Neovim's bindings? It's sort of the YAGNI principle.
Since we don't have a scenario yet, it's better to keep the Editor interface as-is, and leave it as functionality on NeovimInstance (which is a safe place for any lower level interactions with Neovim). Once we have a use case, we can start to figure out the right level of abstraction for it in terms of Oni's interfaces.
Also, we do expose the neovim instance on the editor today (although this is really a crutch), via Oni.editors.activeEditor.neovim - so from configuration/plugins, they could still access this method.

@bryphe happy to move this over to the NeovimInstance if youre still amenable to having this functionality somewhere for a future use case

@bryphe happy to move this over to the NeovimInstance if youre still amenable to having this functionality somewhere for a future use case

Thanks for checking in! 👍
I'm thinking about this more, and I'd prefer to not bring in the functionality at the moment - given that there isn't a use case for it.
It will be a good point of reference later, though, if we do need to consult the user mappings!


Opening headers is slow.

Since searching for the source file for a header is unusably slow for me, I disabled it:
(setq cmake-ide-header-search-other-file nil)
(setq cmake-ide-header-search-first-including nil)
But it still takes several seconds to open a header file, much longer than a source file.
Here's output from the profiler:
profiler.txt
compile_commands.json is 5-6 MB for my project (which is proprietary, so I can't link it)

Maybe I can add an option to not even bother setting flags for headers? I can't reproduce this since it's proprietary and figuring out what to do for headers was a pain.

Would it be possible to use the capabilities of some of the modules that cmake is configuring to perform this action?  For example, if rtags is installed, I'm assuming that it could rapidly locate the relevant cpp file.  Similarly, projectile may be able to narrow the search.

I am seeing the same problem, opening a cpp is blinking fast, but opening a header takes a while.. Are there any new ideas what could be the problem?

New ideas, no. Just disable some of the strategies for headers. You'll probably not get the flags set correctly though.

cmake-ide takes 10-20s to open header files when I edit header-only libraries with it, is this normal / intended ?

Intended, definitely not. Normal: depends. It's still not clear to me what the best thing to do with headers is, and some of the strategies I came up with trade-off accuracy for speed. As mentioned above, you can configure what the behaviour is, even turning it off for headers completely.

@atilaneves
I have set:
  (setq cmake-ide-header-search-other-file nil)
  (setq cmake-ide-header-search-first-including nil)

which brings down file opening time from 10-20s to 3-5s when using cmake-ide for headers, yet I still get this *Messages*:
cmake-ide [Thu Oct 12 13:19:30 2017]: Setting flags for file /range-v3/include/range/v3/detail/variant.hpp
cmake-ide [Thu Oct 12 13:19:30 2017]: Could not find suitable src file for /range-v3/include/range/v3/detail/variant.hpp, using all compiler flags

IMO 3-5s to open a file is still unacceptable.
IMO trying to tune the heuristic of how much work is done for headers is the wrong approach to solving this problem.
The real question is: why does setting a file flags blocks the UI at all?
In my opinion, whatever cmake-ide needs to do, it should do in the background, without blocking the UI. If it needs 10-20s to find the file flags, then that's what it needs. But optimizing that is an orthogonal problem to blocking the editor from doing anything else during those 10-20 seconds.

It blocks the UI because that's how Emacs works - there aren't any threads or async functions, due to its age. If it could be done in the background, it would have been.
As for still blocking - I could add another variable to not apply flags to header files at all. Would that work?

That would be a quick workaround.

It blocks the UI because that's how Emacs works - there aren't any threads or async functions, due to its age. If it could be done in the background, it would have been.

AFAIK emacs does not support threads, but it supports creating processes in the background and communicating with them (this is how the autocomplete async clang plugin works):
https://www.gnu.org/software/emacs/manual/html_node/elisp/Asynchronous-Processes.html

It blocks the UI because that's how Emacs works - there aren't any threads or async functions, due to its age. If it could be done in the background, it would have been.
As for still blocking - I could add another variable to not apply flags to header files at all. Would that work?

Hi, I'm seeing this too. I'm curious what flags does cmake try to find for header files?

@amosbird it is probably trying to use the same flags than the corresponding .cpp implementation file, but to do that it has to find this .cpp file first.
That is hard, because it doesn't exist, so it is probably traversing your whole project directory structure looking for it till there is nothing else that it can do, and then it gives up.

Oh, OK. Do you have any workaround now :) ?

@amosbird It depends on your configuration. Check the code for cmake-ide--set-flags-for-hdr-file.

@gnzlbg It also does that. But C/C++ doesn't have any mandated naming scheme, and multiple source files can implement a header, so that file might not exist.

Hi @atilaneves
emacs 26 will have threading
do you think if it's possible to use threads to speed-up cmake-ide?

I don’t think speed up is the problem. Blocking the UI is.
When I open a file I want it to open instantaneously and my edits to happen
instantaneously. Whether the plugins take a bit to load or not doesn’t
really matter, but if opening a 50 lines long file blocks the whole editor
for seconds because the plugins must load in order and what not is
something that really pisses me off and the main reason I turn off
cmake-ide.
On Sat 16. Dec 2017 at 03:13, Alexander Dalshov<EMAIL_ADDRESS>wrote:

Hi @atilaneves https://github.com/atilaneves
emacs 26 will have threading
do you think if it's possible to use threads to speed-up cmake-ide?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/atilaneves/cmake-ide/issues/59#issuecomment-352153534,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3NplCeA4C2kqYBy-Q4hPZZrVwmj23gks5tAydTgaJpZM4Ibz7I
.

 Until then, I don't know of any way to do concurrency in elisp that doesn't involve launching an external process.


Update mdsvex to use defineMDSveXConfig

In 0.10.2 of mdsvex, a new TS helper defineMDSveXConfig was released, which provides great TS support. I recommend updating mdsvex template to make use of it
import { defineMDSveXConfig } from 'mdsvex';

export default defineMDSveXConfig({
  /**/
})

Closed by https://github.com/svelte-add/mdsvex/commit/0eed6dbb98f2afc871408bac375d151570804d35 / https://github.com/svelte-add/svelte-add/commit/898da718c5d00cb639bbf41a228535a62c82d7f2. Thank you!

Thanks for this!


Cancelable task

I'm a newbie in FP. FP seems very powerful but I cannot catch the idea yet...
I need to tie two repositories transactions which don't know nothing about each other.
I've found probably a strange way to do this:
  Function(Completer<int> result, Completer<bool> rollBack) getData() {
    return (Completer<int> result, Completer<bool> rollBack) => db.transaction(() async {
      result.complete(45);

      final res  = await rollBack.future;
      if(!res) {
        // ex will be rethrown and the transaction will be rolled back
        throw Exception('rollback');
      }
    });
  }

I want to return a cancelable kind of task. That carries a possible result and can be rolled back from another task that this serves for.
Do you know any way how to do this in FP with dartz?

Hi @dan-leech! Sorry for the late reply.
From your example, it looks like you do want result to complete successfully even in a rollback scenario, which makes me a bit unsure of what semantics you need. Either way, below are some pretty general pointers that might be useful to you:
One thing to try is to model your domain objects using immutable data structures. IMap, IList and the other immutable collections in dartz provide a kind of in-memory transactionality by simply never overwriting/mutating anything. This means that you can safely and incrementally create new versions of domain objects in your application logic and later choose to either commit them atomically to some backing store or "roll back" by simply discarding the references to the new object graphs.
Another thing you might want to try is Evaluation, which provides ways of both sequencing the results of asynchronous/parallel tasks and propagating errors through the use of Either values, which can be used to decide whether to commit or roll back at the end of a composed operation. The resulting code would be still be impure, assuming the db.transaction operations in your example are side effecting, but it would likely improve composability and testability.
A somewhat more involved approach is to capture all database operations in a Free algebra. This is what doobie does for the JDBC API and a similar approach is likely possible for your choice of database API. This would allow your application logic to be fully pure and would push away all database interaction into Free interpreters, which in turn can be side effecting (i.e., actually talk to the database) for production runs and integration tests, but can remain pure for unit and functional tests. This would also allow you to use Conveyor to construct streaming programs with semantics determined by your Free algebra. See https://github.com/spebbe/dartz/blob/master/lib/src/io.dart, https://github.com/spebbe/dartz/blob/master/lib/src/unsafe/io.dart and https://github.com/spebbe/dartz/blob/master/example/free_io/mock_io.dart for an example on how to capture and interpret impure APIs using Free.
I hope that helped, but I understand if the tips above are a bit too general to be immediately useful to you. Please reply with more detailed information about your use case if you want and maybe we can uncover something more concrete then!


HTML: wrap_line_length is handled incorrectly

Description
js-beautify doesn't handle wrap_line_length properly. Say, I have set it to 40. But the beautifier breaks the line not on 40th character. In my case it is on 50th character. In fact, the text content of the span tag is broken exactly on 40th character, but the setting should be related to the whole line, not to the length of the content inside the tag.
Input
The code looked like this before beautification:

Test

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Expected Output
The code should have looked like this after beautification:

Test

  1 2 3 4 5 6 7 8 9 10 11 12 13
    14 15 16 17 18 19 20 21 22 23 24

Actual Output
The  code actually looked like this after beautification:

Test

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    17 18 19 20 21 22 23 24

Environment
OS: Windows 10
Settings
Example:
{
    "html": {
        "indent_size": 2,
        "unformatted": [],
        "wrap_line_length": 40
    }
}

This is a smallest test case I could come up with, but I am seeing this problem A LOT, in side VS Code, when reformatting some long lines. The setting is set to 80, but I am seeing lines up to 150 characters!
When I set it to 40, I see lines up to 100, etc.
My expectations are that if the max limit is set to some value, then js-beautify should try to honor that value and produce longer lines only if there is no other way.

@vvs The beautifier doesn't have sufficient information to do line wrapping correctly in all cases, but this is definitely a bug.

I think https://github.com/beautify-web/js-beautify/commit/35dc66afa36a90ce1aababa0f15fb84ff4552ee6 may address this issue, but I haven't written tests to check.   Thanks for the good examples above, they will make good tests.

This is improved (see #1432) but still not really right.

I ran this on v1.8.0-rc4, with the following settings:
{
  "indent_size": "2",
  "wrap_line_length": "40",
}

And the actual output was this:

Test

  1 2 3 4 5 6 7 8 9 10 11 12 13 14
    15 16 17 18 19 20 21 22 23 24

It hasn't resolved the issue, but the line wraps after '14' instead of '16' so there seems to have been a shift closer to correct.


data : created UlbertAO json

joining eddiehub

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[X] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[X] This PR does not contain plagiarized content.
[X] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Thanks @SaraJaoude @Dun-sin


Unable to load SharePoint Success Site into M365 Learning Pathways

WEB PART NOT LOADING: If you are getting the error: "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance". Please review the Diagnosing Pre-Check guidance before submitting your bug.

Submit your question
What is the context of your question

[X] Installation
[ ] Learning Pathways Content
[X ] SharePoint Success Content
[ ] Administration
[ ] Custom Content
[ ] Viewer Web Part

What is your question
Upon attempting to provision the SharePoint Success Site into M365 Learning Pathways I receive the following error:
Sorry, something went wrong
There was an unexpected issue.
Could not load file or assembly 'OfficeDevPnP.Core, Version=3.28.2012.0, Culture=neutral, PublicKeyToken=5e633289e95c321a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Provide related screen-shots to help us understand your question

Unfortunately, we cannot help you with provisioning issues so you would need to submit your issue there... see the following notice.  That said, I have heard that they had a rather big issue and provisioning wasn't working at all for anyone.  The last I heard was that they were able to fix it over night last night, not sure where that is in the rollout but I would follow the provisioning service GitHub repo linked below to follow the progress.
PROVISIONING NOTE: If you are having issues with the SharePoint look book while trying to provision M365 learning pathways please do not post that issue to this repo as we cannot help you here. Please post all questions and issues for the SharePoint look book to SharePoint/sp-provisioning-service GitHub Issues List.

Unfortunately, we cannot help you with provisioning issues so you would need to submit your issue there... see the following notice.  That said, I have heard that they had a rather big issue and provisioning wasn't working at all for anyone.  The last I heard was that they were able to fix it over night last night, not sure where that is in the rollout but I would follow the provisioning service GitHub repo linked below to follow the progress.
PROVISIONING NOTE: If you are having issues with the SharePoint look book while trying to provision M365 learning pathways please do not post that issue to this repo as we cannot help you here. Please post all questions and issues for the SharePoint look book to SharePoint/sp-provisioning-service GitHub Issues List.


Vector graphic export produces hundreds of x-axes

Thank you for a great package! I am currently in the process of switching to estimation statistics instead of ANOVA and pairwise comparisons.
I usually export plots as vector graphics (.pdf, .svg, .eps, et c.) and edit them in Affinity designer before publication. There is a strange bug when I export dabest-plots as vector graphics (I have tried .pdf and .svg):  multiple groups containing hundreds of x-axes are produced. This means the vector files become very heavy for Affinity designer, and I have to delete all of these vectors manually.
data("ToothGrowth")
df <- ToothGrowth
df$dose = as.factor(df$dose)

est_df <-
  df %>%
  dabest(dose, len,
         idx = c("0.5","1", "2"),
         paired = FALSE
         )

est_df.mean_diff <- est_df %>% mean_diff()

estdfplot<-plot(est_df.mean_diff,
     rawplot.type = "swarmplot")

estdfplot

ggsave(filename = "tooth.pdf")

Created on 2023-03-01 with reprex v2.0.2
When opening the vector graphics file in Affinity designer, it contains multiple x-axes:

Each group contains hundreds of duplicate vectors:

Hi @juhalainen,
We've recently released a new version of dabestr,
“Lapis” (v2023.9.12), which adds estimation graphics for four new data types: repeated measures, 2 × 2 designs, proportions, and easy meta-analyses.
dabestr version “Lapis” is a complete rebuild of the original dabestr and as such, unfortunately, v0.3.0 of dabestr and below are now deprecated and will no longer be receiving support.
We strongly recommend upgrading to the latest version (“Lapis”) as soon as possible. This will not only ensure access to the latest features but also expedite the resolution of any issues you may have encountered.
You can find the latest release here and the updated documentation for the package here.
For quick installation, you may refer to the following:
# Install it from CRAN
install.packages("dabestr")

# Or the development version from GitHub:
# install.packages("devtools")
devtools::install_github(repo = "ACCLAB/dabestr", ref = "dev")

If you face any challenges during the update process or have further questions, please don't hesitate to reach out.
We value your feedback and appreciate your continued support!


Do not regenerate descriptions if posts already have them

Do not autogenerate descriptions if a post/page already has it in the front matter.
This serves two purposes:

Avoid changing a good description that was already in place
Avoid more changes in a PR if further commits are introduced to it

Fixed in 380bdc2.


[REBASE] Fix crash when scheduling an event while shutting down the tracing li…

…stener.
Original PR: #2182
The global tracing listener has a field "active_" that is used
as a guard for scheduling events to its "thread_pool_". However,
in the tracing listener's destructor, the thread pool is first
shutdown, before the "active_" guard is set to false.
In this case, it could happen that while destructing the listener,
a new event would be scheduled to the pool, leading to a crash.
Test: Take a capture and while capturing start&stop introsepction.
Bug: http://b/185443567

As already reviewed, I merged it directly.


[FEATURE] Provide a way to hide some sensitive headers when displaying error message

Issue
When test are in error you get a nice line with a cURL or python request to redo the failing call. That's very nice but if i want to run the test on my CI/CD that leak some sensitive data (like API key or Oauth2 token).
My workaround for now is using the before_call hook and change the _get_code_message method of the case by another method that do the same thing but replacing some sensitive header values by something else.
Proposed solution
It would be nice if we can obfuscate/remove the credentials or at least deactivate logging of the request.
A few way of doing that would be for exemple :

provide a 'empty' code_sample_style that won't print anything (if that could be the default one, would be even better)
a way to provider "sentive headers" list to the Case that will be removed or changed by fake value when printing the error message
more complex change with CodeSampleStyle/_get_code_message to get a way of customizing output generation
a hook before _get_code_message that allow you to change the request

As there is multiples solutions (and probably a lot of more as i don't know the project well), i didn't do a PR but a feature request first. But i can contribute with a PR if you want when we agree on the best solution for the project.

Hi! Thank you for opening the PR, I think it is an extremely important thing to address.
I am going to think about it for a few days and will get back to you :)

Here are my thoughts/vision, please, let me know what you think!
Step 1. Explicit hook
Schemathesis data structures provide sanitize methods, that
traverse all headers, query, body, etc, and replaces all found values of
specified (or default) keys with some substitute value like '[Filtered]'
Questions:

Do we need a separate config for query / headers / etc?
Any regex-like matching for keys?
Default denylist & substitute? Maybe something like Sentry does? Using [Filtered] feels more explicit

Notes:

response.sanitize() will require some extra dance as we return instances of requests.Response and its WSGI counterpart
We also need to sanitize response.request as it may contain sensitive data, and used in e.g. YAML cassettes

Possible usage
import schemathesis

@schemathesis.hook
def sanitize_output(context, case, response):
    # Provide an explicit list of keys to sanitize
    case.sanitize(denylist=["Authorization", "X-API-Key"], substitute="***")
    # Uses default config, with Schemathesis maintaining popular keys
    response.sanitize()
    # Or just `context.sanitize(case, response, denylist=["Authorization", "X-API-Key"], substitute="***")`
    # It might be simpler to implement and easier to use

This hook will enable conditional usage (e.g. by checking context.operation.path, or any complex logic.
Step 2. Config option
Schemathesis will provide a config file where it is possible
to enable sanitization and configure it. Sanitization is enabled by default for Schemathesis.io
Config option does not require writing Python and likely could be shared among multiple projects easier than a hook.
Step 3. CLI option?
Something like --sanitize-output flag + --sanitize-output-denylist & --sanitize-output-substitute. However, this might be an overkill, and just --sanitize-output could be enough
CLI option is for some ad-hoc usage.

I like having more hook as it provide great flexibility.
Adding a config file can be a good addition too, when you don't need to do complex thing it's probably simpler.
I don't use CLI, but having some option there can be good too.
I would suggest having a 'default' that is secure, i see at least 2 ways of doing that :

Apply what you suggest but in reverse, the sanitize is op-out (with a way to disable it) and there is some default popular keys like you suggested (and a way to overwrite that too).

maybe a safer and easier way, adding a new CodeSampleStyle.none (and having this as default), and then in the various place using it, you would print some message saying something like "code sample is disabled, to enable it do XXXX. Be carefull enabling may log sensitive informations. See YYYY for sanitizing"

Good, that makes sense! I am leaning towards applying sanitization by default instead of extending CodeSampleStyle (as there are a few places like VCR cassettes that should be sanitized too)

I implemented output sanitization, please take a look if that is sufficient (I think it is for the most of use cases), I'd appreciate your feedback. Here are the docs
Tagging you, folks, as you reacted to the comments in this issue - @rsareth, @vhiribarren

Seems to be good for my use case (and probably most use case anyway).
Thank you for the quick resolution !


Add a "duration" string format

I've been trying to schematise the config of an application which uses time.Duration. Ideally, I'd like the generated Go code to use time.Duration.
This PR is still at a very early stage. Please feel free to let me know if you approve the overall direction in which the work is going. Any help would be much appreciated! 😊

hey @ptodev the idea looks promising, are you still interested in pushing this one further?

Hi, @omissis! I'd be very happy to address any feedback you have.
Thank you so much for taking a look!
I believe the code mostly generates what it needs to, but it's still WIP due to the TODOs.

nothing against this one, so feel free to finish it and set it to "Ready for review" once all the todos and required fixes are done! thank you! 💪


enforce to split encoded auth at most twice

Mimics the splitting logic from docker-java to support service account auth configuration via a json key file.
closes #1466

Thanks @atomfrede, this looks great. Happy to accept!

This was released in 1.11.4 🎉
Thank you for the contribution!


Install CLI with brew on MacOS

Summary
I tentatively remove the promise stuff because it seemed complicated without any purpose, but I'm sure @BriungRi and @0xmaayan will correct me on that 😛
Test Plan
I tested on MacOS, seeing what happens if there is no brew available, if the CLI is / isn't installed, etc.
I'll test on Linux and Windows later.

Latest. I think we should make Windows / Linux do the same (call the GH API to get the latest version) but that can come in a separate PR.

PR to make it use the latest version for Windows and Linux: https://github.com/aptos-labs/aptos-cli/pull/7.


Empty Object type hides other types when mixing them with statements or expressions

Bug Report
🔎 Search Terms

object hides string, inferred return type

🕗 Version & Regression Information

This is the behaviour in every version I tried. The documentation does not say what should happen when {} is combined with other types during control flow inference.

⏯ Playground Link
Playground link with relevant code
💻 Code
Definitions:
// ok: "bob"
const bob: "bob" = "bob"

// ok: {}
const empty: {} = {}

// ok: {} | "bob"
type BO = "bob" | {}

// ok: {} | "bob"
type TBO = typeof bob | typeof empty

// ok: "bob"
type XTBO = Extract<TBO, string>

Using Array:
// bad: {}[], should be: ({} | "bob")[]
const array = [bob, empty]

// bad: {}, should be: {} | "bob"
type A = typeof array[number]

// bad: never, should be: "bob"
type XA = Extract<typeof array[number], string>

// bad: {}[], should be: (Date | {})[]
// Bad, because you can still recover Date: (a0[index] instanceof Date) implies that it really is a Date
const a0 = [new Date(), empty]

// ok: ({} | Date)[]
type A0 = (Date | {})[]

// bad: {}[], should be: ({} | 42)[], or ({} | number)[]
const a1 = [42, empty]

// ok: ({} | 42)[]
type A1 = ({} | 42)[]

// ok: {}[]
// Ok, because ("typescript" in a2[index]) does not imply that (a2[index].typescript === "rocks")
const a2 = [{ typescript: "rocks" }, empty]

// ok: ({} | { typescript: "rocks" })[]
type A2 = ({ typescript: "rocks" } | {})[]

Using if:
function ifAction(names: boolean) {
    if (names) {
        return bob
    } else {
        return {} as const
    }
}

// bad: {}, should be: {} | "bob"
type I = ReturnType<typeof ifAction>

// bad: never, should be: "bob"
type XI = Extract<ReturnType<typeof ifAction>, string>

Using switch-case + call to function (same result when directly return the constants)
export type Action = Names | Label

export type Names = "Names"

export type Label = "Label"

function action(action: Action) {
	switch (action) {
		case "Names":
			return actionNames(action)
		case "Label":
			return actionLabel(action)
	}
}

function actionNames(action: Names) {
	return bob
}

function actionLabel(action: Label) {
	return empty
}

// ok: "bob"
type N = ReturnType<typeof actionNames>

// ok: {}
type L = ReturnType<typeof actionLabel>

// bad: {}, should be: {} | "bob"
type R = ReturnType<typeof action>

// bad: never, should be: "bob"
type XS = Extract<ReturnType<typeof action>, string>

Actual/Expected behavior
It should not hide the string-type, see comments in code

This is the expected subtype reduction behavior. Note that {} does not mean "empty object type". It means any type except null and undefined.

Right, as everything except null and undefined is an object in javascript, this actually makes sense.
What doesn't make so much sense, is that typescript does not always do the reduction, e.g. when explicitly taking the union of both types like in the TBO type above.
As a second thought, the same reasoning should apply { toString(): string }, which it does most of the time. Inconsistencies only get worse/change when adding generics into the mix (see type-hints / .d.ts outputs):
Playground Link

Subtype reduction happens "sometimes" where "sometimes" is largely determined by performance constraints. It's never wrong to subtype-reduce so any observed behavior is from an equally-valid set of behaviors.

It's never wrong to subtype-reduce so any observed behavior is from an equally-valid set of behaviors.

I agree. I tried expressions [a, b] and observed the inferred types:

Only those expressions where the type of one variable is a proper subtype of the other have been reduced to a single type. After looking at those cases, this really prevents errors.
For other cases, the item type of the array was the union of both types.

When there is a discriminant property, you should be fine.
When both types only overlap without a discriminant property. By definition, it is only safe to use common properties. There will be dragons when you use conditional types or control flow analysis on properties defined only in one of the types. It would definitely help, if the effective type would be more general -> only allow to observe and type-filter on properties common to both types (like with member access).